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 25 const nir_intrinsic_info nir_intrinsic_infos[nir_num_intrinsics] = { 26 { 27 .name = "addr_mode_is", 28 .num_srcs = 1, 29 .src_components = { 30 -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_MEMORY_MODES] = 1, 38 }, 39 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 40 }, 41 { 42 .name = "atomic_counter_add", 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 = 1, 51 .index_map = { 52 [NIR_INTRINSIC_BASE] = 1, 53 }, 54 .flags = 0, 55 }, 56 { 57 .name = "atomic_counter_add_deref", 58 .num_srcs = 2, 59 .src_components = { 60 -1, 1 61 }, 62 .has_dest = true, 63 .dest_components = 1, 64 .dest_bit_sizes = 0x0, 65 .num_indices = 0, 66 .flags = 0, 67 }, 68 { 69 .name = "atomic_counter_and", 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 = 1, 78 .index_map = { 79 [NIR_INTRINSIC_BASE] = 1, 80 }, 81 .flags = 0, 82 }, 83 { 84 .name = "atomic_counter_and_deref", 85 .num_srcs = 2, 86 .src_components = { 87 -1, 1 88 }, 89 .has_dest = true, 90 .dest_components = 1, 91 .dest_bit_sizes = 0x0, 92 .num_indices = 0, 93 .flags = 0, 94 }, 95 { 96 .name = "atomic_counter_comp_swap", 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 = 1, 105 .index_map = { 106 [NIR_INTRINSIC_BASE] = 1, 107 }, 108 .flags = 0, 109 }, 110 { 111 .name = "atomic_counter_comp_swap_deref", 112 .num_srcs = 3, 113 .src_components = { 114 -1, 1, 1 115 }, 116 .has_dest = true, 117 .dest_components = 1, 118 .dest_bit_sizes = 0x0, 119 .num_indices = 0, 120 .flags = 0, 121 }, 122 { 123 .name = "atomic_counter_exchange", 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 = 1, 132 .index_map = { 133 [NIR_INTRINSIC_BASE] = 1, 134 }, 135 .flags = 0, 136 }, 137 { 138 .name = "atomic_counter_exchange_deref", 139 .num_srcs = 2, 140 .src_components = { 141 -1, 1 142 }, 143 .has_dest = true, 144 .dest_components = 1, 145 .dest_bit_sizes = 0x0, 146 .num_indices = 0, 147 .flags = 0, 148 }, 149 { 150 .name = "atomic_counter_inc", 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 = 1, 159 .index_map = { 160 [NIR_INTRINSIC_BASE] = 1, 161 }, 162 .flags = 0, 163 }, 164 { 165 .name = "atomic_counter_inc_deref", 166 .num_srcs = 1, 167 .src_components = { 168 -1 169 }, 170 .has_dest = true, 171 .dest_components = 1, 172 .dest_bit_sizes = 0x0, 173 .num_indices = 0, 174 .flags = 0, 175 }, 176 { 177 .name = "atomic_counter_max", 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 = 1, 186 .index_map = { 187 [NIR_INTRINSIC_BASE] = 1, 188 }, 189 .flags = 0, 190 }, 191 { 192 .name = "atomic_counter_max_deref", 193 .num_srcs = 2, 194 .src_components = { 195 -1, 1 196 }, 197 .has_dest = true, 198 .dest_components = 1, 199 .dest_bit_sizes = 0x0, 200 .num_indices = 0, 201 .flags = 0, 202 }, 203 { 204 .name = "atomic_counter_min", 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 = 1, 213 .index_map = { 214 [NIR_INTRINSIC_BASE] = 1, 215 }, 216 .flags = 0, 217 }, 218 { 219 .name = "atomic_counter_min_deref", 220 .num_srcs = 2, 221 .src_components = { 222 -1, 1 223 }, 224 .has_dest = true, 225 .dest_components = 1, 226 .dest_bit_sizes = 0x0, 227 .num_indices = 0, 228 .flags = 0, 229 }, 230 { 231 .name = "atomic_counter_or", 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 = 1, 240 .index_map = { 241 [NIR_INTRINSIC_BASE] = 1, 242 }, 243 .flags = 0, 244 }, 245 { 246 .name = "atomic_counter_or_deref", 247 .num_srcs = 2, 248 .src_components = { 249 -1, 1 250 }, 251 .has_dest = true, 252 .dest_components = 1, 253 .dest_bit_sizes = 0x0, 254 .num_indices = 0, 255 .flags = 0, 256 }, 257 { 258 .name = "atomic_counter_post_dec", 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 = 1, 267 .index_map = { 268 [NIR_INTRINSIC_BASE] = 1, 269 }, 270 .flags = 0, 271 }, 272 { 273 .name = "atomic_counter_post_dec_deref", 274 .num_srcs = 1, 275 .src_components = { 276 -1 277 }, 278 .has_dest = true, 279 .dest_components = 1, 280 .dest_bit_sizes = 0x0, 281 .num_indices = 0, 282 .flags = 0, 283 }, 284 { 285 .name = "atomic_counter_pre_dec", 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 = 1, 294 .index_map = { 295 [NIR_INTRINSIC_BASE] = 1, 296 }, 297 .flags = 0, 298 }, 299 { 300 .name = "atomic_counter_pre_dec_deref", 301 .num_srcs = 1, 302 .src_components = { 303 -1 304 }, 305 .has_dest = true, 306 .dest_components = 1, 307 .dest_bit_sizes = 0x0, 308 .num_indices = 0, 309 .flags = 0, 310 }, 311 { 312 .name = "atomic_counter_read", 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 = 1, 321 .index_map = { 322 [NIR_INTRINSIC_BASE] = 1, 323 }, 324 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 325 }, 326 { 327 .name = "atomic_counter_read_deref", 328 .num_srcs = 1, 329 .src_components = { 330 -1 331 }, 332 .has_dest = true, 333 .dest_components = 1, 334 .dest_bit_sizes = 0x0, 335 .num_indices = 0, 336 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 337 }, 338 { 339 .name = "atomic_counter_xor", 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 = 1, 348 .index_map = { 349 [NIR_INTRINSIC_BASE] = 1, 350 }, 351 .flags = 0, 352 }, 353 { 354 .name = "atomic_counter_xor_deref", 355 .num_srcs = 2, 356 .src_components = { 357 -1, 1 358 }, 359 .has_dest = true, 360 .dest_components = 1, 361 .dest_bit_sizes = 0x0, 362 .num_indices = 0, 363 .flags = 0, 364 }, 365 { 366 .name = "ballot", 367 .num_srcs = 1, 368 .src_components = { 369 1 370 }, 371 .has_dest = true, 372 .dest_components = 0, 373 .dest_bit_sizes = 0x0, 374 .num_indices = 0, 375 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 376 }, 377 { 378 .name = "ballot_bit_count_exclusive", 379 .num_srcs = 1, 380 .src_components = { 381 4 382 }, 383 .has_dest = true, 384 .dest_components = 1, 385 .dest_bit_sizes = 0x0, 386 .num_indices = 0, 387 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 388 }, 389 { 390 .name = "ballot_bit_count_inclusive", 391 .num_srcs = 1, 392 .src_components = { 393 4 394 }, 395 .has_dest = true, 396 .dest_components = 1, 397 .dest_bit_sizes = 0x0, 398 .num_indices = 0, 399 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 400 }, 401 { 402 .name = "ballot_bit_count_reduce", 403 .num_srcs = 1, 404 .src_components = { 405 4 406 }, 407 .has_dest = true, 408 .dest_components = 1, 409 .dest_bit_sizes = 0x0, 410 .num_indices = 0, 411 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 412 }, 413 { 414 .name = "ballot_bitfield_extract", 415 .num_srcs = 2, 416 .src_components = { 417 4, 1 418 }, 419 .has_dest = true, 420 .dest_components = 1, 421 .dest_bit_sizes = 0x0, 422 .num_indices = 0, 423 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 424 }, 425 { 426 .name = "ballot_find_lsb", 427 .num_srcs = 1, 428 .src_components = { 429 4 430 }, 431 .has_dest = true, 432 .dest_components = 1, 433 .dest_bit_sizes = 0x0, 434 .num_indices = 0, 435 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 436 }, 437 { 438 .name = "ballot_find_msb", 439 .num_srcs = 1, 440 .src_components = { 441 4 442 }, 443 .has_dest = true, 444 .dest_components = 1, 445 .dest_bit_sizes = 0x0, 446 .num_indices = 0, 447 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 448 }, 449 { 450 .name = "begin_invocation_interlock", 451 .num_srcs = 0, 452 .has_dest = false, 453 .dest_components = 0, 454 .dest_bit_sizes = 0x0, 455 .num_indices = 0, 456 .flags = 0, 457 }, 458 { 459 .name = "bindless_image_atomic_add", 460 .num_srcs = 4, 461 .src_components = { 462 1, 4, 1, 1 463 }, 464 .has_dest = true, 465 .dest_components = 1, 466 .dest_bit_sizes = 0x0, 467 .num_indices = 4, 468 .index_map = { 469 [NIR_INTRINSIC_IMAGE_DIM] = 1, 470 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 471 [NIR_INTRINSIC_FORMAT] = 3, 472 [NIR_INTRINSIC_ACCESS] = 4, 473 }, 474 .flags = 0, 475 }, 476 { 477 .name = "bindless_image_atomic_and", 478 .num_srcs = 4, 479 .src_components = { 480 1, 4, 1, 1 481 }, 482 .has_dest = true, 483 .dest_components = 1, 484 .dest_bit_sizes = 0x0, 485 .num_indices = 4, 486 .index_map = { 487 [NIR_INTRINSIC_IMAGE_DIM] = 1, 488 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 489 [NIR_INTRINSIC_FORMAT] = 3, 490 [NIR_INTRINSIC_ACCESS] = 4, 491 }, 492 .flags = 0, 493 }, 494 { 495 .name = "bindless_image_atomic_comp_swap", 496 .num_srcs = 5, 497 .src_components = { 498 1, 4, 1, 1, 1 499 }, 500 .has_dest = true, 501 .dest_components = 1, 502 .dest_bit_sizes = 0x0, 503 .num_indices = 4, 504 .index_map = { 505 [NIR_INTRINSIC_IMAGE_DIM] = 1, 506 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 507 [NIR_INTRINSIC_FORMAT] = 3, 508 [NIR_INTRINSIC_ACCESS] = 4, 509 }, 510 .flags = 0, 511 }, 512 { 513 .name = "bindless_image_atomic_dec_wrap", 514 .num_srcs = 4, 515 .src_components = { 516 1, 4, 1, 1 517 }, 518 .has_dest = true, 519 .dest_components = 1, 520 .dest_bit_sizes = 0x0, 521 .num_indices = 4, 522 .index_map = { 523 [NIR_INTRINSIC_IMAGE_DIM] = 1, 524 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 525 [NIR_INTRINSIC_FORMAT] = 3, 526 [NIR_INTRINSIC_ACCESS] = 4, 527 }, 528 .flags = 0, 529 }, 530 { 531 .name = "bindless_image_atomic_exchange", 532 .num_srcs = 4, 533 .src_components = { 534 1, 4, 1, 1 535 }, 536 .has_dest = true, 537 .dest_components = 1, 538 .dest_bit_sizes = 0x0, 539 .num_indices = 4, 540 .index_map = { 541 [NIR_INTRINSIC_IMAGE_DIM] = 1, 542 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 543 [NIR_INTRINSIC_FORMAT] = 3, 544 [NIR_INTRINSIC_ACCESS] = 4, 545 }, 546 .flags = 0, 547 }, 548 { 549 .name = "bindless_image_atomic_fadd", 550 .num_srcs = 4, 551 .src_components = { 552 1, 4, 1, 1 553 }, 554 .has_dest = true, 555 .dest_components = 1, 556 .dest_bit_sizes = 0x0, 557 .num_indices = 4, 558 .index_map = { 559 [NIR_INTRINSIC_IMAGE_DIM] = 1, 560 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 561 [NIR_INTRINSIC_FORMAT] = 3, 562 [NIR_INTRINSIC_ACCESS] = 4, 563 }, 564 .flags = 0, 565 }, 566 { 567 .name = "bindless_image_atomic_imax", 568 .num_srcs = 4, 569 .src_components = { 570 1, 4, 1, 1 571 }, 572 .has_dest = true, 573 .dest_components = 1, 574 .dest_bit_sizes = 0x0, 575 .num_indices = 4, 576 .index_map = { 577 [NIR_INTRINSIC_IMAGE_DIM] = 1, 578 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 579 [NIR_INTRINSIC_FORMAT] = 3, 580 [NIR_INTRINSIC_ACCESS] = 4, 581 }, 582 .flags = 0, 583 }, 584 { 585 .name = "bindless_image_atomic_imin", 586 .num_srcs = 4, 587 .src_components = { 588 1, 4, 1, 1 589 }, 590 .has_dest = true, 591 .dest_components = 1, 592 .dest_bit_sizes = 0x0, 593 .num_indices = 4, 594 .index_map = { 595 [NIR_INTRINSIC_IMAGE_DIM] = 1, 596 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 597 [NIR_INTRINSIC_FORMAT] = 3, 598 [NIR_INTRINSIC_ACCESS] = 4, 599 }, 600 .flags = 0, 601 }, 602 { 603 .name = "bindless_image_atomic_inc_wrap", 604 .num_srcs = 4, 605 .src_components = { 606 1, 4, 1, 1 607 }, 608 .has_dest = true, 609 .dest_components = 1, 610 .dest_bit_sizes = 0x0, 611 .num_indices = 4, 612 .index_map = { 613 [NIR_INTRINSIC_IMAGE_DIM] = 1, 614 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 615 [NIR_INTRINSIC_FORMAT] = 3, 616 [NIR_INTRINSIC_ACCESS] = 4, 617 }, 618 .flags = 0, 619 }, 620 { 621 .name = "bindless_image_atomic_or", 622 .num_srcs = 4, 623 .src_components = { 624 1, 4, 1, 1 625 }, 626 .has_dest = true, 627 .dest_components = 1, 628 .dest_bit_sizes = 0x0, 629 .num_indices = 4, 630 .index_map = { 631 [NIR_INTRINSIC_IMAGE_DIM] = 1, 632 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 633 [NIR_INTRINSIC_FORMAT] = 3, 634 [NIR_INTRINSIC_ACCESS] = 4, 635 }, 636 .flags = 0, 637 }, 638 { 639 .name = "bindless_image_atomic_umax", 640 .num_srcs = 4, 641 .src_components = { 642 1, 4, 1, 1 643 }, 644 .has_dest = true, 645 .dest_components = 1, 646 .dest_bit_sizes = 0x0, 647 .num_indices = 4, 648 .index_map = { 649 [NIR_INTRINSIC_IMAGE_DIM] = 1, 650 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 651 [NIR_INTRINSIC_FORMAT] = 3, 652 [NIR_INTRINSIC_ACCESS] = 4, 653 }, 654 .flags = 0, 655 }, 656 { 657 .name = "bindless_image_atomic_umin", 658 .num_srcs = 4, 659 .src_components = { 660 1, 4, 1, 1 661 }, 662 .has_dest = true, 663 .dest_components = 1, 664 .dest_bit_sizes = 0x0, 665 .num_indices = 4, 666 .index_map = { 667 [NIR_INTRINSIC_IMAGE_DIM] = 1, 668 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 669 [NIR_INTRINSIC_FORMAT] = 3, 670 [NIR_INTRINSIC_ACCESS] = 4, 671 }, 672 .flags = 0, 673 }, 674 { 675 .name = "bindless_image_atomic_xor", 676 .num_srcs = 4, 677 .src_components = { 678 1, 4, 1, 1 679 }, 680 .has_dest = true, 681 .dest_components = 1, 682 .dest_bit_sizes = 0x0, 683 .num_indices = 4, 684 .index_map = { 685 [NIR_INTRINSIC_IMAGE_DIM] = 1, 686 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 687 [NIR_INTRINSIC_FORMAT] = 3, 688 [NIR_INTRINSIC_ACCESS] = 4, 689 }, 690 .flags = 0, 691 }, 692 { 693 .name = "bindless_image_format", 694 .num_srcs = 1, 695 .src_components = { 696 1 697 }, 698 .has_dest = true, 699 .dest_components = 1, 700 .dest_bit_sizes = 0x0, 701 .num_indices = 4, 702 .index_map = { 703 [NIR_INTRINSIC_IMAGE_DIM] = 1, 704 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 705 [NIR_INTRINSIC_FORMAT] = 3, 706 [NIR_INTRINSIC_ACCESS] = 4, 707 }, 708 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 709 }, 710 { 711 .name = "bindless_image_load", 712 .num_srcs = 4, 713 .src_components = { 714 1, 4, 1, 1 715 }, 716 .has_dest = true, 717 .dest_components = 0, 718 .dest_bit_sizes = 0x0, 719 .num_indices = 5, 720 .index_map = { 721 [NIR_INTRINSIC_IMAGE_DIM] = 1, 722 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 723 [NIR_INTRINSIC_FORMAT] = 3, 724 [NIR_INTRINSIC_ACCESS] = 4, 725 [NIR_INTRINSIC_DEST_TYPE] = 5, 726 }, 727 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 728 }, 729 { 730 .name = "bindless_image_load_raw_intel", 731 .num_srcs = 2, 732 .src_components = { 733 1, 1 734 }, 735 .has_dest = true, 736 .dest_components = 0, 737 .dest_bit_sizes = 0x0, 738 .num_indices = 4, 739 .index_map = { 740 [NIR_INTRINSIC_IMAGE_DIM] = 1, 741 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 742 [NIR_INTRINSIC_FORMAT] = 3, 743 [NIR_INTRINSIC_ACCESS] = 4, 744 }, 745 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 746 }, 747 { 748 .name = "bindless_image_order", 749 .num_srcs = 1, 750 .src_components = { 751 1 752 }, 753 .has_dest = true, 754 .dest_components = 1, 755 .dest_bit_sizes = 0x0, 756 .num_indices = 4, 757 .index_map = { 758 [NIR_INTRINSIC_IMAGE_DIM] = 1, 759 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 760 [NIR_INTRINSIC_FORMAT] = 3, 761 [NIR_INTRINSIC_ACCESS] = 4, 762 }, 763 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 764 }, 765 { 766 .name = "bindless_image_samples", 767 .num_srcs = 1, 768 .src_components = { 769 1 770 }, 771 .has_dest = true, 772 .dest_components = 1, 773 .dest_bit_sizes = 0x0, 774 .num_indices = 4, 775 .index_map = { 776 [NIR_INTRINSIC_IMAGE_DIM] = 1, 777 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 778 [NIR_INTRINSIC_FORMAT] = 3, 779 [NIR_INTRINSIC_ACCESS] = 4, 780 }, 781 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 782 }, 783 { 784 .name = "bindless_image_size", 785 .num_srcs = 2, 786 .src_components = { 787 1, 1 788 }, 789 .has_dest = true, 790 .dest_components = 0, 791 .dest_bit_sizes = 0x0, 792 .num_indices = 4, 793 .index_map = { 794 [NIR_INTRINSIC_IMAGE_DIM] = 1, 795 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 796 [NIR_INTRINSIC_FORMAT] = 3, 797 [NIR_INTRINSIC_ACCESS] = 4, 798 }, 799 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 800 }, 801 { 802 .name = "bindless_image_store", 803 .num_srcs = 5, 804 .src_components = { 805 1, 4, 1, 0, 1 806 }, 807 .has_dest = false, 808 .dest_components = 0, 809 .dest_bit_sizes = 0x0, 810 .num_indices = 5, 811 .index_map = { 812 [NIR_INTRINSIC_IMAGE_DIM] = 1, 813 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 814 [NIR_INTRINSIC_FORMAT] = 3, 815 [NIR_INTRINSIC_ACCESS] = 4, 816 [NIR_INTRINSIC_SRC_TYPE] = 5, 817 }, 818 .flags = 0, 819 }, 820 { 821 .name = "bindless_image_store_raw_intel", 822 .num_srcs = 3, 823 .src_components = { 824 1, 1, 0 825 }, 826 .has_dest = false, 827 .dest_components = 0, 828 .dest_bit_sizes = 0x0, 829 .num_indices = 4, 830 .index_map = { 831 [NIR_INTRINSIC_IMAGE_DIM] = 1, 832 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 833 [NIR_INTRINSIC_FORMAT] = 3, 834 [NIR_INTRINSIC_ACCESS] = 4, 835 }, 836 .flags = 0, 837 }, 838 { 839 .name = "bindless_resource_ir3", 840 .num_srcs = 1, 841 .src_components = { 842 1 843 }, 844 .has_dest = true, 845 .dest_components = 1, 846 .dest_bit_sizes = 0x0, 847 .num_indices = 1, 848 .index_map = { 849 [NIR_INTRINSIC_DESC_SET] = 1, 850 }, 851 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 852 }, 853 { 854 .name = "cond_end_ir3", 855 .num_srcs = 1, 856 .src_components = { 857 1 858 }, 859 .has_dest = false, 860 .dest_components = 0, 861 .dest_bit_sizes = 0x0, 862 .num_indices = 0, 863 .flags = 0, 864 }, 865 { 866 .name = "control_barrier", 867 .num_srcs = 0, 868 .has_dest = false, 869 .dest_components = 0, 870 .dest_bit_sizes = 0x0, 871 .num_indices = 0, 872 .flags = 0, 873 }, 874 { 875 .name = "convert_alu_types", 876 .num_srcs = 1, 877 .src_components = { 878 0 879 }, 880 .has_dest = true, 881 .dest_components = 0, 882 .dest_bit_sizes = 0x0, 883 .num_indices = 4, 884 .index_map = { 885 [NIR_INTRINSIC_SRC_TYPE] = 1, 886 [NIR_INTRINSIC_DEST_TYPE] = 2, 887 [NIR_INTRINSIC_ROUNDING_MODE] = 3, 888 [NIR_INTRINSIC_SATURATE] = 4, 889 }, 890 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 891 }, 892 { 893 .name = "copy_deref", 894 .num_srcs = 2, 895 .src_components = { 896 -1, -1 897 }, 898 .has_dest = false, 899 .dest_components = 0, 900 .dest_bit_sizes = 0x0, 901 .num_indices = 2, 902 .index_map = { 903 [NIR_INTRINSIC_DST_ACCESS] = 1, 904 [NIR_INTRINSIC_SRC_ACCESS] = 2, 905 }, 906 .flags = 0, 907 }, 908 { 909 .name = "demote", 910 .num_srcs = 0, 911 .has_dest = false, 912 .dest_components = 0, 913 .dest_bit_sizes = 0x0, 914 .num_indices = 0, 915 .flags = 0, 916 }, 917 { 918 .name = "demote_if", 919 .num_srcs = 1, 920 .src_components = { 921 1 922 }, 923 .has_dest = false, 924 .dest_components = 0, 925 .dest_bit_sizes = 0x0, 926 .num_indices = 0, 927 .flags = 0, 928 }, 929 { 930 .name = "deref_atomic_add", 931 .num_srcs = 2, 932 .src_components = { 933 -1, 1 934 }, 935 .has_dest = true, 936 .dest_components = 1, 937 .dest_bit_sizes = 0x0, 938 .num_indices = 1, 939 .index_map = { 940 [NIR_INTRINSIC_ACCESS] = 1, 941 }, 942 .flags = 0, 943 }, 944 { 945 .name = "deref_atomic_and", 946 .num_srcs = 2, 947 .src_components = { 948 -1, 1 949 }, 950 .has_dest = true, 951 .dest_components = 1, 952 .dest_bit_sizes = 0x0, 953 .num_indices = 1, 954 .index_map = { 955 [NIR_INTRINSIC_ACCESS] = 1, 956 }, 957 .flags = 0, 958 }, 959 { 960 .name = "deref_atomic_comp_swap", 961 .num_srcs = 3, 962 .src_components = { 963 -1, 1, 1 964 }, 965 .has_dest = true, 966 .dest_components = 1, 967 .dest_bit_sizes = 0x0, 968 .num_indices = 1, 969 .index_map = { 970 [NIR_INTRINSIC_ACCESS] = 1, 971 }, 972 .flags = 0, 973 }, 974 { 975 .name = "deref_atomic_exchange", 976 .num_srcs = 2, 977 .src_components = { 978 -1, 1 979 }, 980 .has_dest = true, 981 .dest_components = 1, 982 .dest_bit_sizes = 0x0, 983 .num_indices = 1, 984 .index_map = { 985 [NIR_INTRINSIC_ACCESS] = 1, 986 }, 987 .flags = 0, 988 }, 989 { 990 .name = "deref_atomic_fadd", 991 .num_srcs = 2, 992 .src_components = { 993 -1, 1 994 }, 995 .has_dest = true, 996 .dest_components = 1, 997 .dest_bit_sizes = 0x0, 998 .num_indices = 1, 999 .index_map = { 1000 [NIR_INTRINSIC_ACCESS] = 1, 1001 }, 1002 .flags = 0, 1003 }, 1004 { 1005 .name = "deref_atomic_fcomp_swap", 1006 .num_srcs = 3, 1007 .src_components = { 1008 -1, 1, 1 1009 }, 1010 .has_dest = true, 1011 .dest_components = 1, 1012 .dest_bit_sizes = 0x0, 1013 .num_indices = 1, 1014 .index_map = { 1015 [NIR_INTRINSIC_ACCESS] = 1, 1016 }, 1017 .flags = 0, 1018 }, 1019 { 1020 .name = "deref_atomic_fmax", 1021 .num_srcs = 2, 1022 .src_components = { 1023 -1, 1 1024 }, 1025 .has_dest = true, 1026 .dest_components = 1, 1027 .dest_bit_sizes = 0x0, 1028 .num_indices = 1, 1029 .index_map = { 1030 [NIR_INTRINSIC_ACCESS] = 1, 1031 }, 1032 .flags = 0, 1033 }, 1034 { 1035 .name = "deref_atomic_fmin", 1036 .num_srcs = 2, 1037 .src_components = { 1038 -1, 1 1039 }, 1040 .has_dest = true, 1041 .dest_components = 1, 1042 .dest_bit_sizes = 0x0, 1043 .num_indices = 1, 1044 .index_map = { 1045 [NIR_INTRINSIC_ACCESS] = 1, 1046 }, 1047 .flags = 0, 1048 }, 1049 { 1050 .name = "deref_atomic_imax", 1051 .num_srcs = 2, 1052 .src_components = { 1053 -1, 1 1054 }, 1055 .has_dest = true, 1056 .dest_components = 1, 1057 .dest_bit_sizes = 0x0, 1058 .num_indices = 1, 1059 .index_map = { 1060 [NIR_INTRINSIC_ACCESS] = 1, 1061 }, 1062 .flags = 0, 1063 }, 1064 { 1065 .name = "deref_atomic_imin", 1066 .num_srcs = 2, 1067 .src_components = { 1068 -1, 1 1069 }, 1070 .has_dest = true, 1071 .dest_components = 1, 1072 .dest_bit_sizes = 0x0, 1073 .num_indices = 1, 1074 .index_map = { 1075 [NIR_INTRINSIC_ACCESS] = 1, 1076 }, 1077 .flags = 0, 1078 }, 1079 { 1080 .name = "deref_atomic_or", 1081 .num_srcs = 2, 1082 .src_components = { 1083 -1, 1 1084 }, 1085 .has_dest = true, 1086 .dest_components = 1, 1087 .dest_bit_sizes = 0x0, 1088 .num_indices = 1, 1089 .index_map = { 1090 [NIR_INTRINSIC_ACCESS] = 1, 1091 }, 1092 .flags = 0, 1093 }, 1094 { 1095 .name = "deref_atomic_umax", 1096 .num_srcs = 2, 1097 .src_components = { 1098 -1, 1 1099 }, 1100 .has_dest = true, 1101 .dest_components = 1, 1102 .dest_bit_sizes = 0x0, 1103 .num_indices = 1, 1104 .index_map = { 1105 [NIR_INTRINSIC_ACCESS] = 1, 1106 }, 1107 .flags = 0, 1108 }, 1109 { 1110 .name = "deref_atomic_umin", 1111 .num_srcs = 2, 1112 .src_components = { 1113 -1, 1 1114 }, 1115 .has_dest = true, 1116 .dest_components = 1, 1117 .dest_bit_sizes = 0x0, 1118 .num_indices = 1, 1119 .index_map = { 1120 [NIR_INTRINSIC_ACCESS] = 1, 1121 }, 1122 .flags = 0, 1123 }, 1124 { 1125 .name = "deref_atomic_xor", 1126 .num_srcs = 2, 1127 .src_components = { 1128 -1, 1 1129 }, 1130 .has_dest = true, 1131 .dest_components = 1, 1132 .dest_bit_sizes = 0x0, 1133 .num_indices = 1, 1134 .index_map = { 1135 [NIR_INTRINSIC_ACCESS] = 1, 1136 }, 1137 .flags = 0, 1138 }, 1139 { 1140 .name = "deref_buffer_array_length", 1141 .num_srcs = 1, 1142 .src_components = { 1143 -1 1144 }, 1145 .has_dest = true, 1146 .dest_components = 1, 1147 .dest_bit_sizes = 0x0, 1148 .num_indices = 0, 1149 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1150 }, 1151 { 1152 .name = "deref_mode_is", 1153 .num_srcs = 1, 1154 .src_components = { 1155 -1 1156 }, 1157 .has_dest = true, 1158 .dest_components = 1, 1159 .dest_bit_sizes = 0x0, 1160 .num_indices = 1, 1161 .index_map = { 1162 [NIR_INTRINSIC_MEMORY_MODES] = 1, 1163 }, 1164 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1165 }, 1166 { 1167 .name = "discard", 1168 .num_srcs = 0, 1169 .has_dest = false, 1170 .dest_components = 0, 1171 .dest_bit_sizes = 0x0, 1172 .num_indices = 0, 1173 .flags = 0, 1174 }, 1175 { 1176 .name = "discard_if", 1177 .num_srcs = 1, 1178 .src_components = { 1179 1 1180 }, 1181 .has_dest = false, 1182 .dest_components = 0, 1183 .dest_bit_sizes = 0x0, 1184 .num_indices = 0, 1185 .flags = 0, 1186 }, 1187 { 1188 .name = "elect", 1189 .num_srcs = 0, 1190 .has_dest = true, 1191 .dest_components = 1, 1192 .dest_bit_sizes = 0x0, 1193 .num_indices = 0, 1194 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1195 }, 1196 { 1197 .name = "emit_vertex", 1198 .num_srcs = 0, 1199 .has_dest = false, 1200 .dest_components = 0, 1201 .dest_bit_sizes = 0x0, 1202 .num_indices = 1, 1203 .index_map = { 1204 [NIR_INTRINSIC_STREAM_ID] = 1, 1205 }, 1206 .flags = 0, 1207 }, 1208 { 1209 .name = "emit_vertex_with_counter", 1210 .num_srcs = 2, 1211 .src_components = { 1212 1, 1 1213 }, 1214 .has_dest = false, 1215 .dest_components = 0, 1216 .dest_bit_sizes = 0x0, 1217 .num_indices = 1, 1218 .index_map = { 1219 [NIR_INTRINSIC_STREAM_ID] = 1, 1220 }, 1221 .flags = 0, 1222 }, 1223 { 1224 .name = "end_invocation_interlock", 1225 .num_srcs = 0, 1226 .has_dest = false, 1227 .dest_components = 0, 1228 .dest_bit_sizes = 0x0, 1229 .num_indices = 0, 1230 .flags = 0, 1231 }, 1232 { 1233 .name = "end_patch_ir3", 1234 .num_srcs = 0, 1235 .has_dest = false, 1236 .dest_components = 0, 1237 .dest_bit_sizes = 0x0, 1238 .num_indices = 0, 1239 .flags = 0, 1240 }, 1241 { 1242 .name = "end_primitive", 1243 .num_srcs = 0, 1244 .has_dest = false, 1245 .dest_components = 0, 1246 .dest_bit_sizes = 0x0, 1247 .num_indices = 1, 1248 .index_map = { 1249 [NIR_INTRINSIC_STREAM_ID] = 1, 1250 }, 1251 .flags = 0, 1252 }, 1253 { 1254 .name = "end_primitive_with_counter", 1255 .num_srcs = 2, 1256 .src_components = { 1257 1, 1 1258 }, 1259 .has_dest = false, 1260 .dest_components = 0, 1261 .dest_bit_sizes = 0x0, 1262 .num_indices = 1, 1263 .index_map = { 1264 [NIR_INTRINSIC_STREAM_ID] = 1, 1265 }, 1266 .flags = 0, 1267 }, 1268 { 1269 .name = "exclusive_scan", 1270 .num_srcs = 1, 1271 .src_components = { 1272 0 1273 }, 1274 .has_dest = true, 1275 .dest_components = 0, 1276 .dest_bit_sizes = 0x0, 1277 .num_indices = 1, 1278 .index_map = { 1279 [NIR_INTRINSIC_REDUCTION_OP] = 1, 1280 }, 1281 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1282 }, 1283 { 1284 .name = "execute_callable", 1285 .num_srcs = 2, 1286 .src_components = { 1287 1, -1 1288 }, 1289 .has_dest = false, 1290 .dest_components = 0, 1291 .dest_bit_sizes = 0x0, 1292 .num_indices = 0, 1293 .flags = 0, 1294 }, 1295 { 1296 .name = "first_invocation", 1297 .num_srcs = 0, 1298 .has_dest = true, 1299 .dest_components = 1, 1300 .dest_bit_sizes = 0x0, 1301 .num_indices = 0, 1302 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 1303 }, 1304 { 1305 .name = "get_ssbo_size", 1306 .num_srcs = 1, 1307 .src_components = { 1308 -1 1309 }, 1310 .has_dest = true, 1311 .dest_components = 1, 1312 .dest_bit_sizes = 0x0, 1313 .num_indices = 0, 1314 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1315 }, 1316 { 1317 .name = "get_ubo_size", 1318 .num_srcs = 1, 1319 .src_components = { 1320 -1 1321 }, 1322 .has_dest = true, 1323 .dest_components = 1, 1324 .dest_bit_sizes = 0x0, 1325 .num_indices = 0, 1326 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1327 }, 1328 { 1329 .name = "global_atomic_add", 1330 .num_srcs = 2, 1331 .src_components = { 1332 1, 1 1333 }, 1334 .has_dest = true, 1335 .dest_components = 1, 1336 .dest_bit_sizes = 0x0, 1337 .num_indices = 1, 1338 .index_map = { 1339 [NIR_INTRINSIC_BASE] = 1, 1340 }, 1341 .flags = 0, 1342 }, 1343 { 1344 .name = "global_atomic_and", 1345 .num_srcs = 2, 1346 .src_components = { 1347 1, 1 1348 }, 1349 .has_dest = true, 1350 .dest_components = 1, 1351 .dest_bit_sizes = 0x0, 1352 .num_indices = 1, 1353 .index_map = { 1354 [NIR_INTRINSIC_BASE] = 1, 1355 }, 1356 .flags = 0, 1357 }, 1358 { 1359 .name = "global_atomic_comp_swap", 1360 .num_srcs = 3, 1361 .src_components = { 1362 1, 1, 1 1363 }, 1364 .has_dest = true, 1365 .dest_components = 1, 1366 .dest_bit_sizes = 0x0, 1367 .num_indices = 1, 1368 .index_map = { 1369 [NIR_INTRINSIC_BASE] = 1, 1370 }, 1371 .flags = 0, 1372 }, 1373 { 1374 .name = "global_atomic_exchange", 1375 .num_srcs = 2, 1376 .src_components = { 1377 1, 1 1378 }, 1379 .has_dest = true, 1380 .dest_components = 1, 1381 .dest_bit_sizes = 0x0, 1382 .num_indices = 1, 1383 .index_map = { 1384 [NIR_INTRINSIC_BASE] = 1, 1385 }, 1386 .flags = 0, 1387 }, 1388 { 1389 .name = "global_atomic_fadd", 1390 .num_srcs = 2, 1391 .src_components = { 1392 1, 1 1393 }, 1394 .has_dest = true, 1395 .dest_components = 1, 1396 .dest_bit_sizes = 0x0, 1397 .num_indices = 1, 1398 .index_map = { 1399 [NIR_INTRINSIC_BASE] = 1, 1400 }, 1401 .flags = 0, 1402 }, 1403 { 1404 .name = "global_atomic_fcomp_swap", 1405 .num_srcs = 3, 1406 .src_components = { 1407 1, 1, 1 1408 }, 1409 .has_dest = true, 1410 .dest_components = 1, 1411 .dest_bit_sizes = 0x0, 1412 .num_indices = 1, 1413 .index_map = { 1414 [NIR_INTRINSIC_BASE] = 1, 1415 }, 1416 .flags = 0, 1417 }, 1418 { 1419 .name = "global_atomic_fmax", 1420 .num_srcs = 2, 1421 .src_components = { 1422 1, 1 1423 }, 1424 .has_dest = true, 1425 .dest_components = 1, 1426 .dest_bit_sizes = 0x0, 1427 .num_indices = 1, 1428 .index_map = { 1429 [NIR_INTRINSIC_BASE] = 1, 1430 }, 1431 .flags = 0, 1432 }, 1433 { 1434 .name = "global_atomic_fmin", 1435 .num_srcs = 2, 1436 .src_components = { 1437 1, 1 1438 }, 1439 .has_dest = true, 1440 .dest_components = 1, 1441 .dest_bit_sizes = 0x0, 1442 .num_indices = 1, 1443 .index_map = { 1444 [NIR_INTRINSIC_BASE] = 1, 1445 }, 1446 .flags = 0, 1447 }, 1448 { 1449 .name = "global_atomic_imax", 1450 .num_srcs = 2, 1451 .src_components = { 1452 1, 1 1453 }, 1454 .has_dest = true, 1455 .dest_components = 1, 1456 .dest_bit_sizes = 0x0, 1457 .num_indices = 1, 1458 .index_map = { 1459 [NIR_INTRINSIC_BASE] = 1, 1460 }, 1461 .flags = 0, 1462 }, 1463 { 1464 .name = "global_atomic_imin", 1465 .num_srcs = 2, 1466 .src_components = { 1467 1, 1 1468 }, 1469 .has_dest = true, 1470 .dest_components = 1, 1471 .dest_bit_sizes = 0x0, 1472 .num_indices = 1, 1473 .index_map = { 1474 [NIR_INTRINSIC_BASE] = 1, 1475 }, 1476 .flags = 0, 1477 }, 1478 { 1479 .name = "global_atomic_or", 1480 .num_srcs = 2, 1481 .src_components = { 1482 1, 1 1483 }, 1484 .has_dest = true, 1485 .dest_components = 1, 1486 .dest_bit_sizes = 0x0, 1487 .num_indices = 1, 1488 .index_map = { 1489 [NIR_INTRINSIC_BASE] = 1, 1490 }, 1491 .flags = 0, 1492 }, 1493 { 1494 .name = "global_atomic_umax", 1495 .num_srcs = 2, 1496 .src_components = { 1497 1, 1 1498 }, 1499 .has_dest = true, 1500 .dest_components = 1, 1501 .dest_bit_sizes = 0x0, 1502 .num_indices = 1, 1503 .index_map = { 1504 [NIR_INTRINSIC_BASE] = 1, 1505 }, 1506 .flags = 0, 1507 }, 1508 { 1509 .name = "global_atomic_umin", 1510 .num_srcs = 2, 1511 .src_components = { 1512 1, 1 1513 }, 1514 .has_dest = true, 1515 .dest_components = 1, 1516 .dest_bit_sizes = 0x0, 1517 .num_indices = 1, 1518 .index_map = { 1519 [NIR_INTRINSIC_BASE] = 1, 1520 }, 1521 .flags = 0, 1522 }, 1523 { 1524 .name = "global_atomic_xor", 1525 .num_srcs = 2, 1526 .src_components = { 1527 1, 1 1528 }, 1529 .has_dest = true, 1530 .dest_components = 1, 1531 .dest_bit_sizes = 0x0, 1532 .num_indices = 1, 1533 .index_map = { 1534 [NIR_INTRINSIC_BASE] = 1, 1535 }, 1536 .flags = 0, 1537 }, 1538 { 1539 .name = "group_memory_barrier", 1540 .num_srcs = 0, 1541 .has_dest = false, 1542 .dest_components = 0, 1543 .dest_bit_sizes = 0x0, 1544 .num_indices = 0, 1545 .flags = 0, 1546 }, 1547 { 1548 .name = "ignore_ray_intersection", 1549 .num_srcs = 0, 1550 .has_dest = false, 1551 .dest_components = 0, 1552 .dest_bit_sizes = 0x0, 1553 .num_indices = 0, 1554 .flags = 0, 1555 }, 1556 { 1557 .name = "image_atomic_add", 1558 .num_srcs = 4, 1559 .src_components = { 1560 1, 4, 1, 1 1561 }, 1562 .has_dest = true, 1563 .dest_components = 1, 1564 .dest_bit_sizes = 0x0, 1565 .num_indices = 4, 1566 .index_map = { 1567 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1568 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1569 [NIR_INTRINSIC_FORMAT] = 3, 1570 [NIR_INTRINSIC_ACCESS] = 4, 1571 }, 1572 .flags = 0, 1573 }, 1574 { 1575 .name = "image_atomic_and", 1576 .num_srcs = 4, 1577 .src_components = { 1578 1, 4, 1, 1 1579 }, 1580 .has_dest = true, 1581 .dest_components = 1, 1582 .dest_bit_sizes = 0x0, 1583 .num_indices = 4, 1584 .index_map = { 1585 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1586 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1587 [NIR_INTRINSIC_FORMAT] = 3, 1588 [NIR_INTRINSIC_ACCESS] = 4, 1589 }, 1590 .flags = 0, 1591 }, 1592 { 1593 .name = "image_atomic_comp_swap", 1594 .num_srcs = 5, 1595 .src_components = { 1596 1, 4, 1, 1, 1 1597 }, 1598 .has_dest = true, 1599 .dest_components = 1, 1600 .dest_bit_sizes = 0x0, 1601 .num_indices = 4, 1602 .index_map = { 1603 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1604 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1605 [NIR_INTRINSIC_FORMAT] = 3, 1606 [NIR_INTRINSIC_ACCESS] = 4, 1607 }, 1608 .flags = 0, 1609 }, 1610 { 1611 .name = "image_atomic_dec_wrap", 1612 .num_srcs = 4, 1613 .src_components = { 1614 1, 4, 1, 1 1615 }, 1616 .has_dest = true, 1617 .dest_components = 1, 1618 .dest_bit_sizes = 0x0, 1619 .num_indices = 4, 1620 .index_map = { 1621 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1622 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1623 [NIR_INTRINSIC_FORMAT] = 3, 1624 [NIR_INTRINSIC_ACCESS] = 4, 1625 }, 1626 .flags = 0, 1627 }, 1628 { 1629 .name = "image_atomic_exchange", 1630 .num_srcs = 4, 1631 .src_components = { 1632 1, 4, 1, 1 1633 }, 1634 .has_dest = true, 1635 .dest_components = 1, 1636 .dest_bit_sizes = 0x0, 1637 .num_indices = 4, 1638 .index_map = { 1639 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1640 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1641 [NIR_INTRINSIC_FORMAT] = 3, 1642 [NIR_INTRINSIC_ACCESS] = 4, 1643 }, 1644 .flags = 0, 1645 }, 1646 { 1647 .name = "image_atomic_fadd", 1648 .num_srcs = 4, 1649 .src_components = { 1650 1, 4, 1, 1 1651 }, 1652 .has_dest = true, 1653 .dest_components = 1, 1654 .dest_bit_sizes = 0x0, 1655 .num_indices = 4, 1656 .index_map = { 1657 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1658 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1659 [NIR_INTRINSIC_FORMAT] = 3, 1660 [NIR_INTRINSIC_ACCESS] = 4, 1661 }, 1662 .flags = 0, 1663 }, 1664 { 1665 .name = "image_atomic_imax", 1666 .num_srcs = 4, 1667 .src_components = { 1668 1, 4, 1, 1 1669 }, 1670 .has_dest = true, 1671 .dest_components = 1, 1672 .dest_bit_sizes = 0x0, 1673 .num_indices = 4, 1674 .index_map = { 1675 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1676 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1677 [NIR_INTRINSIC_FORMAT] = 3, 1678 [NIR_INTRINSIC_ACCESS] = 4, 1679 }, 1680 .flags = 0, 1681 }, 1682 { 1683 .name = "image_atomic_imin", 1684 .num_srcs = 4, 1685 .src_components = { 1686 1, 4, 1, 1 1687 }, 1688 .has_dest = true, 1689 .dest_components = 1, 1690 .dest_bit_sizes = 0x0, 1691 .num_indices = 4, 1692 .index_map = { 1693 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1694 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1695 [NIR_INTRINSIC_FORMAT] = 3, 1696 [NIR_INTRINSIC_ACCESS] = 4, 1697 }, 1698 .flags = 0, 1699 }, 1700 { 1701 .name = "image_atomic_inc_wrap", 1702 .num_srcs = 4, 1703 .src_components = { 1704 1, 4, 1, 1 1705 }, 1706 .has_dest = true, 1707 .dest_components = 1, 1708 .dest_bit_sizes = 0x0, 1709 .num_indices = 4, 1710 .index_map = { 1711 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1712 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1713 [NIR_INTRINSIC_FORMAT] = 3, 1714 [NIR_INTRINSIC_ACCESS] = 4, 1715 }, 1716 .flags = 0, 1717 }, 1718 { 1719 .name = "image_atomic_or", 1720 .num_srcs = 4, 1721 .src_components = { 1722 1, 4, 1, 1 1723 }, 1724 .has_dest = true, 1725 .dest_components = 1, 1726 .dest_bit_sizes = 0x0, 1727 .num_indices = 4, 1728 .index_map = { 1729 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1730 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1731 [NIR_INTRINSIC_FORMAT] = 3, 1732 [NIR_INTRINSIC_ACCESS] = 4, 1733 }, 1734 .flags = 0, 1735 }, 1736 { 1737 .name = "image_atomic_umax", 1738 .num_srcs = 4, 1739 .src_components = { 1740 1, 4, 1, 1 1741 }, 1742 .has_dest = true, 1743 .dest_components = 1, 1744 .dest_bit_sizes = 0x0, 1745 .num_indices = 4, 1746 .index_map = { 1747 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1748 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1749 [NIR_INTRINSIC_FORMAT] = 3, 1750 [NIR_INTRINSIC_ACCESS] = 4, 1751 }, 1752 .flags = 0, 1753 }, 1754 { 1755 .name = "image_atomic_umin", 1756 .num_srcs = 4, 1757 .src_components = { 1758 1, 4, 1, 1 1759 }, 1760 .has_dest = true, 1761 .dest_components = 1, 1762 .dest_bit_sizes = 0x0, 1763 .num_indices = 4, 1764 .index_map = { 1765 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1766 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1767 [NIR_INTRINSIC_FORMAT] = 3, 1768 [NIR_INTRINSIC_ACCESS] = 4, 1769 }, 1770 .flags = 0, 1771 }, 1772 { 1773 .name = "image_atomic_xor", 1774 .num_srcs = 4, 1775 .src_components = { 1776 1, 4, 1, 1 1777 }, 1778 .has_dest = true, 1779 .dest_components = 1, 1780 .dest_bit_sizes = 0x0, 1781 .num_indices = 4, 1782 .index_map = { 1783 [NIR_INTRINSIC_IMAGE_DIM] = 1, 1784 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 1785 [NIR_INTRINSIC_FORMAT] = 3, 1786 [NIR_INTRINSIC_ACCESS] = 4, 1787 }, 1788 .flags = 0, 1789 }, 1790 { 1791 .name = "image_deref_atomic_add", 1792 .num_srcs = 4, 1793 .src_components = { 1794 1, 4, 1, 1 1795 }, 1796 .has_dest = true, 1797 .dest_components = 1, 1798 .dest_bit_sizes = 0x0, 1799 .num_indices = 1, 1800 .index_map = { 1801 [NIR_INTRINSIC_ACCESS] = 1, 1802 }, 1803 .flags = 0, 1804 }, 1805 { 1806 .name = "image_deref_atomic_and", 1807 .num_srcs = 4, 1808 .src_components = { 1809 1, 4, 1, 1 1810 }, 1811 .has_dest = true, 1812 .dest_components = 1, 1813 .dest_bit_sizes = 0x0, 1814 .num_indices = 1, 1815 .index_map = { 1816 [NIR_INTRINSIC_ACCESS] = 1, 1817 }, 1818 .flags = 0, 1819 }, 1820 { 1821 .name = "image_deref_atomic_comp_swap", 1822 .num_srcs = 5, 1823 .src_components = { 1824 1, 4, 1, 1, 1 1825 }, 1826 .has_dest = true, 1827 .dest_components = 1, 1828 .dest_bit_sizes = 0x0, 1829 .num_indices = 1, 1830 .index_map = { 1831 [NIR_INTRINSIC_ACCESS] = 1, 1832 }, 1833 .flags = 0, 1834 }, 1835 { 1836 .name = "image_deref_atomic_dec_wrap", 1837 .num_srcs = 4, 1838 .src_components = { 1839 1, 4, 1, 1 1840 }, 1841 .has_dest = true, 1842 .dest_components = 1, 1843 .dest_bit_sizes = 0x0, 1844 .num_indices = 1, 1845 .index_map = { 1846 [NIR_INTRINSIC_ACCESS] = 1, 1847 }, 1848 .flags = 0, 1849 }, 1850 { 1851 .name = "image_deref_atomic_exchange", 1852 .num_srcs = 4, 1853 .src_components = { 1854 1, 4, 1, 1 1855 }, 1856 .has_dest = true, 1857 .dest_components = 1, 1858 .dest_bit_sizes = 0x0, 1859 .num_indices = 1, 1860 .index_map = { 1861 [NIR_INTRINSIC_ACCESS] = 1, 1862 }, 1863 .flags = 0, 1864 }, 1865 { 1866 .name = "image_deref_atomic_fadd", 1867 .num_srcs = 4, 1868 .src_components = { 1869 1, 4, 1, 1 1870 }, 1871 .has_dest = true, 1872 .dest_components = 1, 1873 .dest_bit_sizes = 0x0, 1874 .num_indices = 1, 1875 .index_map = { 1876 [NIR_INTRINSIC_ACCESS] = 1, 1877 }, 1878 .flags = 0, 1879 }, 1880 { 1881 .name = "image_deref_atomic_imax", 1882 .num_srcs = 4, 1883 .src_components = { 1884 1, 4, 1, 1 1885 }, 1886 .has_dest = true, 1887 .dest_components = 1, 1888 .dest_bit_sizes = 0x0, 1889 .num_indices = 1, 1890 .index_map = { 1891 [NIR_INTRINSIC_ACCESS] = 1, 1892 }, 1893 .flags = 0, 1894 }, 1895 { 1896 .name = "image_deref_atomic_imin", 1897 .num_srcs = 4, 1898 .src_components = { 1899 1, 4, 1, 1 1900 }, 1901 .has_dest = true, 1902 .dest_components = 1, 1903 .dest_bit_sizes = 0x0, 1904 .num_indices = 1, 1905 .index_map = { 1906 [NIR_INTRINSIC_ACCESS] = 1, 1907 }, 1908 .flags = 0, 1909 }, 1910 { 1911 .name = "image_deref_atomic_inc_wrap", 1912 .num_srcs = 4, 1913 .src_components = { 1914 1, 4, 1, 1 1915 }, 1916 .has_dest = true, 1917 .dest_components = 1, 1918 .dest_bit_sizes = 0x0, 1919 .num_indices = 1, 1920 .index_map = { 1921 [NIR_INTRINSIC_ACCESS] = 1, 1922 }, 1923 .flags = 0, 1924 }, 1925 { 1926 .name = "image_deref_atomic_or", 1927 .num_srcs = 4, 1928 .src_components = { 1929 1, 4, 1, 1 1930 }, 1931 .has_dest = true, 1932 .dest_components = 1, 1933 .dest_bit_sizes = 0x0, 1934 .num_indices = 1, 1935 .index_map = { 1936 [NIR_INTRINSIC_ACCESS] = 1, 1937 }, 1938 .flags = 0, 1939 }, 1940 { 1941 .name = "image_deref_atomic_umax", 1942 .num_srcs = 4, 1943 .src_components = { 1944 1, 4, 1, 1 1945 }, 1946 .has_dest = true, 1947 .dest_components = 1, 1948 .dest_bit_sizes = 0x0, 1949 .num_indices = 1, 1950 .index_map = { 1951 [NIR_INTRINSIC_ACCESS] = 1, 1952 }, 1953 .flags = 0, 1954 }, 1955 { 1956 .name = "image_deref_atomic_umin", 1957 .num_srcs = 4, 1958 .src_components = { 1959 1, 4, 1, 1 1960 }, 1961 .has_dest = true, 1962 .dest_components = 1, 1963 .dest_bit_sizes = 0x0, 1964 .num_indices = 1, 1965 .index_map = { 1966 [NIR_INTRINSIC_ACCESS] = 1, 1967 }, 1968 .flags = 0, 1969 }, 1970 { 1971 .name = "image_deref_atomic_xor", 1972 .num_srcs = 4, 1973 .src_components = { 1974 1, 4, 1, 1 1975 }, 1976 .has_dest = true, 1977 .dest_components = 1, 1978 .dest_bit_sizes = 0x0, 1979 .num_indices = 1, 1980 .index_map = { 1981 [NIR_INTRINSIC_ACCESS] = 1, 1982 }, 1983 .flags = 0, 1984 }, 1985 { 1986 .name = "image_deref_format", 1987 .num_srcs = 1, 1988 .src_components = { 1989 1 1990 }, 1991 .has_dest = true, 1992 .dest_components = 1, 1993 .dest_bit_sizes = 0x0, 1994 .num_indices = 1, 1995 .index_map = { 1996 [NIR_INTRINSIC_ACCESS] = 1, 1997 }, 1998 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 1999 }, 2000 { 2001 .name = "image_deref_load", 2002 .num_srcs = 4, 2003 .src_components = { 2004 1, 4, 1, 1 2005 }, 2006 .has_dest = true, 2007 .dest_components = 0, 2008 .dest_bit_sizes = 0x0, 2009 .num_indices = 2, 2010 .index_map = { 2011 [NIR_INTRINSIC_ACCESS] = 1, 2012 [NIR_INTRINSIC_DEST_TYPE] = 2, 2013 }, 2014 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2015 }, 2016 { 2017 .name = "image_deref_load_param_intel", 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 = 1, 2026 .index_map = { 2027 [NIR_INTRINSIC_BASE] = 1, 2028 }, 2029 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2030 }, 2031 { 2032 .name = "image_deref_load_raw_intel", 2033 .num_srcs = 2, 2034 .src_components = { 2035 1, 1 2036 }, 2037 .has_dest = true, 2038 .dest_components = 0, 2039 .dest_bit_sizes = 0x0, 2040 .num_indices = 1, 2041 .index_map = { 2042 [NIR_INTRINSIC_ACCESS] = 1, 2043 }, 2044 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2045 }, 2046 { 2047 .name = "image_deref_order", 2048 .num_srcs = 1, 2049 .src_components = { 2050 1 2051 }, 2052 .has_dest = true, 2053 .dest_components = 1, 2054 .dest_bit_sizes = 0x0, 2055 .num_indices = 1, 2056 .index_map = { 2057 [NIR_INTRINSIC_ACCESS] = 1, 2058 }, 2059 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2060 }, 2061 { 2062 .name = "image_deref_samples", 2063 .num_srcs = 1, 2064 .src_components = { 2065 1 2066 }, 2067 .has_dest = true, 2068 .dest_components = 1, 2069 .dest_bit_sizes = 0x0, 2070 .num_indices = 1, 2071 .index_map = { 2072 [NIR_INTRINSIC_ACCESS] = 1, 2073 }, 2074 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2075 }, 2076 { 2077 .name = "image_deref_size", 2078 .num_srcs = 2, 2079 .src_components = { 2080 1, 1 2081 }, 2082 .has_dest = true, 2083 .dest_components = 0, 2084 .dest_bit_sizes = 0x0, 2085 .num_indices = 1, 2086 .index_map = { 2087 [NIR_INTRINSIC_ACCESS] = 1, 2088 }, 2089 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2090 }, 2091 { 2092 .name = "image_deref_store", 2093 .num_srcs = 5, 2094 .src_components = { 2095 1, 4, 1, 0, 1 2096 }, 2097 .has_dest = false, 2098 .dest_components = 0, 2099 .dest_bit_sizes = 0x0, 2100 .num_indices = 2, 2101 .index_map = { 2102 [NIR_INTRINSIC_ACCESS] = 1, 2103 [NIR_INTRINSIC_SRC_TYPE] = 2, 2104 }, 2105 .flags = 0, 2106 }, 2107 { 2108 .name = "image_deref_store_raw_intel", 2109 .num_srcs = 3, 2110 .src_components = { 2111 1, 1, 0 2112 }, 2113 .has_dest = false, 2114 .dest_components = 0, 2115 .dest_bit_sizes = 0x0, 2116 .num_indices = 1, 2117 .index_map = { 2118 [NIR_INTRINSIC_ACCESS] = 1, 2119 }, 2120 .flags = 0, 2121 }, 2122 { 2123 .name = "image_format", 2124 .num_srcs = 1, 2125 .src_components = { 2126 1 2127 }, 2128 .has_dest = true, 2129 .dest_components = 1, 2130 .dest_bit_sizes = 0x0, 2131 .num_indices = 4, 2132 .index_map = { 2133 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2134 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2135 [NIR_INTRINSIC_FORMAT] = 3, 2136 [NIR_INTRINSIC_ACCESS] = 4, 2137 }, 2138 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2139 }, 2140 { 2141 .name = "image_load", 2142 .num_srcs = 4, 2143 .src_components = { 2144 1, 4, 1, 1 2145 }, 2146 .has_dest = true, 2147 .dest_components = 0, 2148 .dest_bit_sizes = 0x0, 2149 .num_indices = 5, 2150 .index_map = { 2151 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2152 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2153 [NIR_INTRINSIC_FORMAT] = 3, 2154 [NIR_INTRINSIC_ACCESS] = 4, 2155 [NIR_INTRINSIC_DEST_TYPE] = 5, 2156 }, 2157 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2158 }, 2159 { 2160 .name = "image_load_raw_intel", 2161 .num_srcs = 2, 2162 .src_components = { 2163 1, 1 2164 }, 2165 .has_dest = true, 2166 .dest_components = 0, 2167 .dest_bit_sizes = 0x0, 2168 .num_indices = 4, 2169 .index_map = { 2170 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2171 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2172 [NIR_INTRINSIC_FORMAT] = 3, 2173 [NIR_INTRINSIC_ACCESS] = 4, 2174 }, 2175 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2176 }, 2177 { 2178 .name = "image_order", 2179 .num_srcs = 1, 2180 .src_components = { 2181 1 2182 }, 2183 .has_dest = true, 2184 .dest_components = 1, 2185 .dest_bit_sizes = 0x0, 2186 .num_indices = 4, 2187 .index_map = { 2188 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2189 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2190 [NIR_INTRINSIC_FORMAT] = 3, 2191 [NIR_INTRINSIC_ACCESS] = 4, 2192 }, 2193 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2194 }, 2195 { 2196 .name = "image_samples", 2197 .num_srcs = 1, 2198 .src_components = { 2199 1 2200 }, 2201 .has_dest = true, 2202 .dest_components = 1, 2203 .dest_bit_sizes = 0x0, 2204 .num_indices = 4, 2205 .index_map = { 2206 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2207 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2208 [NIR_INTRINSIC_FORMAT] = 3, 2209 [NIR_INTRINSIC_ACCESS] = 4, 2210 }, 2211 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2212 }, 2213 { 2214 .name = "image_size", 2215 .num_srcs = 2, 2216 .src_components = { 2217 1, 1 2218 }, 2219 .has_dest = true, 2220 .dest_components = 0, 2221 .dest_bit_sizes = 0x0, 2222 .num_indices = 4, 2223 .index_map = { 2224 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2225 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2226 [NIR_INTRINSIC_FORMAT] = 3, 2227 [NIR_INTRINSIC_ACCESS] = 4, 2228 }, 2229 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2230 }, 2231 { 2232 .name = "image_store", 2233 .num_srcs = 5, 2234 .src_components = { 2235 1, 4, 1, 0, 1 2236 }, 2237 .has_dest = false, 2238 .dest_components = 0, 2239 .dest_bit_sizes = 0x0, 2240 .num_indices = 5, 2241 .index_map = { 2242 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2243 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2244 [NIR_INTRINSIC_FORMAT] = 3, 2245 [NIR_INTRINSIC_ACCESS] = 4, 2246 [NIR_INTRINSIC_SRC_TYPE] = 5, 2247 }, 2248 .flags = 0, 2249 }, 2250 { 2251 .name = "image_store_raw_intel", 2252 .num_srcs = 3, 2253 .src_components = { 2254 1, 1, 0 2255 }, 2256 .has_dest = false, 2257 .dest_components = 0, 2258 .dest_bit_sizes = 0x0, 2259 .num_indices = 4, 2260 .index_map = { 2261 [NIR_INTRINSIC_IMAGE_DIM] = 1, 2262 [NIR_INTRINSIC_IMAGE_ARRAY] = 2, 2263 [NIR_INTRINSIC_FORMAT] = 3, 2264 [NIR_INTRINSIC_ACCESS] = 4, 2265 }, 2266 .flags = 0, 2267 }, 2268 { 2269 .name = "inclusive_scan", 2270 .num_srcs = 1, 2271 .src_components = { 2272 0 2273 }, 2274 .has_dest = true, 2275 .dest_components = 0, 2276 .dest_bit_sizes = 0x0, 2277 .num_indices = 1, 2278 .index_map = { 2279 [NIR_INTRINSIC_REDUCTION_OP] = 1, 2280 }, 2281 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2282 }, 2283 { 2284 .name = "interp_deref_at_centroid", 2285 .num_srcs = 1, 2286 .src_components = { 2287 1 2288 }, 2289 .has_dest = true, 2290 .dest_components = 0, 2291 .dest_bit_sizes = 0x0, 2292 .num_indices = 0, 2293 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2294 }, 2295 { 2296 .name = "interp_deref_at_offset", 2297 .num_srcs = 2, 2298 .src_components = { 2299 1, 2 2300 }, 2301 .has_dest = true, 2302 .dest_components = 0, 2303 .dest_bit_sizes = 0x0, 2304 .num_indices = 0, 2305 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2306 }, 2307 { 2308 .name = "interp_deref_at_sample", 2309 .num_srcs = 2, 2310 .src_components = { 2311 1, 1 2312 }, 2313 .has_dest = true, 2314 .dest_components = 0, 2315 .dest_bit_sizes = 0x0, 2316 .num_indices = 0, 2317 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2318 }, 2319 { 2320 .name = "interp_deref_at_vertex", 2321 .num_srcs = 2, 2322 .src_components = { 2323 1, 1 2324 }, 2325 .has_dest = true, 2326 .dest_components = 0, 2327 .dest_bit_sizes = 0x0, 2328 .num_indices = 0, 2329 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2330 }, 2331 { 2332 .name = "is_helper_invocation", 2333 .num_srcs = 0, 2334 .has_dest = true, 2335 .dest_components = 1, 2336 .dest_bit_sizes = 0x0, 2337 .num_indices = 0, 2338 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2339 }, 2340 { 2341 .name = "last_invocation", 2342 .num_srcs = 0, 2343 .has_dest = true, 2344 .dest_components = 1, 2345 .dest_bit_sizes = 0x0, 2346 .num_indices = 0, 2347 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2348 }, 2349 { 2350 .name = "load_aa_line_width", 2351 .num_srcs = 0, 2352 .has_dest = true, 2353 .dest_components = 1, 2354 .dest_bit_sizes = 0x20, 2355 .num_indices = 0, 2356 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2357 }, 2358 { 2359 .name = "load_barycentric_at_offset", 2360 .num_srcs = 1, 2361 .src_components = { 2362 2 2363 }, 2364 .has_dest = true, 2365 .dest_components = 2, 2366 .dest_bit_sizes = 0x0, 2367 .num_indices = 1, 2368 .index_map = { 2369 [NIR_INTRINSIC_INTERP_MODE] = 1, 2370 }, 2371 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2372 }, 2373 { 2374 .name = "load_barycentric_at_sample", 2375 .num_srcs = 1, 2376 .src_components = { 2377 1 2378 }, 2379 .has_dest = true, 2380 .dest_components = 2, 2381 .dest_bit_sizes = 0x0, 2382 .num_indices = 1, 2383 .index_map = { 2384 [NIR_INTRINSIC_INTERP_MODE] = 1, 2385 }, 2386 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2387 }, 2388 { 2389 .name = "load_barycentric_centroid", 2390 .num_srcs = 0, 2391 .has_dest = true, 2392 .dest_components = 2, 2393 .dest_bit_sizes = 0x0, 2394 .num_indices = 1, 2395 .index_map = { 2396 [NIR_INTRINSIC_INTERP_MODE] = 1, 2397 }, 2398 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2399 }, 2400 { 2401 .name = "load_barycentric_model", 2402 .num_srcs = 0, 2403 .has_dest = true, 2404 .dest_components = 3, 2405 .dest_bit_sizes = 0x0, 2406 .num_indices = 1, 2407 .index_map = { 2408 [NIR_INTRINSIC_INTERP_MODE] = 1, 2409 }, 2410 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2411 }, 2412 { 2413 .name = "load_barycentric_pixel", 2414 .num_srcs = 0, 2415 .has_dest = true, 2416 .dest_components = 2, 2417 .dest_bit_sizes = 0x0, 2418 .num_indices = 1, 2419 .index_map = { 2420 [NIR_INTRINSIC_INTERP_MODE] = 1, 2421 }, 2422 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2423 }, 2424 { 2425 .name = "load_barycentric_sample", 2426 .num_srcs = 0, 2427 .has_dest = true, 2428 .dest_components = 2, 2429 .dest_bit_sizes = 0x0, 2430 .num_indices = 1, 2431 .index_map = { 2432 [NIR_INTRINSIC_INTERP_MODE] = 1, 2433 }, 2434 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2435 }, 2436 { 2437 .name = "load_base_global_invocation_id", 2438 .num_srcs = 0, 2439 .has_dest = true, 2440 .dest_components = 3, 2441 .dest_bit_sizes = 0x60, 2442 .num_indices = 0, 2443 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2444 }, 2445 { 2446 .name = "load_base_instance", 2447 .num_srcs = 0, 2448 .has_dest = true, 2449 .dest_components = 1, 2450 .dest_bit_sizes = 0x20, 2451 .num_indices = 0, 2452 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2453 }, 2454 { 2455 .name = "load_base_vertex", 2456 .num_srcs = 0, 2457 .has_dest = true, 2458 .dest_components = 1, 2459 .dest_bit_sizes = 0x20, 2460 .num_indices = 0, 2461 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2462 }, 2463 { 2464 .name = "load_base_work_group_id", 2465 .num_srcs = 0, 2466 .has_dest = true, 2467 .dest_components = 3, 2468 .dest_bit_sizes = 0x60, 2469 .num_indices = 0, 2470 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2471 }, 2472 { 2473 .name = "load_blend_const_color_a_float", 2474 .num_srcs = 0, 2475 .has_dest = true, 2476 .dest_components = 1, 2477 .dest_bit_sizes = 0x20, 2478 .num_indices = 0, 2479 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2480 }, 2481 { 2482 .name = "load_blend_const_color_aaaa8888_unorm", 2483 .num_srcs = 0, 2484 .has_dest = true, 2485 .dest_components = 1, 2486 .dest_bit_sizes = 0x20, 2487 .num_indices = 0, 2488 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2489 }, 2490 { 2491 .name = "load_blend_const_color_b_float", 2492 .num_srcs = 0, 2493 .has_dest = true, 2494 .dest_components = 1, 2495 .dest_bit_sizes = 0x20, 2496 .num_indices = 0, 2497 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2498 }, 2499 { 2500 .name = "load_blend_const_color_g_float", 2501 .num_srcs = 0, 2502 .has_dest = true, 2503 .dest_components = 1, 2504 .dest_bit_sizes = 0x20, 2505 .num_indices = 0, 2506 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2507 }, 2508 { 2509 .name = "load_blend_const_color_r_float", 2510 .num_srcs = 0, 2511 .has_dest = true, 2512 .dest_components = 1, 2513 .dest_bit_sizes = 0x20, 2514 .num_indices = 0, 2515 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2516 }, 2517 { 2518 .name = "load_blend_const_color_rgba", 2519 .num_srcs = 0, 2520 .has_dest = true, 2521 .dest_components = 4, 2522 .dest_bit_sizes = 0x20, 2523 .num_indices = 0, 2524 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2525 }, 2526 { 2527 .name = "load_blend_const_color_rgba8888_unorm", 2528 .num_srcs = 0, 2529 .has_dest = true, 2530 .dest_components = 1, 2531 .dest_bit_sizes = 0x20, 2532 .num_indices = 0, 2533 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2534 }, 2535 { 2536 .name = "load_color0", 2537 .num_srcs = 0, 2538 .has_dest = true, 2539 .dest_components = 4, 2540 .dest_bit_sizes = 0x20, 2541 .num_indices = 0, 2542 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2543 }, 2544 { 2545 .name = "load_color1", 2546 .num_srcs = 0, 2547 .has_dest = true, 2548 .dest_components = 4, 2549 .dest_bit_sizes = 0x20, 2550 .num_indices = 0, 2551 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2552 }, 2553 { 2554 .name = "load_constant", 2555 .num_srcs = 1, 2556 .src_components = { 2557 1 2558 }, 2559 .has_dest = true, 2560 .dest_components = 0, 2561 .dest_bit_sizes = 0x0, 2562 .num_indices = 4, 2563 .index_map = { 2564 [NIR_INTRINSIC_BASE] = 1, 2565 [NIR_INTRINSIC_RANGE] = 2, 2566 [NIR_INTRINSIC_ALIGN_MUL] = 3, 2567 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 2568 }, 2569 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2570 }, 2571 { 2572 .name = "load_constant_base_ptr", 2573 .num_srcs = 0, 2574 .has_dest = true, 2575 .dest_components = 0, 2576 .dest_bit_sizes = 0x60, 2577 .num_indices = 0, 2578 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2579 }, 2580 { 2581 .name = "load_deref", 2582 .num_srcs = 1, 2583 .src_components = { 2584 -1 2585 }, 2586 .has_dest = true, 2587 .dest_components = 0, 2588 .dest_bit_sizes = 0x0, 2589 .num_indices = 1, 2590 .index_map = { 2591 [NIR_INTRINSIC_ACCESS] = 1, 2592 }, 2593 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2594 }, 2595 { 2596 .name = "load_deref_block_intel", 2597 .num_srcs = 1, 2598 .src_components = { 2599 -1 2600 }, 2601 .has_dest = true, 2602 .dest_components = 0, 2603 .dest_bit_sizes = 0x0, 2604 .num_indices = 1, 2605 .index_map = { 2606 [NIR_INTRINSIC_ACCESS] = 1, 2607 }, 2608 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2609 }, 2610 { 2611 .name = "load_draw_id", 2612 .num_srcs = 0, 2613 .has_dest = true, 2614 .dest_components = 1, 2615 .dest_bit_sizes = 0x20, 2616 .num_indices = 0, 2617 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2618 }, 2619 { 2620 .name = "load_fb_layers_v3d", 2621 .num_srcs = 0, 2622 .has_dest = true, 2623 .dest_components = 1, 2624 .dest_bit_sizes = 0x0, 2625 .num_indices = 0, 2626 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2627 }, 2628 { 2629 .name = "load_first_vertex", 2630 .num_srcs = 0, 2631 .has_dest = true, 2632 .dest_components = 1, 2633 .dest_bit_sizes = 0x20, 2634 .num_indices = 0, 2635 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2636 }, 2637 { 2638 .name = "load_frag_coord", 2639 .num_srcs = 0, 2640 .has_dest = true, 2641 .dest_components = 4, 2642 .dest_bit_sizes = 0x20, 2643 .num_indices = 0, 2644 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2645 }, 2646 { 2647 .name = "load_front_face", 2648 .num_srcs = 0, 2649 .has_dest = true, 2650 .dest_components = 1, 2651 .dest_bit_sizes = 0x21, 2652 .num_indices = 0, 2653 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2654 }, 2655 { 2656 .name = "load_fs_input_interp_deltas", 2657 .num_srcs = 1, 2658 .src_components = { 2659 1 2660 }, 2661 .has_dest = true, 2662 .dest_components = 3, 2663 .dest_bit_sizes = 0x0, 2664 .num_indices = 3, 2665 .index_map = { 2666 [NIR_INTRINSIC_BASE] = 1, 2667 [NIR_INTRINSIC_COMPONENT] = 2, 2668 [NIR_INTRINSIC_IO_SEMANTICS] = 3, 2669 }, 2670 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2671 }, 2672 { 2673 .name = "load_global", 2674 .num_srcs = 1, 2675 .src_components = { 2676 1 2677 }, 2678 .has_dest = true, 2679 .dest_components = 0, 2680 .dest_bit_sizes = 0x0, 2681 .num_indices = 3, 2682 .index_map = { 2683 [NIR_INTRINSIC_ACCESS] = 1, 2684 [NIR_INTRINSIC_ALIGN_MUL] = 2, 2685 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2686 }, 2687 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2688 }, 2689 { 2690 .name = "load_global_block_intel", 2691 .num_srcs = 1, 2692 .src_components = { 2693 1 2694 }, 2695 .has_dest = true, 2696 .dest_components = 0, 2697 .dest_bit_sizes = 0x0, 2698 .num_indices = 3, 2699 .index_map = { 2700 [NIR_INTRINSIC_ACCESS] = 1, 2701 [NIR_INTRINSIC_ALIGN_MUL] = 2, 2702 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2703 }, 2704 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2705 }, 2706 { 2707 .name = "load_global_constant", 2708 .num_srcs = 1, 2709 .src_components = { 2710 1 2711 }, 2712 .has_dest = true, 2713 .dest_components = 0, 2714 .dest_bit_sizes = 0x0, 2715 .num_indices = 3, 2716 .index_map = { 2717 [NIR_INTRINSIC_ACCESS] = 1, 2718 [NIR_INTRINSIC_ALIGN_MUL] = 2, 2719 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2720 }, 2721 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2722 }, 2723 { 2724 .name = "load_global_invocation_id", 2725 .num_srcs = 0, 2726 .has_dest = true, 2727 .dest_components = 3, 2728 .dest_bit_sizes = 0x60, 2729 .num_indices = 0, 2730 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2731 }, 2732 { 2733 .name = "load_global_invocation_id_zero_base", 2734 .num_srcs = 0, 2735 .has_dest = true, 2736 .dest_components = 3, 2737 .dest_bit_sizes = 0x60, 2738 .num_indices = 0, 2739 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2740 }, 2741 { 2742 .name = "load_global_invocation_index", 2743 .num_srcs = 0, 2744 .has_dest = true, 2745 .dest_components = 1, 2746 .dest_bit_sizes = 0x60, 2747 .num_indices = 0, 2748 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2749 }, 2750 { 2751 .name = "load_global_ir3", 2752 .num_srcs = 2, 2753 .src_components = { 2754 2, 1 2755 }, 2756 .has_dest = true, 2757 .dest_components = 0, 2758 .dest_bit_sizes = 0x0, 2759 .num_indices = 3, 2760 .index_map = { 2761 [NIR_INTRINSIC_ACCESS] = 1, 2762 [NIR_INTRINSIC_ALIGN_MUL] = 2, 2763 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 2764 }, 2765 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2766 }, 2767 { 2768 .name = "load_gs_header_ir3", 2769 .num_srcs = 0, 2770 .has_dest = true, 2771 .dest_components = 1, 2772 .dest_bit_sizes = 0x20, 2773 .num_indices = 0, 2774 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2775 }, 2776 { 2777 .name = "load_helper_invocation", 2778 .num_srcs = 0, 2779 .has_dest = true, 2780 .dest_components = 1, 2781 .dest_bit_sizes = 0x21, 2782 .num_indices = 0, 2783 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2784 }, 2785 { 2786 .name = "load_hs_patch_stride_ir3", 2787 .num_srcs = 0, 2788 .has_dest = true, 2789 .dest_components = 1, 2790 .dest_bit_sizes = 0x20, 2791 .num_indices = 0, 2792 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2793 }, 2794 { 2795 .name = "load_input", 2796 .num_srcs = 1, 2797 .src_components = { 2798 1 2799 }, 2800 .has_dest = true, 2801 .dest_components = 0, 2802 .dest_bit_sizes = 0x0, 2803 .num_indices = 4, 2804 .index_map = { 2805 [NIR_INTRINSIC_BASE] = 1, 2806 [NIR_INTRINSIC_COMPONENT] = 2, 2807 [NIR_INTRINSIC_DEST_TYPE] = 3, 2808 [NIR_INTRINSIC_IO_SEMANTICS] = 4, 2809 }, 2810 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2811 }, 2812 { 2813 .name = "load_input_vertex", 2814 .num_srcs = 2, 2815 .src_components = { 2816 1, 1 2817 }, 2818 .has_dest = true, 2819 .dest_components = 0, 2820 .dest_bit_sizes = 0x0, 2821 .num_indices = 4, 2822 .index_map = { 2823 [NIR_INTRINSIC_BASE] = 1, 2824 [NIR_INTRINSIC_COMPONENT] = 2, 2825 [NIR_INTRINSIC_DEST_TYPE] = 3, 2826 [NIR_INTRINSIC_IO_SEMANTICS] = 4, 2827 }, 2828 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2829 }, 2830 { 2831 .name = "load_instance_id", 2832 .num_srcs = 0, 2833 .has_dest = true, 2834 .dest_components = 1, 2835 .dest_bit_sizes = 0x20, 2836 .num_indices = 0, 2837 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2838 }, 2839 { 2840 .name = "load_interpolated_input", 2841 .num_srcs = 2, 2842 .src_components = { 2843 2, 1 2844 }, 2845 .has_dest = true, 2846 .dest_components = 0, 2847 .dest_bit_sizes = 0x0, 2848 .num_indices = 3, 2849 .index_map = { 2850 [NIR_INTRINSIC_BASE] = 1, 2851 [NIR_INTRINSIC_COMPONENT] = 2, 2852 [NIR_INTRINSIC_IO_SEMANTICS] = 3, 2853 }, 2854 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2855 }, 2856 { 2857 .name = "load_invocation_id", 2858 .num_srcs = 0, 2859 .has_dest = true, 2860 .dest_components = 1, 2861 .dest_bit_sizes = 0x20, 2862 .num_indices = 0, 2863 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2864 }, 2865 { 2866 .name = "load_is_indexed_draw", 2867 .num_srcs = 0, 2868 .has_dest = true, 2869 .dest_components = 1, 2870 .dest_bit_sizes = 0x20, 2871 .num_indices = 0, 2872 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2873 }, 2874 { 2875 .name = "load_kernel_input", 2876 .num_srcs = 1, 2877 .src_components = { 2878 1 2879 }, 2880 .has_dest = true, 2881 .dest_components = 0, 2882 .dest_bit_sizes = 0x0, 2883 .num_indices = 4, 2884 .index_map = { 2885 [NIR_INTRINSIC_BASE] = 1, 2886 [NIR_INTRINSIC_RANGE] = 2, 2887 [NIR_INTRINSIC_ALIGN_MUL] = 3, 2888 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 2889 }, 2890 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2891 }, 2892 { 2893 .name = "load_layer_id", 2894 .num_srcs = 0, 2895 .has_dest = true, 2896 .dest_components = 1, 2897 .dest_bit_sizes = 0x20, 2898 .num_indices = 0, 2899 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2900 }, 2901 { 2902 .name = "load_line_coord", 2903 .num_srcs = 0, 2904 .has_dest = true, 2905 .dest_components = 1, 2906 .dest_bit_sizes = 0x20, 2907 .num_indices = 0, 2908 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2909 }, 2910 { 2911 .name = "load_line_width", 2912 .num_srcs = 0, 2913 .has_dest = true, 2914 .dest_components = 1, 2915 .dest_bit_sizes = 0x20, 2916 .num_indices = 0, 2917 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2918 }, 2919 { 2920 .name = "load_local_group_size", 2921 .num_srcs = 0, 2922 .has_dest = true, 2923 .dest_components = 3, 2924 .dest_bit_sizes = 0x20, 2925 .num_indices = 0, 2926 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2927 }, 2928 { 2929 .name = "load_local_invocation_id", 2930 .num_srcs = 0, 2931 .has_dest = true, 2932 .dest_components = 3, 2933 .dest_bit_sizes = 0x20, 2934 .num_indices = 0, 2935 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2936 }, 2937 { 2938 .name = "load_local_invocation_index", 2939 .num_srcs = 0, 2940 .has_dest = true, 2941 .dest_components = 1, 2942 .dest_bit_sizes = 0x20, 2943 .num_indices = 0, 2944 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2945 }, 2946 { 2947 .name = "load_local_shared_r600", 2948 .num_srcs = 1, 2949 .src_components = { 2950 0 2951 }, 2952 .has_dest = true, 2953 .dest_components = 0, 2954 .dest_bit_sizes = 0x0, 2955 .num_indices = 1, 2956 .index_map = { 2957 [NIR_INTRINSIC_COMPONENT] = 1, 2958 }, 2959 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2960 }, 2961 { 2962 .name = "load_num_subgroups", 2963 .num_srcs = 0, 2964 .has_dest = true, 2965 .dest_components = 1, 2966 .dest_bit_sizes = 0x20, 2967 .num_indices = 0, 2968 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2969 }, 2970 { 2971 .name = "load_num_work_groups", 2972 .num_srcs = 0, 2973 .has_dest = true, 2974 .dest_components = 3, 2975 .dest_bit_sizes = 0x60, 2976 .num_indices = 0, 2977 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 2978 }, 2979 { 2980 .name = "load_output", 2981 .num_srcs = 1, 2982 .src_components = { 2983 1 2984 }, 2985 .has_dest = true, 2986 .dest_components = 0, 2987 .dest_bit_sizes = 0x0, 2988 .num_indices = 3, 2989 .index_map = { 2990 [NIR_INTRINSIC_BASE] = 1, 2991 [NIR_INTRINSIC_COMPONENT] = 2, 2992 [NIR_INTRINSIC_IO_SEMANTICS] = 3, 2993 }, 2994 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 2995 }, 2996 { 2997 .name = "load_param", 2998 .num_srcs = 0, 2999 .has_dest = true, 3000 .dest_components = 0, 3001 .dest_bit_sizes = 0x0, 3002 .num_indices = 1, 3003 .index_map = { 3004 [NIR_INTRINSIC_PARAM_IDX] = 1, 3005 }, 3006 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3007 }, 3008 { 3009 .name = "load_patch_vertices_in", 3010 .num_srcs = 0, 3011 .has_dest = true, 3012 .dest_components = 1, 3013 .dest_bit_sizes = 0x20, 3014 .num_indices = 0, 3015 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3016 }, 3017 { 3018 .name = "load_per_vertex_input", 3019 .num_srcs = 2, 3020 .src_components = { 3021 1, 1 3022 }, 3023 .has_dest = true, 3024 .dest_components = 0, 3025 .dest_bit_sizes = 0x0, 3026 .num_indices = 3, 3027 .index_map = { 3028 [NIR_INTRINSIC_BASE] = 1, 3029 [NIR_INTRINSIC_COMPONENT] = 2, 3030 [NIR_INTRINSIC_IO_SEMANTICS] = 3, 3031 }, 3032 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3033 }, 3034 { 3035 .name = "load_per_vertex_output", 3036 .num_srcs = 2, 3037 .src_components = { 3038 1, 1 3039 }, 3040 .has_dest = true, 3041 .dest_components = 0, 3042 .dest_bit_sizes = 0x0, 3043 .num_indices = 3, 3044 .index_map = { 3045 [NIR_INTRINSIC_BASE] = 1, 3046 [NIR_INTRINSIC_COMPONENT] = 2, 3047 [NIR_INTRINSIC_IO_SEMANTICS] = 3, 3048 }, 3049 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3050 }, 3051 { 3052 .name = "load_point_coord", 3053 .num_srcs = 0, 3054 .has_dest = true, 3055 .dest_components = 2, 3056 .dest_bit_sizes = 0x20, 3057 .num_indices = 0, 3058 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3059 }, 3060 { 3061 .name = "load_primitive_id", 3062 .num_srcs = 0, 3063 .has_dest = true, 3064 .dest_components = 1, 3065 .dest_bit_sizes = 0x20, 3066 .num_indices = 0, 3067 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3068 }, 3069 { 3070 .name = "load_primitive_location_ir3", 3071 .num_srcs = 0, 3072 .has_dest = true, 3073 .dest_components = 1, 3074 .dest_bit_sizes = 0x20, 3075 .num_indices = 1, 3076 .index_map = { 3077 [NIR_INTRINSIC_DRIVER_LOCATION] = 1, 3078 }, 3079 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3080 }, 3081 { 3082 .name = "load_push_constant", 3083 .num_srcs = 1, 3084 .src_components = { 3085 1 3086 }, 3087 .has_dest = true, 3088 .dest_components = 0, 3089 .dest_bit_sizes = 0x0, 3090 .num_indices = 2, 3091 .index_map = { 3092 [NIR_INTRINSIC_BASE] = 1, 3093 [NIR_INTRINSIC_RANGE] = 2, 3094 }, 3095 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3096 }, 3097 { 3098 .name = "load_raw_output_pan", 3099 .num_srcs = 1, 3100 .src_components = { 3101 1 3102 }, 3103 .has_dest = true, 3104 .dest_components = 0, 3105 .dest_bit_sizes = 0x0, 3106 .num_indices = 1, 3107 .index_map = { 3108 [NIR_INTRINSIC_BASE] = 1, 3109 }, 3110 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3111 }, 3112 { 3113 .name = "load_ray_flags", 3114 .num_srcs = 0, 3115 .has_dest = true, 3116 .dest_components = 1, 3117 .dest_bit_sizes = 0x20, 3118 .num_indices = 0, 3119 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3120 }, 3121 { 3122 .name = "load_ray_geometry_index", 3123 .num_srcs = 0, 3124 .has_dest = true, 3125 .dest_components = 1, 3126 .dest_bit_sizes = 0x20, 3127 .num_indices = 0, 3128 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3129 }, 3130 { 3131 .name = "load_ray_hit_kind", 3132 .num_srcs = 0, 3133 .has_dest = true, 3134 .dest_components = 1, 3135 .dest_bit_sizes = 0x20, 3136 .num_indices = 0, 3137 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3138 }, 3139 { 3140 .name = "load_ray_instance_custom_index", 3141 .num_srcs = 0, 3142 .has_dest = true, 3143 .dest_components = 1, 3144 .dest_bit_sizes = 0x20, 3145 .num_indices = 0, 3146 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3147 }, 3148 { 3149 .name = "load_ray_launch_id", 3150 .num_srcs = 0, 3151 .has_dest = true, 3152 .dest_components = 3, 3153 .dest_bit_sizes = 0x20, 3154 .num_indices = 0, 3155 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3156 }, 3157 { 3158 .name = "load_ray_launch_size", 3159 .num_srcs = 0, 3160 .has_dest = true, 3161 .dest_components = 3, 3162 .dest_bit_sizes = 0x20, 3163 .num_indices = 0, 3164 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3165 }, 3166 { 3167 .name = "load_ray_object_direction", 3168 .num_srcs = 0, 3169 .has_dest = true, 3170 .dest_components = 3, 3171 .dest_bit_sizes = 0x20, 3172 .num_indices = 0, 3173 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3174 }, 3175 { 3176 .name = "load_ray_object_origin", 3177 .num_srcs = 0, 3178 .has_dest = true, 3179 .dest_components = 3, 3180 .dest_bit_sizes = 0x20, 3181 .num_indices = 0, 3182 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3183 }, 3184 { 3185 .name = "load_ray_object_to_world", 3186 .num_srcs = 0, 3187 .has_dest = true, 3188 .dest_components = 3, 3189 .dest_bit_sizes = 0x20, 3190 .num_indices = 1, 3191 .index_map = { 3192 [NIR_INTRINSIC_COLUMN] = 1, 3193 }, 3194 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3195 }, 3196 { 3197 .name = "load_ray_t_max", 3198 .num_srcs = 0, 3199 .has_dest = true, 3200 .dest_components = 1, 3201 .dest_bit_sizes = 0x20, 3202 .num_indices = 0, 3203 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3204 }, 3205 { 3206 .name = "load_ray_t_min", 3207 .num_srcs = 0, 3208 .has_dest = true, 3209 .dest_components = 1, 3210 .dest_bit_sizes = 0x20, 3211 .num_indices = 0, 3212 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3213 }, 3214 { 3215 .name = "load_ray_world_direction", 3216 .num_srcs = 0, 3217 .has_dest = true, 3218 .dest_components = 3, 3219 .dest_bit_sizes = 0x20, 3220 .num_indices = 0, 3221 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3222 }, 3223 { 3224 .name = "load_ray_world_origin", 3225 .num_srcs = 0, 3226 .has_dest = true, 3227 .dest_components = 3, 3228 .dest_bit_sizes = 0x20, 3229 .num_indices = 0, 3230 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3231 }, 3232 { 3233 .name = "load_ray_world_to_object", 3234 .num_srcs = 0, 3235 .has_dest = true, 3236 .dest_components = 3, 3237 .dest_bit_sizes = 0x20, 3238 .num_indices = 1, 3239 .index_map = { 3240 [NIR_INTRINSIC_COLUMN] = 1, 3241 }, 3242 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3243 }, 3244 { 3245 .name = "load_reloc_const_intel", 3246 .num_srcs = 0, 3247 .has_dest = true, 3248 .dest_components = 1, 3249 .dest_bit_sizes = 0x20, 3250 .num_indices = 1, 3251 .index_map = { 3252 [NIR_INTRINSIC_PARAM_IDX] = 1, 3253 }, 3254 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3255 }, 3256 { 3257 .name = "load_sample_id", 3258 .num_srcs = 0, 3259 .has_dest = true, 3260 .dest_components = 1, 3261 .dest_bit_sizes = 0x20, 3262 .num_indices = 0, 3263 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3264 }, 3265 { 3266 .name = "load_sample_id_no_per_sample", 3267 .num_srcs = 0, 3268 .has_dest = true, 3269 .dest_components = 1, 3270 .dest_bit_sizes = 0x20, 3271 .num_indices = 0, 3272 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3273 }, 3274 { 3275 .name = "load_sample_mask_in", 3276 .num_srcs = 0, 3277 .has_dest = true, 3278 .dest_components = 1, 3279 .dest_bit_sizes = 0x20, 3280 .num_indices = 0, 3281 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3282 }, 3283 { 3284 .name = "load_sample_pos", 3285 .num_srcs = 0, 3286 .has_dest = true, 3287 .dest_components = 2, 3288 .dest_bit_sizes = 0x20, 3289 .num_indices = 0, 3290 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3291 }, 3292 { 3293 .name = "load_sample_pos_from_id", 3294 .num_srcs = 1, 3295 .src_components = { 3296 1 3297 }, 3298 .has_dest = true, 3299 .dest_components = 2, 3300 .dest_bit_sizes = 0x0, 3301 .num_indices = 0, 3302 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3303 }, 3304 { 3305 .name = "load_sampler_lod_parameters_pan", 3306 .num_srcs = 1, 3307 .src_components = { 3308 1 3309 }, 3310 .has_dest = true, 3311 .dest_components = 0, 3312 .dest_bit_sizes = 0x0, 3313 .num_indices = 0, 3314 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3315 }, 3316 { 3317 .name = "load_scratch", 3318 .num_srcs = 1, 3319 .src_components = { 3320 1 3321 }, 3322 .has_dest = true, 3323 .dest_components = 0, 3324 .dest_bit_sizes = 0x0, 3325 .num_indices = 2, 3326 .index_map = { 3327 [NIR_INTRINSIC_ALIGN_MUL] = 1, 3328 [NIR_INTRINSIC_ALIGN_OFFSET] = 2, 3329 }, 3330 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3331 }, 3332 { 3333 .name = "load_scratch_base_ptr", 3334 .num_srcs = 0, 3335 .has_dest = true, 3336 .dest_components = 0, 3337 .dest_bit_sizes = 0x60, 3338 .num_indices = 1, 3339 .index_map = { 3340 [NIR_INTRINSIC_BASE] = 1, 3341 }, 3342 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3343 }, 3344 { 3345 .name = "load_shader_record_ptr", 3346 .num_srcs = 0, 3347 .has_dest = true, 3348 .dest_components = 1, 3349 .dest_bit_sizes = 0x40, 3350 .num_indices = 0, 3351 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3352 }, 3353 { 3354 .name = "load_shared", 3355 .num_srcs = 1, 3356 .src_components = { 3357 1 3358 }, 3359 .has_dest = true, 3360 .dest_components = 0, 3361 .dest_bit_sizes = 0x0, 3362 .num_indices = 3, 3363 .index_map = { 3364 [NIR_INTRINSIC_BASE] = 1, 3365 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3366 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3367 }, 3368 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3369 }, 3370 { 3371 .name = "load_shared_base_ptr", 3372 .num_srcs = 0, 3373 .has_dest = true, 3374 .dest_components = 0, 3375 .dest_bit_sizes = 0x60, 3376 .num_indices = 0, 3377 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3378 }, 3379 { 3380 .name = "load_shared_block_intel", 3381 .num_srcs = 1, 3382 .src_components = { 3383 1 3384 }, 3385 .has_dest = true, 3386 .dest_components = 0, 3387 .dest_bit_sizes = 0x0, 3388 .num_indices = 3, 3389 .index_map = { 3390 [NIR_INTRINSIC_BASE] = 1, 3391 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3392 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3393 }, 3394 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3395 }, 3396 { 3397 .name = "load_shared_ir3", 3398 .num_srcs = 1, 3399 .src_components = { 3400 1 3401 }, 3402 .has_dest = true, 3403 .dest_components = 0, 3404 .dest_bit_sizes = 0x0, 3405 .num_indices = 3, 3406 .index_map = { 3407 [NIR_INTRINSIC_BASE] = 1, 3408 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3409 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3410 }, 3411 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3412 }, 3413 { 3414 .name = "load_simd_width_intel", 3415 .num_srcs = 0, 3416 .has_dest = true, 3417 .dest_components = 1, 3418 .dest_bit_sizes = 0x20, 3419 .num_indices = 0, 3420 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3421 }, 3422 { 3423 .name = "load_size_ir3", 3424 .num_srcs = 0, 3425 .has_dest = true, 3426 .dest_components = 1, 3427 .dest_bit_sizes = 0x0, 3428 .num_indices = 0, 3429 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3430 }, 3431 { 3432 .name = "load_ssbo", 3433 .num_srcs = 2, 3434 .src_components = { 3435 -1, 1 3436 }, 3437 .has_dest = true, 3438 .dest_components = 0, 3439 .dest_bit_sizes = 0x0, 3440 .num_indices = 3, 3441 .index_map = { 3442 [NIR_INTRINSIC_ACCESS] = 1, 3443 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3444 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3445 }, 3446 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3447 }, 3448 { 3449 .name = "load_ssbo_address", 3450 .num_srcs = 1, 3451 .src_components = { 3452 1 3453 }, 3454 .has_dest = true, 3455 .dest_components = 0, 3456 .dest_bit_sizes = 0x0, 3457 .num_indices = 0, 3458 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3459 }, 3460 { 3461 .name = "load_ssbo_block_intel", 3462 .num_srcs = 2, 3463 .src_components = { 3464 -1, 1 3465 }, 3466 .has_dest = true, 3467 .dest_components = 0, 3468 .dest_bit_sizes = 0x0, 3469 .num_indices = 3, 3470 .index_map = { 3471 [NIR_INTRINSIC_ACCESS] = 1, 3472 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3473 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3474 }, 3475 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3476 }, 3477 { 3478 .name = "load_ssbo_ir3", 3479 .num_srcs = 3, 3480 .src_components = { 3481 1, 1, 1 3482 }, 3483 .has_dest = true, 3484 .dest_components = 0, 3485 .dest_bit_sizes = 0x0, 3486 .num_indices = 3, 3487 .index_map = { 3488 [NIR_INTRINSIC_ACCESS] = 1, 3489 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3490 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3491 }, 3492 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3493 }, 3494 { 3495 .name = "load_subgroup_eq_mask", 3496 .num_srcs = 0, 3497 .has_dest = true, 3498 .dest_components = 0, 3499 .dest_bit_sizes = 0x60, 3500 .num_indices = 0, 3501 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3502 }, 3503 { 3504 .name = "load_subgroup_ge_mask", 3505 .num_srcs = 0, 3506 .has_dest = true, 3507 .dest_components = 0, 3508 .dest_bit_sizes = 0x60, 3509 .num_indices = 0, 3510 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3511 }, 3512 { 3513 .name = "load_subgroup_gt_mask", 3514 .num_srcs = 0, 3515 .has_dest = true, 3516 .dest_components = 0, 3517 .dest_bit_sizes = 0x60, 3518 .num_indices = 0, 3519 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3520 }, 3521 { 3522 .name = "load_subgroup_id", 3523 .num_srcs = 0, 3524 .has_dest = true, 3525 .dest_components = 1, 3526 .dest_bit_sizes = 0x20, 3527 .num_indices = 0, 3528 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3529 }, 3530 { 3531 .name = "load_subgroup_invocation", 3532 .num_srcs = 0, 3533 .has_dest = true, 3534 .dest_components = 1, 3535 .dest_bit_sizes = 0x20, 3536 .num_indices = 0, 3537 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3538 }, 3539 { 3540 .name = "load_subgroup_le_mask", 3541 .num_srcs = 0, 3542 .has_dest = true, 3543 .dest_components = 0, 3544 .dest_bit_sizes = 0x60, 3545 .num_indices = 0, 3546 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3547 }, 3548 { 3549 .name = "load_subgroup_lt_mask", 3550 .num_srcs = 0, 3551 .has_dest = true, 3552 .dest_components = 0, 3553 .dest_bit_sizes = 0x60, 3554 .num_indices = 0, 3555 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3556 }, 3557 { 3558 .name = "load_subgroup_size", 3559 .num_srcs = 0, 3560 .has_dest = true, 3561 .dest_components = 1, 3562 .dest_bit_sizes = 0x20, 3563 .num_indices = 0, 3564 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3565 }, 3566 { 3567 .name = "load_tcs_header_ir3", 3568 .num_srcs = 0, 3569 .has_dest = true, 3570 .dest_components = 1, 3571 .dest_bit_sizes = 0x20, 3572 .num_indices = 0, 3573 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3574 }, 3575 { 3576 .name = "load_tcs_in_param_base_r600", 3577 .num_srcs = 0, 3578 .has_dest = true, 3579 .dest_components = 4, 3580 .dest_bit_sizes = 0x20, 3581 .num_indices = 0, 3582 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3583 }, 3584 { 3585 .name = "load_tcs_out_param_base_r600", 3586 .num_srcs = 0, 3587 .has_dest = true, 3588 .dest_components = 4, 3589 .dest_bit_sizes = 0x20, 3590 .num_indices = 0, 3591 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3592 }, 3593 { 3594 .name = "load_tcs_rel_patch_id_r600", 3595 .num_srcs = 0, 3596 .has_dest = true, 3597 .dest_components = 1, 3598 .dest_bit_sizes = 0x20, 3599 .num_indices = 0, 3600 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3601 }, 3602 { 3603 .name = "load_tcs_tess_factor_base_r600", 3604 .num_srcs = 0, 3605 .has_dest = true, 3606 .dest_components = 1, 3607 .dest_bit_sizes = 0x20, 3608 .num_indices = 0, 3609 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3610 }, 3611 { 3612 .name = "load_tess_coord", 3613 .num_srcs = 0, 3614 .has_dest = true, 3615 .dest_components = 3, 3616 .dest_bit_sizes = 0x20, 3617 .num_indices = 0, 3618 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3619 }, 3620 { 3621 .name = "load_tess_factor_base_ir3", 3622 .num_srcs = 0, 3623 .has_dest = true, 3624 .dest_components = 2, 3625 .dest_bit_sizes = 0x20, 3626 .num_indices = 0, 3627 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3628 }, 3629 { 3630 .name = "load_tess_level_inner", 3631 .num_srcs = 0, 3632 .has_dest = true, 3633 .dest_components = 2, 3634 .dest_bit_sizes = 0x20, 3635 .num_indices = 0, 3636 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3637 }, 3638 { 3639 .name = "load_tess_level_inner_default", 3640 .num_srcs = 0, 3641 .has_dest = true, 3642 .dest_components = 2, 3643 .dest_bit_sizes = 0x20, 3644 .num_indices = 0, 3645 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3646 }, 3647 { 3648 .name = "load_tess_level_outer", 3649 .num_srcs = 0, 3650 .has_dest = true, 3651 .dest_components = 4, 3652 .dest_bit_sizes = 0x20, 3653 .num_indices = 0, 3654 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3655 }, 3656 { 3657 .name = "load_tess_level_outer_default", 3658 .num_srcs = 0, 3659 .has_dest = true, 3660 .dest_components = 4, 3661 .dest_bit_sizes = 0x20, 3662 .num_indices = 0, 3663 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3664 }, 3665 { 3666 .name = "load_tess_param_base_ir3", 3667 .num_srcs = 0, 3668 .has_dest = true, 3669 .dest_components = 2, 3670 .dest_bit_sizes = 0x20, 3671 .num_indices = 0, 3672 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3673 }, 3674 { 3675 .name = "load_tlb_color_v3d", 3676 .num_srcs = 1, 3677 .src_components = { 3678 1 3679 }, 3680 .has_dest = true, 3681 .dest_components = 0, 3682 .dest_bit_sizes = 0x0, 3683 .num_indices = 2, 3684 .index_map = { 3685 [NIR_INTRINSIC_BASE] = 1, 3686 [NIR_INTRINSIC_COMPONENT] = 2, 3687 }, 3688 .flags = 0, 3689 }, 3690 { 3691 .name = "load_ubo", 3692 .num_srcs = 2, 3693 .src_components = { 3694 -1, 1 3695 }, 3696 .has_dest = true, 3697 .dest_components = 0, 3698 .dest_bit_sizes = 0x0, 3699 .num_indices = 5, 3700 .index_map = { 3701 [NIR_INTRINSIC_ACCESS] = 1, 3702 [NIR_INTRINSIC_ALIGN_MUL] = 2, 3703 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 3704 [NIR_INTRINSIC_RANGE_BASE] = 4, 3705 [NIR_INTRINSIC_RANGE] = 5, 3706 }, 3707 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3708 }, 3709 { 3710 .name = "load_ubo_vec4", 3711 .num_srcs = 2, 3712 .src_components = { 3713 -1, 1 3714 }, 3715 .has_dest = true, 3716 .dest_components = 0, 3717 .dest_bit_sizes = 0x0, 3718 .num_indices = 2, 3719 .index_map = { 3720 [NIR_INTRINSIC_ACCESS] = 1, 3721 [NIR_INTRINSIC_COMPONENT] = 2, 3722 }, 3723 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3724 }, 3725 { 3726 .name = "load_uniform", 3727 .num_srcs = 1, 3728 .src_components = { 3729 1 3730 }, 3731 .has_dest = true, 3732 .dest_components = 0, 3733 .dest_bit_sizes = 0x0, 3734 .num_indices = 3, 3735 .index_map = { 3736 [NIR_INTRINSIC_BASE] = 1, 3737 [NIR_INTRINSIC_RANGE] = 2, 3738 [NIR_INTRINSIC_DEST_TYPE] = 3, 3739 }, 3740 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3741 }, 3742 { 3743 .name = "load_user_clip_plane", 3744 .num_srcs = 0, 3745 .has_dest = true, 3746 .dest_components = 4, 3747 .dest_bit_sizes = 0x20, 3748 .num_indices = 1, 3749 .index_map = { 3750 [NIR_INTRINSIC_UCP_ID] = 1, 3751 }, 3752 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3753 }, 3754 { 3755 .name = "load_user_data_amd", 3756 .num_srcs = 0, 3757 .has_dest = true, 3758 .dest_components = 4, 3759 .dest_bit_sizes = 0x20, 3760 .num_indices = 0, 3761 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3762 }, 3763 { 3764 .name = "load_vertex_id", 3765 .num_srcs = 0, 3766 .has_dest = true, 3767 .dest_components = 1, 3768 .dest_bit_sizes = 0x20, 3769 .num_indices = 0, 3770 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3771 }, 3772 { 3773 .name = "load_vertex_id_zero_base", 3774 .num_srcs = 0, 3775 .has_dest = true, 3776 .dest_components = 1, 3777 .dest_bit_sizes = 0x20, 3778 .num_indices = 0, 3779 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3780 }, 3781 { 3782 .name = "load_view_index", 3783 .num_srcs = 0, 3784 .has_dest = true, 3785 .dest_components = 1, 3786 .dest_bit_sizes = 0x20, 3787 .num_indices = 0, 3788 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3789 }, 3790 { 3791 .name = "load_viewport_offset", 3792 .num_srcs = 0, 3793 .has_dest = true, 3794 .dest_components = 3, 3795 .dest_bit_sizes = 0x20, 3796 .num_indices = 0, 3797 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3798 }, 3799 { 3800 .name = "load_viewport_scale", 3801 .num_srcs = 0, 3802 .has_dest = true, 3803 .dest_components = 3, 3804 .dest_bit_sizes = 0x20, 3805 .num_indices = 0, 3806 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3807 }, 3808 { 3809 .name = "load_viewport_x_scale", 3810 .num_srcs = 0, 3811 .has_dest = true, 3812 .dest_components = 1, 3813 .dest_bit_sizes = 0x20, 3814 .num_indices = 0, 3815 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3816 }, 3817 { 3818 .name = "load_viewport_y_scale", 3819 .num_srcs = 0, 3820 .has_dest = true, 3821 .dest_components = 1, 3822 .dest_bit_sizes = 0x20, 3823 .num_indices = 0, 3824 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3825 }, 3826 { 3827 .name = "load_viewport_z_offset", 3828 .num_srcs = 0, 3829 .has_dest = true, 3830 .dest_components = 1, 3831 .dest_bit_sizes = 0x20, 3832 .num_indices = 0, 3833 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3834 }, 3835 { 3836 .name = "load_viewport_z_scale", 3837 .num_srcs = 0, 3838 .has_dest = true, 3839 .dest_components = 1, 3840 .dest_bit_sizes = 0x20, 3841 .num_indices = 0, 3842 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3843 }, 3844 { 3845 .name = "load_vs_primitive_stride_ir3", 3846 .num_srcs = 0, 3847 .has_dest = true, 3848 .dest_components = 1, 3849 .dest_bit_sizes = 0x20, 3850 .num_indices = 0, 3851 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3852 }, 3853 { 3854 .name = "load_vs_vertex_stride_ir3", 3855 .num_srcs = 0, 3856 .has_dest = true, 3857 .dest_components = 1, 3858 .dest_bit_sizes = 0x20, 3859 .num_indices = 0, 3860 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3861 }, 3862 { 3863 .name = "load_vulkan_descriptor", 3864 .num_srcs = 1, 3865 .src_components = { 3866 -1 3867 }, 3868 .has_dest = true, 3869 .dest_components = 0, 3870 .dest_bit_sizes = 0x0, 3871 .num_indices = 1, 3872 .index_map = { 3873 [NIR_INTRINSIC_DESC_TYPE] = 1, 3874 }, 3875 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3876 }, 3877 { 3878 .name = "load_work_dim", 3879 .num_srcs = 0, 3880 .has_dest = true, 3881 .dest_components = 1, 3882 .dest_bit_sizes = 0x20, 3883 .num_indices = 0, 3884 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3885 }, 3886 { 3887 .name = "load_work_group_id", 3888 .num_srcs = 0, 3889 .has_dest = true, 3890 .dest_components = 3, 3891 .dest_bit_sizes = 0x60, 3892 .num_indices = 0, 3893 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3894 }, 3895 { 3896 .name = "load_work_group_id_zero_base", 3897 .num_srcs = 0, 3898 .has_dest = true, 3899 .dest_components = 3, 3900 .dest_bit_sizes = 0x20, 3901 .num_indices = 0, 3902 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 3903 }, 3904 { 3905 .name = "masked_swizzle_amd", 3906 .num_srcs = 1, 3907 .src_components = { 3908 0 3909 }, 3910 .has_dest = true, 3911 .dest_components = 0, 3912 .dest_bit_sizes = 0x0, 3913 .num_indices = 1, 3914 .index_map = { 3915 [NIR_INTRINSIC_SWIZZLE_MASK] = 1, 3916 }, 3917 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3918 }, 3919 { 3920 .name = "mbcnt_amd", 3921 .num_srcs = 1, 3922 .src_components = { 3923 1 3924 }, 3925 .has_dest = true, 3926 .dest_components = 1, 3927 .dest_bit_sizes = 0x0, 3928 .num_indices = 0, 3929 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 3930 }, 3931 { 3932 .name = "memcpy_deref", 3933 .num_srcs = 3, 3934 .src_components = { 3935 -1, -1, 1 3936 }, 3937 .has_dest = false, 3938 .dest_components = 0, 3939 .dest_bit_sizes = 0x0, 3940 .num_indices = 2, 3941 .index_map = { 3942 [NIR_INTRINSIC_DST_ACCESS] = 1, 3943 [NIR_INTRINSIC_SRC_ACCESS] = 2, 3944 }, 3945 .flags = 0, 3946 }, 3947 { 3948 .name = "memory_barrier", 3949 .num_srcs = 0, 3950 .has_dest = false, 3951 .dest_components = 0, 3952 .dest_bit_sizes = 0x0, 3953 .num_indices = 0, 3954 .flags = 0, 3955 }, 3956 { 3957 .name = "memory_barrier_atomic_counter", 3958 .num_srcs = 0, 3959 .has_dest = false, 3960 .dest_components = 0, 3961 .dest_bit_sizes = 0x0, 3962 .num_indices = 0, 3963 .flags = 0, 3964 }, 3965 { 3966 .name = "memory_barrier_buffer", 3967 .num_srcs = 0, 3968 .has_dest = false, 3969 .dest_components = 0, 3970 .dest_bit_sizes = 0x0, 3971 .num_indices = 0, 3972 .flags = 0, 3973 }, 3974 { 3975 .name = "memory_barrier_image", 3976 .num_srcs = 0, 3977 .has_dest = false, 3978 .dest_components = 0, 3979 .dest_bit_sizes = 0x0, 3980 .num_indices = 0, 3981 .flags = 0, 3982 }, 3983 { 3984 .name = "memory_barrier_shared", 3985 .num_srcs = 0, 3986 .has_dest = false, 3987 .dest_components = 0, 3988 .dest_bit_sizes = 0x0, 3989 .num_indices = 0, 3990 .flags = 0, 3991 }, 3992 { 3993 .name = "memory_barrier_tcs_patch", 3994 .num_srcs = 0, 3995 .has_dest = false, 3996 .dest_components = 0, 3997 .dest_bit_sizes = 0x0, 3998 .num_indices = 0, 3999 .flags = 0, 4000 }, 4001 { 4002 .name = "nop", 4003 .num_srcs = 0, 4004 .has_dest = false, 4005 .dest_components = 0, 4006 .dest_bit_sizes = 0x0, 4007 .num_indices = 0, 4008 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4009 }, 4010 { 4011 .name = "quad_broadcast", 4012 .num_srcs = 2, 4013 .src_components = { 4014 0, 1 4015 }, 4016 .has_dest = true, 4017 .dest_components = 0, 4018 .dest_bit_sizes = 0x0, 4019 .num_indices = 0, 4020 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4021 }, 4022 { 4023 .name = "quad_swap_diagonal", 4024 .num_srcs = 1, 4025 .src_components = { 4026 0 4027 }, 4028 .has_dest = true, 4029 .dest_components = 0, 4030 .dest_bit_sizes = 0x0, 4031 .num_indices = 0, 4032 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4033 }, 4034 { 4035 .name = "quad_swap_horizontal", 4036 .num_srcs = 1, 4037 .src_components = { 4038 0 4039 }, 4040 .has_dest = true, 4041 .dest_components = 0, 4042 .dest_bit_sizes = 0x0, 4043 .num_indices = 0, 4044 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4045 }, 4046 { 4047 .name = "quad_swap_vertical", 4048 .num_srcs = 1, 4049 .src_components = { 4050 0 4051 }, 4052 .has_dest = true, 4053 .dest_components = 0, 4054 .dest_bit_sizes = 0x0, 4055 .num_indices = 0, 4056 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4057 }, 4058 { 4059 .name = "quad_swizzle_amd", 4060 .num_srcs = 1, 4061 .src_components = { 4062 0 4063 }, 4064 .has_dest = true, 4065 .dest_components = 0, 4066 .dest_bit_sizes = 0x0, 4067 .num_indices = 1, 4068 .index_map = { 4069 [NIR_INTRINSIC_SWIZZLE_MASK] = 1, 4070 }, 4071 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4072 }, 4073 { 4074 .name = "read_first_invocation", 4075 .num_srcs = 1, 4076 .src_components = { 4077 0 4078 }, 4079 .has_dest = true, 4080 .dest_components = 0, 4081 .dest_bit_sizes = 0x0, 4082 .num_indices = 0, 4083 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4084 }, 4085 { 4086 .name = "read_invocation", 4087 .num_srcs = 2, 4088 .src_components = { 4089 0, 1 4090 }, 4091 .has_dest = true, 4092 .dest_components = 0, 4093 .dest_bit_sizes = 0x0, 4094 .num_indices = 0, 4095 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4096 }, 4097 { 4098 .name = "reduce", 4099 .num_srcs = 1, 4100 .src_components = { 4101 0 4102 }, 4103 .has_dest = true, 4104 .dest_components = 0, 4105 .dest_bit_sizes = 0x0, 4106 .num_indices = 2, 4107 .index_map = { 4108 [NIR_INTRINSIC_REDUCTION_OP] = 1, 4109 [NIR_INTRINSIC_CLUSTER_SIZE] = 2, 4110 }, 4111 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4112 }, 4113 { 4114 .name = "report_ray_intersection", 4115 .num_srcs = 2, 4116 .src_components = { 4117 1, 1 4118 }, 4119 .has_dest = true, 4120 .dest_components = 1, 4121 .dest_bit_sizes = 0x0, 4122 .num_indices = 0, 4123 .flags = 0, 4124 }, 4125 { 4126 .name = "scoped_barrier", 4127 .num_srcs = 0, 4128 .has_dest = false, 4129 .dest_components = 0, 4130 .dest_bit_sizes = 0x0, 4131 .num_indices = 4, 4132 .index_map = { 4133 [NIR_INTRINSIC_EXECUTION_SCOPE] = 1, 4134 [NIR_INTRINSIC_MEMORY_SEMANTICS] = 2, 4135 [NIR_INTRINSIC_MEMORY_MODES] = 3, 4136 [NIR_INTRINSIC_MEMORY_SCOPE] = 4, 4137 }, 4138 .flags = 0, 4139 }, 4140 { 4141 .name = "set_vertex_and_primitive_count", 4142 .num_srcs = 2, 4143 .src_components = { 4144 1, 1 4145 }, 4146 .has_dest = false, 4147 .dest_components = 0, 4148 .dest_bit_sizes = 0x0, 4149 .num_indices = 1, 4150 .index_map = { 4151 [NIR_INTRINSIC_STREAM_ID] = 1, 4152 }, 4153 .flags = 0, 4154 }, 4155 { 4156 .name = "shader_clock", 4157 .num_srcs = 0, 4158 .has_dest = true, 4159 .dest_components = 2, 4160 .dest_bit_sizes = 0x0, 4161 .num_indices = 1, 4162 .index_map = { 4163 [NIR_INTRINSIC_MEMORY_SCOPE] = 1, 4164 }, 4165 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4166 }, 4167 { 4168 .name = "shared_atomic_add", 4169 .num_srcs = 2, 4170 .src_components = { 4171 1, 1 4172 }, 4173 .has_dest = true, 4174 .dest_components = 1, 4175 .dest_bit_sizes = 0x0, 4176 .num_indices = 1, 4177 .index_map = { 4178 [NIR_INTRINSIC_BASE] = 1, 4179 }, 4180 .flags = 0, 4181 }, 4182 { 4183 .name = "shared_atomic_and", 4184 .num_srcs = 2, 4185 .src_components = { 4186 1, 1 4187 }, 4188 .has_dest = true, 4189 .dest_components = 1, 4190 .dest_bit_sizes = 0x0, 4191 .num_indices = 1, 4192 .index_map = { 4193 [NIR_INTRINSIC_BASE] = 1, 4194 }, 4195 .flags = 0, 4196 }, 4197 { 4198 .name = "shared_atomic_comp_swap", 4199 .num_srcs = 3, 4200 .src_components = { 4201 1, 1, 1 4202 }, 4203 .has_dest = true, 4204 .dest_components = 1, 4205 .dest_bit_sizes = 0x0, 4206 .num_indices = 1, 4207 .index_map = { 4208 [NIR_INTRINSIC_BASE] = 1, 4209 }, 4210 .flags = 0, 4211 }, 4212 { 4213 .name = "shared_atomic_exchange", 4214 .num_srcs = 2, 4215 .src_components = { 4216 1, 1 4217 }, 4218 .has_dest = true, 4219 .dest_components = 1, 4220 .dest_bit_sizes = 0x0, 4221 .num_indices = 1, 4222 .index_map = { 4223 [NIR_INTRINSIC_BASE] = 1, 4224 }, 4225 .flags = 0, 4226 }, 4227 { 4228 .name = "shared_atomic_fadd", 4229 .num_srcs = 2, 4230 .src_components = { 4231 1, 1 4232 }, 4233 .has_dest = true, 4234 .dest_components = 1, 4235 .dest_bit_sizes = 0x0, 4236 .num_indices = 1, 4237 .index_map = { 4238 [NIR_INTRINSIC_BASE] = 1, 4239 }, 4240 .flags = 0, 4241 }, 4242 { 4243 .name = "shared_atomic_fcomp_swap", 4244 .num_srcs = 3, 4245 .src_components = { 4246 1, 1, 1 4247 }, 4248 .has_dest = true, 4249 .dest_components = 1, 4250 .dest_bit_sizes = 0x0, 4251 .num_indices = 1, 4252 .index_map = { 4253 [NIR_INTRINSIC_BASE] = 1, 4254 }, 4255 .flags = 0, 4256 }, 4257 { 4258 .name = "shared_atomic_fmax", 4259 .num_srcs = 2, 4260 .src_components = { 4261 1, 1 4262 }, 4263 .has_dest = true, 4264 .dest_components = 1, 4265 .dest_bit_sizes = 0x0, 4266 .num_indices = 1, 4267 .index_map = { 4268 [NIR_INTRINSIC_BASE] = 1, 4269 }, 4270 .flags = 0, 4271 }, 4272 { 4273 .name = "shared_atomic_fmin", 4274 .num_srcs = 2, 4275 .src_components = { 4276 1, 1 4277 }, 4278 .has_dest = true, 4279 .dest_components = 1, 4280 .dest_bit_sizes = 0x0, 4281 .num_indices = 1, 4282 .index_map = { 4283 [NIR_INTRINSIC_BASE] = 1, 4284 }, 4285 .flags = 0, 4286 }, 4287 { 4288 .name = "shared_atomic_imax", 4289 .num_srcs = 2, 4290 .src_components = { 4291 1, 1 4292 }, 4293 .has_dest = true, 4294 .dest_components = 1, 4295 .dest_bit_sizes = 0x0, 4296 .num_indices = 1, 4297 .index_map = { 4298 [NIR_INTRINSIC_BASE] = 1, 4299 }, 4300 .flags = 0, 4301 }, 4302 { 4303 .name = "shared_atomic_imin", 4304 .num_srcs = 2, 4305 .src_components = { 4306 1, 1 4307 }, 4308 .has_dest = true, 4309 .dest_components = 1, 4310 .dest_bit_sizes = 0x0, 4311 .num_indices = 1, 4312 .index_map = { 4313 [NIR_INTRINSIC_BASE] = 1, 4314 }, 4315 .flags = 0, 4316 }, 4317 { 4318 .name = "shared_atomic_or", 4319 .num_srcs = 2, 4320 .src_components = { 4321 1, 1 4322 }, 4323 .has_dest = true, 4324 .dest_components = 1, 4325 .dest_bit_sizes = 0x0, 4326 .num_indices = 1, 4327 .index_map = { 4328 [NIR_INTRINSIC_BASE] = 1, 4329 }, 4330 .flags = 0, 4331 }, 4332 { 4333 .name = "shared_atomic_umax", 4334 .num_srcs = 2, 4335 .src_components = { 4336 1, 1 4337 }, 4338 .has_dest = true, 4339 .dest_components = 1, 4340 .dest_bit_sizes = 0x0, 4341 .num_indices = 1, 4342 .index_map = { 4343 [NIR_INTRINSIC_BASE] = 1, 4344 }, 4345 .flags = 0, 4346 }, 4347 { 4348 .name = "shared_atomic_umin", 4349 .num_srcs = 2, 4350 .src_components = { 4351 1, 1 4352 }, 4353 .has_dest = true, 4354 .dest_components = 1, 4355 .dest_bit_sizes = 0x0, 4356 .num_indices = 1, 4357 .index_map = { 4358 [NIR_INTRINSIC_BASE] = 1, 4359 }, 4360 .flags = 0, 4361 }, 4362 { 4363 .name = "shared_atomic_xor", 4364 .num_srcs = 2, 4365 .src_components = { 4366 1, 1 4367 }, 4368 .has_dest = true, 4369 .dest_components = 1, 4370 .dest_bit_sizes = 0x0, 4371 .num_indices = 1, 4372 .index_map = { 4373 [NIR_INTRINSIC_BASE] = 1, 4374 }, 4375 .flags = 0, 4376 }, 4377 { 4378 .name = "shuffle", 4379 .num_srcs = 2, 4380 .src_components = { 4381 0, 1 4382 }, 4383 .has_dest = true, 4384 .dest_components = 0, 4385 .dest_bit_sizes = 0x0, 4386 .num_indices = 0, 4387 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4388 }, 4389 { 4390 .name = "shuffle_down", 4391 .num_srcs = 2, 4392 .src_components = { 4393 0, 1 4394 }, 4395 .has_dest = true, 4396 .dest_components = 0, 4397 .dest_bit_sizes = 0x0, 4398 .num_indices = 0, 4399 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4400 }, 4401 { 4402 .name = "shuffle_up", 4403 .num_srcs = 2, 4404 .src_components = { 4405 0, 1 4406 }, 4407 .has_dest = true, 4408 .dest_components = 0, 4409 .dest_bit_sizes = 0x0, 4410 .num_indices = 0, 4411 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4412 }, 4413 { 4414 .name = "shuffle_xor", 4415 .num_srcs = 2, 4416 .src_components = { 4417 0, 1 4418 }, 4419 .has_dest = true, 4420 .dest_components = 0, 4421 .dest_bit_sizes = 0x0, 4422 .num_indices = 0, 4423 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 4424 }, 4425 { 4426 .name = "ssbo_atomic_add", 4427 .num_srcs = 3, 4428 .src_components = { 4429 -1, 1, 1 4430 }, 4431 .has_dest = true, 4432 .dest_components = 1, 4433 .dest_bit_sizes = 0x0, 4434 .num_indices = 1, 4435 .index_map = { 4436 [NIR_INTRINSIC_ACCESS] = 1, 4437 }, 4438 .flags = 0, 4439 }, 4440 { 4441 .name = "ssbo_atomic_add_ir3", 4442 .num_srcs = 4, 4443 .src_components = { 4444 1, 1, 1, 1 4445 }, 4446 .has_dest = true, 4447 .dest_components = 1, 4448 .dest_bit_sizes = 0x0, 4449 .num_indices = 1, 4450 .index_map = { 4451 [NIR_INTRINSIC_ACCESS] = 1, 4452 }, 4453 .flags = 0, 4454 }, 4455 { 4456 .name = "ssbo_atomic_and", 4457 .num_srcs = 3, 4458 .src_components = { 4459 -1, 1, 1 4460 }, 4461 .has_dest = true, 4462 .dest_components = 1, 4463 .dest_bit_sizes = 0x0, 4464 .num_indices = 1, 4465 .index_map = { 4466 [NIR_INTRINSIC_ACCESS] = 1, 4467 }, 4468 .flags = 0, 4469 }, 4470 { 4471 .name = "ssbo_atomic_and_ir3", 4472 .num_srcs = 4, 4473 .src_components = { 4474 1, 1, 1, 1 4475 }, 4476 .has_dest = true, 4477 .dest_components = 1, 4478 .dest_bit_sizes = 0x0, 4479 .num_indices = 1, 4480 .index_map = { 4481 [NIR_INTRINSIC_ACCESS] = 1, 4482 }, 4483 .flags = 0, 4484 }, 4485 { 4486 .name = "ssbo_atomic_comp_swap", 4487 .num_srcs = 4, 4488 .src_components = { 4489 -1, 1, 1, 1 4490 }, 4491 .has_dest = true, 4492 .dest_components = 1, 4493 .dest_bit_sizes = 0x0, 4494 .num_indices = 1, 4495 .index_map = { 4496 [NIR_INTRINSIC_ACCESS] = 1, 4497 }, 4498 .flags = 0, 4499 }, 4500 { 4501 .name = "ssbo_atomic_comp_swap_ir3", 4502 .num_srcs = 5, 4503 .src_components = { 4504 1, 1, 1, 1, 1 4505 }, 4506 .has_dest = true, 4507 .dest_components = 1, 4508 .dest_bit_sizes = 0x0, 4509 .num_indices = 1, 4510 .index_map = { 4511 [NIR_INTRINSIC_ACCESS] = 1, 4512 }, 4513 .flags = 0, 4514 }, 4515 { 4516 .name = "ssbo_atomic_exchange", 4517 .num_srcs = 3, 4518 .src_components = { 4519 -1, 1, 1 4520 }, 4521 .has_dest = true, 4522 .dest_components = 1, 4523 .dest_bit_sizes = 0x0, 4524 .num_indices = 1, 4525 .index_map = { 4526 [NIR_INTRINSIC_ACCESS] = 1, 4527 }, 4528 .flags = 0, 4529 }, 4530 { 4531 .name = "ssbo_atomic_exchange_ir3", 4532 .num_srcs = 4, 4533 .src_components = { 4534 1, 1, 1, 1 4535 }, 4536 .has_dest = true, 4537 .dest_components = 1, 4538 .dest_bit_sizes = 0x0, 4539 .num_indices = 1, 4540 .index_map = { 4541 [NIR_INTRINSIC_ACCESS] = 1, 4542 }, 4543 .flags = 0, 4544 }, 4545 { 4546 .name = "ssbo_atomic_fadd", 4547 .num_srcs = 3, 4548 .src_components = { 4549 -1, 1, 1 4550 }, 4551 .has_dest = true, 4552 .dest_components = 1, 4553 .dest_bit_sizes = 0x0, 4554 .num_indices = 1, 4555 .index_map = { 4556 [NIR_INTRINSIC_ACCESS] = 1, 4557 }, 4558 .flags = 0, 4559 }, 4560 { 4561 .name = "ssbo_atomic_fcomp_swap", 4562 .num_srcs = 4, 4563 .src_components = { 4564 -1, 1, 1, 1 4565 }, 4566 .has_dest = true, 4567 .dest_components = 1, 4568 .dest_bit_sizes = 0x0, 4569 .num_indices = 1, 4570 .index_map = { 4571 [NIR_INTRINSIC_ACCESS] = 1, 4572 }, 4573 .flags = 0, 4574 }, 4575 { 4576 .name = "ssbo_atomic_fmax", 4577 .num_srcs = 3, 4578 .src_components = { 4579 -1, 1, 1 4580 }, 4581 .has_dest = true, 4582 .dest_components = 1, 4583 .dest_bit_sizes = 0x0, 4584 .num_indices = 1, 4585 .index_map = { 4586 [NIR_INTRINSIC_ACCESS] = 1, 4587 }, 4588 .flags = 0, 4589 }, 4590 { 4591 .name = "ssbo_atomic_fmin", 4592 .num_srcs = 3, 4593 .src_components = { 4594 -1, 1, 1 4595 }, 4596 .has_dest = true, 4597 .dest_components = 1, 4598 .dest_bit_sizes = 0x0, 4599 .num_indices = 1, 4600 .index_map = { 4601 [NIR_INTRINSIC_ACCESS] = 1, 4602 }, 4603 .flags = 0, 4604 }, 4605 { 4606 .name = "ssbo_atomic_imax", 4607 .num_srcs = 3, 4608 .src_components = { 4609 -1, 1, 1 4610 }, 4611 .has_dest = true, 4612 .dest_components = 1, 4613 .dest_bit_sizes = 0x0, 4614 .num_indices = 1, 4615 .index_map = { 4616 [NIR_INTRINSIC_ACCESS] = 1, 4617 }, 4618 .flags = 0, 4619 }, 4620 { 4621 .name = "ssbo_atomic_imax_ir3", 4622 .num_srcs = 4, 4623 .src_components = { 4624 1, 1, 1, 1 4625 }, 4626 .has_dest = true, 4627 .dest_components = 1, 4628 .dest_bit_sizes = 0x0, 4629 .num_indices = 1, 4630 .index_map = { 4631 [NIR_INTRINSIC_ACCESS] = 1, 4632 }, 4633 .flags = 0, 4634 }, 4635 { 4636 .name = "ssbo_atomic_imin", 4637 .num_srcs = 3, 4638 .src_components = { 4639 -1, 1, 1 4640 }, 4641 .has_dest = true, 4642 .dest_components = 1, 4643 .dest_bit_sizes = 0x0, 4644 .num_indices = 1, 4645 .index_map = { 4646 [NIR_INTRINSIC_ACCESS] = 1, 4647 }, 4648 .flags = 0, 4649 }, 4650 { 4651 .name = "ssbo_atomic_imin_ir3", 4652 .num_srcs = 4, 4653 .src_components = { 4654 1, 1, 1, 1 4655 }, 4656 .has_dest = true, 4657 .dest_components = 1, 4658 .dest_bit_sizes = 0x0, 4659 .num_indices = 1, 4660 .index_map = { 4661 [NIR_INTRINSIC_ACCESS] = 1, 4662 }, 4663 .flags = 0, 4664 }, 4665 { 4666 .name = "ssbo_atomic_or", 4667 .num_srcs = 3, 4668 .src_components = { 4669 -1, 1, 1 4670 }, 4671 .has_dest = true, 4672 .dest_components = 1, 4673 .dest_bit_sizes = 0x0, 4674 .num_indices = 1, 4675 .index_map = { 4676 [NIR_INTRINSIC_ACCESS] = 1, 4677 }, 4678 .flags = 0, 4679 }, 4680 { 4681 .name = "ssbo_atomic_or_ir3", 4682 .num_srcs = 4, 4683 .src_components = { 4684 1, 1, 1, 1 4685 }, 4686 .has_dest = true, 4687 .dest_components = 1, 4688 .dest_bit_sizes = 0x0, 4689 .num_indices = 1, 4690 .index_map = { 4691 [NIR_INTRINSIC_ACCESS] = 1, 4692 }, 4693 .flags = 0, 4694 }, 4695 { 4696 .name = "ssbo_atomic_umax", 4697 .num_srcs = 3, 4698 .src_components = { 4699 -1, 1, 1 4700 }, 4701 .has_dest = true, 4702 .dest_components = 1, 4703 .dest_bit_sizes = 0x0, 4704 .num_indices = 1, 4705 .index_map = { 4706 [NIR_INTRINSIC_ACCESS] = 1, 4707 }, 4708 .flags = 0, 4709 }, 4710 { 4711 .name = "ssbo_atomic_umax_ir3", 4712 .num_srcs = 4, 4713 .src_components = { 4714 1, 1, 1, 1 4715 }, 4716 .has_dest = true, 4717 .dest_components = 1, 4718 .dest_bit_sizes = 0x0, 4719 .num_indices = 1, 4720 .index_map = { 4721 [NIR_INTRINSIC_ACCESS] = 1, 4722 }, 4723 .flags = 0, 4724 }, 4725 { 4726 .name = "ssbo_atomic_umin", 4727 .num_srcs = 3, 4728 .src_components = { 4729 -1, 1, 1 4730 }, 4731 .has_dest = true, 4732 .dest_components = 1, 4733 .dest_bit_sizes = 0x0, 4734 .num_indices = 1, 4735 .index_map = { 4736 [NIR_INTRINSIC_ACCESS] = 1, 4737 }, 4738 .flags = 0, 4739 }, 4740 { 4741 .name = "ssbo_atomic_umin_ir3", 4742 .num_srcs = 4, 4743 .src_components = { 4744 1, 1, 1, 1 4745 }, 4746 .has_dest = true, 4747 .dest_components = 1, 4748 .dest_bit_sizes = 0x0, 4749 .num_indices = 1, 4750 .index_map = { 4751 [NIR_INTRINSIC_ACCESS] = 1, 4752 }, 4753 .flags = 0, 4754 }, 4755 { 4756 .name = "ssbo_atomic_xor", 4757 .num_srcs = 3, 4758 .src_components = { 4759 -1, 1, 1 4760 }, 4761 .has_dest = true, 4762 .dest_components = 1, 4763 .dest_bit_sizes = 0x0, 4764 .num_indices = 1, 4765 .index_map = { 4766 [NIR_INTRINSIC_ACCESS] = 1, 4767 }, 4768 .flags = 0, 4769 }, 4770 { 4771 .name = "ssbo_atomic_xor_ir3", 4772 .num_srcs = 4, 4773 .src_components = { 4774 1, 1, 1, 1 4775 }, 4776 .has_dest = true, 4777 .dest_components = 1, 4778 .dest_bit_sizes = 0x0, 4779 .num_indices = 1, 4780 .index_map = { 4781 [NIR_INTRINSIC_ACCESS] = 1, 4782 }, 4783 .flags = 0, 4784 }, 4785 { 4786 .name = "store_combined_output_pan", 4787 .num_srcs = 4, 4788 .src_components = { 4789 0, 1, 1, 1 4790 }, 4791 .has_dest = false, 4792 .dest_components = 0, 4793 .dest_bit_sizes = 0x0, 4794 .num_indices = 3, 4795 .index_map = { 4796 [NIR_INTRINSIC_BASE] = 1, 4797 [NIR_INTRINSIC_COMPONENT] = 2, 4798 [NIR_INTRINSIC_SRC_TYPE] = 3, 4799 }, 4800 .flags = 0, 4801 }, 4802 { 4803 .name = "store_deref", 4804 .num_srcs = 2, 4805 .src_components = { 4806 -1, 0 4807 }, 4808 .has_dest = false, 4809 .dest_components = 0, 4810 .dest_bit_sizes = 0x0, 4811 .num_indices = 2, 4812 .index_map = { 4813 [NIR_INTRINSIC_WRMASK] = 1, 4814 [NIR_INTRINSIC_ACCESS] = 2, 4815 }, 4816 .flags = 0, 4817 }, 4818 { 4819 .name = "store_deref_block_intel", 4820 .num_srcs = 2, 4821 .src_components = { 4822 -1, 0 4823 }, 4824 .has_dest = false, 4825 .dest_components = 0, 4826 .dest_bit_sizes = 0x0, 4827 .num_indices = 2, 4828 .index_map = { 4829 [NIR_INTRINSIC_WRMASK] = 1, 4830 [NIR_INTRINSIC_ACCESS] = 2, 4831 }, 4832 .flags = 0, 4833 }, 4834 { 4835 .name = "store_global", 4836 .num_srcs = 2, 4837 .src_components = { 4838 0, 1 4839 }, 4840 .has_dest = false, 4841 .dest_components = 0, 4842 .dest_bit_sizes = 0x0, 4843 .num_indices = 4, 4844 .index_map = { 4845 [NIR_INTRINSIC_WRMASK] = 1, 4846 [NIR_INTRINSIC_ACCESS] = 2, 4847 [NIR_INTRINSIC_ALIGN_MUL] = 3, 4848 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 4849 }, 4850 .flags = 0, 4851 }, 4852 { 4853 .name = "store_global_block_intel", 4854 .num_srcs = 2, 4855 .src_components = { 4856 0, 1 4857 }, 4858 .has_dest = false, 4859 .dest_components = 0, 4860 .dest_bit_sizes = 0x0, 4861 .num_indices = 4, 4862 .index_map = { 4863 [NIR_INTRINSIC_WRMASK] = 1, 4864 [NIR_INTRINSIC_ACCESS] = 2, 4865 [NIR_INTRINSIC_ALIGN_MUL] = 3, 4866 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 4867 }, 4868 .flags = 0, 4869 }, 4870 { 4871 .name = "store_global_ir3", 4872 .num_srcs = 3, 4873 .src_components = { 4874 0, 2, 1 4875 }, 4876 .has_dest = false, 4877 .dest_components = 0, 4878 .dest_bit_sizes = 0x0, 4879 .num_indices = 3, 4880 .index_map = { 4881 [NIR_INTRINSIC_ACCESS] = 1, 4882 [NIR_INTRINSIC_ALIGN_MUL] = 2, 4883 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 4884 }, 4885 .flags = 0, 4886 }, 4887 { 4888 .name = "store_local_shared_r600", 4889 .num_srcs = 2, 4890 .src_components = { 4891 0, 1 4892 }, 4893 .has_dest = false, 4894 .dest_components = 0, 4895 .dest_bit_sizes = 0x0, 4896 .num_indices = 1, 4897 .index_map = { 4898 [NIR_INTRINSIC_WRMASK] = 1, 4899 }, 4900 .flags = 0, 4901 }, 4902 { 4903 .name = "store_output", 4904 .num_srcs = 2, 4905 .src_components = { 4906 0, 1 4907 }, 4908 .has_dest = false, 4909 .dest_components = 0, 4910 .dest_bit_sizes = 0x0, 4911 .num_indices = 5, 4912 .index_map = { 4913 [NIR_INTRINSIC_BASE] = 1, 4914 [NIR_INTRINSIC_WRMASK] = 2, 4915 [NIR_INTRINSIC_COMPONENT] = 3, 4916 [NIR_INTRINSIC_SRC_TYPE] = 4, 4917 [NIR_INTRINSIC_IO_SEMANTICS] = 5, 4918 }, 4919 .flags = 0, 4920 }, 4921 { 4922 .name = "store_per_vertex_output", 4923 .num_srcs = 3, 4924 .src_components = { 4925 0, 1, 1 4926 }, 4927 .has_dest = false, 4928 .dest_components = 0, 4929 .dest_bit_sizes = 0x0, 4930 .num_indices = 4, 4931 .index_map = { 4932 [NIR_INTRINSIC_BASE] = 1, 4933 [NIR_INTRINSIC_WRMASK] = 2, 4934 [NIR_INTRINSIC_COMPONENT] = 3, 4935 [NIR_INTRINSIC_IO_SEMANTICS] = 4, 4936 }, 4937 .flags = 0, 4938 }, 4939 { 4940 .name = "store_raw_output_pan", 4941 .num_srcs = 1, 4942 .src_components = { 4943 0 4944 }, 4945 .has_dest = false, 4946 .dest_components = 0, 4947 .dest_bit_sizes = 0x0, 4948 .num_indices = 0, 4949 .flags = 0, 4950 }, 4951 { 4952 .name = "store_scratch", 4953 .num_srcs = 2, 4954 .src_components = { 4955 0, 1 4956 }, 4957 .has_dest = false, 4958 .dest_components = 0, 4959 .dest_bit_sizes = 0x0, 4960 .num_indices = 3, 4961 .index_map = { 4962 [NIR_INTRINSIC_ALIGN_MUL] = 1, 4963 [NIR_INTRINSIC_ALIGN_OFFSET] = 2, 4964 [NIR_INTRINSIC_WRMASK] = 3, 4965 }, 4966 .flags = 0, 4967 }, 4968 { 4969 .name = "store_shared", 4970 .num_srcs = 2, 4971 .src_components = { 4972 0, 1 4973 }, 4974 .has_dest = false, 4975 .dest_components = 0, 4976 .dest_bit_sizes = 0x0, 4977 .num_indices = 4, 4978 .index_map = { 4979 [NIR_INTRINSIC_BASE] = 1, 4980 [NIR_INTRINSIC_WRMASK] = 2, 4981 [NIR_INTRINSIC_ALIGN_MUL] = 3, 4982 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 4983 }, 4984 .flags = 0, 4985 }, 4986 { 4987 .name = "store_shared_block_intel", 4988 .num_srcs = 2, 4989 .src_components = { 4990 0, 1 4991 }, 4992 .has_dest = false, 4993 .dest_components = 0, 4994 .dest_bit_sizes = 0x0, 4995 .num_indices = 4, 4996 .index_map = { 4997 [NIR_INTRINSIC_BASE] = 1, 4998 [NIR_INTRINSIC_WRMASK] = 2, 4999 [NIR_INTRINSIC_ALIGN_MUL] = 3, 5000 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 5001 }, 5002 .flags = 0, 5003 }, 5004 { 5005 .name = "store_shared_ir3", 5006 .num_srcs = 2, 5007 .src_components = { 5008 0, 1 5009 }, 5010 .has_dest = false, 5011 .dest_components = 0, 5012 .dest_bit_sizes = 0x0, 5013 .num_indices = 3, 5014 .index_map = { 5015 [NIR_INTRINSIC_BASE] = 1, 5016 [NIR_INTRINSIC_ALIGN_MUL] = 2, 5017 [NIR_INTRINSIC_ALIGN_OFFSET] = 3, 5018 }, 5019 .flags = 0, 5020 }, 5021 { 5022 .name = "store_ssbo", 5023 .num_srcs = 3, 5024 .src_components = { 5025 0, -1, 1 5026 }, 5027 .has_dest = false, 5028 .dest_components = 0, 5029 .dest_bit_sizes = 0x0, 5030 .num_indices = 4, 5031 .index_map = { 5032 [NIR_INTRINSIC_WRMASK] = 1, 5033 [NIR_INTRINSIC_ACCESS] = 2, 5034 [NIR_INTRINSIC_ALIGN_MUL] = 3, 5035 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 5036 }, 5037 .flags = 0, 5038 }, 5039 { 5040 .name = "store_ssbo_block_intel", 5041 .num_srcs = 3, 5042 .src_components = { 5043 0, -1, 1 5044 }, 5045 .has_dest = false, 5046 .dest_components = 0, 5047 .dest_bit_sizes = 0x0, 5048 .num_indices = 4, 5049 .index_map = { 5050 [NIR_INTRINSIC_WRMASK] = 1, 5051 [NIR_INTRINSIC_ACCESS] = 2, 5052 [NIR_INTRINSIC_ALIGN_MUL] = 3, 5053 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 5054 }, 5055 .flags = 0, 5056 }, 5057 { 5058 .name = "store_ssbo_ir3", 5059 .num_srcs = 4, 5060 .src_components = { 5061 0, 1, 1, 1 5062 }, 5063 .has_dest = false, 5064 .dest_components = 0, 5065 .dest_bit_sizes = 0x0, 5066 .num_indices = 4, 5067 .index_map = { 5068 [NIR_INTRINSIC_WRMASK] = 1, 5069 [NIR_INTRINSIC_ACCESS] = 2, 5070 [NIR_INTRINSIC_ALIGN_MUL] = 3, 5071 [NIR_INTRINSIC_ALIGN_OFFSET] = 4, 5072 }, 5073 .flags = 0, 5074 }, 5075 { 5076 .name = "store_tf_r600", 5077 .num_srcs = 1, 5078 .src_components = { 5079 0 5080 }, 5081 .has_dest = false, 5082 .dest_components = 0, 5083 .dest_bit_sizes = 0x0, 5084 .num_indices = 0, 5085 .flags = 0, 5086 }, 5087 { 5088 .name = "store_tlb_sample_color_v3d", 5089 .num_srcs = 2, 5090 .src_components = { 5091 0, 1 5092 }, 5093 .has_dest = false, 5094 .dest_components = 0, 5095 .dest_bit_sizes = 0x0, 5096 .num_indices = 3, 5097 .index_map = { 5098 [NIR_INTRINSIC_BASE] = 1, 5099 [NIR_INTRINSIC_COMPONENT] = 2, 5100 [NIR_INTRINSIC_SRC_TYPE] = 3, 5101 }, 5102 .flags = 0, 5103 }, 5104 { 5105 .name = "terminate", 5106 .num_srcs = 0, 5107 .has_dest = false, 5108 .dest_components = 0, 5109 .dest_bit_sizes = 0x0, 5110 .num_indices = 0, 5111 .flags = 0, 5112 }, 5113 { 5114 .name = "terminate_if", 5115 .num_srcs = 1, 5116 .src_components = { 5117 1 5118 }, 5119 .has_dest = false, 5120 .dest_components = 0, 5121 .dest_bit_sizes = 0x0, 5122 .num_indices = 0, 5123 .flags = 0, 5124 }, 5125 { 5126 .name = "terminate_ray", 5127 .num_srcs = 0, 5128 .has_dest = false, 5129 .dest_components = 0, 5130 .dest_bit_sizes = 0x0, 5131 .num_indices = 0, 5132 .flags = 0, 5133 }, 5134 { 5135 .name = "trace_ray", 5136 .num_srcs = 11, 5137 .src_components = { 5138 -1, 1, 1, 1, 1, 1, 3, 1, 3, 1, -1 5139 }, 5140 .has_dest = false, 5141 .dest_components = 0, 5142 .dest_bit_sizes = 0x0, 5143 .num_indices = 0, 5144 .flags = 0, 5145 }, 5146 { 5147 .name = "vote_all", 5148 .num_srcs = 1, 5149 .src_components = { 5150 1 5151 }, 5152 .has_dest = true, 5153 .dest_components = 1, 5154 .dest_bit_sizes = 0x0, 5155 .num_indices = 0, 5156 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 5157 }, 5158 { 5159 .name = "vote_any", 5160 .num_srcs = 1, 5161 .src_components = { 5162 1 5163 }, 5164 .has_dest = true, 5165 .dest_components = 1, 5166 .dest_bit_sizes = 0x0, 5167 .num_indices = 0, 5168 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 5169 }, 5170 { 5171 .name = "vote_feq", 5172 .num_srcs = 1, 5173 .src_components = { 5174 0 5175 }, 5176 .has_dest = true, 5177 .dest_components = 1, 5178 .dest_bit_sizes = 0x0, 5179 .num_indices = 0, 5180 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 5181 }, 5182 { 5183 .name = "vote_ieq", 5184 .num_srcs = 1, 5185 .src_components = { 5186 0 5187 }, 5188 .has_dest = true, 5189 .dest_components = 1, 5190 .dest_bit_sizes = 0x0, 5191 .num_indices = 0, 5192 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 5193 }, 5194 { 5195 .name = "vulkan_resource_index", 5196 .num_srcs = 1, 5197 .src_components = { 5198 1 5199 }, 5200 .has_dest = true, 5201 .dest_components = 0, 5202 .dest_bit_sizes = 0x0, 5203 .num_indices = 3, 5204 .index_map = { 5205 [NIR_INTRINSIC_DESC_SET] = 1, 5206 [NIR_INTRINSIC_BINDING] = 2, 5207 [NIR_INTRINSIC_DESC_TYPE] = 3, 5208 }, 5209 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 5210 }, 5211 { 5212 .name = "vulkan_resource_reindex", 5213 .num_srcs = 2, 5214 .src_components = { 5215 0, 1 5216 }, 5217 .has_dest = true, 5218 .dest_components = 0, 5219 .dest_bit_sizes = 0x0, 5220 .num_indices = 1, 5221 .index_map = { 5222 [NIR_INTRINSIC_DESC_TYPE] = 1, 5223 }, 5224 .flags = NIR_INTRINSIC_CAN_ELIMINATE | NIR_INTRINSIC_CAN_REORDER, 5225 }, 5226 { 5227 .name = "write_invocation_amd", 5228 .num_srcs = 3, 5229 .src_components = { 5230 0, 0, 1 5231 }, 5232 .has_dest = true, 5233 .dest_components = 0, 5234 .dest_bit_sizes = 0x0, 5235 .num_indices = 0, 5236 .flags = NIR_INTRINSIC_CAN_ELIMINATE, 5237 }, 5238 }; 5239