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