1b8e80941Smrg/* Copyright (C) 2018 Red Hat 2b8e80941Smrg * 3b8e80941Smrg * Permission is hereby granted, free of charge, to any person obtaining a 4b8e80941Smrg * copy of this software and associated documentation files (the "Software"), 5b8e80941Smrg * to deal in the Software without restriction, including without limitation 6b8e80941Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 7b8e80941Smrg * and/or sell copies of the Software, and to permit persons to whom the 8b8e80941Smrg * Software is furnished to do so, subject to the following conditions: 9b8e80941Smrg * 10b8e80941Smrg * The above copyright notice and this permission notice (including the next 11b8e80941Smrg * paragraph) shall be included in all copies or substantial portions of the 12b8e80941Smrg * Software. 13b8e80941Smrg * 14b8e80941Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15b8e80941Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16b8e80941Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17b8e80941Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18b8e80941Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19b8e80941Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 20b8e80941Smrg * IN THE SOFTWARE. 21b8e80941Smrg */ 22b8e80941Smrg 23b8e80941Smrg#include "nir.h" 24b8e80941Smrg 25b8e80941Smrgconst nir_intrinsic_info nir_intrinsic_infos[nir_num_intrinsics] = { 26b8e80941Smrg{ 27b8e80941Smrg .name = "atomic_counter_add", 28b8e80941Smrg .num_srcs = 2, 29b8e80941Smrg .src_components = { 30b8e80941Smrg 1, 1 31b8e80941Smrg }, 32b8e80941Smrg .has_dest = true, 33b8e80941Smrg .dest_components = 1, 34b8e80941Smrg .dest_bit_sizes = 0x0, 35b8e80941Smrg .num_indices = 1, 36b8e80941Smrg .index_map = { 37b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 38b8e80941Smrg }, 39b8e80941Smrg .flags = 0, 40b8e80941Smrg}, 41b8e80941Smrg{ 42b8e80941Smrg .name = "atomic_counter_add_deref", 43b8e80941Smrg .num_srcs = 2, 44b8e80941Smrg .src_components = { 45b8e80941Smrg -1, 1 46b8e80941Smrg }, 47b8e80941Smrg .has_dest = true, 48b8e80941Smrg .dest_components = 1, 49b8e80941Smrg .dest_bit_sizes = 0x0, 50b8e80941Smrg .num_indices = 0, 51b8e80941Smrg .flags = 0, 52b8e80941Smrg}, 53b8e80941Smrg{ 54b8e80941Smrg .name = "atomic_counter_and", 55b8e80941Smrg .num_srcs = 2, 56b8e80941Smrg .src_components = { 57b8e80941Smrg 1, 1 58b8e80941Smrg }, 59b8e80941Smrg .has_dest = true, 60b8e80941Smrg .dest_components = 1, 61b8e80941Smrg .dest_bit_sizes = 0x0, 62b8e80941Smrg .num_indices = 1, 63b8e80941Smrg .index_map = { 64b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 65b8e80941Smrg }, 66b8e80941Smrg .flags = 0, 67b8e80941Smrg}, 68b8e80941Smrg{ 69b8e80941Smrg .name = "atomic_counter_and_deref", 70b8e80941Smrg .num_srcs = 2, 71b8e80941Smrg .src_components = { 72b8e80941Smrg -1, 1 73b8e80941Smrg }, 74b8e80941Smrg .has_dest = true, 75b8e80941Smrg .dest_components = 1, 76b8e80941Smrg .dest_bit_sizes = 0x0, 77b8e80941Smrg .num_indices = 0, 78b8e80941Smrg .flags = 0, 79b8e80941Smrg}, 80b8e80941Smrg{ 81b8e80941Smrg .name = "atomic_counter_comp_swap", 82b8e80941Smrg .num_srcs = 3, 83b8e80941Smrg .src_components = { 84b8e80941Smrg 1, 1, 1 85b8e80941Smrg }, 86b8e80941Smrg .has_dest = true, 87b8e80941Smrg .dest_components = 1, 88b8e80941Smrg .dest_bit_sizes = 0x0, 89b8e80941Smrg .num_indices = 1, 90b8e80941Smrg .index_map = { 91b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 92b8e80941Smrg }, 93b8e80941Smrg .flags = 0, 94b8e80941Smrg}, 95b8e80941Smrg{ 96b8e80941Smrg .name = "atomic_counter_comp_swap_deref", 97b8e80941Smrg .num_srcs = 3, 98b8e80941Smrg .src_components = { 99b8e80941Smrg -1, 1, 1 100b8e80941Smrg }, 101b8e80941Smrg .has_dest = true, 102b8e80941Smrg .dest_components = 1, 103b8e80941Smrg .dest_bit_sizes = 0x0, 104b8e80941Smrg .num_indices = 0, 105b8e80941Smrg .flags = 0, 106b8e80941Smrg}, 107b8e80941Smrg{ 108b8e80941Smrg .name = "atomic_counter_exchange", 109b8e80941Smrg .num_srcs = 2, 110b8e80941Smrg .src_components = { 111b8e80941Smrg 1, 1 112b8e80941Smrg }, 113b8e80941Smrg .has_dest = true, 114b8e80941Smrg .dest_components = 1, 115b8e80941Smrg .dest_bit_sizes = 0x0, 116b8e80941Smrg .num_indices = 1, 117b8e80941Smrg .index_map = { 118b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 119b8e80941Smrg }, 120b8e80941Smrg .flags = 0, 121b8e80941Smrg}, 122b8e80941Smrg{ 123b8e80941Smrg .name = "atomic_counter_exchange_deref", 124b8e80941Smrg .num_srcs = 2, 125b8e80941Smrg .src_components = { 126b8e80941Smrg -1, 1 127b8e80941Smrg }, 128b8e80941Smrg .has_dest = true, 129b8e80941Smrg .dest_components = 1, 130b8e80941Smrg .dest_bit_sizes = 0x0, 131b8e80941Smrg .num_indices = 0, 132b8e80941Smrg .flags = 0, 133b8e80941Smrg}, 134b8e80941Smrg{ 135b8e80941Smrg .name = "atomic_counter_inc", 136b8e80941Smrg .num_srcs = 1, 137b8e80941Smrg .src_components = { 138b8e80941Smrg 1 139b8e80941Smrg }, 140b8e80941Smrg .has_dest = true, 141b8e80941Smrg .dest_components = 1, 142b8e80941Smrg .dest_bit_sizes = 0x0, 143b8e80941Smrg .num_indices = 1, 144b8e80941Smrg .index_map = { 145b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 146b8e80941Smrg }, 147b8e80941Smrg .flags = 0, 148b8e80941Smrg}, 149b8e80941Smrg{ 150b8e80941Smrg .name = "atomic_counter_inc_deref", 151b8e80941Smrg .num_srcs = 1, 152b8e80941Smrg .src_components = { 153b8e80941Smrg -1 154b8e80941Smrg }, 155b8e80941Smrg .has_dest = true, 156b8e80941Smrg .dest_components = 1, 157b8e80941Smrg .dest_bit_sizes = 0x0, 158b8e80941Smrg .num_indices = 0, 159b8e80941Smrg .flags = 0, 160b8e80941Smrg}, 161b8e80941Smrg{ 162b8e80941Smrg .name = "atomic_counter_max", 163b8e80941Smrg .num_srcs = 2, 164b8e80941Smrg .src_components = { 165b8e80941Smrg 1, 1 166b8e80941Smrg }, 167b8e80941Smrg .has_dest = true, 168b8e80941Smrg .dest_components = 1, 169b8e80941Smrg .dest_bit_sizes = 0x0, 170b8e80941Smrg .num_indices = 1, 171b8e80941Smrg .index_map = { 172b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 173b8e80941Smrg }, 174b8e80941Smrg .flags = 0, 175b8e80941Smrg}, 176b8e80941Smrg{ 177b8e80941Smrg .name = "atomic_counter_max_deref", 178b8e80941Smrg .num_srcs = 2, 179b8e80941Smrg .src_components = { 180b8e80941Smrg -1, 1 181b8e80941Smrg }, 182b8e80941Smrg .has_dest = true, 183b8e80941Smrg .dest_components = 1, 184b8e80941Smrg .dest_bit_sizes = 0x0, 185b8e80941Smrg .num_indices = 0, 186b8e80941Smrg .flags = 0, 187b8e80941Smrg}, 188b8e80941Smrg{ 189b8e80941Smrg .name = "atomic_counter_min", 190b8e80941Smrg .num_srcs = 2, 191b8e80941Smrg .src_components = { 192b8e80941Smrg 1, 1 193b8e80941Smrg }, 194b8e80941Smrg .has_dest = true, 195b8e80941Smrg .dest_components = 1, 196b8e80941Smrg .dest_bit_sizes = 0x0, 197b8e80941Smrg .num_indices = 1, 198b8e80941Smrg .index_map = { 199b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 200b8e80941Smrg }, 201b8e80941Smrg .flags = 0, 202b8e80941Smrg}, 203b8e80941Smrg{ 204b8e80941Smrg .name = "atomic_counter_min_deref", 205b8e80941Smrg .num_srcs = 2, 206b8e80941Smrg .src_components = { 207b8e80941Smrg -1, 1 208b8e80941Smrg }, 209b8e80941Smrg .has_dest = true, 210b8e80941Smrg .dest_components = 1, 211b8e80941Smrg .dest_bit_sizes = 0x0, 212b8e80941Smrg .num_indices = 0, 213b8e80941Smrg .flags = 0, 214b8e80941Smrg}, 215b8e80941Smrg{ 216b8e80941Smrg .name = "atomic_counter_or", 217b8e80941Smrg .num_srcs = 2, 218b8e80941Smrg .src_components = { 219b8e80941Smrg 1, 1 220b8e80941Smrg }, 221b8e80941Smrg .has_dest = true, 222b8e80941Smrg .dest_components = 1, 223b8e80941Smrg .dest_bit_sizes = 0x0, 224b8e80941Smrg .num_indices = 1, 225b8e80941Smrg .index_map = { 226b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 227b8e80941Smrg }, 228b8e80941Smrg .flags = 0, 229b8e80941Smrg}, 230b8e80941Smrg{ 231b8e80941Smrg .name = "atomic_counter_or_deref", 232b8e80941Smrg .num_srcs = 2, 233b8e80941Smrg .src_components = { 234b8e80941Smrg -1, 1 235b8e80941Smrg }, 236b8e80941Smrg .has_dest = true, 237b8e80941Smrg .dest_components = 1, 238b8e80941Smrg .dest_bit_sizes = 0x0, 239b8e80941Smrg .num_indices = 0, 240b8e80941Smrg .flags = 0, 241b8e80941Smrg}, 242b8e80941Smrg{ 243b8e80941Smrg .name = "atomic_counter_post_dec", 244b8e80941Smrg .num_srcs = 1, 245b8e80941Smrg .src_components = { 246b8e80941Smrg 1 247b8e80941Smrg }, 248b8e80941Smrg .has_dest = true, 249b8e80941Smrg .dest_components = 1, 250b8e80941Smrg .dest_bit_sizes = 0x0, 251b8e80941Smrg .num_indices = 1, 252b8e80941Smrg .index_map = { 253b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 254b8e80941Smrg }, 255b8e80941Smrg .flags = 0, 256b8e80941Smrg}, 257b8e80941Smrg{ 258b8e80941Smrg .name = "atomic_counter_post_dec_deref", 259b8e80941Smrg .num_srcs = 1, 260b8e80941Smrg .src_components = { 261b8e80941Smrg -1 262b8e80941Smrg }, 263b8e80941Smrg .has_dest = true, 264b8e80941Smrg .dest_components = 1, 265b8e80941Smrg .dest_bit_sizes = 0x0, 266b8e80941Smrg .num_indices = 0, 267b8e80941Smrg .flags = 0, 268b8e80941Smrg}, 269b8e80941Smrg{ 270b8e80941Smrg .name = "atomic_counter_pre_dec", 271b8e80941Smrg .num_srcs = 1, 272b8e80941Smrg .src_components = { 273b8e80941Smrg 1 274b8e80941Smrg }, 275b8e80941Smrg .has_dest = true, 276b8e80941Smrg .dest_components = 1, 277b8e80941Smrg .dest_bit_sizes = 0x0, 278b8e80941Smrg .num_indices = 1, 279b8e80941Smrg .index_map = { 280b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 281b8e80941Smrg }, 282b8e80941Smrg .flags = 0, 283b8e80941Smrg}, 284b8e80941Smrg{ 285b8e80941Smrg .name = "atomic_counter_pre_dec_deref", 286b8e80941Smrg .num_srcs = 1, 287b8e80941Smrg .src_components = { 288b8e80941Smrg -1 289b8e80941Smrg }, 290b8e80941Smrg .has_dest = true, 291b8e80941Smrg .dest_components = 1, 292b8e80941Smrg .dest_bit_sizes = 0x0, 293b8e80941Smrg .num_indices = 0, 294b8e80941Smrg .flags = 0, 295b8e80941Smrg}, 296b8e80941Smrg{ 297b8e80941Smrg .name = "atomic_counter_read", 298b8e80941Smrg .num_srcs = 1, 299b8e80941Smrg .src_components = { 300b8e80941Smrg 1 301b8e80941Smrg }, 302b8e80941Smrg .has_dest = true, 303b8e80941Smrg .dest_components = 1, 304b8e80941Smrg .dest_bit_sizes = 0x0, 305b8e80941Smrg .num_indices = 1, 306b8e80941Smrg .index_map = { 307b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 308b8e80941Smrg }, 309b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 310b8e80941Smrg}, 311b8e80941Smrg{ 312b8e80941Smrg .name = "atomic_counter_read_deref", 313b8e80941Smrg .num_srcs = 1, 314b8e80941Smrg .src_components = { 315b8e80941Smrg -1 316b8e80941Smrg }, 317b8e80941Smrg .has_dest = true, 318b8e80941Smrg .dest_components = 1, 319b8e80941Smrg .dest_bit_sizes = 0x0, 320b8e80941Smrg .num_indices = 0, 321b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 322b8e80941Smrg}, 323b8e80941Smrg{ 324b8e80941Smrg .name = "atomic_counter_xor", 325b8e80941Smrg .num_srcs = 2, 326b8e80941Smrg .src_components = { 327b8e80941Smrg 1, 1 328b8e80941Smrg }, 329b8e80941Smrg .has_dest = true, 330b8e80941Smrg .dest_components = 1, 331b8e80941Smrg .dest_bit_sizes = 0x0, 332b8e80941Smrg .num_indices = 1, 333b8e80941Smrg .index_map = { 334b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 335b8e80941Smrg }, 336b8e80941Smrg .flags = 0, 337b8e80941Smrg}, 338b8e80941Smrg{ 339b8e80941Smrg .name = "atomic_counter_xor_deref", 340b8e80941Smrg .num_srcs = 2, 341b8e80941Smrg .src_components = { 342b8e80941Smrg -1, 1 343b8e80941Smrg }, 344b8e80941Smrg .has_dest = true, 345b8e80941Smrg .dest_components = 1, 346b8e80941Smrg .dest_bit_sizes = 0x0, 347b8e80941Smrg .num_indices = 0, 348b8e80941Smrg .flags = 0, 349b8e80941Smrg}, 350b8e80941Smrg{ 351b8e80941Smrg .name = "ballot", 352b8e80941Smrg .num_srcs = 1, 353b8e80941Smrg .src_components = { 354b8e80941Smrg 1 355b8e80941Smrg }, 356b8e80941Smrg .has_dest = true, 357b8e80941Smrg .dest_components = 0, 358b8e80941Smrg .dest_bit_sizes = 0x0, 359b8e80941Smrg .num_indices = 0, 360b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 361b8e80941Smrg}, 362b8e80941Smrg{ 363b8e80941Smrg .name = "ballot_bit_count_exclusive", 364b8e80941Smrg .num_srcs = 1, 365b8e80941Smrg .src_components = { 366b8e80941Smrg 4 367b8e80941Smrg }, 368b8e80941Smrg .has_dest = true, 369b8e80941Smrg .dest_components = 1, 370b8e80941Smrg .dest_bit_sizes = 0x0, 371b8e80941Smrg .num_indices = 0, 372b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 373b8e80941Smrg}, 374b8e80941Smrg{ 375b8e80941Smrg .name = "ballot_bit_count_inclusive", 376b8e80941Smrg .num_srcs = 1, 377b8e80941Smrg .src_components = { 378b8e80941Smrg 4 379b8e80941Smrg }, 380b8e80941Smrg .has_dest = true, 381b8e80941Smrg .dest_components = 1, 382b8e80941Smrg .dest_bit_sizes = 0x0, 383b8e80941Smrg .num_indices = 0, 384b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 385b8e80941Smrg}, 386b8e80941Smrg{ 387b8e80941Smrg .name = "ballot_bit_count_reduce", 388b8e80941Smrg .num_srcs = 1, 389b8e80941Smrg .src_components = { 390b8e80941Smrg 4 391b8e80941Smrg }, 392b8e80941Smrg .has_dest = true, 393b8e80941Smrg .dest_components = 1, 394b8e80941Smrg .dest_bit_sizes = 0x0, 395b8e80941Smrg .num_indices = 0, 396b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 397b8e80941Smrg}, 398b8e80941Smrg{ 399b8e80941Smrg .name = "ballot_bitfield_extract", 400b8e80941Smrg .num_srcs = 2, 401b8e80941Smrg .src_components = { 402b8e80941Smrg 4, 1 403b8e80941Smrg }, 404b8e80941Smrg .has_dest = true, 405b8e80941Smrg .dest_components = 1, 406b8e80941Smrg .dest_bit_sizes = 0x0, 407b8e80941Smrg .num_indices = 0, 408b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 409b8e80941Smrg}, 410b8e80941Smrg{ 411b8e80941Smrg .name = "ballot_find_lsb", 412b8e80941Smrg .num_srcs = 1, 413b8e80941Smrg .src_components = { 414b8e80941Smrg 4 415b8e80941Smrg }, 416b8e80941Smrg .has_dest = true, 417b8e80941Smrg .dest_components = 1, 418b8e80941Smrg .dest_bit_sizes = 0x0, 419b8e80941Smrg .num_indices = 0, 420b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 421b8e80941Smrg}, 422b8e80941Smrg{ 423b8e80941Smrg .name = "ballot_find_msb", 424b8e80941Smrg .num_srcs = 1, 425b8e80941Smrg .src_components = { 426b8e80941Smrg 4 427b8e80941Smrg }, 428b8e80941Smrg .has_dest = true, 429b8e80941Smrg .dest_components = 1, 430b8e80941Smrg .dest_bit_sizes = 0x0, 431b8e80941Smrg .num_indices = 0, 432b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 433b8e80941Smrg}, 434b8e80941Smrg{ 435b8e80941Smrg .name = "barrier", 436b8e80941Smrg .num_srcs = 0, 437b8e80941Smrg .has_dest = false, 438b8e80941Smrg .dest_components = 0, 439b8e80941Smrg .dest_bit_sizes = 0x0, 440b8e80941Smrg .num_indices = 0, 441b8e80941Smrg .flags = 0, 442b8e80941Smrg}, 443b8e80941Smrg{ 444b8e80941Smrg .name = "begin_invocation_interlock", 445b8e80941Smrg .num_srcs = 0, 446b8e80941Smrg .has_dest = false, 447b8e80941Smrg .dest_components = 0, 448b8e80941Smrg .dest_bit_sizes = 0x0, 449b8e80941Smrg .num_indices = 0, 450b8e80941Smrg .flags = 0, 451b8e80941Smrg}, 452b8e80941Smrg{ 453b8e80941Smrg .name = "bindless_image_atomic_add", 454b8e80941Smrg .num_srcs = 4, 455b8e80941Smrg .src_components = { 456b8e80941Smrg 1, 4, 1, 1 457b8e80941Smrg }, 458b8e80941Smrg .has_dest = true, 459b8e80941Smrg .dest_components = 1, 460b8e80941Smrg .dest_bit_sizes = 0x0, 461b8e80941Smrg .num_indices = 4, 462b8e80941Smrg .index_map = { 463b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 464b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 465b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 466b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 467b8e80941Smrg }, 468b8e80941Smrg .flags = 0, 469b8e80941Smrg}, 470b8e80941Smrg{ 471b8e80941Smrg .name = "bindless_image_atomic_and", 472b8e80941Smrg .num_srcs = 4, 473b8e80941Smrg .src_components = { 474b8e80941Smrg 1, 4, 1, 1 475b8e80941Smrg }, 476b8e80941Smrg .has_dest = true, 477b8e80941Smrg .dest_components = 1, 478b8e80941Smrg .dest_bit_sizes = 0x0, 479b8e80941Smrg .num_indices = 4, 480b8e80941Smrg .index_map = { 481b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 482b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 483b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 484b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 485b8e80941Smrg }, 486b8e80941Smrg .flags = 0, 487b8e80941Smrg}, 488b8e80941Smrg{ 489b8e80941Smrg .name = "bindless_image_atomic_comp_swap", 490b8e80941Smrg .num_srcs = 5, 491b8e80941Smrg .src_components = { 492b8e80941Smrg 1, 4, 1, 1, 1 493b8e80941Smrg }, 494b8e80941Smrg .has_dest = true, 495b8e80941Smrg .dest_components = 1, 496b8e80941Smrg .dest_bit_sizes = 0x0, 497b8e80941Smrg .num_indices = 4, 498b8e80941Smrg .index_map = { 499b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 500b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 501b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 502b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 503b8e80941Smrg }, 504b8e80941Smrg .flags = 0, 505b8e80941Smrg}, 506b8e80941Smrg{ 507b8e80941Smrg .name = "bindless_image_atomic_exchange", 508b8e80941Smrg .num_srcs = 4, 509b8e80941Smrg .src_components = { 510b8e80941Smrg 1, 4, 1, 1 511b8e80941Smrg }, 512b8e80941Smrg .has_dest = true, 513b8e80941Smrg .dest_components = 1, 514b8e80941Smrg .dest_bit_sizes = 0x0, 515b8e80941Smrg .num_indices = 4, 516b8e80941Smrg .index_map = { 517b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 518b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 519b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 520b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 521b8e80941Smrg }, 522b8e80941Smrg .flags = 0, 523b8e80941Smrg}, 524b8e80941Smrg{ 525b8e80941Smrg .name = "bindless_image_atomic_fadd", 526b8e80941Smrg .num_srcs = 5, 527b8e80941Smrg .src_components = { 528b8e80941Smrg 1, 1, 4, 1, 1 529b8e80941Smrg }, 530b8e80941Smrg .has_dest = true, 531b8e80941Smrg .dest_components = 1, 532b8e80941Smrg .dest_bit_sizes = 0x0, 533b8e80941Smrg .num_indices = 4, 534b8e80941Smrg .index_map = { 535b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 536b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 537b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 538b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 539b8e80941Smrg }, 540b8e80941Smrg .flags = 0, 541b8e80941Smrg}, 542b8e80941Smrg{ 543b8e80941Smrg .name = "bindless_image_atomic_max", 544b8e80941Smrg .num_srcs = 4, 545b8e80941Smrg .src_components = { 546b8e80941Smrg 1, 4, 1, 1 547b8e80941Smrg }, 548b8e80941Smrg .has_dest = true, 549b8e80941Smrg .dest_components = 1, 550b8e80941Smrg .dest_bit_sizes = 0x0, 551b8e80941Smrg .num_indices = 4, 552b8e80941Smrg .index_map = { 553b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 554b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 555b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 556b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 557b8e80941Smrg }, 558b8e80941Smrg .flags = 0, 559b8e80941Smrg}, 560b8e80941Smrg{ 561b8e80941Smrg .name = "bindless_image_atomic_min", 562b8e80941Smrg .num_srcs = 4, 563b8e80941Smrg .src_components = { 564b8e80941Smrg 1, 4, 1, 1 565b8e80941Smrg }, 566b8e80941Smrg .has_dest = true, 567b8e80941Smrg .dest_components = 1, 568b8e80941Smrg .dest_bit_sizes = 0x0, 569b8e80941Smrg .num_indices = 4, 570b8e80941Smrg .index_map = { 571b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 572b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 573b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 574b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 575b8e80941Smrg }, 576b8e80941Smrg .flags = 0, 577b8e80941Smrg}, 578b8e80941Smrg{ 579b8e80941Smrg .name = "bindless_image_atomic_or", 580b8e80941Smrg .num_srcs = 4, 581b8e80941Smrg .src_components = { 582b8e80941Smrg 1, 4, 1, 1 583b8e80941Smrg }, 584b8e80941Smrg .has_dest = true, 585b8e80941Smrg .dest_components = 1, 586b8e80941Smrg .dest_bit_sizes = 0x0, 587b8e80941Smrg .num_indices = 4, 588b8e80941Smrg .index_map = { 589b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 590b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 591b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 592b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 593b8e80941Smrg }, 594b8e80941Smrg .flags = 0, 595b8e80941Smrg}, 596b8e80941Smrg{ 597b8e80941Smrg .name = "bindless_image_atomic_xor", 598b8e80941Smrg .num_srcs = 4, 599b8e80941Smrg .src_components = { 600b8e80941Smrg 1, 4, 1, 1 601b8e80941Smrg }, 602b8e80941Smrg .has_dest = true, 603b8e80941Smrg .dest_components = 1, 604b8e80941Smrg .dest_bit_sizes = 0x0, 605b8e80941Smrg .num_indices = 4, 606b8e80941Smrg .index_map = { 607b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 608b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 609b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 610b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 611b8e80941Smrg }, 612b8e80941Smrg .flags = 0, 613b8e80941Smrg}, 614b8e80941Smrg{ 615b8e80941Smrg .name = "bindless_image_load", 616b8e80941Smrg .num_srcs = 3, 617b8e80941Smrg .src_components = { 618b8e80941Smrg 1, 4, 1 619b8e80941Smrg }, 620b8e80941Smrg .has_dest = true, 621b8e80941Smrg .dest_components = 0, 622b8e80941Smrg .dest_bit_sizes = 0x0, 623b8e80941Smrg .num_indices = 4, 624b8e80941Smrg .index_map = { 625b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 626b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 627b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 628b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 629b8e80941Smrg }, 630b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 631b8e80941Smrg}, 632b8e80941Smrg{ 633b8e80941Smrg .name = "bindless_image_load_raw_intel", 634b8e80941Smrg .num_srcs = 2, 635b8e80941Smrg .src_components = { 636b8e80941Smrg 1, 1 637b8e80941Smrg }, 638b8e80941Smrg .has_dest = true, 639b8e80941Smrg .dest_components = 0, 640b8e80941Smrg .dest_bit_sizes = 0x0, 641b8e80941Smrg .num_indices = 4, 642b8e80941Smrg .index_map = { 643b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 644b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 645b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 646b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 647b8e80941Smrg }, 648b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 649b8e80941Smrg}, 650b8e80941Smrg{ 651b8e80941Smrg .name = "bindless_image_samples", 652b8e80941Smrg .num_srcs = 1, 653b8e80941Smrg .src_components = { 654b8e80941Smrg 1 655b8e80941Smrg }, 656b8e80941Smrg .has_dest = true, 657b8e80941Smrg .dest_components = 1, 658b8e80941Smrg .dest_bit_sizes = 0x0, 659b8e80941Smrg .num_indices = 4, 660b8e80941Smrg .index_map = { 661b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 662b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 663b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 664b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 665b8e80941Smrg }, 666b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 667b8e80941Smrg}, 668b8e80941Smrg{ 669b8e80941Smrg .name = "bindless_image_size", 670b8e80941Smrg .num_srcs = 1, 671b8e80941Smrg .src_components = { 672b8e80941Smrg 1 673b8e80941Smrg }, 674b8e80941Smrg .has_dest = true, 675b8e80941Smrg .dest_components = 0, 676b8e80941Smrg .dest_bit_sizes = 0x0, 677b8e80941Smrg .num_indices = 4, 678b8e80941Smrg .index_map = { 679b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 680b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 681b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 682b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 683b8e80941Smrg }, 684b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 685b8e80941Smrg}, 686b8e80941Smrg{ 687b8e80941Smrg .name = "bindless_image_store", 688b8e80941Smrg .num_srcs = 4, 689b8e80941Smrg .src_components = { 690b8e80941Smrg 1, 4, 1, 0 691b8e80941Smrg }, 692b8e80941Smrg .has_dest = false, 693b8e80941Smrg .dest_components = 0, 694b8e80941Smrg .dest_bit_sizes = 0x0, 695b8e80941Smrg .num_indices = 4, 696b8e80941Smrg .index_map = { 697b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 698b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 699b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 700b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 701b8e80941Smrg }, 702b8e80941Smrg .flags = 0, 703b8e80941Smrg}, 704b8e80941Smrg{ 705b8e80941Smrg .name = "bindless_image_store_raw_intel", 706b8e80941Smrg .num_srcs = 3, 707b8e80941Smrg .src_components = { 708b8e80941Smrg 1, 1, 0 709b8e80941Smrg }, 710b8e80941Smrg .has_dest = false, 711b8e80941Smrg .dest_components = 0, 712b8e80941Smrg .dest_bit_sizes = 0x0, 713b8e80941Smrg .num_indices = 4, 714b8e80941Smrg .index_map = { 715b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 716b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 717b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 718b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 719b8e80941Smrg }, 720b8e80941Smrg .flags = 0, 721b8e80941Smrg}, 722b8e80941Smrg{ 723b8e80941Smrg .name = "copy_deref", 724b8e80941Smrg .num_srcs = 2, 725b8e80941Smrg .src_components = { 726b8e80941Smrg -1, -1 727b8e80941Smrg }, 728b8e80941Smrg .has_dest = false, 729b8e80941Smrg .dest_components = 0, 730b8e80941Smrg .dest_bit_sizes = 0x0, 731b8e80941Smrg .num_indices = 2, 732b8e80941Smrg .index_map = { 733b8e80941Smrg [NIR_INTRINSIC_DST_ACCESS] = 1, 734b8e80941Smrg [NIR_INTRINSIC_SRC_ACCESS] = 2, 735b8e80941Smrg }, 736b8e80941Smrg .flags = 0, 737b8e80941Smrg}, 738b8e80941Smrg{ 739b8e80941Smrg .name = "deref_atomic_add", 740b8e80941Smrg .num_srcs = 2, 741b8e80941Smrg .src_components = { 742b8e80941Smrg -1, 1 743b8e80941Smrg }, 744b8e80941Smrg .has_dest = true, 745b8e80941Smrg .dest_components = 1, 746b8e80941Smrg .dest_bit_sizes = 0x0, 747b8e80941Smrg .num_indices = 1, 748b8e80941Smrg .index_map = { 749b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 750b8e80941Smrg }, 751b8e80941Smrg .flags = 0, 752b8e80941Smrg}, 753b8e80941Smrg{ 754b8e80941Smrg .name = "deref_atomic_and", 755b8e80941Smrg .num_srcs = 2, 756b8e80941Smrg .src_components = { 757b8e80941Smrg -1, 1 758b8e80941Smrg }, 759b8e80941Smrg .has_dest = true, 760b8e80941Smrg .dest_components = 1, 761b8e80941Smrg .dest_bit_sizes = 0x0, 762b8e80941Smrg .num_indices = 1, 763b8e80941Smrg .index_map = { 764b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 765b8e80941Smrg }, 766b8e80941Smrg .flags = 0, 767b8e80941Smrg}, 768b8e80941Smrg{ 769b8e80941Smrg .name = "deref_atomic_comp_swap", 770b8e80941Smrg .num_srcs = 3, 771b8e80941Smrg .src_components = { 772b8e80941Smrg -1, 1, 1 773b8e80941Smrg }, 774b8e80941Smrg .has_dest = true, 775b8e80941Smrg .dest_components = 1, 776b8e80941Smrg .dest_bit_sizes = 0x0, 777b8e80941Smrg .num_indices = 1, 778b8e80941Smrg .index_map = { 779b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 780b8e80941Smrg }, 781b8e80941Smrg .flags = 0, 782b8e80941Smrg}, 783b8e80941Smrg{ 784b8e80941Smrg .name = "deref_atomic_exchange", 785b8e80941Smrg .num_srcs = 2, 786b8e80941Smrg .src_components = { 787b8e80941Smrg -1, 1 788b8e80941Smrg }, 789b8e80941Smrg .has_dest = true, 790b8e80941Smrg .dest_components = 1, 791b8e80941Smrg .dest_bit_sizes = 0x0, 792b8e80941Smrg .num_indices = 1, 793b8e80941Smrg .index_map = { 794b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 795b8e80941Smrg }, 796b8e80941Smrg .flags = 0, 797b8e80941Smrg}, 798b8e80941Smrg{ 799b8e80941Smrg .name = "deref_atomic_fadd", 800b8e80941Smrg .num_srcs = 2, 801b8e80941Smrg .src_components = { 802b8e80941Smrg -1, 1 803b8e80941Smrg }, 804b8e80941Smrg .has_dest = true, 805b8e80941Smrg .dest_components = 1, 806b8e80941Smrg .dest_bit_sizes = 0x0, 807b8e80941Smrg .num_indices = 1, 808b8e80941Smrg .index_map = { 809b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 810b8e80941Smrg }, 811b8e80941Smrg .flags = 0, 812b8e80941Smrg}, 813b8e80941Smrg{ 814b8e80941Smrg .name = "deref_atomic_fcomp_swap", 815b8e80941Smrg .num_srcs = 3, 816b8e80941Smrg .src_components = { 817b8e80941Smrg -1, 1, 1 818b8e80941Smrg }, 819b8e80941Smrg .has_dest = true, 820b8e80941Smrg .dest_components = 1, 821b8e80941Smrg .dest_bit_sizes = 0x0, 822b8e80941Smrg .num_indices = 1, 823b8e80941Smrg .index_map = { 824b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 825b8e80941Smrg }, 826b8e80941Smrg .flags = 0, 827b8e80941Smrg}, 828b8e80941Smrg{ 829b8e80941Smrg .name = "deref_atomic_fmax", 830b8e80941Smrg .num_srcs = 2, 831b8e80941Smrg .src_components = { 832b8e80941Smrg -1, 1 833b8e80941Smrg }, 834b8e80941Smrg .has_dest = true, 835b8e80941Smrg .dest_components = 1, 836b8e80941Smrg .dest_bit_sizes = 0x0, 837b8e80941Smrg .num_indices = 1, 838b8e80941Smrg .index_map = { 839b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 840b8e80941Smrg }, 841b8e80941Smrg .flags = 0, 842b8e80941Smrg}, 843b8e80941Smrg{ 844b8e80941Smrg .name = "deref_atomic_fmin", 845b8e80941Smrg .num_srcs = 2, 846b8e80941Smrg .src_components = { 847b8e80941Smrg -1, 1 848b8e80941Smrg }, 849b8e80941Smrg .has_dest = true, 850b8e80941Smrg .dest_components = 1, 851b8e80941Smrg .dest_bit_sizes = 0x0, 852b8e80941Smrg .num_indices = 1, 853b8e80941Smrg .index_map = { 854b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 855b8e80941Smrg }, 856b8e80941Smrg .flags = 0, 857b8e80941Smrg}, 858b8e80941Smrg{ 859b8e80941Smrg .name = "deref_atomic_imax", 860b8e80941Smrg .num_srcs = 2, 861b8e80941Smrg .src_components = { 862b8e80941Smrg -1, 1 863b8e80941Smrg }, 864b8e80941Smrg .has_dest = true, 865b8e80941Smrg .dest_components = 1, 866b8e80941Smrg .dest_bit_sizes = 0x0, 867b8e80941Smrg .num_indices = 1, 868b8e80941Smrg .index_map = { 869b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 870b8e80941Smrg }, 871b8e80941Smrg .flags = 0, 872b8e80941Smrg}, 873b8e80941Smrg{ 874b8e80941Smrg .name = "deref_atomic_imin", 875b8e80941Smrg .num_srcs = 2, 876b8e80941Smrg .src_components = { 877b8e80941Smrg -1, 1 878b8e80941Smrg }, 879b8e80941Smrg .has_dest = true, 880b8e80941Smrg .dest_components = 1, 881b8e80941Smrg .dest_bit_sizes = 0x0, 882b8e80941Smrg .num_indices = 1, 883b8e80941Smrg .index_map = { 884b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 885b8e80941Smrg }, 886b8e80941Smrg .flags = 0, 887b8e80941Smrg}, 888b8e80941Smrg{ 889b8e80941Smrg .name = "deref_atomic_or", 890b8e80941Smrg .num_srcs = 2, 891b8e80941Smrg .src_components = { 892b8e80941Smrg -1, 1 893b8e80941Smrg }, 894b8e80941Smrg .has_dest = true, 895b8e80941Smrg .dest_components = 1, 896b8e80941Smrg .dest_bit_sizes = 0x0, 897b8e80941Smrg .num_indices = 1, 898b8e80941Smrg .index_map = { 899b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 900b8e80941Smrg }, 901b8e80941Smrg .flags = 0, 902b8e80941Smrg}, 903b8e80941Smrg{ 904b8e80941Smrg .name = "deref_atomic_umax", 905b8e80941Smrg .num_srcs = 2, 906b8e80941Smrg .src_components = { 907b8e80941Smrg -1, 1 908b8e80941Smrg }, 909b8e80941Smrg .has_dest = true, 910b8e80941Smrg .dest_components = 1, 911b8e80941Smrg .dest_bit_sizes = 0x0, 912b8e80941Smrg .num_indices = 1, 913b8e80941Smrg .index_map = { 914b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 915b8e80941Smrg }, 916b8e80941Smrg .flags = 0, 917b8e80941Smrg}, 918b8e80941Smrg{ 919b8e80941Smrg .name = "deref_atomic_umin", 920b8e80941Smrg .num_srcs = 2, 921b8e80941Smrg .src_components = { 922b8e80941Smrg -1, 1 923b8e80941Smrg }, 924b8e80941Smrg .has_dest = true, 925b8e80941Smrg .dest_components = 1, 926b8e80941Smrg .dest_bit_sizes = 0x0, 927b8e80941Smrg .num_indices = 1, 928b8e80941Smrg .index_map = { 929b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 930b8e80941Smrg }, 931b8e80941Smrg .flags = 0, 932b8e80941Smrg}, 933b8e80941Smrg{ 934b8e80941Smrg .name = "deref_atomic_xor", 935b8e80941Smrg .num_srcs = 2, 936b8e80941Smrg .src_components = { 937b8e80941Smrg -1, 1 938b8e80941Smrg }, 939b8e80941Smrg .has_dest = true, 940b8e80941Smrg .dest_components = 1, 941b8e80941Smrg .dest_bit_sizes = 0x0, 942b8e80941Smrg .num_indices = 1, 943b8e80941Smrg .index_map = { 944b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 945b8e80941Smrg }, 946b8e80941Smrg .flags = 0, 947b8e80941Smrg}, 948b8e80941Smrg{ 949b8e80941Smrg .name = "deref_buffer_array_length", 950b8e80941Smrg .num_srcs = 1, 951b8e80941Smrg .src_components = { 952b8e80941Smrg -1 953b8e80941Smrg }, 954b8e80941Smrg .has_dest = true, 955b8e80941Smrg .dest_components = 1, 956b8e80941Smrg .dest_bit_sizes = 0x0, 957b8e80941Smrg .num_indices = 0, 958b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 959b8e80941Smrg}, 960b8e80941Smrg{ 961b8e80941Smrg .name = "discard", 962b8e80941Smrg .num_srcs = 0, 963b8e80941Smrg .has_dest = false, 964b8e80941Smrg .dest_components = 0, 965b8e80941Smrg .dest_bit_sizes = 0x0, 966b8e80941Smrg .num_indices = 0, 967b8e80941Smrg .flags = 0, 968b8e80941Smrg}, 969b8e80941Smrg{ 970b8e80941Smrg .name = "discard_if", 971b8e80941Smrg .num_srcs = 1, 972b8e80941Smrg .src_components = { 973b8e80941Smrg 1 974b8e80941Smrg }, 975b8e80941Smrg .has_dest = false, 976b8e80941Smrg .dest_components = 0, 977b8e80941Smrg .dest_bit_sizes = 0x0, 978b8e80941Smrg .num_indices = 0, 979b8e80941Smrg .flags = 0, 980b8e80941Smrg}, 981b8e80941Smrg{ 982b8e80941Smrg .name = "elect", 983b8e80941Smrg .num_srcs = 0, 984b8e80941Smrg .has_dest = true, 985b8e80941Smrg .dest_components = 1, 986b8e80941Smrg .dest_bit_sizes = 0x0, 987b8e80941Smrg .num_indices = 0, 988b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 989b8e80941Smrg}, 990b8e80941Smrg{ 991b8e80941Smrg .name = "emit_vertex", 992b8e80941Smrg .num_srcs = 0, 993b8e80941Smrg .has_dest = false, 994b8e80941Smrg .dest_components = 0, 995b8e80941Smrg .dest_bit_sizes = 0x0, 996b8e80941Smrg .num_indices = 1, 997b8e80941Smrg .index_map = { 998b8e80941Smrg [NIR_INTRINSIC_STREAM_ID] = 1, 999b8e80941Smrg }, 1000b8e80941Smrg .flags = 0, 1001b8e80941Smrg}, 1002b8e80941Smrg{ 1003b8e80941Smrg .name = "emit_vertex_with_counter", 1004b8e80941Smrg .num_srcs = 1, 1005b8e80941Smrg .src_components = { 1006b8e80941Smrg 1 1007b8e80941Smrg }, 1008b8e80941Smrg .has_dest = false, 1009b8e80941Smrg .dest_components = 0, 1010b8e80941Smrg .dest_bit_sizes = 0x0, 1011b8e80941Smrg .num_indices = 1, 1012b8e80941Smrg .index_map = { 1013b8e80941Smrg [NIR_INTRINSIC_STREAM_ID] = 1, 1014b8e80941Smrg }, 1015b8e80941Smrg .flags = 0, 1016b8e80941Smrg}, 1017b8e80941Smrg{ 1018b8e80941Smrg .name = "end_invocation_interlock", 1019b8e80941Smrg .num_srcs = 0, 1020b8e80941Smrg .has_dest = false, 1021b8e80941Smrg .dest_components = 0, 1022b8e80941Smrg .dest_bit_sizes = 0x0, 1023b8e80941Smrg .num_indices = 0, 1024b8e80941Smrg .flags = 0, 1025b8e80941Smrg}, 1026b8e80941Smrg{ 1027b8e80941Smrg .name = "end_primitive", 1028b8e80941Smrg .num_srcs = 0, 1029b8e80941Smrg .has_dest = false, 1030b8e80941Smrg .dest_components = 0, 1031b8e80941Smrg .dest_bit_sizes = 0x0, 1032b8e80941Smrg .num_indices = 1, 1033b8e80941Smrg .index_map = { 1034b8e80941Smrg [NIR_INTRINSIC_STREAM_ID] = 1, 1035b8e80941Smrg }, 1036b8e80941Smrg .flags = 0, 1037b8e80941Smrg}, 1038b8e80941Smrg{ 1039b8e80941Smrg .name = "end_primitive_with_counter", 1040b8e80941Smrg .num_srcs = 1, 1041b8e80941Smrg .src_components = { 1042b8e80941Smrg 1 1043b8e80941Smrg }, 1044b8e80941Smrg .has_dest = false, 1045b8e80941Smrg .dest_components = 0, 1046b8e80941Smrg .dest_bit_sizes = 0x0, 1047b8e80941Smrg .num_indices = 1, 1048b8e80941Smrg .index_map = { 1049b8e80941Smrg [NIR_INTRINSIC_STREAM_ID] = 1, 1050b8e80941Smrg }, 1051b8e80941Smrg .flags = 0, 1052b8e80941Smrg}, 1053b8e80941Smrg{ 1054b8e80941Smrg .name = "exclusive_scan", 1055b8e80941Smrg .num_srcs = 1, 1056b8e80941Smrg .src_components = { 1057b8e80941Smrg 0 1058b8e80941Smrg }, 1059b8e80941Smrg .has_dest = true, 1060b8e80941Smrg .dest_components = 0, 1061b8e80941Smrg .dest_bit_sizes = 0x0, 1062b8e80941Smrg .num_indices = 1, 1063b8e80941Smrg .index_map = { 1064b8e80941Smrg [NIR_INTRINSIC_REDUCTION_OP] = 1, 1065b8e80941Smrg }, 1066b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1067b8e80941Smrg}, 1068b8e80941Smrg{ 1069b8e80941Smrg .name = "first_invocation", 1070b8e80941Smrg .num_srcs = 0, 1071b8e80941Smrg .has_dest = true, 1072b8e80941Smrg .dest_components = 1, 1073b8e80941Smrg .dest_bit_sizes = 0x0, 1074b8e80941Smrg .num_indices = 0, 1075b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1076b8e80941Smrg}, 1077b8e80941Smrg{ 1078b8e80941Smrg .name = "get_buffer_size", 1079b8e80941Smrg .num_srcs = 1, 1080b8e80941Smrg .src_components = { 1081b8e80941Smrg -1 1082b8e80941Smrg }, 1083b8e80941Smrg .has_dest = true, 1084b8e80941Smrg .dest_components = 1, 1085b8e80941Smrg .dest_bit_sizes = 0x0, 1086b8e80941Smrg .num_indices = 0, 1087b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1088b8e80941Smrg}, 1089b8e80941Smrg{ 1090b8e80941Smrg .name = "global_atomic_add", 1091b8e80941Smrg .num_srcs = 2, 1092b8e80941Smrg .src_components = { 1093b8e80941Smrg 1, 1 1094b8e80941Smrg }, 1095b8e80941Smrg .has_dest = true, 1096b8e80941Smrg .dest_components = 1, 1097b8e80941Smrg .dest_bit_sizes = 0x0, 1098b8e80941Smrg .num_indices = 1, 1099b8e80941Smrg .index_map = { 1100b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1101b8e80941Smrg }, 1102b8e80941Smrg .flags = 0, 1103b8e80941Smrg}, 1104b8e80941Smrg{ 1105b8e80941Smrg .name = "global_atomic_and", 1106b8e80941Smrg .num_srcs = 2, 1107b8e80941Smrg .src_components = { 1108b8e80941Smrg 1, 1 1109b8e80941Smrg }, 1110b8e80941Smrg .has_dest = true, 1111b8e80941Smrg .dest_components = 1, 1112b8e80941Smrg .dest_bit_sizes = 0x0, 1113b8e80941Smrg .num_indices = 1, 1114b8e80941Smrg .index_map = { 1115b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1116b8e80941Smrg }, 1117b8e80941Smrg .flags = 0, 1118b8e80941Smrg}, 1119b8e80941Smrg{ 1120b8e80941Smrg .name = "global_atomic_comp_swap", 1121b8e80941Smrg .num_srcs = 3, 1122b8e80941Smrg .src_components = { 1123b8e80941Smrg 1, 1, 1 1124b8e80941Smrg }, 1125b8e80941Smrg .has_dest = true, 1126b8e80941Smrg .dest_components = 1, 1127b8e80941Smrg .dest_bit_sizes = 0x0, 1128b8e80941Smrg .num_indices = 1, 1129b8e80941Smrg .index_map = { 1130b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1131b8e80941Smrg }, 1132b8e80941Smrg .flags = 0, 1133b8e80941Smrg}, 1134b8e80941Smrg{ 1135b8e80941Smrg .name = "global_atomic_exchange", 1136b8e80941Smrg .num_srcs = 2, 1137b8e80941Smrg .src_components = { 1138b8e80941Smrg 1, 1 1139b8e80941Smrg }, 1140b8e80941Smrg .has_dest = true, 1141b8e80941Smrg .dest_components = 1, 1142b8e80941Smrg .dest_bit_sizes = 0x0, 1143b8e80941Smrg .num_indices = 1, 1144b8e80941Smrg .index_map = { 1145b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1146b8e80941Smrg }, 1147b8e80941Smrg .flags = 0, 1148b8e80941Smrg}, 1149b8e80941Smrg{ 1150b8e80941Smrg .name = "global_atomic_fadd", 1151b8e80941Smrg .num_srcs = 2, 1152b8e80941Smrg .src_components = { 1153b8e80941Smrg 1, 1 1154b8e80941Smrg }, 1155b8e80941Smrg .has_dest = true, 1156b8e80941Smrg .dest_components = 1, 1157b8e80941Smrg .dest_bit_sizes = 0x0, 1158b8e80941Smrg .num_indices = 1, 1159b8e80941Smrg .index_map = { 1160b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1161b8e80941Smrg }, 1162b8e80941Smrg .flags = 0, 1163b8e80941Smrg}, 1164b8e80941Smrg{ 1165b8e80941Smrg .name = "global_atomic_fcomp_swap", 1166b8e80941Smrg .num_srcs = 3, 1167b8e80941Smrg .src_components = { 1168b8e80941Smrg 1, 1, 1 1169b8e80941Smrg }, 1170b8e80941Smrg .has_dest = true, 1171b8e80941Smrg .dest_components = 1, 1172b8e80941Smrg .dest_bit_sizes = 0x0, 1173b8e80941Smrg .num_indices = 1, 1174b8e80941Smrg .index_map = { 1175b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1176b8e80941Smrg }, 1177b8e80941Smrg .flags = 0, 1178b8e80941Smrg}, 1179b8e80941Smrg{ 1180b8e80941Smrg .name = "global_atomic_fmax", 1181b8e80941Smrg .num_srcs = 2, 1182b8e80941Smrg .src_components = { 1183b8e80941Smrg 1, 1 1184b8e80941Smrg }, 1185b8e80941Smrg .has_dest = true, 1186b8e80941Smrg .dest_components = 1, 1187b8e80941Smrg .dest_bit_sizes = 0x0, 1188b8e80941Smrg .num_indices = 1, 1189b8e80941Smrg .index_map = { 1190b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1191b8e80941Smrg }, 1192b8e80941Smrg .flags = 0, 1193b8e80941Smrg}, 1194b8e80941Smrg{ 1195b8e80941Smrg .name = "global_atomic_fmin", 1196b8e80941Smrg .num_srcs = 2, 1197b8e80941Smrg .src_components = { 1198b8e80941Smrg 1, 1 1199b8e80941Smrg }, 1200b8e80941Smrg .has_dest = true, 1201b8e80941Smrg .dest_components = 1, 1202b8e80941Smrg .dest_bit_sizes = 0x0, 1203b8e80941Smrg .num_indices = 1, 1204b8e80941Smrg .index_map = { 1205b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1206b8e80941Smrg }, 1207b8e80941Smrg .flags = 0, 1208b8e80941Smrg}, 1209b8e80941Smrg{ 1210b8e80941Smrg .name = "global_atomic_imax", 1211b8e80941Smrg .num_srcs = 2, 1212b8e80941Smrg .src_components = { 1213b8e80941Smrg 1, 1 1214b8e80941Smrg }, 1215b8e80941Smrg .has_dest = true, 1216b8e80941Smrg .dest_components = 1, 1217b8e80941Smrg .dest_bit_sizes = 0x0, 1218b8e80941Smrg .num_indices = 1, 1219b8e80941Smrg .index_map = { 1220b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1221b8e80941Smrg }, 1222b8e80941Smrg .flags = 0, 1223b8e80941Smrg}, 1224b8e80941Smrg{ 1225b8e80941Smrg .name = "global_atomic_imin", 1226b8e80941Smrg .num_srcs = 2, 1227b8e80941Smrg .src_components = { 1228b8e80941Smrg 1, 1 1229b8e80941Smrg }, 1230b8e80941Smrg .has_dest = true, 1231b8e80941Smrg .dest_components = 1, 1232b8e80941Smrg .dest_bit_sizes = 0x0, 1233b8e80941Smrg .num_indices = 1, 1234b8e80941Smrg .index_map = { 1235b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1236b8e80941Smrg }, 1237b8e80941Smrg .flags = 0, 1238b8e80941Smrg}, 1239b8e80941Smrg{ 1240b8e80941Smrg .name = "global_atomic_or", 1241b8e80941Smrg .num_srcs = 2, 1242b8e80941Smrg .src_components = { 1243b8e80941Smrg 1, 1 1244b8e80941Smrg }, 1245b8e80941Smrg .has_dest = true, 1246b8e80941Smrg .dest_components = 1, 1247b8e80941Smrg .dest_bit_sizes = 0x0, 1248b8e80941Smrg .num_indices = 1, 1249b8e80941Smrg .index_map = { 1250b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1251b8e80941Smrg }, 1252b8e80941Smrg .flags = 0, 1253b8e80941Smrg}, 1254b8e80941Smrg{ 1255b8e80941Smrg .name = "global_atomic_umax", 1256b8e80941Smrg .num_srcs = 2, 1257b8e80941Smrg .src_components = { 1258b8e80941Smrg 1, 1 1259b8e80941Smrg }, 1260b8e80941Smrg .has_dest = true, 1261b8e80941Smrg .dest_components = 1, 1262b8e80941Smrg .dest_bit_sizes = 0x0, 1263b8e80941Smrg .num_indices = 1, 1264b8e80941Smrg .index_map = { 1265b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1266b8e80941Smrg }, 1267b8e80941Smrg .flags = 0, 1268b8e80941Smrg}, 1269b8e80941Smrg{ 1270b8e80941Smrg .name = "global_atomic_umin", 1271b8e80941Smrg .num_srcs = 2, 1272b8e80941Smrg .src_components = { 1273b8e80941Smrg 1, 1 1274b8e80941Smrg }, 1275b8e80941Smrg .has_dest = true, 1276b8e80941Smrg .dest_components = 1, 1277b8e80941Smrg .dest_bit_sizes = 0x0, 1278b8e80941Smrg .num_indices = 1, 1279b8e80941Smrg .index_map = { 1280b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1281b8e80941Smrg }, 1282b8e80941Smrg .flags = 0, 1283b8e80941Smrg}, 1284b8e80941Smrg{ 1285b8e80941Smrg .name = "global_atomic_xor", 1286b8e80941Smrg .num_srcs = 2, 1287b8e80941Smrg .src_components = { 1288b8e80941Smrg 1, 1 1289b8e80941Smrg }, 1290b8e80941Smrg .has_dest = true, 1291b8e80941Smrg .dest_components = 1, 1292b8e80941Smrg .dest_bit_sizes = 0x0, 1293b8e80941Smrg .num_indices = 1, 1294b8e80941Smrg .index_map = { 1295b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1296b8e80941Smrg }, 1297b8e80941Smrg .flags = 0, 1298b8e80941Smrg}, 1299b8e80941Smrg{ 1300b8e80941Smrg .name = "group_memory_barrier", 1301b8e80941Smrg .num_srcs = 0, 1302b8e80941Smrg .has_dest = false, 1303b8e80941Smrg .dest_components = 0, 1304b8e80941Smrg .dest_bit_sizes = 0x0, 1305b8e80941Smrg .num_indices = 0, 1306b8e80941Smrg .flags = 0, 1307b8e80941Smrg}, 1308b8e80941Smrg{ 1309b8e80941Smrg .name = "image_atomic_add", 1310b8e80941Smrg .num_srcs = 4, 1311b8e80941Smrg .src_components = { 1312b8e80941Smrg 1, 4, 1, 1 1313b8e80941Smrg }, 1314b8e80941Smrg .has_dest = true, 1315b8e80941Smrg .dest_components = 1, 1316b8e80941Smrg .dest_bit_sizes = 0x0, 1317b8e80941Smrg .num_indices = 4, 1318b8e80941Smrg .index_map = { 1319b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1320b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1321b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1322b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1323b8e80941Smrg }, 1324b8e80941Smrg .flags = 0, 1325b8e80941Smrg}, 1326b8e80941Smrg{ 1327b8e80941Smrg .name = "image_atomic_and", 1328b8e80941Smrg .num_srcs = 4, 1329b8e80941Smrg .src_components = { 1330b8e80941Smrg 1, 4, 1, 1 1331b8e80941Smrg }, 1332b8e80941Smrg .has_dest = true, 1333b8e80941Smrg .dest_components = 1, 1334b8e80941Smrg .dest_bit_sizes = 0x0, 1335b8e80941Smrg .num_indices = 4, 1336b8e80941Smrg .index_map = { 1337b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1338b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1339b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1340b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1341b8e80941Smrg }, 1342b8e80941Smrg .flags = 0, 1343b8e80941Smrg}, 1344b8e80941Smrg{ 1345b8e80941Smrg .name = "image_atomic_comp_swap", 1346b8e80941Smrg .num_srcs = 5, 1347b8e80941Smrg .src_components = { 1348b8e80941Smrg 1, 4, 1, 1, 1 1349b8e80941Smrg }, 1350b8e80941Smrg .has_dest = true, 1351b8e80941Smrg .dest_components = 1, 1352b8e80941Smrg .dest_bit_sizes = 0x0, 1353b8e80941Smrg .num_indices = 4, 1354b8e80941Smrg .index_map = { 1355b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1356b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1357b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1358b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1359b8e80941Smrg }, 1360b8e80941Smrg .flags = 0, 1361b8e80941Smrg}, 1362b8e80941Smrg{ 1363b8e80941Smrg .name = "image_atomic_exchange", 1364b8e80941Smrg .num_srcs = 4, 1365b8e80941Smrg .src_components = { 1366b8e80941Smrg 1, 4, 1, 1 1367b8e80941Smrg }, 1368b8e80941Smrg .has_dest = true, 1369b8e80941Smrg .dest_components = 1, 1370b8e80941Smrg .dest_bit_sizes = 0x0, 1371b8e80941Smrg .num_indices = 4, 1372b8e80941Smrg .index_map = { 1373b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1374b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1375b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1376b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1377b8e80941Smrg }, 1378b8e80941Smrg .flags = 0, 1379b8e80941Smrg}, 1380b8e80941Smrg{ 1381b8e80941Smrg .name = "image_atomic_fadd", 1382b8e80941Smrg .num_srcs = 5, 1383b8e80941Smrg .src_components = { 1384b8e80941Smrg 1, 1, 4, 1, 1 1385b8e80941Smrg }, 1386b8e80941Smrg .has_dest = true, 1387b8e80941Smrg .dest_components = 1, 1388b8e80941Smrg .dest_bit_sizes = 0x0, 1389b8e80941Smrg .num_indices = 4, 1390b8e80941Smrg .index_map = { 1391b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1392b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1393b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1394b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1395b8e80941Smrg }, 1396b8e80941Smrg .flags = 0, 1397b8e80941Smrg}, 1398b8e80941Smrg{ 1399b8e80941Smrg .name = "image_atomic_max", 1400b8e80941Smrg .num_srcs = 4, 1401b8e80941Smrg .src_components = { 1402b8e80941Smrg 1, 4, 1, 1 1403b8e80941Smrg }, 1404b8e80941Smrg .has_dest = true, 1405b8e80941Smrg .dest_components = 1, 1406b8e80941Smrg .dest_bit_sizes = 0x0, 1407b8e80941Smrg .num_indices = 4, 1408b8e80941Smrg .index_map = { 1409b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1410b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1411b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1412b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1413b8e80941Smrg }, 1414b8e80941Smrg .flags = 0, 1415b8e80941Smrg}, 1416b8e80941Smrg{ 1417b8e80941Smrg .name = "image_atomic_min", 1418b8e80941Smrg .num_srcs = 4, 1419b8e80941Smrg .src_components = { 1420b8e80941Smrg 1, 4, 1, 1 1421b8e80941Smrg }, 1422b8e80941Smrg .has_dest = true, 1423b8e80941Smrg .dest_components = 1, 1424b8e80941Smrg .dest_bit_sizes = 0x0, 1425b8e80941Smrg .num_indices = 4, 1426b8e80941Smrg .index_map = { 1427b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1428b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1429b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1430b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1431b8e80941Smrg }, 1432b8e80941Smrg .flags = 0, 1433b8e80941Smrg}, 1434b8e80941Smrg{ 1435b8e80941Smrg .name = "image_atomic_or", 1436b8e80941Smrg .num_srcs = 4, 1437b8e80941Smrg .src_components = { 1438b8e80941Smrg 1, 4, 1, 1 1439b8e80941Smrg }, 1440b8e80941Smrg .has_dest = true, 1441b8e80941Smrg .dest_components = 1, 1442b8e80941Smrg .dest_bit_sizes = 0x0, 1443b8e80941Smrg .num_indices = 4, 1444b8e80941Smrg .index_map = { 1445b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1446b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1447b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1448b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1449b8e80941Smrg }, 1450b8e80941Smrg .flags = 0, 1451b8e80941Smrg}, 1452b8e80941Smrg{ 1453b8e80941Smrg .name = "image_atomic_xor", 1454b8e80941Smrg .num_srcs = 4, 1455b8e80941Smrg .src_components = { 1456b8e80941Smrg 1, 4, 1, 1 1457b8e80941Smrg }, 1458b8e80941Smrg .has_dest = true, 1459b8e80941Smrg .dest_components = 1, 1460b8e80941Smrg .dest_bit_sizes = 0x0, 1461b8e80941Smrg .num_indices = 4, 1462b8e80941Smrg .index_map = { 1463b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1464b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1465b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1466b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1467b8e80941Smrg }, 1468b8e80941Smrg .flags = 0, 1469b8e80941Smrg}, 1470b8e80941Smrg{ 1471b8e80941Smrg .name = "image_deref_atomic_add", 1472b8e80941Smrg .num_srcs = 4, 1473b8e80941Smrg .src_components = { 1474b8e80941Smrg 1, 4, 1, 1 1475b8e80941Smrg }, 1476b8e80941Smrg .has_dest = true, 1477b8e80941Smrg .dest_components = 1, 1478b8e80941Smrg .dest_bit_sizes = 0x0, 1479b8e80941Smrg .num_indices = 1, 1480b8e80941Smrg .index_map = { 1481b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1482b8e80941Smrg }, 1483b8e80941Smrg .flags = 0, 1484b8e80941Smrg}, 1485b8e80941Smrg{ 1486b8e80941Smrg .name = "image_deref_atomic_and", 1487b8e80941Smrg .num_srcs = 4, 1488b8e80941Smrg .src_components = { 1489b8e80941Smrg 1, 4, 1, 1 1490b8e80941Smrg }, 1491b8e80941Smrg .has_dest = true, 1492b8e80941Smrg .dest_components = 1, 1493b8e80941Smrg .dest_bit_sizes = 0x0, 1494b8e80941Smrg .num_indices = 1, 1495b8e80941Smrg .index_map = { 1496b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1497b8e80941Smrg }, 1498b8e80941Smrg .flags = 0, 1499b8e80941Smrg}, 1500b8e80941Smrg{ 1501b8e80941Smrg .name = "image_deref_atomic_comp_swap", 1502b8e80941Smrg .num_srcs = 5, 1503b8e80941Smrg .src_components = { 1504b8e80941Smrg 1, 4, 1, 1, 1 1505b8e80941Smrg }, 1506b8e80941Smrg .has_dest = true, 1507b8e80941Smrg .dest_components = 1, 1508b8e80941Smrg .dest_bit_sizes = 0x0, 1509b8e80941Smrg .num_indices = 1, 1510b8e80941Smrg .index_map = { 1511b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1512b8e80941Smrg }, 1513b8e80941Smrg .flags = 0, 1514b8e80941Smrg}, 1515b8e80941Smrg{ 1516b8e80941Smrg .name = "image_deref_atomic_exchange", 1517b8e80941Smrg .num_srcs = 4, 1518b8e80941Smrg .src_components = { 1519b8e80941Smrg 1, 4, 1, 1 1520b8e80941Smrg }, 1521b8e80941Smrg .has_dest = true, 1522b8e80941Smrg .dest_components = 1, 1523b8e80941Smrg .dest_bit_sizes = 0x0, 1524b8e80941Smrg .num_indices = 1, 1525b8e80941Smrg .index_map = { 1526b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1527b8e80941Smrg }, 1528b8e80941Smrg .flags = 0, 1529b8e80941Smrg}, 1530b8e80941Smrg{ 1531b8e80941Smrg .name = "image_deref_atomic_fadd", 1532b8e80941Smrg .num_srcs = 5, 1533b8e80941Smrg .src_components = { 1534b8e80941Smrg 1, 1, 4, 1, 1 1535b8e80941Smrg }, 1536b8e80941Smrg .has_dest = true, 1537b8e80941Smrg .dest_components = 1, 1538b8e80941Smrg .dest_bit_sizes = 0x0, 1539b8e80941Smrg .num_indices = 1, 1540b8e80941Smrg .index_map = { 1541b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1542b8e80941Smrg }, 1543b8e80941Smrg .flags = 0, 1544b8e80941Smrg}, 1545b8e80941Smrg{ 1546b8e80941Smrg .name = "image_deref_atomic_max", 1547b8e80941Smrg .num_srcs = 4, 1548b8e80941Smrg .src_components = { 1549b8e80941Smrg 1, 4, 1, 1 1550b8e80941Smrg }, 1551b8e80941Smrg .has_dest = true, 1552b8e80941Smrg .dest_components = 1, 1553b8e80941Smrg .dest_bit_sizes = 0x0, 1554b8e80941Smrg .num_indices = 1, 1555b8e80941Smrg .index_map = { 1556b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1557b8e80941Smrg }, 1558b8e80941Smrg .flags = 0, 1559b8e80941Smrg}, 1560b8e80941Smrg{ 1561b8e80941Smrg .name = "image_deref_atomic_min", 1562b8e80941Smrg .num_srcs = 4, 1563b8e80941Smrg .src_components = { 1564b8e80941Smrg 1, 4, 1, 1 1565b8e80941Smrg }, 1566b8e80941Smrg .has_dest = true, 1567b8e80941Smrg .dest_components = 1, 1568b8e80941Smrg .dest_bit_sizes = 0x0, 1569b8e80941Smrg .num_indices = 1, 1570b8e80941Smrg .index_map = { 1571b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1572b8e80941Smrg }, 1573b8e80941Smrg .flags = 0, 1574b8e80941Smrg}, 1575b8e80941Smrg{ 1576b8e80941Smrg .name = "image_deref_atomic_or", 1577b8e80941Smrg .num_srcs = 4, 1578b8e80941Smrg .src_components = { 1579b8e80941Smrg 1, 4, 1, 1 1580b8e80941Smrg }, 1581b8e80941Smrg .has_dest = true, 1582b8e80941Smrg .dest_components = 1, 1583b8e80941Smrg .dest_bit_sizes = 0x0, 1584b8e80941Smrg .num_indices = 1, 1585b8e80941Smrg .index_map = { 1586b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1587b8e80941Smrg }, 1588b8e80941Smrg .flags = 0, 1589b8e80941Smrg}, 1590b8e80941Smrg{ 1591b8e80941Smrg .name = "image_deref_atomic_xor", 1592b8e80941Smrg .num_srcs = 4, 1593b8e80941Smrg .src_components = { 1594b8e80941Smrg 1, 4, 1, 1 1595b8e80941Smrg }, 1596b8e80941Smrg .has_dest = true, 1597b8e80941Smrg .dest_components = 1, 1598b8e80941Smrg .dest_bit_sizes = 0x0, 1599b8e80941Smrg .num_indices = 1, 1600b8e80941Smrg .index_map = { 1601b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1602b8e80941Smrg }, 1603b8e80941Smrg .flags = 0, 1604b8e80941Smrg}, 1605b8e80941Smrg{ 1606b8e80941Smrg .name = "image_deref_load", 1607b8e80941Smrg .num_srcs = 3, 1608b8e80941Smrg .src_components = { 1609b8e80941Smrg 1, 4, 1 1610b8e80941Smrg }, 1611b8e80941Smrg .has_dest = true, 1612b8e80941Smrg .dest_components = 0, 1613b8e80941Smrg .dest_bit_sizes = 0x0, 1614b8e80941Smrg .num_indices = 1, 1615b8e80941Smrg .index_map = { 1616b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1617b8e80941Smrg }, 1618b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1619b8e80941Smrg}, 1620b8e80941Smrg{ 1621b8e80941Smrg .name = "image_deref_load_param_intel", 1622b8e80941Smrg .num_srcs = 1, 1623b8e80941Smrg .src_components = { 1624b8e80941Smrg 1 1625b8e80941Smrg }, 1626b8e80941Smrg .has_dest = true, 1627b8e80941Smrg .dest_components = 0, 1628b8e80941Smrg .dest_bit_sizes = 0x0, 1629b8e80941Smrg .num_indices = 1, 1630b8e80941Smrg .index_map = { 1631b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 1632b8e80941Smrg }, 1633b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1634b8e80941Smrg}, 1635b8e80941Smrg{ 1636b8e80941Smrg .name = "image_deref_load_raw_intel", 1637b8e80941Smrg .num_srcs = 2, 1638b8e80941Smrg .src_components = { 1639b8e80941Smrg 1, 1 1640b8e80941Smrg }, 1641b8e80941Smrg .has_dest = true, 1642b8e80941Smrg .dest_components = 0, 1643b8e80941Smrg .dest_bit_sizes = 0x0, 1644b8e80941Smrg .num_indices = 1, 1645b8e80941Smrg .index_map = { 1646b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1647b8e80941Smrg }, 1648b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1649b8e80941Smrg}, 1650b8e80941Smrg{ 1651b8e80941Smrg .name = "image_deref_samples", 1652b8e80941Smrg .num_srcs = 1, 1653b8e80941Smrg .src_components = { 1654b8e80941Smrg 1 1655b8e80941Smrg }, 1656b8e80941Smrg .has_dest = true, 1657b8e80941Smrg .dest_components = 1, 1658b8e80941Smrg .dest_bit_sizes = 0x0, 1659b8e80941Smrg .num_indices = 1, 1660b8e80941Smrg .index_map = { 1661b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1662b8e80941Smrg }, 1663b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1664b8e80941Smrg}, 1665b8e80941Smrg{ 1666b8e80941Smrg .name = "image_deref_size", 1667b8e80941Smrg .num_srcs = 1, 1668b8e80941Smrg .src_components = { 1669b8e80941Smrg 1 1670b8e80941Smrg }, 1671b8e80941Smrg .has_dest = true, 1672b8e80941Smrg .dest_components = 0, 1673b8e80941Smrg .dest_bit_sizes = 0x0, 1674b8e80941Smrg .num_indices = 1, 1675b8e80941Smrg .index_map = { 1676b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1677b8e80941Smrg }, 1678b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1679b8e80941Smrg}, 1680b8e80941Smrg{ 1681b8e80941Smrg .name = "image_deref_store", 1682b8e80941Smrg .num_srcs = 4, 1683b8e80941Smrg .src_components = { 1684b8e80941Smrg 1, 4, 1, 0 1685b8e80941Smrg }, 1686b8e80941Smrg .has_dest = false, 1687b8e80941Smrg .dest_components = 0, 1688b8e80941Smrg .dest_bit_sizes = 0x0, 1689b8e80941Smrg .num_indices = 1, 1690b8e80941Smrg .index_map = { 1691b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1692b8e80941Smrg }, 1693b8e80941Smrg .flags = 0, 1694b8e80941Smrg}, 1695b8e80941Smrg{ 1696b8e80941Smrg .name = "image_deref_store_raw_intel", 1697b8e80941Smrg .num_srcs = 3, 1698b8e80941Smrg .src_components = { 1699b8e80941Smrg 1, 1, 0 1700b8e80941Smrg }, 1701b8e80941Smrg .has_dest = false, 1702b8e80941Smrg .dest_components = 0, 1703b8e80941Smrg .dest_bit_sizes = 0x0, 1704b8e80941Smrg .num_indices = 1, 1705b8e80941Smrg .index_map = { 1706b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 1707b8e80941Smrg }, 1708b8e80941Smrg .flags = 0, 1709b8e80941Smrg}, 1710b8e80941Smrg{ 1711b8e80941Smrg .name = "image_load", 1712b8e80941Smrg .num_srcs = 3, 1713b8e80941Smrg .src_components = { 1714b8e80941Smrg 1, 4, 1 1715b8e80941Smrg }, 1716b8e80941Smrg .has_dest = true, 1717b8e80941Smrg .dest_components = 0, 1718b8e80941Smrg .dest_bit_sizes = 0x0, 1719b8e80941Smrg .num_indices = 4, 1720b8e80941Smrg .index_map = { 1721b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1722b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1723b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1724b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1725b8e80941Smrg }, 1726b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1727b8e80941Smrg}, 1728b8e80941Smrg{ 1729b8e80941Smrg .name = "image_load_raw_intel", 1730b8e80941Smrg .num_srcs = 2, 1731b8e80941Smrg .src_components = { 1732b8e80941Smrg 1, 1 1733b8e80941Smrg }, 1734b8e80941Smrg .has_dest = true, 1735b8e80941Smrg .dest_components = 0, 1736b8e80941Smrg .dest_bit_sizes = 0x0, 1737b8e80941Smrg .num_indices = 4, 1738b8e80941Smrg .index_map = { 1739b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1740b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1741b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1742b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1743b8e80941Smrg }, 1744b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1745b8e80941Smrg}, 1746b8e80941Smrg{ 1747b8e80941Smrg .name = "image_samples", 1748b8e80941Smrg .num_srcs = 1, 1749b8e80941Smrg .src_components = { 1750b8e80941Smrg 1 1751b8e80941Smrg }, 1752b8e80941Smrg .has_dest = true, 1753b8e80941Smrg .dest_components = 1, 1754b8e80941Smrg .dest_bit_sizes = 0x0, 1755b8e80941Smrg .num_indices = 4, 1756b8e80941Smrg .index_map = { 1757b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1758b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1759b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1760b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1761b8e80941Smrg }, 1762b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1763b8e80941Smrg}, 1764b8e80941Smrg{ 1765b8e80941Smrg .name = "image_size", 1766b8e80941Smrg .num_srcs = 1, 1767b8e80941Smrg .src_components = { 1768b8e80941Smrg 1 1769b8e80941Smrg }, 1770b8e80941Smrg .has_dest = true, 1771b8e80941Smrg .dest_components = 0, 1772b8e80941Smrg .dest_bit_sizes = 0x0, 1773b8e80941Smrg .num_indices = 4, 1774b8e80941Smrg .index_map = { 1775b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1776b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1777b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1778b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1779b8e80941Smrg }, 1780b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1781b8e80941Smrg}, 1782b8e80941Smrg{ 1783b8e80941Smrg .name = "image_store", 1784b8e80941Smrg .num_srcs = 4, 1785b8e80941Smrg .src_components = { 1786b8e80941Smrg 1, 4, 1, 0 1787b8e80941Smrg }, 1788b8e80941Smrg .has_dest = false, 1789b8e80941Smrg .dest_components = 0, 1790b8e80941Smrg .dest_bit_sizes = 0x0, 1791b8e80941Smrg .num_indices = 4, 1792b8e80941Smrg .index_map = { 1793b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1794b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1795b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1796b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1797b8e80941Smrg }, 1798b8e80941Smrg .flags = 0, 1799b8e80941Smrg}, 1800b8e80941Smrg{ 1801b8e80941Smrg .name = "image_store_raw_intel", 1802b8e80941Smrg .num_srcs = 3, 1803b8e80941Smrg .src_components = { 1804b8e80941Smrg 1, 1, 0 1805b8e80941Smrg }, 1806b8e80941Smrg .has_dest = false, 1807b8e80941Smrg .dest_components = 0, 1808b8e80941Smrg .dest_bit_sizes = 0x0, 1809b8e80941Smrg .num_indices = 4, 1810b8e80941Smrg .index_map = { 1811b8e80941Smrg [NIR_INTRINSIC_IMAGE_DIM] = 1, 1812b8e80941Smrg [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1813b8e80941Smrg [NIR_INTRINSIC_FORMAT] = 3, 1814b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 4, 1815b8e80941Smrg }, 1816b8e80941Smrg .flags = 0, 1817b8e80941Smrg}, 1818b8e80941Smrg{ 1819b8e80941Smrg .name = "inclusive_scan", 1820b8e80941Smrg .num_srcs = 1, 1821b8e80941Smrg .src_components = { 1822b8e80941Smrg 0 1823b8e80941Smrg }, 1824b8e80941Smrg .has_dest = true, 1825b8e80941Smrg .dest_components = 0, 1826b8e80941Smrg .dest_bit_sizes = 0x0, 1827b8e80941Smrg .num_indices = 1, 1828b8e80941Smrg .index_map = { 1829b8e80941Smrg [NIR_INTRINSIC_REDUCTION_OP] = 1, 1830b8e80941Smrg }, 1831b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1832b8e80941Smrg}, 1833b8e80941Smrg{ 1834b8e80941Smrg .name = "interp_deref_at_centroid", 1835b8e80941Smrg .num_srcs = 1, 1836b8e80941Smrg .src_components = { 1837b8e80941Smrg 1 1838b8e80941Smrg }, 1839b8e80941Smrg .has_dest = true, 1840b8e80941Smrg .dest_components = 0, 1841b8e80941Smrg .dest_bit_sizes = 0x0, 1842b8e80941Smrg .num_indices = 0, 1843b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1844b8e80941Smrg}, 1845b8e80941Smrg{ 1846b8e80941Smrg .name = "interp_deref_at_offset", 1847b8e80941Smrg .num_srcs = 2, 1848b8e80941Smrg .src_components = { 1849b8e80941Smrg 1, 2 1850b8e80941Smrg }, 1851b8e80941Smrg .has_dest = true, 1852b8e80941Smrg .dest_components = 0, 1853b8e80941Smrg .dest_bit_sizes = 0x0, 1854b8e80941Smrg .num_indices = 0, 1855b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1856b8e80941Smrg}, 1857b8e80941Smrg{ 1858b8e80941Smrg .name = "interp_deref_at_sample", 1859b8e80941Smrg .num_srcs = 2, 1860b8e80941Smrg .src_components = { 1861b8e80941Smrg 1, 1 1862b8e80941Smrg }, 1863b8e80941Smrg .has_dest = true, 1864b8e80941Smrg .dest_components = 0, 1865b8e80941Smrg .dest_bit_sizes = 0x0, 1866b8e80941Smrg .num_indices = 0, 1867b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1868b8e80941Smrg}, 1869b8e80941Smrg{ 1870b8e80941Smrg .name = "load_alpha_ref_float", 1871b8e80941Smrg .num_srcs = 0, 1872b8e80941Smrg .has_dest = true, 1873b8e80941Smrg .dest_components = 1, 1874b8e80941Smrg .dest_bit_sizes = 0x20, 1875b8e80941Smrg .num_indices = 0, 1876b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1877b8e80941Smrg}, 1878b8e80941Smrg{ 1879b8e80941Smrg .name = "load_barycentric_at_offset", 1880b8e80941Smrg .num_srcs = 1, 1881b8e80941Smrg .src_components = { 1882b8e80941Smrg 2 1883b8e80941Smrg }, 1884b8e80941Smrg .has_dest = true, 1885b8e80941Smrg .dest_components = 2, 1886b8e80941Smrg .dest_bit_sizes = 0x0, 1887b8e80941Smrg .num_indices = 1, 1888b8e80941Smrg .index_map = { 1889b8e80941Smrg [NIR_INTRINSIC_INTERP_MODE] = 1, 1890b8e80941Smrg }, 1891b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1892b8e80941Smrg}, 1893b8e80941Smrg{ 1894b8e80941Smrg .name = "load_barycentric_at_sample", 1895b8e80941Smrg .num_srcs = 1, 1896b8e80941Smrg .src_components = { 1897b8e80941Smrg 1 1898b8e80941Smrg }, 1899b8e80941Smrg .has_dest = true, 1900b8e80941Smrg .dest_components = 2, 1901b8e80941Smrg .dest_bit_sizes = 0x0, 1902b8e80941Smrg .num_indices = 1, 1903b8e80941Smrg .index_map = { 1904b8e80941Smrg [NIR_INTRINSIC_INTERP_MODE] = 1, 1905b8e80941Smrg }, 1906b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1907b8e80941Smrg}, 1908b8e80941Smrg{ 1909b8e80941Smrg .name = "load_barycentric_centroid", 1910b8e80941Smrg .num_srcs = 0, 1911b8e80941Smrg .has_dest = true, 1912b8e80941Smrg .dest_components = 2, 1913b8e80941Smrg .dest_bit_sizes = 0x0, 1914b8e80941Smrg .num_indices = 1, 1915b8e80941Smrg .index_map = { 1916b8e80941Smrg [NIR_INTRINSIC_INTERP_MODE] = 1, 1917b8e80941Smrg }, 1918b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1919b8e80941Smrg}, 1920b8e80941Smrg{ 1921b8e80941Smrg .name = "load_barycentric_pixel", 1922b8e80941Smrg .num_srcs = 0, 1923b8e80941Smrg .has_dest = true, 1924b8e80941Smrg .dest_components = 2, 1925b8e80941Smrg .dest_bit_sizes = 0x0, 1926b8e80941Smrg .num_indices = 1, 1927b8e80941Smrg .index_map = { 1928b8e80941Smrg [NIR_INTRINSIC_INTERP_MODE] = 1, 1929b8e80941Smrg }, 1930b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1931b8e80941Smrg}, 1932b8e80941Smrg{ 1933b8e80941Smrg .name = "load_barycentric_sample", 1934b8e80941Smrg .num_srcs = 0, 1935b8e80941Smrg .has_dest = true, 1936b8e80941Smrg .dest_components = 2, 1937b8e80941Smrg .dest_bit_sizes = 0x0, 1938b8e80941Smrg .num_indices = 1, 1939b8e80941Smrg .index_map = { 1940b8e80941Smrg [NIR_INTRINSIC_INTERP_MODE] = 1, 1941b8e80941Smrg }, 1942b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1943b8e80941Smrg}, 1944b8e80941Smrg{ 1945b8e80941Smrg .name = "load_base_instance", 1946b8e80941Smrg .num_srcs = 0, 1947b8e80941Smrg .has_dest = true, 1948b8e80941Smrg .dest_components = 1, 1949b8e80941Smrg .dest_bit_sizes = 0x20, 1950b8e80941Smrg .num_indices = 0, 1951b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1952b8e80941Smrg}, 1953b8e80941Smrg{ 1954b8e80941Smrg .name = "load_base_vertex", 1955b8e80941Smrg .num_srcs = 0, 1956b8e80941Smrg .has_dest = true, 1957b8e80941Smrg .dest_components = 1, 1958b8e80941Smrg .dest_bit_sizes = 0x20, 1959b8e80941Smrg .num_indices = 0, 1960b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1961b8e80941Smrg}, 1962b8e80941Smrg{ 1963b8e80941Smrg .name = "load_blend_const_color_a_float", 1964b8e80941Smrg .num_srcs = 0, 1965b8e80941Smrg .has_dest = true, 1966b8e80941Smrg .dest_components = 1, 1967b8e80941Smrg .dest_bit_sizes = 0x20, 1968b8e80941Smrg .num_indices = 0, 1969b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1970b8e80941Smrg}, 1971b8e80941Smrg{ 1972b8e80941Smrg .name = "load_blend_const_color_aaaa8888_unorm", 1973b8e80941Smrg .num_srcs = 0, 1974b8e80941Smrg .has_dest = true, 1975b8e80941Smrg .dest_components = 1, 1976b8e80941Smrg .dest_bit_sizes = 0x20, 1977b8e80941Smrg .num_indices = 0, 1978b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1979b8e80941Smrg}, 1980b8e80941Smrg{ 1981b8e80941Smrg .name = "load_blend_const_color_b_float", 1982b8e80941Smrg .num_srcs = 0, 1983b8e80941Smrg .has_dest = true, 1984b8e80941Smrg .dest_components = 1, 1985b8e80941Smrg .dest_bit_sizes = 0x20, 1986b8e80941Smrg .num_indices = 0, 1987b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1988b8e80941Smrg}, 1989b8e80941Smrg{ 1990b8e80941Smrg .name = "load_blend_const_color_g_float", 1991b8e80941Smrg .num_srcs = 0, 1992b8e80941Smrg .has_dest = true, 1993b8e80941Smrg .dest_components = 1, 1994b8e80941Smrg .dest_bit_sizes = 0x20, 1995b8e80941Smrg .num_indices = 0, 1996b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1997b8e80941Smrg}, 1998b8e80941Smrg{ 1999b8e80941Smrg .name = "load_blend_const_color_r_float", 2000b8e80941Smrg .num_srcs = 0, 2001b8e80941Smrg .has_dest = true, 2002b8e80941Smrg .dest_components = 1, 2003b8e80941Smrg .dest_bit_sizes = 0x20, 2004b8e80941Smrg .num_indices = 0, 2005b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2006b8e80941Smrg}, 2007b8e80941Smrg{ 2008b8e80941Smrg .name = "load_blend_const_color_rgba8888_unorm", 2009b8e80941Smrg .num_srcs = 0, 2010b8e80941Smrg .has_dest = true, 2011b8e80941Smrg .dest_components = 1, 2012b8e80941Smrg .dest_bit_sizes = 0x20, 2013b8e80941Smrg .num_indices = 0, 2014b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2015b8e80941Smrg}, 2016b8e80941Smrg{ 2017b8e80941Smrg .name = "load_constant", 2018b8e80941Smrg .num_srcs = 1, 2019b8e80941Smrg .src_components = { 2020b8e80941Smrg 1 2021b8e80941Smrg }, 2022b8e80941Smrg .has_dest = true, 2023b8e80941Smrg .dest_components = 0, 2024b8e80941Smrg .dest_bit_sizes = 0x0, 2025b8e80941Smrg .num_indices = 2, 2026b8e80941Smrg .index_map = { 2027b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2028b8e80941Smrg [NIR_INTRINSIC_RANGE] = 2, 2029b8e80941Smrg }, 2030b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2031b8e80941Smrg}, 2032b8e80941Smrg{ 2033b8e80941Smrg .name = "load_deref", 2034b8e80941Smrg .num_srcs = 1, 2035b8e80941Smrg .src_components = { 2036b8e80941Smrg -1 2037b8e80941Smrg }, 2038b8e80941Smrg .has_dest = true, 2039b8e80941Smrg .dest_components = 0, 2040b8e80941Smrg .dest_bit_sizes = 0x0, 2041b8e80941Smrg .num_indices = 1, 2042b8e80941Smrg .index_map = { 2043b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 2044b8e80941Smrg }, 2045b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2046b8e80941Smrg}, 2047b8e80941Smrg{ 2048b8e80941Smrg .name = "load_draw_id", 2049b8e80941Smrg .num_srcs = 0, 2050b8e80941Smrg .has_dest = true, 2051b8e80941Smrg .dest_components = 1, 2052b8e80941Smrg .dest_bit_sizes = 0x20, 2053b8e80941Smrg .num_indices = 0, 2054b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2055b8e80941Smrg}, 2056b8e80941Smrg{ 2057b8e80941Smrg .name = "load_first_vertex", 2058b8e80941Smrg .num_srcs = 0, 2059b8e80941Smrg .has_dest = true, 2060b8e80941Smrg .dest_components = 1, 2061b8e80941Smrg .dest_bit_sizes = 0x20, 2062b8e80941Smrg .num_indices = 0, 2063b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2064b8e80941Smrg}, 2065b8e80941Smrg{ 2066b8e80941Smrg .name = "load_frag_coord", 2067b8e80941Smrg .num_srcs = 0, 2068b8e80941Smrg .has_dest = true, 2069b8e80941Smrg .dest_components = 4, 2070b8e80941Smrg .dest_bit_sizes = 0x20, 2071b8e80941Smrg .num_indices = 0, 2072b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2073b8e80941Smrg}, 2074b8e80941Smrg{ 2075b8e80941Smrg .name = "load_front_face", 2076b8e80941Smrg .num_srcs = 0, 2077b8e80941Smrg .has_dest = true, 2078b8e80941Smrg .dest_components = 1, 2079b8e80941Smrg .dest_bit_sizes = 0x21, 2080b8e80941Smrg .num_indices = 0, 2081b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2082b8e80941Smrg}, 2083b8e80941Smrg{ 2084b8e80941Smrg .name = "load_global", 2085b8e80941Smrg .num_srcs = 1, 2086b8e80941Smrg .src_components = { 2087b8e80941Smrg 1 2088b8e80941Smrg }, 2089b8e80941Smrg .has_dest = true, 2090b8e80941Smrg .dest_components = 0, 2091b8e80941Smrg .dest_bit_sizes = 0x0, 2092b8e80941Smrg .num_indices = 3, 2093b8e80941Smrg .index_map = { 2094b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 2095b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 2, 2096b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2097b8e80941Smrg }, 2098b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2099b8e80941Smrg}, 2100b8e80941Smrg{ 2101b8e80941Smrg .name = "load_global_invocation_id", 2102b8e80941Smrg .num_srcs = 0, 2103b8e80941Smrg .has_dest = true, 2104b8e80941Smrg .dest_components = 3, 2105b8e80941Smrg .dest_bit_sizes = 0x60, 2106b8e80941Smrg .num_indices = 0, 2107b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2108b8e80941Smrg}, 2109b8e80941Smrg{ 2110b8e80941Smrg .name = "load_global_invocation_index", 2111b8e80941Smrg .num_srcs = 0, 2112b8e80941Smrg .has_dest = true, 2113b8e80941Smrg .dest_components = 1, 2114b8e80941Smrg .dest_bit_sizes = 0x60, 2115b8e80941Smrg .num_indices = 0, 2116b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2117b8e80941Smrg}, 2118b8e80941Smrg{ 2119b8e80941Smrg .name = "load_helper_invocation", 2120b8e80941Smrg .num_srcs = 0, 2121b8e80941Smrg .has_dest = true, 2122b8e80941Smrg .dest_components = 1, 2123b8e80941Smrg .dest_bit_sizes = 0x21, 2124b8e80941Smrg .num_indices = 0, 2125b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2126b8e80941Smrg}, 2127b8e80941Smrg{ 2128b8e80941Smrg .name = "load_input", 2129b8e80941Smrg .num_srcs = 1, 2130b8e80941Smrg .src_components = { 2131b8e80941Smrg 1 2132b8e80941Smrg }, 2133b8e80941Smrg .has_dest = true, 2134b8e80941Smrg .dest_components = 0, 2135b8e80941Smrg .dest_bit_sizes = 0x0, 2136b8e80941Smrg .num_indices = 2, 2137b8e80941Smrg .index_map = { 2138b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2139b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 2, 2140b8e80941Smrg }, 2141b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2142b8e80941Smrg}, 2143b8e80941Smrg{ 2144b8e80941Smrg .name = "load_instance_id", 2145b8e80941Smrg .num_srcs = 0, 2146b8e80941Smrg .has_dest = true, 2147b8e80941Smrg .dest_components = 1, 2148b8e80941Smrg .dest_bit_sizes = 0x20, 2149b8e80941Smrg .num_indices = 0, 2150b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2151b8e80941Smrg}, 2152b8e80941Smrg{ 2153b8e80941Smrg .name = "load_interpolated_input", 2154b8e80941Smrg .num_srcs = 2, 2155b8e80941Smrg .src_components = { 2156b8e80941Smrg 2, 1 2157b8e80941Smrg }, 2158b8e80941Smrg .has_dest = true, 2159b8e80941Smrg .dest_components = 0, 2160b8e80941Smrg .dest_bit_sizes = 0x0, 2161b8e80941Smrg .num_indices = 2, 2162b8e80941Smrg .index_map = { 2163b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2164b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 2, 2165b8e80941Smrg }, 2166b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2167b8e80941Smrg}, 2168b8e80941Smrg{ 2169b8e80941Smrg .name = "load_invocation_id", 2170b8e80941Smrg .num_srcs = 0, 2171b8e80941Smrg .has_dest = true, 2172b8e80941Smrg .dest_components = 1, 2173b8e80941Smrg .dest_bit_sizes = 0x20, 2174b8e80941Smrg .num_indices = 0, 2175b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2176b8e80941Smrg}, 2177b8e80941Smrg{ 2178b8e80941Smrg .name = "load_is_indexed_draw", 2179b8e80941Smrg .num_srcs = 0, 2180b8e80941Smrg .has_dest = true, 2181b8e80941Smrg .dest_components = 1, 2182b8e80941Smrg .dest_bit_sizes = 0x20, 2183b8e80941Smrg .num_indices = 0, 2184b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2185b8e80941Smrg}, 2186b8e80941Smrg{ 2187b8e80941Smrg .name = "load_kernel_input", 2188b8e80941Smrg .num_srcs = 1, 2189b8e80941Smrg .src_components = { 2190b8e80941Smrg 1 2191b8e80941Smrg }, 2192b8e80941Smrg .has_dest = true, 2193b8e80941Smrg .dest_components = 0, 2194b8e80941Smrg .dest_bit_sizes = 0x0, 2195b8e80941Smrg .num_indices = 4, 2196b8e80941Smrg .index_map = { 2197b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2198b8e80941Smrg [NIR_INTRINSIC_RANGE] = 2, 2199b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 3, 2200b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 2201b8e80941Smrg }, 2202b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2203b8e80941Smrg}, 2204b8e80941Smrg{ 2205b8e80941Smrg .name = "load_layer_id", 2206b8e80941Smrg .num_srcs = 0, 2207b8e80941Smrg .has_dest = true, 2208b8e80941Smrg .dest_components = 1, 2209b8e80941Smrg .dest_bit_sizes = 0x20, 2210b8e80941Smrg .num_indices = 0, 2211b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2212b8e80941Smrg}, 2213b8e80941Smrg{ 2214b8e80941Smrg .name = "load_local_group_size", 2215b8e80941Smrg .num_srcs = 0, 2216b8e80941Smrg .has_dest = true, 2217b8e80941Smrg .dest_components = 3, 2218b8e80941Smrg .dest_bit_sizes = 0x20, 2219b8e80941Smrg .num_indices = 0, 2220b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2221b8e80941Smrg}, 2222b8e80941Smrg{ 2223b8e80941Smrg .name = "load_local_invocation_id", 2224b8e80941Smrg .num_srcs = 0, 2225b8e80941Smrg .has_dest = true, 2226b8e80941Smrg .dest_components = 3, 2227b8e80941Smrg .dest_bit_sizes = 0x20, 2228b8e80941Smrg .num_indices = 0, 2229b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2230b8e80941Smrg}, 2231b8e80941Smrg{ 2232b8e80941Smrg .name = "load_local_invocation_index", 2233b8e80941Smrg .num_srcs = 0, 2234b8e80941Smrg .has_dest = true, 2235b8e80941Smrg .dest_components = 1, 2236b8e80941Smrg .dest_bit_sizes = 0x20, 2237b8e80941Smrg .num_indices = 0, 2238b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2239b8e80941Smrg}, 2240b8e80941Smrg{ 2241b8e80941Smrg .name = "load_num_subgroups", 2242b8e80941Smrg .num_srcs = 0, 2243b8e80941Smrg .has_dest = true, 2244b8e80941Smrg .dest_components = 1, 2245b8e80941Smrg .dest_bit_sizes = 0x20, 2246b8e80941Smrg .num_indices = 0, 2247b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2248b8e80941Smrg}, 2249b8e80941Smrg{ 2250b8e80941Smrg .name = "load_num_work_groups", 2251b8e80941Smrg .num_srcs = 0, 2252b8e80941Smrg .has_dest = true, 2253b8e80941Smrg .dest_components = 3, 2254b8e80941Smrg .dest_bit_sizes = 0x20, 2255b8e80941Smrg .num_indices = 0, 2256b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2257b8e80941Smrg}, 2258b8e80941Smrg{ 2259b8e80941Smrg .name = "load_output", 2260b8e80941Smrg .num_srcs = 1, 2261b8e80941Smrg .src_components = { 2262b8e80941Smrg 1 2263b8e80941Smrg }, 2264b8e80941Smrg .has_dest = true, 2265b8e80941Smrg .dest_components = 0, 2266b8e80941Smrg .dest_bit_sizes = 0x0, 2267b8e80941Smrg .num_indices = 2, 2268b8e80941Smrg .index_map = { 2269b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2270b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 2, 2271b8e80941Smrg }, 2272b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2273b8e80941Smrg}, 2274b8e80941Smrg{ 2275b8e80941Smrg .name = "load_param", 2276b8e80941Smrg .num_srcs = 0, 2277b8e80941Smrg .has_dest = true, 2278b8e80941Smrg .dest_components = 0, 2279b8e80941Smrg .dest_bit_sizes = 0x0, 2280b8e80941Smrg .num_indices = 1, 2281b8e80941Smrg .index_map = { 2282b8e80941Smrg [NIR_INTRINSIC_PARAM_IDX] = 1, 2283b8e80941Smrg }, 2284b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2285b8e80941Smrg}, 2286b8e80941Smrg{ 2287b8e80941Smrg .name = "load_patch_vertices_in", 2288b8e80941Smrg .num_srcs = 0, 2289b8e80941Smrg .has_dest = true, 2290b8e80941Smrg .dest_components = 1, 2291b8e80941Smrg .dest_bit_sizes = 0x20, 2292b8e80941Smrg .num_indices = 0, 2293b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2294b8e80941Smrg}, 2295b8e80941Smrg{ 2296b8e80941Smrg .name = "load_per_vertex_input", 2297b8e80941Smrg .num_srcs = 2, 2298b8e80941Smrg .src_components = { 2299b8e80941Smrg 1, 1 2300b8e80941Smrg }, 2301b8e80941Smrg .has_dest = true, 2302b8e80941Smrg .dest_components = 0, 2303b8e80941Smrg .dest_bit_sizes = 0x0, 2304b8e80941Smrg .num_indices = 2, 2305b8e80941Smrg .index_map = { 2306b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2307b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 2, 2308b8e80941Smrg }, 2309b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2310b8e80941Smrg}, 2311b8e80941Smrg{ 2312b8e80941Smrg .name = "load_per_vertex_output", 2313b8e80941Smrg .num_srcs = 2, 2314b8e80941Smrg .src_components = { 2315b8e80941Smrg 1, 1 2316b8e80941Smrg }, 2317b8e80941Smrg .has_dest = true, 2318b8e80941Smrg .dest_components = 0, 2319b8e80941Smrg .dest_bit_sizes = 0x0, 2320b8e80941Smrg .num_indices = 2, 2321b8e80941Smrg .index_map = { 2322b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2323b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 2, 2324b8e80941Smrg }, 2325b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2326b8e80941Smrg}, 2327b8e80941Smrg{ 2328b8e80941Smrg .name = "load_primitive_id", 2329b8e80941Smrg .num_srcs = 0, 2330b8e80941Smrg .has_dest = true, 2331b8e80941Smrg .dest_components = 1, 2332b8e80941Smrg .dest_bit_sizes = 0x20, 2333b8e80941Smrg .num_indices = 0, 2334b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2335b8e80941Smrg}, 2336b8e80941Smrg{ 2337b8e80941Smrg .name = "load_push_constant", 2338b8e80941Smrg .num_srcs = 1, 2339b8e80941Smrg .src_components = { 2340b8e80941Smrg 1 2341b8e80941Smrg }, 2342b8e80941Smrg .has_dest = true, 2343b8e80941Smrg .dest_components = 0, 2344b8e80941Smrg .dest_bit_sizes = 0x0, 2345b8e80941Smrg .num_indices = 2, 2346b8e80941Smrg .index_map = { 2347b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2348b8e80941Smrg [NIR_INTRINSIC_RANGE] = 2, 2349b8e80941Smrg }, 2350b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2351b8e80941Smrg}, 2352b8e80941Smrg{ 2353b8e80941Smrg .name = "load_sample_id", 2354b8e80941Smrg .num_srcs = 0, 2355b8e80941Smrg .has_dest = true, 2356b8e80941Smrg .dest_components = 1, 2357b8e80941Smrg .dest_bit_sizes = 0x20, 2358b8e80941Smrg .num_indices = 0, 2359b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2360b8e80941Smrg}, 2361b8e80941Smrg{ 2362b8e80941Smrg .name = "load_sample_id_no_per_sample", 2363b8e80941Smrg .num_srcs = 0, 2364b8e80941Smrg .has_dest = true, 2365b8e80941Smrg .dest_components = 1, 2366b8e80941Smrg .dest_bit_sizes = 0x20, 2367b8e80941Smrg .num_indices = 0, 2368b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2369b8e80941Smrg}, 2370b8e80941Smrg{ 2371b8e80941Smrg .name = "load_sample_mask_in", 2372b8e80941Smrg .num_srcs = 0, 2373b8e80941Smrg .has_dest = true, 2374b8e80941Smrg .dest_components = 1, 2375b8e80941Smrg .dest_bit_sizes = 0x20, 2376b8e80941Smrg .num_indices = 0, 2377b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2378b8e80941Smrg}, 2379b8e80941Smrg{ 2380b8e80941Smrg .name = "load_sample_pos", 2381b8e80941Smrg .num_srcs = 0, 2382b8e80941Smrg .has_dest = true, 2383b8e80941Smrg .dest_components = 2, 2384b8e80941Smrg .dest_bit_sizes = 0x20, 2385b8e80941Smrg .num_indices = 0, 2386b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2387b8e80941Smrg}, 2388b8e80941Smrg{ 2389b8e80941Smrg .name = "load_sample_pos_from_id", 2390b8e80941Smrg .num_srcs = 1, 2391b8e80941Smrg .src_components = { 2392b8e80941Smrg 1 2393b8e80941Smrg }, 2394b8e80941Smrg .has_dest = true, 2395b8e80941Smrg .dest_components = 2, 2396b8e80941Smrg .dest_bit_sizes = 0x0, 2397b8e80941Smrg .num_indices = 0, 2398b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2399b8e80941Smrg}, 2400b8e80941Smrg{ 2401b8e80941Smrg .name = "load_scratch", 2402b8e80941Smrg .num_srcs = 1, 2403b8e80941Smrg .src_components = { 2404b8e80941Smrg 1 2405b8e80941Smrg }, 2406b8e80941Smrg .has_dest = true, 2407b8e80941Smrg .dest_components = 0, 2408b8e80941Smrg .dest_bit_sizes = 0x0, 2409b8e80941Smrg .num_indices = 2, 2410b8e80941Smrg .index_map = { 2411b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 1, 2412b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 2, 2413b8e80941Smrg }, 2414b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2415b8e80941Smrg}, 2416b8e80941Smrg{ 2417b8e80941Smrg .name = "load_shared", 2418b8e80941Smrg .num_srcs = 1, 2419b8e80941Smrg .src_components = { 2420b8e80941Smrg 1 2421b8e80941Smrg }, 2422b8e80941Smrg .has_dest = true, 2423b8e80941Smrg .dest_components = 0, 2424b8e80941Smrg .dest_bit_sizes = 0x0, 2425b8e80941Smrg .num_indices = 3, 2426b8e80941Smrg .index_map = { 2427b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2428b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 2, 2429b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2430b8e80941Smrg }, 2431b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2432b8e80941Smrg}, 2433b8e80941Smrg{ 2434b8e80941Smrg .name = "load_size_ir3", 2435b8e80941Smrg .num_srcs = 0, 2436b8e80941Smrg .has_dest = true, 2437b8e80941Smrg .dest_components = 1, 2438b8e80941Smrg .dest_bit_sizes = 0x0, 2439b8e80941Smrg .num_indices = 0, 2440b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2441b8e80941Smrg}, 2442b8e80941Smrg{ 2443b8e80941Smrg .name = "load_ssbo", 2444b8e80941Smrg .num_srcs = 2, 2445b8e80941Smrg .src_components = { 2446b8e80941Smrg 1, 1 2447b8e80941Smrg }, 2448b8e80941Smrg .has_dest = true, 2449b8e80941Smrg .dest_components = 0, 2450b8e80941Smrg .dest_bit_sizes = 0x0, 2451b8e80941Smrg .num_indices = 3, 2452b8e80941Smrg .index_map = { 2453b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 2454b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 2, 2455b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2456b8e80941Smrg }, 2457b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2458b8e80941Smrg}, 2459b8e80941Smrg{ 2460b8e80941Smrg .name = "load_ssbo_ir3", 2461b8e80941Smrg .num_srcs = 3, 2462b8e80941Smrg .src_components = { 2463b8e80941Smrg 1, 1, 1 2464b8e80941Smrg }, 2465b8e80941Smrg .has_dest = true, 2466b8e80941Smrg .dest_components = 0, 2467b8e80941Smrg .dest_bit_sizes = 0x0, 2468b8e80941Smrg .num_indices = 3, 2469b8e80941Smrg .index_map = { 2470b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 2471b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 2, 2472b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2473b8e80941Smrg }, 2474b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2475b8e80941Smrg}, 2476b8e80941Smrg{ 2477b8e80941Smrg .name = "load_subgroup_eq_mask", 2478b8e80941Smrg .num_srcs = 0, 2479b8e80941Smrg .has_dest = true, 2480b8e80941Smrg .dest_components = 0, 2481b8e80941Smrg .dest_bit_sizes = 0x60, 2482b8e80941Smrg .num_indices = 0, 2483b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2484b8e80941Smrg}, 2485b8e80941Smrg{ 2486b8e80941Smrg .name = "load_subgroup_ge_mask", 2487b8e80941Smrg .num_srcs = 0, 2488b8e80941Smrg .has_dest = true, 2489b8e80941Smrg .dest_components = 0, 2490b8e80941Smrg .dest_bit_sizes = 0x60, 2491b8e80941Smrg .num_indices = 0, 2492b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2493b8e80941Smrg}, 2494b8e80941Smrg{ 2495b8e80941Smrg .name = "load_subgroup_gt_mask", 2496b8e80941Smrg .num_srcs = 0, 2497b8e80941Smrg .has_dest = true, 2498b8e80941Smrg .dest_components = 0, 2499b8e80941Smrg .dest_bit_sizes = 0x60, 2500b8e80941Smrg .num_indices = 0, 2501b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2502b8e80941Smrg}, 2503b8e80941Smrg{ 2504b8e80941Smrg .name = "load_subgroup_id", 2505b8e80941Smrg .num_srcs = 0, 2506b8e80941Smrg .has_dest = true, 2507b8e80941Smrg .dest_components = 1, 2508b8e80941Smrg .dest_bit_sizes = 0x20, 2509b8e80941Smrg .num_indices = 0, 2510b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2511b8e80941Smrg}, 2512b8e80941Smrg{ 2513b8e80941Smrg .name = "load_subgroup_invocation", 2514b8e80941Smrg .num_srcs = 0, 2515b8e80941Smrg .has_dest = true, 2516b8e80941Smrg .dest_components = 1, 2517b8e80941Smrg .dest_bit_sizes = 0x20, 2518b8e80941Smrg .num_indices = 0, 2519b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2520b8e80941Smrg}, 2521b8e80941Smrg{ 2522b8e80941Smrg .name = "load_subgroup_le_mask", 2523b8e80941Smrg .num_srcs = 0, 2524b8e80941Smrg .has_dest = true, 2525b8e80941Smrg .dest_components = 0, 2526b8e80941Smrg .dest_bit_sizes = 0x60, 2527b8e80941Smrg .num_indices = 0, 2528b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2529b8e80941Smrg}, 2530b8e80941Smrg{ 2531b8e80941Smrg .name = "load_subgroup_lt_mask", 2532b8e80941Smrg .num_srcs = 0, 2533b8e80941Smrg .has_dest = true, 2534b8e80941Smrg .dest_components = 0, 2535b8e80941Smrg .dest_bit_sizes = 0x60, 2536b8e80941Smrg .num_indices = 0, 2537b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2538b8e80941Smrg}, 2539b8e80941Smrg{ 2540b8e80941Smrg .name = "load_subgroup_size", 2541b8e80941Smrg .num_srcs = 0, 2542b8e80941Smrg .has_dest = true, 2543b8e80941Smrg .dest_components = 1, 2544b8e80941Smrg .dest_bit_sizes = 0x20, 2545b8e80941Smrg .num_indices = 0, 2546b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2547b8e80941Smrg}, 2548b8e80941Smrg{ 2549b8e80941Smrg .name = "load_tess_coord", 2550b8e80941Smrg .num_srcs = 0, 2551b8e80941Smrg .has_dest = true, 2552b8e80941Smrg .dest_components = 3, 2553b8e80941Smrg .dest_bit_sizes = 0x20, 2554b8e80941Smrg .num_indices = 0, 2555b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2556b8e80941Smrg}, 2557b8e80941Smrg{ 2558b8e80941Smrg .name = "load_tess_level_inner", 2559b8e80941Smrg .num_srcs = 0, 2560b8e80941Smrg .has_dest = true, 2561b8e80941Smrg .dest_components = 2, 2562b8e80941Smrg .dest_bit_sizes = 0x20, 2563b8e80941Smrg .num_indices = 0, 2564b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2565b8e80941Smrg}, 2566b8e80941Smrg{ 2567b8e80941Smrg .name = "load_tess_level_outer", 2568b8e80941Smrg .num_srcs = 0, 2569b8e80941Smrg .has_dest = true, 2570b8e80941Smrg .dest_components = 4, 2571b8e80941Smrg .dest_bit_sizes = 0x20, 2572b8e80941Smrg .num_indices = 0, 2573b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2574b8e80941Smrg}, 2575b8e80941Smrg{ 2576b8e80941Smrg .name = "load_ubo", 2577b8e80941Smrg .num_srcs = 2, 2578b8e80941Smrg .src_components = { 2579b8e80941Smrg 1, 1 2580b8e80941Smrg }, 2581b8e80941Smrg .has_dest = true, 2582b8e80941Smrg .dest_components = 0, 2583b8e80941Smrg .dest_bit_sizes = 0x0, 2584b8e80941Smrg .num_indices = 3, 2585b8e80941Smrg .index_map = { 2586b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 2587b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 2, 2588b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2589b8e80941Smrg }, 2590b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2591b8e80941Smrg}, 2592b8e80941Smrg{ 2593b8e80941Smrg .name = "load_uniform", 2594b8e80941Smrg .num_srcs = 1, 2595b8e80941Smrg .src_components = { 2596b8e80941Smrg 1 2597b8e80941Smrg }, 2598b8e80941Smrg .has_dest = true, 2599b8e80941Smrg .dest_components = 0, 2600b8e80941Smrg .dest_bit_sizes = 0x0, 2601b8e80941Smrg .num_indices = 2, 2602b8e80941Smrg .index_map = { 2603b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2604b8e80941Smrg [NIR_INTRINSIC_RANGE] = 2, 2605b8e80941Smrg }, 2606b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2607b8e80941Smrg}, 2608b8e80941Smrg{ 2609b8e80941Smrg .name = "load_user_clip_plane", 2610b8e80941Smrg .num_srcs = 0, 2611b8e80941Smrg .has_dest = true, 2612b8e80941Smrg .dest_components = 4, 2613b8e80941Smrg .dest_bit_sizes = 0x20, 2614b8e80941Smrg .num_indices = 1, 2615b8e80941Smrg .index_map = { 2616b8e80941Smrg [NIR_INTRINSIC_UCP_ID] = 1, 2617b8e80941Smrg }, 2618b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2619b8e80941Smrg}, 2620b8e80941Smrg{ 2621b8e80941Smrg .name = "load_vertex_id", 2622b8e80941Smrg .num_srcs = 0, 2623b8e80941Smrg .has_dest = true, 2624b8e80941Smrg .dest_components = 1, 2625b8e80941Smrg .dest_bit_sizes = 0x20, 2626b8e80941Smrg .num_indices = 0, 2627b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2628b8e80941Smrg}, 2629b8e80941Smrg{ 2630b8e80941Smrg .name = "load_vertex_id_zero_base", 2631b8e80941Smrg .num_srcs = 0, 2632b8e80941Smrg .has_dest = true, 2633b8e80941Smrg .dest_components = 1, 2634b8e80941Smrg .dest_bit_sizes = 0x20, 2635b8e80941Smrg .num_indices = 0, 2636b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2637b8e80941Smrg}, 2638b8e80941Smrg{ 2639b8e80941Smrg .name = "load_view_index", 2640b8e80941Smrg .num_srcs = 0, 2641b8e80941Smrg .has_dest = true, 2642b8e80941Smrg .dest_components = 1, 2643b8e80941Smrg .dest_bit_sizes = 0x20, 2644b8e80941Smrg .num_indices = 0, 2645b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2646b8e80941Smrg}, 2647b8e80941Smrg{ 2648b8e80941Smrg .name = "load_viewport_offset", 2649b8e80941Smrg .num_srcs = 0, 2650b8e80941Smrg .has_dest = true, 2651b8e80941Smrg .dest_components = 3, 2652b8e80941Smrg .dest_bit_sizes = 0x20, 2653b8e80941Smrg .num_indices = 0, 2654b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2655b8e80941Smrg}, 2656b8e80941Smrg{ 2657b8e80941Smrg .name = "load_viewport_scale", 2658b8e80941Smrg .num_srcs = 0, 2659b8e80941Smrg .has_dest = true, 2660b8e80941Smrg .dest_components = 3, 2661b8e80941Smrg .dest_bit_sizes = 0x20, 2662b8e80941Smrg .num_indices = 0, 2663b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2664b8e80941Smrg}, 2665b8e80941Smrg{ 2666b8e80941Smrg .name = "load_viewport_x_scale", 2667b8e80941Smrg .num_srcs = 0, 2668b8e80941Smrg .has_dest = true, 2669b8e80941Smrg .dest_components = 1, 2670b8e80941Smrg .dest_bit_sizes = 0x20, 2671b8e80941Smrg .num_indices = 0, 2672b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2673b8e80941Smrg}, 2674b8e80941Smrg{ 2675b8e80941Smrg .name = "load_viewport_y_scale", 2676b8e80941Smrg .num_srcs = 0, 2677b8e80941Smrg .has_dest = true, 2678b8e80941Smrg .dest_components = 1, 2679b8e80941Smrg .dest_bit_sizes = 0x20, 2680b8e80941Smrg .num_indices = 0, 2681b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2682b8e80941Smrg}, 2683b8e80941Smrg{ 2684b8e80941Smrg .name = "load_viewport_z_offset", 2685b8e80941Smrg .num_srcs = 0, 2686b8e80941Smrg .has_dest = true, 2687b8e80941Smrg .dest_components = 1, 2688b8e80941Smrg .dest_bit_sizes = 0x20, 2689b8e80941Smrg .num_indices = 0, 2690b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2691b8e80941Smrg}, 2692b8e80941Smrg{ 2693b8e80941Smrg .name = "load_viewport_z_scale", 2694b8e80941Smrg .num_srcs = 0, 2695b8e80941Smrg .has_dest = true, 2696b8e80941Smrg .dest_components = 1, 2697b8e80941Smrg .dest_bit_sizes = 0x20, 2698b8e80941Smrg .num_indices = 0, 2699b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2700b8e80941Smrg}, 2701b8e80941Smrg{ 2702b8e80941Smrg .name = "load_vulkan_descriptor", 2703b8e80941Smrg .num_srcs = 1, 2704b8e80941Smrg .src_components = { 2705b8e80941Smrg -1 2706b8e80941Smrg }, 2707b8e80941Smrg .has_dest = true, 2708b8e80941Smrg .dest_components = 0, 2709b8e80941Smrg .dest_bit_sizes = 0x0, 2710b8e80941Smrg .num_indices = 1, 2711b8e80941Smrg .index_map = { 2712b8e80941Smrg [NIR_INTRINSIC_DESC_TYPE] = 1, 2713b8e80941Smrg }, 2714b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2715b8e80941Smrg}, 2716b8e80941Smrg{ 2717b8e80941Smrg .name = "load_work_dim", 2718b8e80941Smrg .num_srcs = 0, 2719b8e80941Smrg .has_dest = true, 2720b8e80941Smrg .dest_components = 1, 2721b8e80941Smrg .dest_bit_sizes = 0x20, 2722b8e80941Smrg .num_indices = 0, 2723b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2724b8e80941Smrg}, 2725b8e80941Smrg{ 2726b8e80941Smrg .name = "load_work_group_id", 2727b8e80941Smrg .num_srcs = 0, 2728b8e80941Smrg .has_dest = true, 2729b8e80941Smrg .dest_components = 3, 2730b8e80941Smrg .dest_bit_sizes = 0x20, 2731b8e80941Smrg .num_indices = 0, 2732b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2733b8e80941Smrg}, 2734b8e80941Smrg{ 2735b8e80941Smrg .name = "memory_barrier", 2736b8e80941Smrg .num_srcs = 0, 2737b8e80941Smrg .has_dest = false, 2738b8e80941Smrg .dest_components = 0, 2739b8e80941Smrg .dest_bit_sizes = 0x0, 2740b8e80941Smrg .num_indices = 0, 2741b8e80941Smrg .flags = 0, 2742b8e80941Smrg}, 2743b8e80941Smrg{ 2744b8e80941Smrg .name = "memory_barrier_atomic_counter", 2745b8e80941Smrg .num_srcs = 0, 2746b8e80941Smrg .has_dest = false, 2747b8e80941Smrg .dest_components = 0, 2748b8e80941Smrg .dest_bit_sizes = 0x0, 2749b8e80941Smrg .num_indices = 0, 2750b8e80941Smrg .flags = 0, 2751b8e80941Smrg}, 2752b8e80941Smrg{ 2753b8e80941Smrg .name = "memory_barrier_buffer", 2754b8e80941Smrg .num_srcs = 0, 2755b8e80941Smrg .has_dest = false, 2756b8e80941Smrg .dest_components = 0, 2757b8e80941Smrg .dest_bit_sizes = 0x0, 2758b8e80941Smrg .num_indices = 0, 2759b8e80941Smrg .flags = 0, 2760b8e80941Smrg}, 2761b8e80941Smrg{ 2762b8e80941Smrg .name = "memory_barrier_image", 2763b8e80941Smrg .num_srcs = 0, 2764b8e80941Smrg .has_dest = false, 2765b8e80941Smrg .dest_components = 0, 2766b8e80941Smrg .dest_bit_sizes = 0x0, 2767b8e80941Smrg .num_indices = 0, 2768b8e80941Smrg .flags = 0, 2769b8e80941Smrg}, 2770b8e80941Smrg{ 2771b8e80941Smrg .name = "memory_barrier_shared", 2772b8e80941Smrg .num_srcs = 0, 2773b8e80941Smrg .has_dest = false, 2774b8e80941Smrg .dest_components = 0, 2775b8e80941Smrg .dest_bit_sizes = 0x0, 2776b8e80941Smrg .num_indices = 0, 2777b8e80941Smrg .flags = 0, 2778b8e80941Smrg}, 2779b8e80941Smrg{ 2780b8e80941Smrg .name = "nop", 2781b8e80941Smrg .num_srcs = 0, 2782b8e80941Smrg .has_dest = false, 2783b8e80941Smrg .dest_components = 0, 2784b8e80941Smrg .dest_bit_sizes = 0x0, 2785b8e80941Smrg .num_indices = 0, 2786b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2787b8e80941Smrg}, 2788b8e80941Smrg{ 2789b8e80941Smrg .name = "quad_broadcast", 2790b8e80941Smrg .num_srcs = 2, 2791b8e80941Smrg .src_components = { 2792b8e80941Smrg 0, 1 2793b8e80941Smrg }, 2794b8e80941Smrg .has_dest = true, 2795b8e80941Smrg .dest_components = 0, 2796b8e80941Smrg .dest_bit_sizes = 0x0, 2797b8e80941Smrg .num_indices = 0, 2798b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2799b8e80941Smrg}, 2800b8e80941Smrg{ 2801b8e80941Smrg .name = "quad_swap_diagonal", 2802b8e80941Smrg .num_srcs = 1, 2803b8e80941Smrg .src_components = { 2804b8e80941Smrg 0 2805b8e80941Smrg }, 2806b8e80941Smrg .has_dest = true, 2807b8e80941Smrg .dest_components = 0, 2808b8e80941Smrg .dest_bit_sizes = 0x0, 2809b8e80941Smrg .num_indices = 0, 2810b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2811b8e80941Smrg}, 2812b8e80941Smrg{ 2813b8e80941Smrg .name = "quad_swap_horizontal", 2814b8e80941Smrg .num_srcs = 1, 2815b8e80941Smrg .src_components = { 2816b8e80941Smrg 0 2817b8e80941Smrg }, 2818b8e80941Smrg .has_dest = true, 2819b8e80941Smrg .dest_components = 0, 2820b8e80941Smrg .dest_bit_sizes = 0x0, 2821b8e80941Smrg .num_indices = 0, 2822b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2823b8e80941Smrg}, 2824b8e80941Smrg{ 2825b8e80941Smrg .name = "quad_swap_vertical", 2826b8e80941Smrg .num_srcs = 1, 2827b8e80941Smrg .src_components = { 2828b8e80941Smrg 0 2829b8e80941Smrg }, 2830b8e80941Smrg .has_dest = true, 2831b8e80941Smrg .dest_components = 0, 2832b8e80941Smrg .dest_bit_sizes = 0x0, 2833b8e80941Smrg .num_indices = 0, 2834b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2835b8e80941Smrg}, 2836b8e80941Smrg{ 2837b8e80941Smrg .name = "read_first_invocation", 2838b8e80941Smrg .num_srcs = 1, 2839b8e80941Smrg .src_components = { 2840b8e80941Smrg 0 2841b8e80941Smrg }, 2842b8e80941Smrg .has_dest = true, 2843b8e80941Smrg .dest_components = 0, 2844b8e80941Smrg .dest_bit_sizes = 0x0, 2845b8e80941Smrg .num_indices = 0, 2846b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2847b8e80941Smrg}, 2848b8e80941Smrg{ 2849b8e80941Smrg .name = "read_invocation", 2850b8e80941Smrg .num_srcs = 2, 2851b8e80941Smrg .src_components = { 2852b8e80941Smrg 0, 1 2853b8e80941Smrg }, 2854b8e80941Smrg .has_dest = true, 2855b8e80941Smrg .dest_components = 0, 2856b8e80941Smrg .dest_bit_sizes = 0x0, 2857b8e80941Smrg .num_indices = 0, 2858b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2859b8e80941Smrg}, 2860b8e80941Smrg{ 2861b8e80941Smrg .name = "reduce", 2862b8e80941Smrg .num_srcs = 1, 2863b8e80941Smrg .src_components = { 2864b8e80941Smrg 0 2865b8e80941Smrg }, 2866b8e80941Smrg .has_dest = true, 2867b8e80941Smrg .dest_components = 0, 2868b8e80941Smrg .dest_bit_sizes = 0x0, 2869b8e80941Smrg .num_indices = 2, 2870b8e80941Smrg .index_map = { 2871b8e80941Smrg [NIR_INTRINSIC_REDUCTION_OP] = 1, 2872b8e80941Smrg [NIR_INTRINSIC_CLUSTER_SIZE] = 2, 2873b8e80941Smrg }, 2874b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2875b8e80941Smrg}, 2876b8e80941Smrg{ 2877b8e80941Smrg .name = "set_vertex_count", 2878b8e80941Smrg .num_srcs = 1, 2879b8e80941Smrg .src_components = { 2880b8e80941Smrg 1 2881b8e80941Smrg }, 2882b8e80941Smrg .has_dest = false, 2883b8e80941Smrg .dest_components = 0, 2884b8e80941Smrg .dest_bit_sizes = 0x0, 2885b8e80941Smrg .num_indices = 0, 2886b8e80941Smrg .flags = 0, 2887b8e80941Smrg}, 2888b8e80941Smrg{ 2889b8e80941Smrg .name = "shader_clock", 2890b8e80941Smrg .num_srcs = 0, 2891b8e80941Smrg .has_dest = true, 2892b8e80941Smrg .dest_components = 2, 2893b8e80941Smrg .dest_bit_sizes = 0x0, 2894b8e80941Smrg .num_indices = 0, 2895b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2896b8e80941Smrg}, 2897b8e80941Smrg{ 2898b8e80941Smrg .name = "shared_atomic_add", 2899b8e80941Smrg .num_srcs = 2, 2900b8e80941Smrg .src_components = { 2901b8e80941Smrg 1, 1 2902b8e80941Smrg }, 2903b8e80941Smrg .has_dest = true, 2904b8e80941Smrg .dest_components = 1, 2905b8e80941Smrg .dest_bit_sizes = 0x0, 2906b8e80941Smrg .num_indices = 1, 2907b8e80941Smrg .index_map = { 2908b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2909b8e80941Smrg }, 2910b8e80941Smrg .flags = 0, 2911b8e80941Smrg}, 2912b8e80941Smrg{ 2913b8e80941Smrg .name = "shared_atomic_and", 2914b8e80941Smrg .num_srcs = 2, 2915b8e80941Smrg .src_components = { 2916b8e80941Smrg 1, 1 2917b8e80941Smrg }, 2918b8e80941Smrg .has_dest = true, 2919b8e80941Smrg .dest_components = 1, 2920b8e80941Smrg .dest_bit_sizes = 0x0, 2921b8e80941Smrg .num_indices = 1, 2922b8e80941Smrg .index_map = { 2923b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2924b8e80941Smrg }, 2925b8e80941Smrg .flags = 0, 2926b8e80941Smrg}, 2927b8e80941Smrg{ 2928b8e80941Smrg .name = "shared_atomic_comp_swap", 2929b8e80941Smrg .num_srcs = 3, 2930b8e80941Smrg .src_components = { 2931b8e80941Smrg 1, 1, 1 2932b8e80941Smrg }, 2933b8e80941Smrg .has_dest = true, 2934b8e80941Smrg .dest_components = 1, 2935b8e80941Smrg .dest_bit_sizes = 0x0, 2936b8e80941Smrg .num_indices = 1, 2937b8e80941Smrg .index_map = { 2938b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2939b8e80941Smrg }, 2940b8e80941Smrg .flags = 0, 2941b8e80941Smrg}, 2942b8e80941Smrg{ 2943b8e80941Smrg .name = "shared_atomic_exchange", 2944b8e80941Smrg .num_srcs = 2, 2945b8e80941Smrg .src_components = { 2946b8e80941Smrg 1, 1 2947b8e80941Smrg }, 2948b8e80941Smrg .has_dest = true, 2949b8e80941Smrg .dest_components = 1, 2950b8e80941Smrg .dest_bit_sizes = 0x0, 2951b8e80941Smrg .num_indices = 1, 2952b8e80941Smrg .index_map = { 2953b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2954b8e80941Smrg }, 2955b8e80941Smrg .flags = 0, 2956b8e80941Smrg}, 2957b8e80941Smrg{ 2958b8e80941Smrg .name = "shared_atomic_fadd", 2959b8e80941Smrg .num_srcs = 2, 2960b8e80941Smrg .src_components = { 2961b8e80941Smrg 1, 1 2962b8e80941Smrg }, 2963b8e80941Smrg .has_dest = true, 2964b8e80941Smrg .dest_components = 1, 2965b8e80941Smrg .dest_bit_sizes = 0x0, 2966b8e80941Smrg .num_indices = 1, 2967b8e80941Smrg .index_map = { 2968b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2969b8e80941Smrg }, 2970b8e80941Smrg .flags = 0, 2971b8e80941Smrg}, 2972b8e80941Smrg{ 2973b8e80941Smrg .name = "shared_atomic_fcomp_swap", 2974b8e80941Smrg .num_srcs = 3, 2975b8e80941Smrg .src_components = { 2976b8e80941Smrg 1, 1, 1 2977b8e80941Smrg }, 2978b8e80941Smrg .has_dest = true, 2979b8e80941Smrg .dest_components = 1, 2980b8e80941Smrg .dest_bit_sizes = 0x0, 2981b8e80941Smrg .num_indices = 1, 2982b8e80941Smrg .index_map = { 2983b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2984b8e80941Smrg }, 2985b8e80941Smrg .flags = 0, 2986b8e80941Smrg}, 2987b8e80941Smrg{ 2988b8e80941Smrg .name = "shared_atomic_fmax", 2989b8e80941Smrg .num_srcs = 2, 2990b8e80941Smrg .src_components = { 2991b8e80941Smrg 1, 1 2992b8e80941Smrg }, 2993b8e80941Smrg .has_dest = true, 2994b8e80941Smrg .dest_components = 1, 2995b8e80941Smrg .dest_bit_sizes = 0x0, 2996b8e80941Smrg .num_indices = 1, 2997b8e80941Smrg .index_map = { 2998b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 2999b8e80941Smrg }, 3000b8e80941Smrg .flags = 0, 3001b8e80941Smrg}, 3002b8e80941Smrg{ 3003b8e80941Smrg .name = "shared_atomic_fmin", 3004b8e80941Smrg .num_srcs = 2, 3005b8e80941Smrg .src_components = { 3006b8e80941Smrg 1, 1 3007b8e80941Smrg }, 3008b8e80941Smrg .has_dest = true, 3009b8e80941Smrg .dest_components = 1, 3010b8e80941Smrg .dest_bit_sizes = 0x0, 3011b8e80941Smrg .num_indices = 1, 3012b8e80941Smrg .index_map = { 3013b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3014b8e80941Smrg }, 3015b8e80941Smrg .flags = 0, 3016b8e80941Smrg}, 3017b8e80941Smrg{ 3018b8e80941Smrg .name = "shared_atomic_imax", 3019b8e80941Smrg .num_srcs = 2, 3020b8e80941Smrg .src_components = { 3021b8e80941Smrg 1, 1 3022b8e80941Smrg }, 3023b8e80941Smrg .has_dest = true, 3024b8e80941Smrg .dest_components = 1, 3025b8e80941Smrg .dest_bit_sizes = 0x0, 3026b8e80941Smrg .num_indices = 1, 3027b8e80941Smrg .index_map = { 3028b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3029b8e80941Smrg }, 3030b8e80941Smrg .flags = 0, 3031b8e80941Smrg}, 3032b8e80941Smrg{ 3033b8e80941Smrg .name = "shared_atomic_imin", 3034b8e80941Smrg .num_srcs = 2, 3035b8e80941Smrg .src_components = { 3036b8e80941Smrg 1, 1 3037b8e80941Smrg }, 3038b8e80941Smrg .has_dest = true, 3039b8e80941Smrg .dest_components = 1, 3040b8e80941Smrg .dest_bit_sizes = 0x0, 3041b8e80941Smrg .num_indices = 1, 3042b8e80941Smrg .index_map = { 3043b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3044b8e80941Smrg }, 3045b8e80941Smrg .flags = 0, 3046b8e80941Smrg}, 3047b8e80941Smrg{ 3048b8e80941Smrg .name = "shared_atomic_or", 3049b8e80941Smrg .num_srcs = 2, 3050b8e80941Smrg .src_components = { 3051b8e80941Smrg 1, 1 3052b8e80941Smrg }, 3053b8e80941Smrg .has_dest = true, 3054b8e80941Smrg .dest_components = 1, 3055b8e80941Smrg .dest_bit_sizes = 0x0, 3056b8e80941Smrg .num_indices = 1, 3057b8e80941Smrg .index_map = { 3058b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3059b8e80941Smrg }, 3060b8e80941Smrg .flags = 0, 3061b8e80941Smrg}, 3062b8e80941Smrg{ 3063b8e80941Smrg .name = "shared_atomic_umax", 3064b8e80941Smrg .num_srcs = 2, 3065b8e80941Smrg .src_components = { 3066b8e80941Smrg 1, 1 3067b8e80941Smrg }, 3068b8e80941Smrg .has_dest = true, 3069b8e80941Smrg .dest_components = 1, 3070b8e80941Smrg .dest_bit_sizes = 0x0, 3071b8e80941Smrg .num_indices = 1, 3072b8e80941Smrg .index_map = { 3073b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3074b8e80941Smrg }, 3075b8e80941Smrg .flags = 0, 3076b8e80941Smrg}, 3077b8e80941Smrg{ 3078b8e80941Smrg .name = "shared_atomic_umin", 3079b8e80941Smrg .num_srcs = 2, 3080b8e80941Smrg .src_components = { 3081b8e80941Smrg 1, 1 3082b8e80941Smrg }, 3083b8e80941Smrg .has_dest = true, 3084b8e80941Smrg .dest_components = 1, 3085b8e80941Smrg .dest_bit_sizes = 0x0, 3086b8e80941Smrg .num_indices = 1, 3087b8e80941Smrg .index_map = { 3088b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3089b8e80941Smrg }, 3090b8e80941Smrg .flags = 0, 3091b8e80941Smrg}, 3092b8e80941Smrg{ 3093b8e80941Smrg .name = "shared_atomic_xor", 3094b8e80941Smrg .num_srcs = 2, 3095b8e80941Smrg .src_components = { 3096b8e80941Smrg 1, 1 3097b8e80941Smrg }, 3098b8e80941Smrg .has_dest = true, 3099b8e80941Smrg .dest_components = 1, 3100b8e80941Smrg .dest_bit_sizes = 0x0, 3101b8e80941Smrg .num_indices = 1, 3102b8e80941Smrg .index_map = { 3103b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3104b8e80941Smrg }, 3105b8e80941Smrg .flags = 0, 3106b8e80941Smrg}, 3107b8e80941Smrg{ 3108b8e80941Smrg .name = "shuffle", 3109b8e80941Smrg .num_srcs = 2, 3110b8e80941Smrg .src_components = { 3111b8e80941Smrg 0, 1 3112b8e80941Smrg }, 3113b8e80941Smrg .has_dest = true, 3114b8e80941Smrg .dest_components = 0, 3115b8e80941Smrg .dest_bit_sizes = 0x0, 3116b8e80941Smrg .num_indices = 0, 3117b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3118b8e80941Smrg}, 3119b8e80941Smrg{ 3120b8e80941Smrg .name = "shuffle_down", 3121b8e80941Smrg .num_srcs = 2, 3122b8e80941Smrg .src_components = { 3123b8e80941Smrg 0, 1 3124b8e80941Smrg }, 3125b8e80941Smrg .has_dest = true, 3126b8e80941Smrg .dest_components = 0, 3127b8e80941Smrg .dest_bit_sizes = 0x0, 3128b8e80941Smrg .num_indices = 0, 3129b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3130b8e80941Smrg}, 3131b8e80941Smrg{ 3132b8e80941Smrg .name = "shuffle_up", 3133b8e80941Smrg .num_srcs = 2, 3134b8e80941Smrg .src_components = { 3135b8e80941Smrg 0, 1 3136b8e80941Smrg }, 3137b8e80941Smrg .has_dest = true, 3138b8e80941Smrg .dest_components = 0, 3139b8e80941Smrg .dest_bit_sizes = 0x0, 3140b8e80941Smrg .num_indices = 0, 3141b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3142b8e80941Smrg}, 3143b8e80941Smrg{ 3144b8e80941Smrg .name = "shuffle_xor", 3145b8e80941Smrg .num_srcs = 2, 3146b8e80941Smrg .src_components = { 3147b8e80941Smrg 0, 1 3148b8e80941Smrg }, 3149b8e80941Smrg .has_dest = true, 3150b8e80941Smrg .dest_components = 0, 3151b8e80941Smrg .dest_bit_sizes = 0x0, 3152b8e80941Smrg .num_indices = 0, 3153b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3154b8e80941Smrg}, 3155b8e80941Smrg{ 3156b8e80941Smrg .name = "ssbo_atomic_add", 3157b8e80941Smrg .num_srcs = 3, 3158b8e80941Smrg .src_components = { 3159b8e80941Smrg 1, 1, 1 3160b8e80941Smrg }, 3161b8e80941Smrg .has_dest = true, 3162b8e80941Smrg .dest_components = 1, 3163b8e80941Smrg .dest_bit_sizes = 0x0, 3164b8e80941Smrg .num_indices = 1, 3165b8e80941Smrg .index_map = { 3166b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3167b8e80941Smrg }, 3168b8e80941Smrg .flags = 0, 3169b8e80941Smrg}, 3170b8e80941Smrg{ 3171b8e80941Smrg .name = "ssbo_atomic_add_ir3", 3172b8e80941Smrg .num_srcs = 4, 3173b8e80941Smrg .src_components = { 3174b8e80941Smrg 1, 1, 1, 1 3175b8e80941Smrg }, 3176b8e80941Smrg .has_dest = true, 3177b8e80941Smrg .dest_components = 1, 3178b8e80941Smrg .dest_bit_sizes = 0x0, 3179b8e80941Smrg .num_indices = 0, 3180b8e80941Smrg .flags = 0, 3181b8e80941Smrg}, 3182b8e80941Smrg{ 3183b8e80941Smrg .name = "ssbo_atomic_and", 3184b8e80941Smrg .num_srcs = 3, 3185b8e80941Smrg .src_components = { 3186b8e80941Smrg 1, 1, 1 3187b8e80941Smrg }, 3188b8e80941Smrg .has_dest = true, 3189b8e80941Smrg .dest_components = 1, 3190b8e80941Smrg .dest_bit_sizes = 0x0, 3191b8e80941Smrg .num_indices = 1, 3192b8e80941Smrg .index_map = { 3193b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3194b8e80941Smrg }, 3195b8e80941Smrg .flags = 0, 3196b8e80941Smrg}, 3197b8e80941Smrg{ 3198b8e80941Smrg .name = "ssbo_atomic_and_ir3", 3199b8e80941Smrg .num_srcs = 4, 3200b8e80941Smrg .src_components = { 3201b8e80941Smrg 1, 1, 1, 1 3202b8e80941Smrg }, 3203b8e80941Smrg .has_dest = true, 3204b8e80941Smrg .dest_components = 1, 3205b8e80941Smrg .dest_bit_sizes = 0x0, 3206b8e80941Smrg .num_indices = 0, 3207b8e80941Smrg .flags = 0, 3208b8e80941Smrg}, 3209b8e80941Smrg{ 3210b8e80941Smrg .name = "ssbo_atomic_comp_swap", 3211b8e80941Smrg .num_srcs = 4, 3212b8e80941Smrg .src_components = { 3213b8e80941Smrg 1, 1, 1, 1 3214b8e80941Smrg }, 3215b8e80941Smrg .has_dest = true, 3216b8e80941Smrg .dest_components = 1, 3217b8e80941Smrg .dest_bit_sizes = 0x0, 3218b8e80941Smrg .num_indices = 1, 3219b8e80941Smrg .index_map = { 3220b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3221b8e80941Smrg }, 3222b8e80941Smrg .flags = 0, 3223b8e80941Smrg}, 3224b8e80941Smrg{ 3225b8e80941Smrg .name = "ssbo_atomic_comp_swap_ir3", 3226b8e80941Smrg .num_srcs = 5, 3227b8e80941Smrg .src_components = { 3228b8e80941Smrg 1, 1, 1, 1, 1 3229b8e80941Smrg }, 3230b8e80941Smrg .has_dest = true, 3231b8e80941Smrg .dest_components = 1, 3232b8e80941Smrg .dest_bit_sizes = 0x0, 3233b8e80941Smrg .num_indices = 0, 3234b8e80941Smrg .flags = 0, 3235b8e80941Smrg}, 3236b8e80941Smrg{ 3237b8e80941Smrg .name = "ssbo_atomic_exchange", 3238b8e80941Smrg .num_srcs = 3, 3239b8e80941Smrg .src_components = { 3240b8e80941Smrg 1, 1, 1 3241b8e80941Smrg }, 3242b8e80941Smrg .has_dest = true, 3243b8e80941Smrg .dest_components = 1, 3244b8e80941Smrg .dest_bit_sizes = 0x0, 3245b8e80941Smrg .num_indices = 1, 3246b8e80941Smrg .index_map = { 3247b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3248b8e80941Smrg }, 3249b8e80941Smrg .flags = 0, 3250b8e80941Smrg}, 3251b8e80941Smrg{ 3252b8e80941Smrg .name = "ssbo_atomic_exchange_ir3", 3253b8e80941Smrg .num_srcs = 4, 3254b8e80941Smrg .src_components = { 3255b8e80941Smrg 1, 1, 1, 1 3256b8e80941Smrg }, 3257b8e80941Smrg .has_dest = true, 3258b8e80941Smrg .dest_components = 1, 3259b8e80941Smrg .dest_bit_sizes = 0x0, 3260b8e80941Smrg .num_indices = 0, 3261b8e80941Smrg .flags = 0, 3262b8e80941Smrg}, 3263b8e80941Smrg{ 3264b8e80941Smrg .name = "ssbo_atomic_fadd", 3265b8e80941Smrg .num_srcs = 3, 3266b8e80941Smrg .src_components = { 3267b8e80941Smrg 1, 1, 1 3268b8e80941Smrg }, 3269b8e80941Smrg .has_dest = true, 3270b8e80941Smrg .dest_components = 1, 3271b8e80941Smrg .dest_bit_sizes = 0x0, 3272b8e80941Smrg .num_indices = 1, 3273b8e80941Smrg .index_map = { 3274b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3275b8e80941Smrg }, 3276b8e80941Smrg .flags = 0, 3277b8e80941Smrg}, 3278b8e80941Smrg{ 3279b8e80941Smrg .name = "ssbo_atomic_fcomp_swap", 3280b8e80941Smrg .num_srcs = 4, 3281b8e80941Smrg .src_components = { 3282b8e80941Smrg 1, 1, 1, 1 3283b8e80941Smrg }, 3284b8e80941Smrg .has_dest = true, 3285b8e80941Smrg .dest_components = 1, 3286b8e80941Smrg .dest_bit_sizes = 0x0, 3287b8e80941Smrg .num_indices = 1, 3288b8e80941Smrg .index_map = { 3289b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3290b8e80941Smrg }, 3291b8e80941Smrg .flags = 0, 3292b8e80941Smrg}, 3293b8e80941Smrg{ 3294b8e80941Smrg .name = "ssbo_atomic_fmax", 3295b8e80941Smrg .num_srcs = 3, 3296b8e80941Smrg .src_components = { 3297b8e80941Smrg 1, 1, 1 3298b8e80941Smrg }, 3299b8e80941Smrg .has_dest = true, 3300b8e80941Smrg .dest_components = 1, 3301b8e80941Smrg .dest_bit_sizes = 0x0, 3302b8e80941Smrg .num_indices = 1, 3303b8e80941Smrg .index_map = { 3304b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3305b8e80941Smrg }, 3306b8e80941Smrg .flags = 0, 3307b8e80941Smrg}, 3308b8e80941Smrg{ 3309b8e80941Smrg .name = "ssbo_atomic_fmin", 3310b8e80941Smrg .num_srcs = 3, 3311b8e80941Smrg .src_components = { 3312b8e80941Smrg 1, 1, 1 3313b8e80941Smrg }, 3314b8e80941Smrg .has_dest = true, 3315b8e80941Smrg .dest_components = 1, 3316b8e80941Smrg .dest_bit_sizes = 0x0, 3317b8e80941Smrg .num_indices = 1, 3318b8e80941Smrg .index_map = { 3319b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3320b8e80941Smrg }, 3321b8e80941Smrg .flags = 0, 3322b8e80941Smrg}, 3323b8e80941Smrg{ 3324b8e80941Smrg .name = "ssbo_atomic_imax", 3325b8e80941Smrg .num_srcs = 3, 3326b8e80941Smrg .src_components = { 3327b8e80941Smrg 1, 1, 1 3328b8e80941Smrg }, 3329b8e80941Smrg .has_dest = true, 3330b8e80941Smrg .dest_components = 1, 3331b8e80941Smrg .dest_bit_sizes = 0x0, 3332b8e80941Smrg .num_indices = 1, 3333b8e80941Smrg .index_map = { 3334b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3335b8e80941Smrg }, 3336b8e80941Smrg .flags = 0, 3337b8e80941Smrg}, 3338b8e80941Smrg{ 3339b8e80941Smrg .name = "ssbo_atomic_imax_ir3", 3340b8e80941Smrg .num_srcs = 4, 3341b8e80941Smrg .src_components = { 3342b8e80941Smrg 1, 1, 1, 1 3343b8e80941Smrg }, 3344b8e80941Smrg .has_dest = true, 3345b8e80941Smrg .dest_components = 1, 3346b8e80941Smrg .dest_bit_sizes = 0x0, 3347b8e80941Smrg .num_indices = 0, 3348b8e80941Smrg .flags = 0, 3349b8e80941Smrg}, 3350b8e80941Smrg{ 3351b8e80941Smrg .name = "ssbo_atomic_imin", 3352b8e80941Smrg .num_srcs = 3, 3353b8e80941Smrg .src_components = { 3354b8e80941Smrg 1, 1, 1 3355b8e80941Smrg }, 3356b8e80941Smrg .has_dest = true, 3357b8e80941Smrg .dest_components = 1, 3358b8e80941Smrg .dest_bit_sizes = 0x0, 3359b8e80941Smrg .num_indices = 1, 3360b8e80941Smrg .index_map = { 3361b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3362b8e80941Smrg }, 3363b8e80941Smrg .flags = 0, 3364b8e80941Smrg}, 3365b8e80941Smrg{ 3366b8e80941Smrg .name = "ssbo_atomic_imin_ir3", 3367b8e80941Smrg .num_srcs = 4, 3368b8e80941Smrg .src_components = { 3369b8e80941Smrg 1, 1, 1, 1 3370b8e80941Smrg }, 3371b8e80941Smrg .has_dest = true, 3372b8e80941Smrg .dest_components = 1, 3373b8e80941Smrg .dest_bit_sizes = 0x0, 3374b8e80941Smrg .num_indices = 0, 3375b8e80941Smrg .flags = 0, 3376b8e80941Smrg}, 3377b8e80941Smrg{ 3378b8e80941Smrg .name = "ssbo_atomic_or", 3379b8e80941Smrg .num_srcs = 3, 3380b8e80941Smrg .src_components = { 3381b8e80941Smrg 1, 1, 1 3382b8e80941Smrg }, 3383b8e80941Smrg .has_dest = true, 3384b8e80941Smrg .dest_components = 1, 3385b8e80941Smrg .dest_bit_sizes = 0x0, 3386b8e80941Smrg .num_indices = 1, 3387b8e80941Smrg .index_map = { 3388b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3389b8e80941Smrg }, 3390b8e80941Smrg .flags = 0, 3391b8e80941Smrg}, 3392b8e80941Smrg{ 3393b8e80941Smrg .name = "ssbo_atomic_or_ir3", 3394b8e80941Smrg .num_srcs = 4, 3395b8e80941Smrg .src_components = { 3396b8e80941Smrg 1, 1, 1, 1 3397b8e80941Smrg }, 3398b8e80941Smrg .has_dest = true, 3399b8e80941Smrg .dest_components = 1, 3400b8e80941Smrg .dest_bit_sizes = 0x0, 3401b8e80941Smrg .num_indices = 0, 3402b8e80941Smrg .flags = 0, 3403b8e80941Smrg}, 3404b8e80941Smrg{ 3405b8e80941Smrg .name = "ssbo_atomic_umax", 3406b8e80941Smrg .num_srcs = 3, 3407b8e80941Smrg .src_components = { 3408b8e80941Smrg 1, 1, 1 3409b8e80941Smrg }, 3410b8e80941Smrg .has_dest = true, 3411b8e80941Smrg .dest_components = 1, 3412b8e80941Smrg .dest_bit_sizes = 0x0, 3413b8e80941Smrg .num_indices = 1, 3414b8e80941Smrg .index_map = { 3415b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3416b8e80941Smrg }, 3417b8e80941Smrg .flags = 0, 3418b8e80941Smrg}, 3419b8e80941Smrg{ 3420b8e80941Smrg .name = "ssbo_atomic_umax_ir3", 3421b8e80941Smrg .num_srcs = 4, 3422b8e80941Smrg .src_components = { 3423b8e80941Smrg 1, 1, 1, 1 3424b8e80941Smrg }, 3425b8e80941Smrg .has_dest = true, 3426b8e80941Smrg .dest_components = 1, 3427b8e80941Smrg .dest_bit_sizes = 0x0, 3428b8e80941Smrg .num_indices = 0, 3429b8e80941Smrg .flags = 0, 3430b8e80941Smrg}, 3431b8e80941Smrg{ 3432b8e80941Smrg .name = "ssbo_atomic_umin", 3433b8e80941Smrg .num_srcs = 3, 3434b8e80941Smrg .src_components = { 3435b8e80941Smrg 1, 1, 1 3436b8e80941Smrg }, 3437b8e80941Smrg .has_dest = true, 3438b8e80941Smrg .dest_components = 1, 3439b8e80941Smrg .dest_bit_sizes = 0x0, 3440b8e80941Smrg .num_indices = 1, 3441b8e80941Smrg .index_map = { 3442b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3443b8e80941Smrg }, 3444b8e80941Smrg .flags = 0, 3445b8e80941Smrg}, 3446b8e80941Smrg{ 3447b8e80941Smrg .name = "ssbo_atomic_umin_ir3", 3448b8e80941Smrg .num_srcs = 4, 3449b8e80941Smrg .src_components = { 3450b8e80941Smrg 1, 1, 1, 1 3451b8e80941Smrg }, 3452b8e80941Smrg .has_dest = true, 3453b8e80941Smrg .dest_components = 1, 3454b8e80941Smrg .dest_bit_sizes = 0x0, 3455b8e80941Smrg .num_indices = 0, 3456b8e80941Smrg .flags = 0, 3457b8e80941Smrg}, 3458b8e80941Smrg{ 3459b8e80941Smrg .name = "ssbo_atomic_xor", 3460b8e80941Smrg .num_srcs = 3, 3461b8e80941Smrg .src_components = { 3462b8e80941Smrg 1, 1, 1 3463b8e80941Smrg }, 3464b8e80941Smrg .has_dest = true, 3465b8e80941Smrg .dest_components = 1, 3466b8e80941Smrg .dest_bit_sizes = 0x0, 3467b8e80941Smrg .num_indices = 1, 3468b8e80941Smrg .index_map = { 3469b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 1, 3470b8e80941Smrg }, 3471b8e80941Smrg .flags = 0, 3472b8e80941Smrg}, 3473b8e80941Smrg{ 3474b8e80941Smrg .name = "ssbo_atomic_xor_ir3", 3475b8e80941Smrg .num_srcs = 4, 3476b8e80941Smrg .src_components = { 3477b8e80941Smrg 1, 1, 1, 1 3478b8e80941Smrg }, 3479b8e80941Smrg .has_dest = true, 3480b8e80941Smrg .dest_components = 1, 3481b8e80941Smrg .dest_bit_sizes = 0x0, 3482b8e80941Smrg .num_indices = 0, 3483b8e80941Smrg .flags = 0, 3484b8e80941Smrg}, 3485b8e80941Smrg{ 3486b8e80941Smrg .name = "store_deref", 3487b8e80941Smrg .num_srcs = 2, 3488b8e80941Smrg .src_components = { 3489b8e80941Smrg -1, 0 3490b8e80941Smrg }, 3491b8e80941Smrg .has_dest = false, 3492b8e80941Smrg .dest_components = 0, 3493b8e80941Smrg .dest_bit_sizes = 0x0, 3494b8e80941Smrg .num_indices = 2, 3495b8e80941Smrg .index_map = { 3496b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 1, 3497b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 2, 3498b8e80941Smrg }, 3499b8e80941Smrg .flags = 0, 3500b8e80941Smrg}, 3501b8e80941Smrg{ 3502b8e80941Smrg .name = "store_global", 3503b8e80941Smrg .num_srcs = 2, 3504b8e80941Smrg .src_components = { 3505b8e80941Smrg 0, 1 3506b8e80941Smrg }, 3507b8e80941Smrg .has_dest = false, 3508b8e80941Smrg .dest_components = 0, 3509b8e80941Smrg .dest_bit_sizes = 0x0, 3510b8e80941Smrg .num_indices = 4, 3511b8e80941Smrg .index_map = { 3512b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 1, 3513b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 2, 3514b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 3, 3515b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 3516b8e80941Smrg }, 3517b8e80941Smrg .flags = 0, 3518b8e80941Smrg}, 3519b8e80941Smrg{ 3520b8e80941Smrg .name = "store_output", 3521b8e80941Smrg .num_srcs = 2, 3522b8e80941Smrg .src_components = { 3523b8e80941Smrg 0, 1 3524b8e80941Smrg }, 3525b8e80941Smrg .has_dest = false, 3526b8e80941Smrg .dest_components = 0, 3527b8e80941Smrg .dest_bit_sizes = 0x0, 3528b8e80941Smrg .num_indices = 3, 3529b8e80941Smrg .index_map = { 3530b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3531b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 2, 3532b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 3, 3533b8e80941Smrg }, 3534b8e80941Smrg .flags = 0, 3535b8e80941Smrg}, 3536b8e80941Smrg{ 3537b8e80941Smrg .name = "store_per_vertex_output", 3538b8e80941Smrg .num_srcs = 3, 3539b8e80941Smrg .src_components = { 3540b8e80941Smrg 0, 1, 1 3541b8e80941Smrg }, 3542b8e80941Smrg .has_dest = false, 3543b8e80941Smrg .dest_components = 0, 3544b8e80941Smrg .dest_bit_sizes = 0x0, 3545b8e80941Smrg .num_indices = 3, 3546b8e80941Smrg .index_map = { 3547b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3548b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 2, 3549b8e80941Smrg [NIR_INTRINSIC_COMPONENT] = 3, 3550b8e80941Smrg }, 3551b8e80941Smrg .flags = 0, 3552b8e80941Smrg}, 3553b8e80941Smrg{ 3554b8e80941Smrg .name = "store_scratch", 3555b8e80941Smrg .num_srcs = 2, 3556b8e80941Smrg .src_components = { 3557b8e80941Smrg 0, 1 3558b8e80941Smrg }, 3559b8e80941Smrg .has_dest = false, 3560b8e80941Smrg .dest_components = 0, 3561b8e80941Smrg .dest_bit_sizes = 0x0, 3562b8e80941Smrg .num_indices = 3, 3563b8e80941Smrg .index_map = { 3564b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 1, 3565b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 2, 3566b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 3, 3567b8e80941Smrg }, 3568b8e80941Smrg .flags = 0, 3569b8e80941Smrg}, 3570b8e80941Smrg{ 3571b8e80941Smrg .name = "store_shared", 3572b8e80941Smrg .num_srcs = 2, 3573b8e80941Smrg .src_components = { 3574b8e80941Smrg 0, 1 3575b8e80941Smrg }, 3576b8e80941Smrg .has_dest = false, 3577b8e80941Smrg .dest_components = 0, 3578b8e80941Smrg .dest_bit_sizes = 0x0, 3579b8e80941Smrg .num_indices = 4, 3580b8e80941Smrg .index_map = { 3581b8e80941Smrg [NIR_INTRINSIC_BASE] = 1, 3582b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 2, 3583b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 3, 3584b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 3585b8e80941Smrg }, 3586b8e80941Smrg .flags = 0, 3587b8e80941Smrg}, 3588b8e80941Smrg{ 3589b8e80941Smrg .name = "store_ssbo", 3590b8e80941Smrg .num_srcs = 3, 3591b8e80941Smrg .src_components = { 3592b8e80941Smrg 0, 1, 1 3593b8e80941Smrg }, 3594b8e80941Smrg .has_dest = false, 3595b8e80941Smrg .dest_components = 0, 3596b8e80941Smrg .dest_bit_sizes = 0x0, 3597b8e80941Smrg .num_indices = 4, 3598b8e80941Smrg .index_map = { 3599b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 1, 3600b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 2, 3601b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 3, 3602b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 3603b8e80941Smrg }, 3604b8e80941Smrg .flags = 0, 3605b8e80941Smrg}, 3606b8e80941Smrg{ 3607b8e80941Smrg .name = "store_ssbo_ir3", 3608b8e80941Smrg .num_srcs = 4, 3609b8e80941Smrg .src_components = { 3610b8e80941Smrg 0, 1, 1, 1 3611b8e80941Smrg }, 3612b8e80941Smrg .has_dest = false, 3613b8e80941Smrg .dest_components = 0, 3614b8e80941Smrg .dest_bit_sizes = 0x0, 3615b8e80941Smrg .num_indices = 4, 3616b8e80941Smrg .index_map = { 3617b8e80941Smrg [NIR_INTRINSIC_WRMASK] = 1, 3618b8e80941Smrg [NIR_INTRINSIC_ACCESS] = 2, 3619b8e80941Smrg [NIR_INTRINSIC_ALIGN_MUL] = 3, 3620b8e80941Smrg [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 3621b8e80941Smrg }, 3622b8e80941Smrg .flags = 0, 3623b8e80941Smrg}, 3624b8e80941Smrg{ 3625b8e80941Smrg .name = "vote_all", 3626b8e80941Smrg .num_srcs = 1, 3627b8e80941Smrg .src_components = { 3628b8e80941Smrg 1 3629b8e80941Smrg }, 3630b8e80941Smrg .has_dest = true, 3631b8e80941Smrg .dest_components = 1, 3632b8e80941Smrg .dest_bit_sizes = 0x0, 3633b8e80941Smrg .num_indices = 0, 3634b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3635b8e80941Smrg}, 3636b8e80941Smrg{ 3637b8e80941Smrg .name = "vote_any", 3638b8e80941Smrg .num_srcs = 1, 3639b8e80941Smrg .src_components = { 3640b8e80941Smrg 1 3641b8e80941Smrg }, 3642b8e80941Smrg .has_dest = true, 3643b8e80941Smrg .dest_components = 1, 3644b8e80941Smrg .dest_bit_sizes = 0x0, 3645b8e80941Smrg .num_indices = 0, 3646b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3647b8e80941Smrg}, 3648b8e80941Smrg{ 3649b8e80941Smrg .name = "vote_feq", 3650b8e80941Smrg .num_srcs = 1, 3651b8e80941Smrg .src_components = { 3652b8e80941Smrg 0 3653b8e80941Smrg }, 3654b8e80941Smrg .has_dest = true, 3655b8e80941Smrg .dest_components = 1, 3656b8e80941Smrg .dest_bit_sizes = 0x0, 3657b8e80941Smrg .num_indices = 0, 3658b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3659b8e80941Smrg}, 3660b8e80941Smrg{ 3661b8e80941Smrg .name = "vote_ieq", 3662b8e80941Smrg .num_srcs = 1, 3663b8e80941Smrg .src_components = { 3664b8e80941Smrg 0 3665b8e80941Smrg }, 3666b8e80941Smrg .has_dest = true, 3667b8e80941Smrg .dest_components = 1, 3668b8e80941Smrg .dest_bit_sizes = 0x0, 3669b8e80941Smrg .num_indices = 0, 3670b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3671b8e80941Smrg}, 3672b8e80941Smrg{ 3673b8e80941Smrg .name = "vulkan_resource_index", 3674b8e80941Smrg .num_srcs = 1, 3675b8e80941Smrg .src_components = { 3676b8e80941Smrg 1 3677b8e80941Smrg }, 3678b8e80941Smrg .has_dest = true, 3679b8e80941Smrg .dest_components = 0, 3680b8e80941Smrg .dest_bit_sizes = 0x0, 3681b8e80941Smrg .num_indices = 3, 3682b8e80941Smrg .index_map = { 3683b8e80941Smrg [NIR_INTRINSIC_DESC_SET] = 1, 3684b8e80941Smrg [NIR_INTRINSIC_BINDING] = 2, 3685b8e80941Smrg [NIR_INTRINSIC_DESC_TYPE] = 3, 3686b8e80941Smrg }, 3687b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3688b8e80941Smrg}, 3689b8e80941Smrg{ 3690b8e80941Smrg .name = "vulkan_resource_reindex", 3691b8e80941Smrg .num_srcs = 2, 3692b8e80941Smrg .src_components = { 3693b8e80941Smrg 0, 1 3694b8e80941Smrg }, 3695b8e80941Smrg .has_dest = true, 3696b8e80941Smrg .dest_components = 0, 3697b8e80941Smrg .dest_bit_sizes = 0x0, 3698b8e80941Smrg .num_indices = 1, 3699b8e80941Smrg .index_map = { 3700b8e80941Smrg [NIR_INTRINSIC_DESC_TYPE] = 1, 3701b8e80941Smrg }, 3702b8e80941Smrg .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3703b8e80941Smrg}, 3704b8e80941Smrg}; 3705