1 // This file is auto-generated by vulkano autogen from SPIR-V grammar version 1.6.1. 2 // It should not be edited manually. Changes should be made by editing autogen. 3 4 #[derive(Clone, Debug, PartialEq, Eq)] 5 #[doc = "A parsed SPIR-V instruction."] 6 pub enum Instruction { 7 Nop, 8 Undef { 9 result_type_id: Id, 10 result_id: Id, 11 }, 12 SourceContinued { 13 continued_source: String, 14 }, 15 Source { 16 source_language: SourceLanguage, 17 version: u32, 18 file: Option<Id>, 19 source: Option<String>, 20 }, 21 SourceExtension { 22 extension: String, 23 }, 24 Name { 25 target: Id, 26 name: String, 27 }, 28 MemberName { 29 ty: Id, 30 member: u32, 31 name: String, 32 }, 33 String { 34 result_id: Id, 35 string: String, 36 }, 37 Line { 38 file: Id, 39 line: u32, 40 column: u32, 41 }, 42 Extension { 43 name: String, 44 }, 45 ExtInstImport { 46 result_id: Id, 47 name: String, 48 }, 49 ExtInst { 50 result_type_id: Id, 51 result_id: Id, 52 set: Id, 53 instruction: u32, 54 operands: Vec<Id>, 55 }, 56 MemoryModel { 57 addressing_model: AddressingModel, 58 memory_model: MemoryModel, 59 }, 60 EntryPoint { 61 execution_model: ExecutionModel, 62 entry_point: Id, 63 name: String, 64 interface: Vec<Id>, 65 }, 66 ExecutionMode { 67 entry_point: Id, 68 mode: ExecutionMode, 69 }, 70 Capability { 71 capability: Capability, 72 }, 73 TypeVoid { 74 result_id: Id, 75 }, 76 TypeBool { 77 result_id: Id, 78 }, 79 TypeInt { 80 result_id: Id, 81 width: u32, 82 signedness: u32, 83 }, 84 TypeFloat { 85 result_id: Id, 86 width: u32, 87 }, 88 TypeVector { 89 result_id: Id, 90 component_type: Id, 91 component_count: u32, 92 }, 93 TypeMatrix { 94 result_id: Id, 95 column_type: Id, 96 column_count: u32, 97 }, 98 TypeImage { 99 result_id: Id, 100 sampled_type: Id, 101 dim: Dim, 102 depth: u32, 103 arrayed: u32, 104 ms: u32, 105 sampled: u32, 106 image_format: ImageFormat, 107 access_qualifier: Option<AccessQualifier>, 108 }, 109 TypeSampler { 110 result_id: Id, 111 }, 112 TypeSampledImage { 113 result_id: Id, 114 image_type: Id, 115 }, 116 TypeArray { 117 result_id: Id, 118 element_type: Id, 119 length: Id, 120 }, 121 TypeRuntimeArray { 122 result_id: Id, 123 element_type: Id, 124 }, 125 TypeStruct { 126 result_id: Id, 127 member_types: Vec<Id>, 128 }, 129 TypeOpaque { 130 result_id: Id, 131 name: String, 132 }, 133 TypePointer { 134 result_id: Id, 135 storage_class: StorageClass, 136 ty: Id, 137 }, 138 TypeFunction { 139 result_id: Id, 140 return_type: Id, 141 parameter_types: Vec<Id>, 142 }, 143 TypeEvent { 144 result_id: Id, 145 }, 146 TypeDeviceEvent { 147 result_id: Id, 148 }, 149 TypeReserveId { 150 result_id: Id, 151 }, 152 TypeQueue { 153 result_id: Id, 154 }, 155 TypePipe { 156 result_id: Id, 157 qualifier: AccessQualifier, 158 }, 159 TypeForwardPointer { 160 pointer_type: Id, 161 storage_class: StorageClass, 162 }, 163 ConstantTrue { 164 result_type_id: Id, 165 result_id: Id, 166 }, 167 ConstantFalse { 168 result_type_id: Id, 169 result_id: Id, 170 }, 171 Constant { 172 result_type_id: Id, 173 result_id: Id, 174 value: Vec<u32>, 175 }, 176 ConstantComposite { 177 result_type_id: Id, 178 result_id: Id, 179 constituents: Vec<Id>, 180 }, 181 ConstantSampler { 182 result_type_id: Id, 183 result_id: Id, 184 sampler_addressing_mode: SamplerAddressingMode, 185 param: u32, 186 sampler_filter_mode: SamplerFilterMode, 187 }, 188 ConstantNull { 189 result_type_id: Id, 190 result_id: Id, 191 }, 192 SpecConstantTrue { 193 result_type_id: Id, 194 result_id: Id, 195 }, 196 SpecConstantFalse { 197 result_type_id: Id, 198 result_id: Id, 199 }, 200 SpecConstant { 201 result_type_id: Id, 202 result_id: Id, 203 value: Vec<u32>, 204 }, 205 SpecConstantComposite { 206 result_type_id: Id, 207 result_id: Id, 208 constituents: Vec<Id>, 209 }, 210 SpecConstantOp { 211 result_type_id: Id, 212 result_id: Id, 213 opcode: SpecConstantInstruction, 214 }, 215 Function { 216 result_type_id: Id, 217 result_id: Id, 218 function_control: FunctionControl, 219 function_type: Id, 220 }, 221 FunctionParameter { 222 result_type_id: Id, 223 result_id: Id, 224 }, 225 FunctionEnd, 226 FunctionCall { 227 result_type_id: Id, 228 result_id: Id, 229 function: Id, 230 arguments: Vec<Id>, 231 }, 232 Variable { 233 result_type_id: Id, 234 result_id: Id, 235 storage_class: StorageClass, 236 initializer: Option<Id>, 237 }, 238 ImageTexelPointer { 239 result_type_id: Id, 240 result_id: Id, 241 image: Id, 242 coordinate: Id, 243 sample: Id, 244 }, 245 Load { 246 result_type_id: Id, 247 result_id: Id, 248 pointer: Id, 249 memory_access: Option<MemoryAccess>, 250 }, 251 Store { 252 pointer: Id, 253 object: Id, 254 memory_access: Option<MemoryAccess>, 255 }, 256 CopyMemory { 257 target: Id, 258 source: Id, 259 memory_access1: Option<MemoryAccess>, 260 memory_access2: Option<MemoryAccess>, 261 }, 262 CopyMemorySized { 263 target: Id, 264 source: Id, 265 size: Id, 266 memory_access1: Option<MemoryAccess>, 267 memory_access2: Option<MemoryAccess>, 268 }, 269 AccessChain { 270 result_type_id: Id, 271 result_id: Id, 272 base: Id, 273 indexes: Vec<Id>, 274 }, 275 InBoundsAccessChain { 276 result_type_id: Id, 277 result_id: Id, 278 base: Id, 279 indexes: Vec<Id>, 280 }, 281 PtrAccessChain { 282 result_type_id: Id, 283 result_id: Id, 284 base: Id, 285 element: Id, 286 indexes: Vec<Id>, 287 }, 288 ArrayLength { 289 result_type_id: Id, 290 result_id: Id, 291 structure: Id, 292 array_member: u32, 293 }, 294 GenericPtrMemSemantics { 295 result_type_id: Id, 296 result_id: Id, 297 pointer: Id, 298 }, 299 InBoundsPtrAccessChain { 300 result_type_id: Id, 301 result_id: Id, 302 base: Id, 303 element: Id, 304 indexes: Vec<Id>, 305 }, 306 Decorate { 307 target: Id, 308 decoration: Decoration, 309 }, 310 MemberDecorate { 311 structure_type: Id, 312 member: u32, 313 decoration: Decoration, 314 }, 315 DecorationGroup { 316 result_id: Id, 317 }, 318 GroupDecorate { 319 decoration_group: Id, 320 targets: Vec<Id>, 321 }, 322 GroupMemberDecorate { 323 decoration_group: Id, 324 targets: Vec<(Id, u32)>, 325 }, 326 VectorExtractDynamic { 327 result_type_id: Id, 328 result_id: Id, 329 vector: Id, 330 index: Id, 331 }, 332 VectorInsertDynamic { 333 result_type_id: Id, 334 result_id: Id, 335 vector: Id, 336 component: Id, 337 index: Id, 338 }, 339 VectorShuffle { 340 result_type_id: Id, 341 result_id: Id, 342 vector_1: Id, 343 vector_2: Id, 344 components: Vec<u32>, 345 }, 346 CompositeConstruct { 347 result_type_id: Id, 348 result_id: Id, 349 constituents: Vec<Id>, 350 }, 351 CompositeExtract { 352 result_type_id: Id, 353 result_id: Id, 354 composite: Id, 355 indexes: Vec<u32>, 356 }, 357 CompositeInsert { 358 result_type_id: Id, 359 result_id: Id, 360 object: Id, 361 composite: Id, 362 indexes: Vec<u32>, 363 }, 364 CopyObject { 365 result_type_id: Id, 366 result_id: Id, 367 operand: Id, 368 }, 369 Transpose { 370 result_type_id: Id, 371 result_id: Id, 372 matrix: Id, 373 }, 374 SampledImage { 375 result_type_id: Id, 376 result_id: Id, 377 image: Id, 378 sampler: Id, 379 }, 380 ImageSampleImplicitLod { 381 result_type_id: Id, 382 result_id: Id, 383 sampled_image: Id, 384 coordinate: Id, 385 image_operands: Option<ImageOperands>, 386 }, 387 ImageSampleExplicitLod { 388 result_type_id: Id, 389 result_id: Id, 390 sampled_image: Id, 391 coordinate: Id, 392 image_operands: ImageOperands, 393 }, 394 ImageSampleDrefImplicitLod { 395 result_type_id: Id, 396 result_id: Id, 397 sampled_image: Id, 398 coordinate: Id, 399 dref: Id, 400 image_operands: Option<ImageOperands>, 401 }, 402 ImageSampleDrefExplicitLod { 403 result_type_id: Id, 404 result_id: Id, 405 sampled_image: Id, 406 coordinate: Id, 407 dref: Id, 408 image_operands: ImageOperands, 409 }, 410 ImageSampleProjImplicitLod { 411 result_type_id: Id, 412 result_id: Id, 413 sampled_image: Id, 414 coordinate: Id, 415 image_operands: Option<ImageOperands>, 416 }, 417 ImageSampleProjExplicitLod { 418 result_type_id: Id, 419 result_id: Id, 420 sampled_image: Id, 421 coordinate: Id, 422 image_operands: ImageOperands, 423 }, 424 ImageSampleProjDrefImplicitLod { 425 result_type_id: Id, 426 result_id: Id, 427 sampled_image: Id, 428 coordinate: Id, 429 dref: Id, 430 image_operands: Option<ImageOperands>, 431 }, 432 ImageSampleProjDrefExplicitLod { 433 result_type_id: Id, 434 result_id: Id, 435 sampled_image: Id, 436 coordinate: Id, 437 dref: Id, 438 image_operands: ImageOperands, 439 }, 440 ImageFetch { 441 result_type_id: Id, 442 result_id: Id, 443 image: Id, 444 coordinate: Id, 445 image_operands: Option<ImageOperands>, 446 }, 447 ImageGather { 448 result_type_id: Id, 449 result_id: Id, 450 sampled_image: Id, 451 coordinate: Id, 452 component: Id, 453 image_operands: Option<ImageOperands>, 454 }, 455 ImageDrefGather { 456 result_type_id: Id, 457 result_id: Id, 458 sampled_image: Id, 459 coordinate: Id, 460 dref: Id, 461 image_operands: Option<ImageOperands>, 462 }, 463 ImageRead { 464 result_type_id: Id, 465 result_id: Id, 466 image: Id, 467 coordinate: Id, 468 image_operands: Option<ImageOperands>, 469 }, 470 ImageWrite { 471 image: Id, 472 coordinate: Id, 473 texel: Id, 474 image_operands: Option<ImageOperands>, 475 }, 476 Image { 477 result_type_id: Id, 478 result_id: Id, 479 sampled_image: Id, 480 }, 481 ImageQueryFormat { 482 result_type_id: Id, 483 result_id: Id, 484 image: Id, 485 }, 486 ImageQueryOrder { 487 result_type_id: Id, 488 result_id: Id, 489 image: Id, 490 }, 491 ImageQuerySizeLod { 492 result_type_id: Id, 493 result_id: Id, 494 image: Id, 495 level_of_detail: Id, 496 }, 497 ImageQuerySize { 498 result_type_id: Id, 499 result_id: Id, 500 image: Id, 501 }, 502 ImageQueryLod { 503 result_type_id: Id, 504 result_id: Id, 505 sampled_image: Id, 506 coordinate: Id, 507 }, 508 ImageQueryLevels { 509 result_type_id: Id, 510 result_id: Id, 511 image: Id, 512 }, 513 ImageQuerySamples { 514 result_type_id: Id, 515 result_id: Id, 516 image: Id, 517 }, 518 ConvertFToU { 519 result_type_id: Id, 520 result_id: Id, 521 float_value: Id, 522 }, 523 ConvertFToS { 524 result_type_id: Id, 525 result_id: Id, 526 float_value: Id, 527 }, 528 ConvertSToF { 529 result_type_id: Id, 530 result_id: Id, 531 signed_value: Id, 532 }, 533 ConvertUToF { 534 result_type_id: Id, 535 result_id: Id, 536 unsigned_value: Id, 537 }, 538 UConvert { 539 result_type_id: Id, 540 result_id: Id, 541 unsigned_value: Id, 542 }, 543 SConvert { 544 result_type_id: Id, 545 result_id: Id, 546 signed_value: Id, 547 }, 548 FConvert { 549 result_type_id: Id, 550 result_id: Id, 551 float_value: Id, 552 }, 553 QuantizeToF16 { 554 result_type_id: Id, 555 result_id: Id, 556 value: Id, 557 }, 558 ConvertPtrToU { 559 result_type_id: Id, 560 result_id: Id, 561 pointer: Id, 562 }, 563 SatConvertSToU { 564 result_type_id: Id, 565 result_id: Id, 566 signed_value: Id, 567 }, 568 SatConvertUToS { 569 result_type_id: Id, 570 result_id: Id, 571 unsigned_value: Id, 572 }, 573 ConvertUToPtr { 574 result_type_id: Id, 575 result_id: Id, 576 integer_value: Id, 577 }, 578 PtrCastToGeneric { 579 result_type_id: Id, 580 result_id: Id, 581 pointer: Id, 582 }, 583 GenericCastToPtr { 584 result_type_id: Id, 585 result_id: Id, 586 pointer: Id, 587 }, 588 GenericCastToPtrExplicit { 589 result_type_id: Id, 590 result_id: Id, 591 pointer: Id, 592 storage: StorageClass, 593 }, 594 Bitcast { 595 result_type_id: Id, 596 result_id: Id, 597 operand: Id, 598 }, 599 SNegate { 600 result_type_id: Id, 601 result_id: Id, 602 operand: Id, 603 }, 604 FNegate { 605 result_type_id: Id, 606 result_id: Id, 607 operand: Id, 608 }, 609 IAdd { 610 result_type_id: Id, 611 result_id: Id, 612 operand1: Id, 613 operand2: Id, 614 }, 615 FAdd { 616 result_type_id: Id, 617 result_id: Id, 618 operand1: Id, 619 operand2: Id, 620 }, 621 ISub { 622 result_type_id: Id, 623 result_id: Id, 624 operand1: Id, 625 operand2: Id, 626 }, 627 FSub { 628 result_type_id: Id, 629 result_id: Id, 630 operand1: Id, 631 operand2: Id, 632 }, 633 IMul { 634 result_type_id: Id, 635 result_id: Id, 636 operand1: Id, 637 operand2: Id, 638 }, 639 FMul { 640 result_type_id: Id, 641 result_id: Id, 642 operand1: Id, 643 operand2: Id, 644 }, 645 UDiv { 646 result_type_id: Id, 647 result_id: Id, 648 operand1: Id, 649 operand2: Id, 650 }, 651 SDiv { 652 result_type_id: Id, 653 result_id: Id, 654 operand1: Id, 655 operand2: Id, 656 }, 657 FDiv { 658 result_type_id: Id, 659 result_id: Id, 660 operand1: Id, 661 operand2: Id, 662 }, 663 UMod { 664 result_type_id: Id, 665 result_id: Id, 666 operand1: Id, 667 operand2: Id, 668 }, 669 SRem { 670 result_type_id: Id, 671 result_id: Id, 672 operand1: Id, 673 operand2: Id, 674 }, 675 SMod { 676 result_type_id: Id, 677 result_id: Id, 678 operand1: Id, 679 operand2: Id, 680 }, 681 FRem { 682 result_type_id: Id, 683 result_id: Id, 684 operand1: Id, 685 operand2: Id, 686 }, 687 FMod { 688 result_type_id: Id, 689 result_id: Id, 690 operand1: Id, 691 operand2: Id, 692 }, 693 VectorTimesScalar { 694 result_type_id: Id, 695 result_id: Id, 696 vector: Id, 697 scalar: Id, 698 }, 699 MatrixTimesScalar { 700 result_type_id: Id, 701 result_id: Id, 702 matrix: Id, 703 scalar: Id, 704 }, 705 VectorTimesMatrix { 706 result_type_id: Id, 707 result_id: Id, 708 vector: Id, 709 matrix: Id, 710 }, 711 MatrixTimesVector { 712 result_type_id: Id, 713 result_id: Id, 714 matrix: Id, 715 vector: Id, 716 }, 717 MatrixTimesMatrix { 718 result_type_id: Id, 719 result_id: Id, 720 left_matrix: Id, 721 right_matrix: Id, 722 }, 723 OuterProduct { 724 result_type_id: Id, 725 result_id: Id, 726 vector_1: Id, 727 vector_2: Id, 728 }, 729 Dot { 730 result_type_id: Id, 731 result_id: Id, 732 vector_1: Id, 733 vector_2: Id, 734 }, 735 IAddCarry { 736 result_type_id: Id, 737 result_id: Id, 738 operand1: Id, 739 operand2: Id, 740 }, 741 ISubBorrow { 742 result_type_id: Id, 743 result_id: Id, 744 operand1: Id, 745 operand2: Id, 746 }, 747 UMulExtended { 748 result_type_id: Id, 749 result_id: Id, 750 operand1: Id, 751 operand2: Id, 752 }, 753 SMulExtended { 754 result_type_id: Id, 755 result_id: Id, 756 operand1: Id, 757 operand2: Id, 758 }, 759 Any { 760 result_type_id: Id, 761 result_id: Id, 762 vector: Id, 763 }, 764 All { 765 result_type_id: Id, 766 result_id: Id, 767 vector: Id, 768 }, 769 IsNan { 770 result_type_id: Id, 771 result_id: Id, 772 x: Id, 773 }, 774 IsInf { 775 result_type_id: Id, 776 result_id: Id, 777 x: Id, 778 }, 779 IsFinite { 780 result_type_id: Id, 781 result_id: Id, 782 x: Id, 783 }, 784 IsNormal { 785 result_type_id: Id, 786 result_id: Id, 787 x: Id, 788 }, 789 SignBitSet { 790 result_type_id: Id, 791 result_id: Id, 792 x: Id, 793 }, 794 LessOrGreater { 795 result_type_id: Id, 796 result_id: Id, 797 x: Id, 798 y: Id, 799 }, 800 Ordered { 801 result_type_id: Id, 802 result_id: Id, 803 x: Id, 804 y: Id, 805 }, 806 Unordered { 807 result_type_id: Id, 808 result_id: Id, 809 x: Id, 810 y: Id, 811 }, 812 LogicalEqual { 813 result_type_id: Id, 814 result_id: Id, 815 operand1: Id, 816 operand2: Id, 817 }, 818 LogicalNotEqual { 819 result_type_id: Id, 820 result_id: Id, 821 operand1: Id, 822 operand2: Id, 823 }, 824 LogicalOr { 825 result_type_id: Id, 826 result_id: Id, 827 operand1: Id, 828 operand2: Id, 829 }, 830 LogicalAnd { 831 result_type_id: Id, 832 result_id: Id, 833 operand1: Id, 834 operand2: Id, 835 }, 836 LogicalNot { 837 result_type_id: Id, 838 result_id: Id, 839 operand: Id, 840 }, 841 Select { 842 result_type_id: Id, 843 result_id: Id, 844 condition: Id, 845 object_1: Id, 846 object_2: Id, 847 }, 848 IEqual { 849 result_type_id: Id, 850 result_id: Id, 851 operand1: Id, 852 operand2: Id, 853 }, 854 INotEqual { 855 result_type_id: Id, 856 result_id: Id, 857 operand1: Id, 858 operand2: Id, 859 }, 860 UGreaterThan { 861 result_type_id: Id, 862 result_id: Id, 863 operand1: Id, 864 operand2: Id, 865 }, 866 SGreaterThan { 867 result_type_id: Id, 868 result_id: Id, 869 operand1: Id, 870 operand2: Id, 871 }, 872 UGreaterThanEqual { 873 result_type_id: Id, 874 result_id: Id, 875 operand1: Id, 876 operand2: Id, 877 }, 878 SGreaterThanEqual { 879 result_type_id: Id, 880 result_id: Id, 881 operand1: Id, 882 operand2: Id, 883 }, 884 ULessThan { 885 result_type_id: Id, 886 result_id: Id, 887 operand1: Id, 888 operand2: Id, 889 }, 890 SLessThan { 891 result_type_id: Id, 892 result_id: Id, 893 operand1: Id, 894 operand2: Id, 895 }, 896 ULessThanEqual { 897 result_type_id: Id, 898 result_id: Id, 899 operand1: Id, 900 operand2: Id, 901 }, 902 SLessThanEqual { 903 result_type_id: Id, 904 result_id: Id, 905 operand1: Id, 906 operand2: Id, 907 }, 908 FOrdEqual { 909 result_type_id: Id, 910 result_id: Id, 911 operand1: Id, 912 operand2: Id, 913 }, 914 FUnordEqual { 915 result_type_id: Id, 916 result_id: Id, 917 operand1: Id, 918 operand2: Id, 919 }, 920 FOrdNotEqual { 921 result_type_id: Id, 922 result_id: Id, 923 operand1: Id, 924 operand2: Id, 925 }, 926 FUnordNotEqual { 927 result_type_id: Id, 928 result_id: Id, 929 operand1: Id, 930 operand2: Id, 931 }, 932 FOrdLessThan { 933 result_type_id: Id, 934 result_id: Id, 935 operand1: Id, 936 operand2: Id, 937 }, 938 FUnordLessThan { 939 result_type_id: Id, 940 result_id: Id, 941 operand1: Id, 942 operand2: Id, 943 }, 944 FOrdGreaterThan { 945 result_type_id: Id, 946 result_id: Id, 947 operand1: Id, 948 operand2: Id, 949 }, 950 FUnordGreaterThan { 951 result_type_id: Id, 952 result_id: Id, 953 operand1: Id, 954 operand2: Id, 955 }, 956 FOrdLessThanEqual { 957 result_type_id: Id, 958 result_id: Id, 959 operand1: Id, 960 operand2: Id, 961 }, 962 FUnordLessThanEqual { 963 result_type_id: Id, 964 result_id: Id, 965 operand1: Id, 966 operand2: Id, 967 }, 968 FOrdGreaterThanEqual { 969 result_type_id: Id, 970 result_id: Id, 971 operand1: Id, 972 operand2: Id, 973 }, 974 FUnordGreaterThanEqual { 975 result_type_id: Id, 976 result_id: Id, 977 operand1: Id, 978 operand2: Id, 979 }, 980 ShiftRightLogical { 981 result_type_id: Id, 982 result_id: Id, 983 base: Id, 984 shift: Id, 985 }, 986 ShiftRightArithmetic { 987 result_type_id: Id, 988 result_id: Id, 989 base: Id, 990 shift: Id, 991 }, 992 ShiftLeftLogical { 993 result_type_id: Id, 994 result_id: Id, 995 base: Id, 996 shift: Id, 997 }, 998 BitwiseOr { 999 result_type_id: Id, 1000 result_id: Id, 1001 operand1: Id, 1002 operand2: Id, 1003 }, 1004 BitwiseXor { 1005 result_type_id: Id, 1006 result_id: Id, 1007 operand1: Id, 1008 operand2: Id, 1009 }, 1010 BitwiseAnd { 1011 result_type_id: Id, 1012 result_id: Id, 1013 operand1: Id, 1014 operand2: Id, 1015 }, 1016 Not { 1017 result_type_id: Id, 1018 result_id: Id, 1019 operand: Id, 1020 }, 1021 BitFieldInsert { 1022 result_type_id: Id, 1023 result_id: Id, 1024 base: Id, 1025 insert: Id, 1026 offset: Id, 1027 count: Id, 1028 }, 1029 BitFieldSExtract { 1030 result_type_id: Id, 1031 result_id: Id, 1032 base: Id, 1033 offset: Id, 1034 count: Id, 1035 }, 1036 BitFieldUExtract { 1037 result_type_id: Id, 1038 result_id: Id, 1039 base: Id, 1040 offset: Id, 1041 count: Id, 1042 }, 1043 BitReverse { 1044 result_type_id: Id, 1045 result_id: Id, 1046 base: Id, 1047 }, 1048 BitCount { 1049 result_type_id: Id, 1050 result_id: Id, 1051 base: Id, 1052 }, 1053 DPdx { 1054 result_type_id: Id, 1055 result_id: Id, 1056 p: Id, 1057 }, 1058 DPdy { 1059 result_type_id: Id, 1060 result_id: Id, 1061 p: Id, 1062 }, 1063 Fwidth { 1064 result_type_id: Id, 1065 result_id: Id, 1066 p: Id, 1067 }, 1068 DPdxFine { 1069 result_type_id: Id, 1070 result_id: Id, 1071 p: Id, 1072 }, 1073 DPdyFine { 1074 result_type_id: Id, 1075 result_id: Id, 1076 p: Id, 1077 }, 1078 FwidthFine { 1079 result_type_id: Id, 1080 result_id: Id, 1081 p: Id, 1082 }, 1083 DPdxCoarse { 1084 result_type_id: Id, 1085 result_id: Id, 1086 p: Id, 1087 }, 1088 DPdyCoarse { 1089 result_type_id: Id, 1090 result_id: Id, 1091 p: Id, 1092 }, 1093 FwidthCoarse { 1094 result_type_id: Id, 1095 result_id: Id, 1096 p: Id, 1097 }, 1098 EmitVertex, 1099 EndPrimitive, 1100 EmitStreamVertex { 1101 stream: Id, 1102 }, 1103 EndStreamPrimitive { 1104 stream: Id, 1105 }, 1106 ControlBarrier { 1107 execution: Id, 1108 memory: Id, 1109 semantics: Id, 1110 }, 1111 MemoryBarrier { 1112 memory: Id, 1113 semantics: Id, 1114 }, 1115 AtomicLoad { 1116 result_type_id: Id, 1117 result_id: Id, 1118 pointer: Id, 1119 memory: Id, 1120 semantics: Id, 1121 }, 1122 AtomicStore { 1123 pointer: Id, 1124 memory: Id, 1125 semantics: Id, 1126 value: Id, 1127 }, 1128 AtomicExchange { 1129 result_type_id: Id, 1130 result_id: Id, 1131 pointer: Id, 1132 memory: Id, 1133 semantics: Id, 1134 value: Id, 1135 }, 1136 AtomicCompareExchange { 1137 result_type_id: Id, 1138 result_id: Id, 1139 pointer: Id, 1140 memory: Id, 1141 equal: Id, 1142 unequal: Id, 1143 value: Id, 1144 comparator: Id, 1145 }, 1146 AtomicCompareExchangeWeak { 1147 result_type_id: Id, 1148 result_id: Id, 1149 pointer: Id, 1150 memory: Id, 1151 equal: Id, 1152 unequal: Id, 1153 value: Id, 1154 comparator: Id, 1155 }, 1156 AtomicIIncrement { 1157 result_type_id: Id, 1158 result_id: Id, 1159 pointer: Id, 1160 memory: Id, 1161 semantics: Id, 1162 }, 1163 AtomicIDecrement { 1164 result_type_id: Id, 1165 result_id: Id, 1166 pointer: Id, 1167 memory: Id, 1168 semantics: Id, 1169 }, 1170 AtomicIAdd { 1171 result_type_id: Id, 1172 result_id: Id, 1173 pointer: Id, 1174 memory: Id, 1175 semantics: Id, 1176 value: Id, 1177 }, 1178 AtomicISub { 1179 result_type_id: Id, 1180 result_id: Id, 1181 pointer: Id, 1182 memory: Id, 1183 semantics: Id, 1184 value: Id, 1185 }, 1186 AtomicSMin { 1187 result_type_id: Id, 1188 result_id: Id, 1189 pointer: Id, 1190 memory: Id, 1191 semantics: Id, 1192 value: Id, 1193 }, 1194 AtomicUMin { 1195 result_type_id: Id, 1196 result_id: Id, 1197 pointer: Id, 1198 memory: Id, 1199 semantics: Id, 1200 value: Id, 1201 }, 1202 AtomicSMax { 1203 result_type_id: Id, 1204 result_id: Id, 1205 pointer: Id, 1206 memory: Id, 1207 semantics: Id, 1208 value: Id, 1209 }, 1210 AtomicUMax { 1211 result_type_id: Id, 1212 result_id: Id, 1213 pointer: Id, 1214 memory: Id, 1215 semantics: Id, 1216 value: Id, 1217 }, 1218 AtomicAnd { 1219 result_type_id: Id, 1220 result_id: Id, 1221 pointer: Id, 1222 memory: Id, 1223 semantics: Id, 1224 value: Id, 1225 }, 1226 AtomicOr { 1227 result_type_id: Id, 1228 result_id: Id, 1229 pointer: Id, 1230 memory: Id, 1231 semantics: Id, 1232 value: Id, 1233 }, 1234 AtomicXor { 1235 result_type_id: Id, 1236 result_id: Id, 1237 pointer: Id, 1238 memory: Id, 1239 semantics: Id, 1240 value: Id, 1241 }, 1242 Phi { 1243 result_type_id: Id, 1244 result_id: Id, 1245 variable_parent: Vec<(Id, Id)>, 1246 }, 1247 LoopMerge { 1248 merge_block: Id, 1249 continue_target: Id, 1250 loop_control: LoopControl, 1251 }, 1252 SelectionMerge { 1253 merge_block: Id, 1254 selection_control: SelectionControl, 1255 }, 1256 Label { 1257 result_id: Id, 1258 }, 1259 Branch { 1260 target_label: Id, 1261 }, 1262 BranchConditional { 1263 condition: Id, 1264 true_label: Id, 1265 false_label: Id, 1266 branch_weights: Vec<u32>, 1267 }, 1268 Switch { 1269 selector: Id, 1270 default: Id, 1271 target: Vec<(u32, Id)>, 1272 }, 1273 Kill, 1274 Return, 1275 ReturnValue { 1276 value: Id, 1277 }, 1278 Unreachable, 1279 LifetimeStart { 1280 pointer: Id, 1281 size: u32, 1282 }, 1283 LifetimeStop { 1284 pointer: Id, 1285 size: u32, 1286 }, 1287 GroupAsyncCopy { 1288 result_type_id: Id, 1289 result_id: Id, 1290 execution: Id, 1291 destination: Id, 1292 source: Id, 1293 num_elements: Id, 1294 stride: Id, 1295 event: Id, 1296 }, 1297 GroupWaitEvents { 1298 execution: Id, 1299 num_events: Id, 1300 events_list: Id, 1301 }, 1302 GroupAll { 1303 result_type_id: Id, 1304 result_id: Id, 1305 execution: Id, 1306 predicate: Id, 1307 }, 1308 GroupAny { 1309 result_type_id: Id, 1310 result_id: Id, 1311 execution: Id, 1312 predicate: Id, 1313 }, 1314 GroupBroadcast { 1315 result_type_id: Id, 1316 result_id: Id, 1317 execution: Id, 1318 value: Id, 1319 local_id: Id, 1320 }, 1321 GroupIAdd { 1322 result_type_id: Id, 1323 result_id: Id, 1324 execution: Id, 1325 operation: GroupOperation, 1326 x: Id, 1327 }, 1328 GroupFAdd { 1329 result_type_id: Id, 1330 result_id: Id, 1331 execution: Id, 1332 operation: GroupOperation, 1333 x: Id, 1334 }, 1335 GroupFMin { 1336 result_type_id: Id, 1337 result_id: Id, 1338 execution: Id, 1339 operation: GroupOperation, 1340 x: Id, 1341 }, 1342 GroupUMin { 1343 result_type_id: Id, 1344 result_id: Id, 1345 execution: Id, 1346 operation: GroupOperation, 1347 x: Id, 1348 }, 1349 GroupSMin { 1350 result_type_id: Id, 1351 result_id: Id, 1352 execution: Id, 1353 operation: GroupOperation, 1354 x: Id, 1355 }, 1356 GroupFMax { 1357 result_type_id: Id, 1358 result_id: Id, 1359 execution: Id, 1360 operation: GroupOperation, 1361 x: Id, 1362 }, 1363 GroupUMax { 1364 result_type_id: Id, 1365 result_id: Id, 1366 execution: Id, 1367 operation: GroupOperation, 1368 x: Id, 1369 }, 1370 GroupSMax { 1371 result_type_id: Id, 1372 result_id: Id, 1373 execution: Id, 1374 operation: GroupOperation, 1375 x: Id, 1376 }, 1377 ReadPipe { 1378 result_type_id: Id, 1379 result_id: Id, 1380 pipe: Id, 1381 pointer: Id, 1382 packet_size: Id, 1383 packet_alignment: Id, 1384 }, 1385 WritePipe { 1386 result_type_id: Id, 1387 result_id: Id, 1388 pipe: Id, 1389 pointer: Id, 1390 packet_size: Id, 1391 packet_alignment: Id, 1392 }, 1393 ReservedReadPipe { 1394 result_type_id: Id, 1395 result_id: Id, 1396 pipe: Id, 1397 reserve_id: Id, 1398 index: Id, 1399 pointer: Id, 1400 packet_size: Id, 1401 packet_alignment: Id, 1402 }, 1403 ReservedWritePipe { 1404 result_type_id: Id, 1405 result_id: Id, 1406 pipe: Id, 1407 reserve_id: Id, 1408 index: Id, 1409 pointer: Id, 1410 packet_size: Id, 1411 packet_alignment: Id, 1412 }, 1413 ReserveReadPipePackets { 1414 result_type_id: Id, 1415 result_id: Id, 1416 pipe: Id, 1417 num_packets: Id, 1418 packet_size: Id, 1419 packet_alignment: Id, 1420 }, 1421 ReserveWritePipePackets { 1422 result_type_id: Id, 1423 result_id: Id, 1424 pipe: Id, 1425 num_packets: Id, 1426 packet_size: Id, 1427 packet_alignment: Id, 1428 }, 1429 CommitReadPipe { 1430 pipe: Id, 1431 reserve_id: Id, 1432 packet_size: Id, 1433 packet_alignment: Id, 1434 }, 1435 CommitWritePipe { 1436 pipe: Id, 1437 reserve_id: Id, 1438 packet_size: Id, 1439 packet_alignment: Id, 1440 }, 1441 IsValidReserveId { 1442 result_type_id: Id, 1443 result_id: Id, 1444 reserve_id: Id, 1445 }, 1446 GetNumPipePackets { 1447 result_type_id: Id, 1448 result_id: Id, 1449 pipe: Id, 1450 packet_size: Id, 1451 packet_alignment: Id, 1452 }, 1453 GetMaxPipePackets { 1454 result_type_id: Id, 1455 result_id: Id, 1456 pipe: Id, 1457 packet_size: Id, 1458 packet_alignment: Id, 1459 }, 1460 GroupReserveReadPipePackets { 1461 result_type_id: Id, 1462 result_id: Id, 1463 execution: Id, 1464 pipe: Id, 1465 num_packets: Id, 1466 packet_size: Id, 1467 packet_alignment: Id, 1468 }, 1469 GroupReserveWritePipePackets { 1470 result_type_id: Id, 1471 result_id: Id, 1472 execution: Id, 1473 pipe: Id, 1474 num_packets: Id, 1475 packet_size: Id, 1476 packet_alignment: Id, 1477 }, 1478 GroupCommitReadPipe { 1479 execution: Id, 1480 pipe: Id, 1481 reserve_id: Id, 1482 packet_size: Id, 1483 packet_alignment: Id, 1484 }, 1485 GroupCommitWritePipe { 1486 execution: Id, 1487 pipe: Id, 1488 reserve_id: Id, 1489 packet_size: Id, 1490 packet_alignment: Id, 1491 }, 1492 EnqueueMarker { 1493 result_type_id: Id, 1494 result_id: Id, 1495 queue: Id, 1496 num_events: Id, 1497 wait_events: Id, 1498 ret_event: Id, 1499 }, 1500 EnqueueKernel { 1501 result_type_id: Id, 1502 result_id: Id, 1503 queue: Id, 1504 flags: Id, 1505 nd_range: Id, 1506 num_events: Id, 1507 wait_events: Id, 1508 ret_event: Id, 1509 invoke: Id, 1510 param: Id, 1511 param_size: Id, 1512 param_align: Id, 1513 local_size: Vec<Id>, 1514 }, 1515 GetKernelNDrangeSubGroupCount { 1516 result_type_id: Id, 1517 result_id: Id, 1518 nd_range: Id, 1519 invoke: Id, 1520 param: Id, 1521 param_size: Id, 1522 param_align: Id, 1523 }, 1524 GetKernelNDrangeMaxSubGroupSize { 1525 result_type_id: Id, 1526 result_id: Id, 1527 nd_range: Id, 1528 invoke: Id, 1529 param: Id, 1530 param_size: Id, 1531 param_align: Id, 1532 }, 1533 GetKernelWorkGroupSize { 1534 result_type_id: Id, 1535 result_id: Id, 1536 invoke: Id, 1537 param: Id, 1538 param_size: Id, 1539 param_align: Id, 1540 }, 1541 GetKernelPreferredWorkGroupSizeMultiple { 1542 result_type_id: Id, 1543 result_id: Id, 1544 invoke: Id, 1545 param: Id, 1546 param_size: Id, 1547 param_align: Id, 1548 }, 1549 RetainEvent { 1550 event: Id, 1551 }, 1552 ReleaseEvent { 1553 event: Id, 1554 }, 1555 CreateUserEvent { 1556 result_type_id: Id, 1557 result_id: Id, 1558 }, 1559 IsValidEvent { 1560 result_type_id: Id, 1561 result_id: Id, 1562 event: Id, 1563 }, 1564 SetUserEventStatus { 1565 event: Id, 1566 status: Id, 1567 }, 1568 CaptureEventProfilingInfo { 1569 event: Id, 1570 profiling_info: Id, 1571 value: Id, 1572 }, 1573 GetDefaultQueue { 1574 result_type_id: Id, 1575 result_id: Id, 1576 }, 1577 BuildNDRange { 1578 result_type_id: Id, 1579 result_id: Id, 1580 global_work_size: Id, 1581 local_work_size: Id, 1582 global_work_offset: Id, 1583 }, 1584 ImageSparseSampleImplicitLod { 1585 result_type_id: Id, 1586 result_id: Id, 1587 sampled_image: Id, 1588 coordinate: Id, 1589 image_operands: Option<ImageOperands>, 1590 }, 1591 ImageSparseSampleExplicitLod { 1592 result_type_id: Id, 1593 result_id: Id, 1594 sampled_image: Id, 1595 coordinate: Id, 1596 image_operands: ImageOperands, 1597 }, 1598 ImageSparseSampleDrefImplicitLod { 1599 result_type_id: Id, 1600 result_id: Id, 1601 sampled_image: Id, 1602 coordinate: Id, 1603 dref: Id, 1604 image_operands: Option<ImageOperands>, 1605 }, 1606 ImageSparseSampleDrefExplicitLod { 1607 result_type_id: Id, 1608 result_id: Id, 1609 sampled_image: Id, 1610 coordinate: Id, 1611 dref: Id, 1612 image_operands: ImageOperands, 1613 }, 1614 ImageSparseSampleProjImplicitLod { 1615 result_type_id: Id, 1616 result_id: Id, 1617 sampled_image: Id, 1618 coordinate: Id, 1619 image_operands: Option<ImageOperands>, 1620 }, 1621 ImageSparseSampleProjExplicitLod { 1622 result_type_id: Id, 1623 result_id: Id, 1624 sampled_image: Id, 1625 coordinate: Id, 1626 image_operands: ImageOperands, 1627 }, 1628 ImageSparseSampleProjDrefImplicitLod { 1629 result_type_id: Id, 1630 result_id: Id, 1631 sampled_image: Id, 1632 coordinate: Id, 1633 dref: Id, 1634 image_operands: Option<ImageOperands>, 1635 }, 1636 ImageSparseSampleProjDrefExplicitLod { 1637 result_type_id: Id, 1638 result_id: Id, 1639 sampled_image: Id, 1640 coordinate: Id, 1641 dref: Id, 1642 image_operands: ImageOperands, 1643 }, 1644 ImageSparseFetch { 1645 result_type_id: Id, 1646 result_id: Id, 1647 image: Id, 1648 coordinate: Id, 1649 image_operands: Option<ImageOperands>, 1650 }, 1651 ImageSparseGather { 1652 result_type_id: Id, 1653 result_id: Id, 1654 sampled_image: Id, 1655 coordinate: Id, 1656 component: Id, 1657 image_operands: Option<ImageOperands>, 1658 }, 1659 ImageSparseDrefGather { 1660 result_type_id: Id, 1661 result_id: Id, 1662 sampled_image: Id, 1663 coordinate: Id, 1664 dref: Id, 1665 image_operands: Option<ImageOperands>, 1666 }, 1667 ImageSparseTexelsResident { 1668 result_type_id: Id, 1669 result_id: Id, 1670 resident_code: Id, 1671 }, 1672 NoLine, 1673 AtomicFlagTestAndSet { 1674 result_type_id: Id, 1675 result_id: Id, 1676 pointer: Id, 1677 memory: Id, 1678 semantics: Id, 1679 }, 1680 AtomicFlagClear { 1681 pointer: Id, 1682 memory: Id, 1683 semantics: Id, 1684 }, 1685 ImageSparseRead { 1686 result_type_id: Id, 1687 result_id: Id, 1688 image: Id, 1689 coordinate: Id, 1690 image_operands: Option<ImageOperands>, 1691 }, 1692 SizeOf { 1693 result_type_id: Id, 1694 result_id: Id, 1695 pointer: Id, 1696 }, 1697 TypePipeStorage { 1698 result_id: Id, 1699 }, 1700 ConstantPipeStorage { 1701 result_type_id: Id, 1702 result_id: Id, 1703 packet_size: u32, 1704 packet_alignment: u32, 1705 capacity: u32, 1706 }, 1707 CreatePipeFromPipeStorage { 1708 result_type_id: Id, 1709 result_id: Id, 1710 pipe_storage: Id, 1711 }, 1712 GetKernelLocalSizeForSubgroupCount { 1713 result_type_id: Id, 1714 result_id: Id, 1715 subgroup_count: Id, 1716 invoke: Id, 1717 param: Id, 1718 param_size: Id, 1719 param_align: Id, 1720 }, 1721 GetKernelMaxNumSubgroups { 1722 result_type_id: Id, 1723 result_id: Id, 1724 invoke: Id, 1725 param: Id, 1726 param_size: Id, 1727 param_align: Id, 1728 }, 1729 TypeNamedBarrier { 1730 result_id: Id, 1731 }, 1732 NamedBarrierInitialize { 1733 result_type_id: Id, 1734 result_id: Id, 1735 subgroup_count: Id, 1736 }, 1737 MemoryNamedBarrier { 1738 named_barrier: Id, 1739 memory: Id, 1740 semantics: Id, 1741 }, 1742 ModuleProcessed { 1743 process: String, 1744 }, 1745 ExecutionModeId { 1746 entry_point: Id, 1747 mode: ExecutionMode, 1748 }, 1749 DecorateId { 1750 target: Id, 1751 decoration: Decoration, 1752 }, 1753 GroupNonUniformElect { 1754 result_type_id: Id, 1755 result_id: Id, 1756 execution: Id, 1757 }, 1758 GroupNonUniformAll { 1759 result_type_id: Id, 1760 result_id: Id, 1761 execution: Id, 1762 predicate: Id, 1763 }, 1764 GroupNonUniformAny { 1765 result_type_id: Id, 1766 result_id: Id, 1767 execution: Id, 1768 predicate: Id, 1769 }, 1770 GroupNonUniformAllEqual { 1771 result_type_id: Id, 1772 result_id: Id, 1773 execution: Id, 1774 value: Id, 1775 }, 1776 GroupNonUniformBroadcast { 1777 result_type_id: Id, 1778 result_id: Id, 1779 execution: Id, 1780 value: Id, 1781 id: Id, 1782 }, 1783 GroupNonUniformBroadcastFirst { 1784 result_type_id: Id, 1785 result_id: Id, 1786 execution: Id, 1787 value: Id, 1788 }, 1789 GroupNonUniformBallot { 1790 result_type_id: Id, 1791 result_id: Id, 1792 execution: Id, 1793 predicate: Id, 1794 }, 1795 GroupNonUniformInverseBallot { 1796 result_type_id: Id, 1797 result_id: Id, 1798 execution: Id, 1799 value: Id, 1800 }, 1801 GroupNonUniformBallotBitExtract { 1802 result_type_id: Id, 1803 result_id: Id, 1804 execution: Id, 1805 value: Id, 1806 index: Id, 1807 }, 1808 GroupNonUniformBallotBitCount { 1809 result_type_id: Id, 1810 result_id: Id, 1811 execution: Id, 1812 operation: GroupOperation, 1813 value: Id, 1814 }, 1815 GroupNonUniformBallotFindLSB { 1816 result_type_id: Id, 1817 result_id: Id, 1818 execution: Id, 1819 value: Id, 1820 }, 1821 GroupNonUniformBallotFindMSB { 1822 result_type_id: Id, 1823 result_id: Id, 1824 execution: Id, 1825 value: Id, 1826 }, 1827 GroupNonUniformShuffle { 1828 result_type_id: Id, 1829 result_id: Id, 1830 execution: Id, 1831 value: Id, 1832 id: Id, 1833 }, 1834 GroupNonUniformShuffleXor { 1835 result_type_id: Id, 1836 result_id: Id, 1837 execution: Id, 1838 value: Id, 1839 mask: Id, 1840 }, 1841 GroupNonUniformShuffleUp { 1842 result_type_id: Id, 1843 result_id: Id, 1844 execution: Id, 1845 value: Id, 1846 delta: Id, 1847 }, 1848 GroupNonUniformShuffleDown { 1849 result_type_id: Id, 1850 result_id: Id, 1851 execution: Id, 1852 value: Id, 1853 delta: Id, 1854 }, 1855 GroupNonUniformIAdd { 1856 result_type_id: Id, 1857 result_id: Id, 1858 execution: Id, 1859 operation: GroupOperation, 1860 value: Id, 1861 cluster_size: Option<Id>, 1862 }, 1863 GroupNonUniformFAdd { 1864 result_type_id: Id, 1865 result_id: Id, 1866 execution: Id, 1867 operation: GroupOperation, 1868 value: Id, 1869 cluster_size: Option<Id>, 1870 }, 1871 GroupNonUniformIMul { 1872 result_type_id: Id, 1873 result_id: Id, 1874 execution: Id, 1875 operation: GroupOperation, 1876 value: Id, 1877 cluster_size: Option<Id>, 1878 }, 1879 GroupNonUniformFMul { 1880 result_type_id: Id, 1881 result_id: Id, 1882 execution: Id, 1883 operation: GroupOperation, 1884 value: Id, 1885 cluster_size: Option<Id>, 1886 }, 1887 GroupNonUniformSMin { 1888 result_type_id: Id, 1889 result_id: Id, 1890 execution: Id, 1891 operation: GroupOperation, 1892 value: Id, 1893 cluster_size: Option<Id>, 1894 }, 1895 GroupNonUniformUMin { 1896 result_type_id: Id, 1897 result_id: Id, 1898 execution: Id, 1899 operation: GroupOperation, 1900 value: Id, 1901 cluster_size: Option<Id>, 1902 }, 1903 GroupNonUniformFMin { 1904 result_type_id: Id, 1905 result_id: Id, 1906 execution: Id, 1907 operation: GroupOperation, 1908 value: Id, 1909 cluster_size: Option<Id>, 1910 }, 1911 GroupNonUniformSMax { 1912 result_type_id: Id, 1913 result_id: Id, 1914 execution: Id, 1915 operation: GroupOperation, 1916 value: Id, 1917 cluster_size: Option<Id>, 1918 }, 1919 GroupNonUniformUMax { 1920 result_type_id: Id, 1921 result_id: Id, 1922 execution: Id, 1923 operation: GroupOperation, 1924 value: Id, 1925 cluster_size: Option<Id>, 1926 }, 1927 GroupNonUniformFMax { 1928 result_type_id: Id, 1929 result_id: Id, 1930 execution: Id, 1931 operation: GroupOperation, 1932 value: Id, 1933 cluster_size: Option<Id>, 1934 }, 1935 GroupNonUniformBitwiseAnd { 1936 result_type_id: Id, 1937 result_id: Id, 1938 execution: Id, 1939 operation: GroupOperation, 1940 value: Id, 1941 cluster_size: Option<Id>, 1942 }, 1943 GroupNonUniformBitwiseOr { 1944 result_type_id: Id, 1945 result_id: Id, 1946 execution: Id, 1947 operation: GroupOperation, 1948 value: Id, 1949 cluster_size: Option<Id>, 1950 }, 1951 GroupNonUniformBitwiseXor { 1952 result_type_id: Id, 1953 result_id: Id, 1954 execution: Id, 1955 operation: GroupOperation, 1956 value: Id, 1957 cluster_size: Option<Id>, 1958 }, 1959 GroupNonUniformLogicalAnd { 1960 result_type_id: Id, 1961 result_id: Id, 1962 execution: Id, 1963 operation: GroupOperation, 1964 value: Id, 1965 cluster_size: Option<Id>, 1966 }, 1967 GroupNonUniformLogicalOr { 1968 result_type_id: Id, 1969 result_id: Id, 1970 execution: Id, 1971 operation: GroupOperation, 1972 value: Id, 1973 cluster_size: Option<Id>, 1974 }, 1975 GroupNonUniformLogicalXor { 1976 result_type_id: Id, 1977 result_id: Id, 1978 execution: Id, 1979 operation: GroupOperation, 1980 value: Id, 1981 cluster_size: Option<Id>, 1982 }, 1983 GroupNonUniformQuadBroadcast { 1984 result_type_id: Id, 1985 result_id: Id, 1986 execution: Id, 1987 value: Id, 1988 index: Id, 1989 }, 1990 GroupNonUniformQuadSwap { 1991 result_type_id: Id, 1992 result_id: Id, 1993 execution: Id, 1994 value: Id, 1995 direction: Id, 1996 }, 1997 CopyLogical { 1998 result_type_id: Id, 1999 result_id: Id, 2000 operand: Id, 2001 }, 2002 PtrEqual { 2003 result_type_id: Id, 2004 result_id: Id, 2005 operand1: Id, 2006 operand2: Id, 2007 }, 2008 PtrNotEqual { 2009 result_type_id: Id, 2010 result_id: Id, 2011 operand1: Id, 2012 operand2: Id, 2013 }, 2014 PtrDiff { 2015 result_type_id: Id, 2016 result_id: Id, 2017 operand1: Id, 2018 operand2: Id, 2019 }, 2020 TerminateInvocation, 2021 SubgroupBallotKHR { 2022 result_type_id: Id, 2023 result_id: Id, 2024 predicate: Id, 2025 }, 2026 SubgroupFirstInvocationKHR { 2027 result_type_id: Id, 2028 result_id: Id, 2029 value: Id, 2030 }, 2031 SubgroupAllKHR { 2032 result_type_id: Id, 2033 result_id: Id, 2034 predicate: Id, 2035 }, 2036 SubgroupAnyKHR { 2037 result_type_id: Id, 2038 result_id: Id, 2039 predicate: Id, 2040 }, 2041 SubgroupAllEqualKHR { 2042 result_type_id: Id, 2043 result_id: Id, 2044 predicate: Id, 2045 }, 2046 SubgroupReadInvocationKHR { 2047 result_type_id: Id, 2048 result_id: Id, 2049 value: Id, 2050 index: Id, 2051 }, 2052 TraceRayKHR { 2053 accel: Id, 2054 ray_flags: Id, 2055 cull_mask: Id, 2056 sbt_offset: Id, 2057 sbt_stride: Id, 2058 miss_index: Id, 2059 ray_origin: Id, 2060 ray_tmin: Id, 2061 ray_direction: Id, 2062 ray_tmax: Id, 2063 payload: Id, 2064 }, 2065 ExecuteCallableKHR { 2066 sbt_index: Id, 2067 callable_data: Id, 2068 }, 2069 ConvertUToAccelerationStructureKHR { 2070 result_type_id: Id, 2071 result_id: Id, 2072 accel: Id, 2073 }, 2074 IgnoreIntersectionKHR, 2075 TerminateRayKHR, 2076 SDot { 2077 result_type_id: Id, 2078 result_id: Id, 2079 vector_1: Id, 2080 vector_2: Id, 2081 packed_vector_format: Option<PackedVectorFormat>, 2082 }, 2083 UDot { 2084 result_type_id: Id, 2085 result_id: Id, 2086 vector_1: Id, 2087 vector_2: Id, 2088 packed_vector_format: Option<PackedVectorFormat>, 2089 }, 2090 SUDot { 2091 result_type_id: Id, 2092 result_id: Id, 2093 vector_1: Id, 2094 vector_2: Id, 2095 packed_vector_format: Option<PackedVectorFormat>, 2096 }, 2097 SDotAccSat { 2098 result_type_id: Id, 2099 result_id: Id, 2100 vector_1: Id, 2101 vector_2: Id, 2102 accumulator: Id, 2103 packed_vector_format: Option<PackedVectorFormat>, 2104 }, 2105 UDotAccSat { 2106 result_type_id: Id, 2107 result_id: Id, 2108 vector_1: Id, 2109 vector_2: Id, 2110 accumulator: Id, 2111 packed_vector_format: Option<PackedVectorFormat>, 2112 }, 2113 SUDotAccSat { 2114 result_type_id: Id, 2115 result_id: Id, 2116 vector_1: Id, 2117 vector_2: Id, 2118 accumulator: Id, 2119 packed_vector_format: Option<PackedVectorFormat>, 2120 }, 2121 TypeRayQueryKHR { 2122 result_id: Id, 2123 }, 2124 RayQueryInitializeKHR { 2125 ray_query: Id, 2126 accel: Id, 2127 ray_flags: Id, 2128 cull_mask: Id, 2129 ray_origin: Id, 2130 ray_t_min: Id, 2131 ray_direction: Id, 2132 ray_t_max: Id, 2133 }, 2134 RayQueryTerminateKHR { 2135 ray_query: Id, 2136 }, 2137 RayQueryGenerateIntersectionKHR { 2138 ray_query: Id, 2139 hit_t: Id, 2140 }, 2141 RayQueryConfirmIntersectionKHR { 2142 ray_query: Id, 2143 }, 2144 RayQueryProceedKHR { 2145 result_type_id: Id, 2146 result_id: Id, 2147 ray_query: Id, 2148 }, 2149 RayQueryGetIntersectionTypeKHR { 2150 result_type_id: Id, 2151 result_id: Id, 2152 ray_query: Id, 2153 intersection: Id, 2154 }, 2155 GroupIAddNonUniformAMD { 2156 result_type_id: Id, 2157 result_id: Id, 2158 execution: Id, 2159 operation: GroupOperation, 2160 x: Id, 2161 }, 2162 GroupFAddNonUniformAMD { 2163 result_type_id: Id, 2164 result_id: Id, 2165 execution: Id, 2166 operation: GroupOperation, 2167 x: Id, 2168 }, 2169 GroupFMinNonUniformAMD { 2170 result_type_id: Id, 2171 result_id: Id, 2172 execution: Id, 2173 operation: GroupOperation, 2174 x: Id, 2175 }, 2176 GroupUMinNonUniformAMD { 2177 result_type_id: Id, 2178 result_id: Id, 2179 execution: Id, 2180 operation: GroupOperation, 2181 x: Id, 2182 }, 2183 GroupSMinNonUniformAMD { 2184 result_type_id: Id, 2185 result_id: Id, 2186 execution: Id, 2187 operation: GroupOperation, 2188 x: Id, 2189 }, 2190 GroupFMaxNonUniformAMD { 2191 result_type_id: Id, 2192 result_id: Id, 2193 execution: Id, 2194 operation: GroupOperation, 2195 x: Id, 2196 }, 2197 GroupUMaxNonUniformAMD { 2198 result_type_id: Id, 2199 result_id: Id, 2200 execution: Id, 2201 operation: GroupOperation, 2202 x: Id, 2203 }, 2204 GroupSMaxNonUniformAMD { 2205 result_type_id: Id, 2206 result_id: Id, 2207 execution: Id, 2208 operation: GroupOperation, 2209 x: Id, 2210 }, 2211 FragmentMaskFetchAMD { 2212 result_type_id: Id, 2213 result_id: Id, 2214 image: Id, 2215 coordinate: Id, 2216 }, 2217 FragmentFetchAMD { 2218 result_type_id: Id, 2219 result_id: Id, 2220 image: Id, 2221 coordinate: Id, 2222 fragment_index: Id, 2223 }, 2224 ReadClockKHR { 2225 result_type_id: Id, 2226 result_id: Id, 2227 scope: Id, 2228 }, 2229 ImageSampleFootprintNV { 2230 result_type_id: Id, 2231 result_id: Id, 2232 sampled_image: Id, 2233 coordinate: Id, 2234 granularity: Id, 2235 coarse: Id, 2236 image_operands: Option<ImageOperands>, 2237 }, 2238 GroupNonUniformPartitionNV { 2239 result_type_id: Id, 2240 result_id: Id, 2241 value: Id, 2242 }, 2243 WritePackedPrimitiveIndices4x8NV { 2244 index_offset: Id, 2245 packed_indices: Id, 2246 }, 2247 ReportIntersectionKHR { 2248 result_type_id: Id, 2249 result_id: Id, 2250 hit: Id, 2251 hit_kind: Id, 2252 }, 2253 IgnoreIntersectionNV, 2254 TerminateRayNV, 2255 TraceNV { 2256 accel: Id, 2257 ray_flags: Id, 2258 cull_mask: Id, 2259 sbt_offset: Id, 2260 sbt_stride: Id, 2261 miss_index: Id, 2262 ray_origin: Id, 2263 ray_tmin: Id, 2264 ray_direction: Id, 2265 ray_tmax: Id, 2266 payload_id: Id, 2267 }, 2268 TraceMotionNV { 2269 accel: Id, 2270 ray_flags: Id, 2271 cull_mask: Id, 2272 sbt_offset: Id, 2273 sbt_stride: Id, 2274 miss_index: Id, 2275 ray_origin: Id, 2276 ray_tmin: Id, 2277 ray_direction: Id, 2278 ray_tmax: Id, 2279 time: Id, 2280 payload_id: Id, 2281 }, 2282 TraceRayMotionNV { 2283 accel: Id, 2284 ray_flags: Id, 2285 cull_mask: Id, 2286 sbt_offset: Id, 2287 sbt_stride: Id, 2288 miss_index: Id, 2289 ray_origin: Id, 2290 ray_tmin: Id, 2291 ray_direction: Id, 2292 ray_tmax: Id, 2293 time: Id, 2294 payload: Id, 2295 }, 2296 TypeAccelerationStructureKHR { 2297 result_id: Id, 2298 }, 2299 ExecuteCallableNV { 2300 sbt_index: Id, 2301 callable_data_id: Id, 2302 }, 2303 TypeCooperativeMatrixNV { 2304 result_id: Id, 2305 component_type: Id, 2306 execution: Id, 2307 rows: Id, 2308 columns: Id, 2309 }, 2310 CooperativeMatrixLoadNV { 2311 result_type_id: Id, 2312 result_id: Id, 2313 pointer: Id, 2314 stride: Id, 2315 column_major: Id, 2316 memory_access: Option<MemoryAccess>, 2317 }, 2318 CooperativeMatrixStoreNV { 2319 pointer: Id, 2320 object: Id, 2321 stride: Id, 2322 column_major: Id, 2323 memory_access: Option<MemoryAccess>, 2324 }, 2325 CooperativeMatrixMulAddNV { 2326 result_type_id: Id, 2327 result_id: Id, 2328 a: Id, 2329 b: Id, 2330 c: Id, 2331 }, 2332 CooperativeMatrixLengthNV { 2333 result_type_id: Id, 2334 result_id: Id, 2335 ty: Id, 2336 }, 2337 BeginInvocationInterlockEXT, 2338 EndInvocationInterlockEXT, 2339 DemoteToHelperInvocation, 2340 IsHelperInvocationEXT { 2341 result_type_id: Id, 2342 result_id: Id, 2343 }, 2344 ConvertUToImageNV { 2345 result_type_id: Id, 2346 result_id: Id, 2347 operand: Id, 2348 }, 2349 ConvertUToSamplerNV { 2350 result_type_id: Id, 2351 result_id: Id, 2352 operand: Id, 2353 }, 2354 ConvertImageToUNV { 2355 result_type_id: Id, 2356 result_id: Id, 2357 operand: Id, 2358 }, 2359 ConvertSamplerToUNV { 2360 result_type_id: Id, 2361 result_id: Id, 2362 operand: Id, 2363 }, 2364 ConvertUToSampledImageNV { 2365 result_type_id: Id, 2366 result_id: Id, 2367 operand: Id, 2368 }, 2369 ConvertSampledImageToUNV { 2370 result_type_id: Id, 2371 result_id: Id, 2372 operand: Id, 2373 }, 2374 SamplerImageAddressingModeNV { 2375 bit_width: u32, 2376 }, 2377 SubgroupShuffleINTEL { 2378 result_type_id: Id, 2379 result_id: Id, 2380 data: Id, 2381 invocation_id: Id, 2382 }, 2383 SubgroupShuffleDownINTEL { 2384 result_type_id: Id, 2385 result_id: Id, 2386 current: Id, 2387 next: Id, 2388 delta: Id, 2389 }, 2390 SubgroupShuffleUpINTEL { 2391 result_type_id: Id, 2392 result_id: Id, 2393 previous: Id, 2394 current: Id, 2395 delta: Id, 2396 }, 2397 SubgroupShuffleXorINTEL { 2398 result_type_id: Id, 2399 result_id: Id, 2400 data: Id, 2401 value: Id, 2402 }, 2403 SubgroupBlockReadINTEL { 2404 result_type_id: Id, 2405 result_id: Id, 2406 ptr: Id, 2407 }, 2408 SubgroupBlockWriteINTEL { 2409 ptr: Id, 2410 data: Id, 2411 }, 2412 SubgroupImageBlockReadINTEL { 2413 result_type_id: Id, 2414 result_id: Id, 2415 image: Id, 2416 coordinate: Id, 2417 }, 2418 SubgroupImageBlockWriteINTEL { 2419 image: Id, 2420 coordinate: Id, 2421 data: Id, 2422 }, 2423 SubgroupImageMediaBlockReadINTEL { 2424 result_type_id: Id, 2425 result_id: Id, 2426 image: Id, 2427 coordinate: Id, 2428 width: Id, 2429 height: Id, 2430 }, 2431 SubgroupImageMediaBlockWriteINTEL { 2432 image: Id, 2433 coordinate: Id, 2434 width: Id, 2435 height: Id, 2436 data: Id, 2437 }, 2438 UCountLeadingZerosINTEL { 2439 result_type_id: Id, 2440 result_id: Id, 2441 operand: Id, 2442 }, 2443 UCountTrailingZerosINTEL { 2444 result_type_id: Id, 2445 result_id: Id, 2446 operand: Id, 2447 }, 2448 AbsISubINTEL { 2449 result_type_id: Id, 2450 result_id: Id, 2451 operand1: Id, 2452 operand2: Id, 2453 }, 2454 AbsUSubINTEL { 2455 result_type_id: Id, 2456 result_id: Id, 2457 operand1: Id, 2458 operand2: Id, 2459 }, 2460 IAddSatINTEL { 2461 result_type_id: Id, 2462 result_id: Id, 2463 operand1: Id, 2464 operand2: Id, 2465 }, 2466 UAddSatINTEL { 2467 result_type_id: Id, 2468 result_id: Id, 2469 operand1: Id, 2470 operand2: Id, 2471 }, 2472 IAverageINTEL { 2473 result_type_id: Id, 2474 result_id: Id, 2475 operand1: Id, 2476 operand2: Id, 2477 }, 2478 UAverageINTEL { 2479 result_type_id: Id, 2480 result_id: Id, 2481 operand1: Id, 2482 operand2: Id, 2483 }, 2484 IAverageRoundedINTEL { 2485 result_type_id: Id, 2486 result_id: Id, 2487 operand1: Id, 2488 operand2: Id, 2489 }, 2490 UAverageRoundedINTEL { 2491 result_type_id: Id, 2492 result_id: Id, 2493 operand1: Id, 2494 operand2: Id, 2495 }, 2496 ISubSatINTEL { 2497 result_type_id: Id, 2498 result_id: Id, 2499 operand1: Id, 2500 operand2: Id, 2501 }, 2502 USubSatINTEL { 2503 result_type_id: Id, 2504 result_id: Id, 2505 operand1: Id, 2506 operand2: Id, 2507 }, 2508 IMul32x16INTEL { 2509 result_type_id: Id, 2510 result_id: Id, 2511 operand1: Id, 2512 operand2: Id, 2513 }, 2514 UMul32x16INTEL { 2515 result_type_id: Id, 2516 result_id: Id, 2517 operand1: Id, 2518 operand2: Id, 2519 }, 2520 ConstantFunctionPointerINTEL { 2521 result_type_id: Id, 2522 result_id: Id, 2523 function: Id, 2524 }, 2525 FunctionPointerCallINTEL { 2526 result_type_id: Id, 2527 result_id: Id, 2528 operand1: Vec<Id>, 2529 }, 2530 AsmTargetINTEL { 2531 result_type_id: Id, 2532 result_id: Id, 2533 asm_target: String, 2534 }, 2535 AsmINTEL { 2536 result_type_id: Id, 2537 result_id: Id, 2538 asm_type: Id, 2539 target: Id, 2540 asm_instructions: String, 2541 constraints: String, 2542 }, 2543 AsmCallINTEL { 2544 result_type_id: Id, 2545 result_id: Id, 2546 asm: Id, 2547 argument_0: Vec<Id>, 2548 }, 2549 AtomicFMinEXT { 2550 result_type_id: Id, 2551 result_id: Id, 2552 pointer: Id, 2553 memory: Id, 2554 semantics: Id, 2555 value: Id, 2556 }, 2557 AtomicFMaxEXT { 2558 result_type_id: Id, 2559 result_id: Id, 2560 pointer: Id, 2561 memory: Id, 2562 semantics: Id, 2563 value: Id, 2564 }, 2565 AssumeTrueKHR { 2566 condition: Id, 2567 }, 2568 ExpectKHR { 2569 result_type_id: Id, 2570 result_id: Id, 2571 value: Id, 2572 expected_value: Id, 2573 }, 2574 DecorateString { 2575 target: Id, 2576 decoration: Decoration, 2577 }, 2578 MemberDecorateString { 2579 struct_type: Id, 2580 member: u32, 2581 decoration: Decoration, 2582 }, 2583 VmeImageINTEL { 2584 result_type_id: Id, 2585 result_id: Id, 2586 image_type: Id, 2587 sampler: Id, 2588 }, 2589 TypeVmeImageINTEL { 2590 result_id: Id, 2591 image_type: Id, 2592 }, 2593 TypeAvcImePayloadINTEL { 2594 result_id: Id, 2595 }, 2596 TypeAvcRefPayloadINTEL { 2597 result_id: Id, 2598 }, 2599 TypeAvcSicPayloadINTEL { 2600 result_id: Id, 2601 }, 2602 TypeAvcMcePayloadINTEL { 2603 result_id: Id, 2604 }, 2605 TypeAvcMceResultINTEL { 2606 result_id: Id, 2607 }, 2608 TypeAvcImeResultINTEL { 2609 result_id: Id, 2610 }, 2611 TypeAvcImeResultSingleReferenceStreamoutINTEL { 2612 result_id: Id, 2613 }, 2614 TypeAvcImeResultDualReferenceStreamoutINTEL { 2615 result_id: Id, 2616 }, 2617 TypeAvcImeSingleReferenceStreaminINTEL { 2618 result_id: Id, 2619 }, 2620 TypeAvcImeDualReferenceStreaminINTEL { 2621 result_id: Id, 2622 }, 2623 TypeAvcRefResultINTEL { 2624 result_id: Id, 2625 }, 2626 TypeAvcSicResultINTEL { 2627 result_id: Id, 2628 }, 2629 SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { 2630 result_type_id: Id, 2631 result_id: Id, 2632 slice_type: Id, 2633 qp: Id, 2634 }, 2635 SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { 2636 result_type_id: Id, 2637 result_id: Id, 2638 reference_base_penalty: Id, 2639 payload: Id, 2640 }, 2641 SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { 2642 result_type_id: Id, 2643 result_id: Id, 2644 slice_type: Id, 2645 qp: Id, 2646 }, 2647 SubgroupAvcMceSetInterShapePenaltyINTEL { 2648 result_type_id: Id, 2649 result_id: Id, 2650 packed_shape_penalty: Id, 2651 payload: Id, 2652 }, 2653 SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { 2654 result_type_id: Id, 2655 result_id: Id, 2656 slice_type: Id, 2657 qp: Id, 2658 }, 2659 SubgroupAvcMceSetInterDirectionPenaltyINTEL { 2660 result_type_id: Id, 2661 result_id: Id, 2662 direction_cost: Id, 2663 payload: Id, 2664 }, 2665 SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { 2666 result_type_id: Id, 2667 result_id: Id, 2668 slice_type: Id, 2669 qp: Id, 2670 }, 2671 SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { 2672 result_type_id: Id, 2673 result_id: Id, 2674 slice_type: Id, 2675 qp: Id, 2676 }, 2677 SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { 2678 result_type_id: Id, 2679 result_id: Id, 2680 }, 2681 SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { 2682 result_type_id: Id, 2683 result_id: Id, 2684 }, 2685 SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { 2686 result_type_id: Id, 2687 result_id: Id, 2688 }, 2689 SubgroupAvcMceSetMotionVectorCostFunctionINTEL { 2690 result_type_id: Id, 2691 result_id: Id, 2692 packed_cost_center_delta: Id, 2693 packed_cost_table: Id, 2694 cost_precision: Id, 2695 payload: Id, 2696 }, 2697 SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { 2698 result_type_id: Id, 2699 result_id: Id, 2700 slice_type: Id, 2701 qp: Id, 2702 }, 2703 SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { 2704 result_type_id: Id, 2705 result_id: Id, 2706 }, 2707 SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { 2708 result_type_id: Id, 2709 result_id: Id, 2710 }, 2711 SubgroupAvcMceSetAcOnlyHaarINTEL { 2712 result_type_id: Id, 2713 result_id: Id, 2714 payload: Id, 2715 }, 2716 SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { 2717 result_type_id: Id, 2718 result_id: Id, 2719 source_field_polarity: Id, 2720 payload: Id, 2721 }, 2722 SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { 2723 result_type_id: Id, 2724 result_id: Id, 2725 reference_field_polarity: Id, 2726 payload: Id, 2727 }, 2728 SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { 2729 result_type_id: Id, 2730 result_id: Id, 2731 forward_reference_field_polarity: Id, 2732 backward_reference_field_polarity: Id, 2733 payload: Id, 2734 }, 2735 SubgroupAvcMceConvertToImePayloadINTEL { 2736 result_type_id: Id, 2737 result_id: Id, 2738 payload: Id, 2739 }, 2740 SubgroupAvcMceConvertToImeResultINTEL { 2741 result_type_id: Id, 2742 result_id: Id, 2743 payload: Id, 2744 }, 2745 SubgroupAvcMceConvertToRefPayloadINTEL { 2746 result_type_id: Id, 2747 result_id: Id, 2748 payload: Id, 2749 }, 2750 SubgroupAvcMceConvertToRefResultINTEL { 2751 result_type_id: Id, 2752 result_id: Id, 2753 payload: Id, 2754 }, 2755 SubgroupAvcMceConvertToSicPayloadINTEL { 2756 result_type_id: Id, 2757 result_id: Id, 2758 payload: Id, 2759 }, 2760 SubgroupAvcMceConvertToSicResultINTEL { 2761 result_type_id: Id, 2762 result_id: Id, 2763 payload: Id, 2764 }, 2765 SubgroupAvcMceGetMotionVectorsINTEL { 2766 result_type_id: Id, 2767 result_id: Id, 2768 payload: Id, 2769 }, 2770 SubgroupAvcMceGetInterDistortionsINTEL { 2771 result_type_id: Id, 2772 result_id: Id, 2773 payload: Id, 2774 }, 2775 SubgroupAvcMceGetBestInterDistortionsINTEL { 2776 result_type_id: Id, 2777 result_id: Id, 2778 payload: Id, 2779 }, 2780 SubgroupAvcMceGetInterMajorShapeINTEL { 2781 result_type_id: Id, 2782 result_id: Id, 2783 payload: Id, 2784 }, 2785 SubgroupAvcMceGetInterMinorShapeINTEL { 2786 result_type_id: Id, 2787 result_id: Id, 2788 payload: Id, 2789 }, 2790 SubgroupAvcMceGetInterDirectionsINTEL { 2791 result_type_id: Id, 2792 result_id: Id, 2793 payload: Id, 2794 }, 2795 SubgroupAvcMceGetInterMotionVectorCountINTEL { 2796 result_type_id: Id, 2797 result_id: Id, 2798 payload: Id, 2799 }, 2800 SubgroupAvcMceGetInterReferenceIdsINTEL { 2801 result_type_id: Id, 2802 result_id: Id, 2803 payload: Id, 2804 }, 2805 SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { 2806 result_type_id: Id, 2807 result_id: Id, 2808 packed_reference_ids: Id, 2809 packed_reference_parameter_field_polarities: Id, 2810 payload: Id, 2811 }, 2812 SubgroupAvcImeInitializeINTEL { 2813 result_type_id: Id, 2814 result_id: Id, 2815 src_coord: Id, 2816 partition_mask: Id, 2817 sad_adjustment: Id, 2818 }, 2819 SubgroupAvcImeSetSingleReferenceINTEL { 2820 result_type_id: Id, 2821 result_id: Id, 2822 ref_offset: Id, 2823 search_window_config: Id, 2824 payload: Id, 2825 }, 2826 SubgroupAvcImeSetDualReferenceINTEL { 2827 result_type_id: Id, 2828 result_id: Id, 2829 fwd_ref_offset: Id, 2830 bwd_ref_offset: Id, 2831 id_search_window_config: Id, 2832 payload: Id, 2833 }, 2834 SubgroupAvcImeRefWindowSizeINTEL { 2835 result_type_id: Id, 2836 result_id: Id, 2837 search_window_config: Id, 2838 dual_ref: Id, 2839 }, 2840 SubgroupAvcImeAdjustRefOffsetINTEL { 2841 result_type_id: Id, 2842 result_id: Id, 2843 ref_offset: Id, 2844 src_coord: Id, 2845 ref_window_size: Id, 2846 image_size: Id, 2847 }, 2848 SubgroupAvcImeConvertToMcePayloadINTEL { 2849 result_type_id: Id, 2850 result_id: Id, 2851 payload: Id, 2852 }, 2853 SubgroupAvcImeSetMaxMotionVectorCountINTEL { 2854 result_type_id: Id, 2855 result_id: Id, 2856 max_motion_vector_count: Id, 2857 payload: Id, 2858 }, 2859 SubgroupAvcImeSetUnidirectionalMixDisableINTEL { 2860 result_type_id: Id, 2861 result_id: Id, 2862 payload: Id, 2863 }, 2864 SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { 2865 result_type_id: Id, 2866 result_id: Id, 2867 threshold: Id, 2868 payload: Id, 2869 }, 2870 SubgroupAvcImeSetWeightedSadINTEL { 2871 result_type_id: Id, 2872 result_id: Id, 2873 packed_sad_weights: Id, 2874 payload: Id, 2875 }, 2876 SubgroupAvcImeEvaluateWithSingleReferenceINTEL { 2877 result_type_id: Id, 2878 result_id: Id, 2879 src_image: Id, 2880 ref_image: Id, 2881 payload: Id, 2882 }, 2883 SubgroupAvcImeEvaluateWithDualReferenceINTEL { 2884 result_type_id: Id, 2885 result_id: Id, 2886 src_image: Id, 2887 fwd_ref_image: Id, 2888 bwd_ref_image: Id, 2889 payload: Id, 2890 }, 2891 SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { 2892 result_type_id: Id, 2893 result_id: Id, 2894 src_image: Id, 2895 ref_image: Id, 2896 payload: Id, 2897 streamin_components: Id, 2898 }, 2899 SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { 2900 result_type_id: Id, 2901 result_id: Id, 2902 src_image: Id, 2903 fwd_ref_image: Id, 2904 bwd_ref_image: Id, 2905 payload: Id, 2906 streamin_components: Id, 2907 }, 2908 SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { 2909 result_type_id: Id, 2910 result_id: Id, 2911 src_image: Id, 2912 ref_image: Id, 2913 payload: Id, 2914 }, 2915 SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { 2916 result_type_id: Id, 2917 result_id: Id, 2918 src_image: Id, 2919 fwd_ref_image: Id, 2920 bwd_ref_image: Id, 2921 payload: Id, 2922 }, 2923 SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { 2924 result_type_id: Id, 2925 result_id: Id, 2926 src_image: Id, 2927 ref_image: Id, 2928 payload: Id, 2929 streamin_components: Id, 2930 }, 2931 SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { 2932 result_type_id: Id, 2933 result_id: Id, 2934 src_image: Id, 2935 fwd_ref_image: Id, 2936 bwd_ref_image: Id, 2937 payload: Id, 2938 streamin_components: Id, 2939 }, 2940 SubgroupAvcImeConvertToMceResultINTEL { 2941 result_type_id: Id, 2942 result_id: Id, 2943 payload: Id, 2944 }, 2945 SubgroupAvcImeGetSingleReferenceStreaminINTEL { 2946 result_type_id: Id, 2947 result_id: Id, 2948 payload: Id, 2949 }, 2950 SubgroupAvcImeGetDualReferenceStreaminINTEL { 2951 result_type_id: Id, 2952 result_id: Id, 2953 payload: Id, 2954 }, 2955 SubgroupAvcImeStripSingleReferenceStreamoutINTEL { 2956 result_type_id: Id, 2957 result_id: Id, 2958 payload: Id, 2959 }, 2960 SubgroupAvcImeStripDualReferenceStreamoutINTEL { 2961 result_type_id: Id, 2962 result_id: Id, 2963 payload: Id, 2964 }, 2965 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { 2966 result_type_id: Id, 2967 result_id: Id, 2968 payload: Id, 2969 major_shape: Id, 2970 }, 2971 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { 2972 result_type_id: Id, 2973 result_id: Id, 2974 payload: Id, 2975 major_shape: Id, 2976 }, 2977 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { 2978 result_type_id: Id, 2979 result_id: Id, 2980 payload: Id, 2981 major_shape: Id, 2982 }, 2983 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { 2984 result_type_id: Id, 2985 result_id: Id, 2986 payload: Id, 2987 major_shape: Id, 2988 direction: Id, 2989 }, 2990 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { 2991 result_type_id: Id, 2992 result_id: Id, 2993 payload: Id, 2994 major_shape: Id, 2995 direction: Id, 2996 }, 2997 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { 2998 result_type_id: Id, 2999 result_id: Id, 3000 payload: Id, 3001 major_shape: Id, 3002 direction: Id, 3003 }, 3004 SubgroupAvcImeGetBorderReachedINTEL { 3005 result_type_id: Id, 3006 result_id: Id, 3007 image_select: Id, 3008 payload: Id, 3009 }, 3010 SubgroupAvcImeGetTruncatedSearchIndicationINTEL { 3011 result_type_id: Id, 3012 result_id: Id, 3013 payload: Id, 3014 }, 3015 SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { 3016 result_type_id: Id, 3017 result_id: Id, 3018 payload: Id, 3019 }, 3020 SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { 3021 result_type_id: Id, 3022 result_id: Id, 3023 payload: Id, 3024 }, 3025 SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { 3026 result_type_id: Id, 3027 result_id: Id, 3028 payload: Id, 3029 }, 3030 SubgroupAvcFmeInitializeINTEL { 3031 result_type_id: Id, 3032 result_id: Id, 3033 src_coord: Id, 3034 motion_vectors: Id, 3035 major_shapes: Id, 3036 minor_shapes: Id, 3037 direction: Id, 3038 pixel_resolution: Id, 3039 sad_adjustment: Id, 3040 }, 3041 SubgroupAvcBmeInitializeINTEL { 3042 result_type_id: Id, 3043 result_id: Id, 3044 src_coord: Id, 3045 motion_vectors: Id, 3046 major_shapes: Id, 3047 minor_shapes: Id, 3048 direction: Id, 3049 pixel_resolution: Id, 3050 bidirectional_weight: Id, 3051 sad_adjustment: Id, 3052 }, 3053 SubgroupAvcRefConvertToMcePayloadINTEL { 3054 result_type_id: Id, 3055 result_id: Id, 3056 payload: Id, 3057 }, 3058 SubgroupAvcRefSetBidirectionalMixDisableINTEL { 3059 result_type_id: Id, 3060 result_id: Id, 3061 payload: Id, 3062 }, 3063 SubgroupAvcRefSetBilinearFilterEnableINTEL { 3064 result_type_id: Id, 3065 result_id: Id, 3066 payload: Id, 3067 }, 3068 SubgroupAvcRefEvaluateWithSingleReferenceINTEL { 3069 result_type_id: Id, 3070 result_id: Id, 3071 src_image: Id, 3072 ref_image: Id, 3073 payload: Id, 3074 }, 3075 SubgroupAvcRefEvaluateWithDualReferenceINTEL { 3076 result_type_id: Id, 3077 result_id: Id, 3078 src_image: Id, 3079 fwd_ref_image: Id, 3080 bwd_ref_image: Id, 3081 payload: Id, 3082 }, 3083 SubgroupAvcRefEvaluateWithMultiReferenceINTEL { 3084 result_type_id: Id, 3085 result_id: Id, 3086 src_image: Id, 3087 packed_reference_ids: Id, 3088 payload: Id, 3089 }, 3090 SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { 3091 result_type_id: Id, 3092 result_id: Id, 3093 src_image: Id, 3094 packed_reference_ids: Id, 3095 packed_reference_field_polarities: Id, 3096 payload: Id, 3097 }, 3098 SubgroupAvcRefConvertToMceResultINTEL { 3099 result_type_id: Id, 3100 result_id: Id, 3101 payload: Id, 3102 }, 3103 SubgroupAvcSicInitializeINTEL { 3104 result_type_id: Id, 3105 result_id: Id, 3106 src_coord: Id, 3107 }, 3108 SubgroupAvcSicConfigureSkcINTEL { 3109 result_type_id: Id, 3110 result_id: Id, 3111 skip_block_partition_type: Id, 3112 skip_motion_vector_mask: Id, 3113 motion_vectors: Id, 3114 bidirectional_weight: Id, 3115 sad_adjustment: Id, 3116 payload: Id, 3117 }, 3118 SubgroupAvcSicConfigureIpeLumaINTEL { 3119 result_type_id: Id, 3120 result_id: Id, 3121 luma_intra_partition_mask: Id, 3122 intra_neighbour_availabilty: Id, 3123 left_edge_luma_pixels: Id, 3124 upper_left_corner_luma_pixel: Id, 3125 upper_edge_luma_pixels: Id, 3126 upper_right_edge_luma_pixels: Id, 3127 sad_adjustment: Id, 3128 payload: Id, 3129 }, 3130 SubgroupAvcSicConfigureIpeLumaChromaINTEL { 3131 result_type_id: Id, 3132 result_id: Id, 3133 luma_intra_partition_mask: Id, 3134 intra_neighbour_availabilty: Id, 3135 left_edge_luma_pixels: Id, 3136 upper_left_corner_luma_pixel: Id, 3137 upper_edge_luma_pixels: Id, 3138 upper_right_edge_luma_pixels: Id, 3139 left_edge_chroma_pixels: Id, 3140 upper_left_corner_chroma_pixel: Id, 3141 upper_edge_chroma_pixels: Id, 3142 sad_adjustment: Id, 3143 payload: Id, 3144 }, 3145 SubgroupAvcSicGetMotionVectorMaskINTEL { 3146 result_type_id: Id, 3147 result_id: Id, 3148 skip_block_partition_type: Id, 3149 direction: Id, 3150 }, 3151 SubgroupAvcSicConvertToMcePayloadINTEL { 3152 result_type_id: Id, 3153 result_id: Id, 3154 payload: Id, 3155 }, 3156 SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { 3157 result_type_id: Id, 3158 result_id: Id, 3159 packed_shape_penalty: Id, 3160 payload: Id, 3161 }, 3162 SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { 3163 result_type_id: Id, 3164 result_id: Id, 3165 luma_mode_penalty: Id, 3166 luma_packed_neighbor_modes: Id, 3167 luma_packed_non_dc_penalty: Id, 3168 payload: Id, 3169 }, 3170 SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { 3171 result_type_id: Id, 3172 result_id: Id, 3173 chroma_mode_base_penalty: Id, 3174 payload: Id, 3175 }, 3176 SubgroupAvcSicSetBilinearFilterEnableINTEL { 3177 result_type_id: Id, 3178 result_id: Id, 3179 payload: Id, 3180 }, 3181 SubgroupAvcSicSetSkcForwardTransformEnableINTEL { 3182 result_type_id: Id, 3183 result_id: Id, 3184 packed_sad_coefficients: Id, 3185 payload: Id, 3186 }, 3187 SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { 3188 result_type_id: Id, 3189 result_id: Id, 3190 block_based_skip_type: Id, 3191 payload: Id, 3192 }, 3193 SubgroupAvcSicEvaluateIpeINTEL { 3194 result_type_id: Id, 3195 result_id: Id, 3196 src_image: Id, 3197 payload: Id, 3198 }, 3199 SubgroupAvcSicEvaluateWithSingleReferenceINTEL { 3200 result_type_id: Id, 3201 result_id: Id, 3202 src_image: Id, 3203 ref_image: Id, 3204 payload: Id, 3205 }, 3206 SubgroupAvcSicEvaluateWithDualReferenceINTEL { 3207 result_type_id: Id, 3208 result_id: Id, 3209 src_image: Id, 3210 fwd_ref_image: Id, 3211 bwd_ref_image: Id, 3212 payload: Id, 3213 }, 3214 SubgroupAvcSicEvaluateWithMultiReferenceINTEL { 3215 result_type_id: Id, 3216 result_id: Id, 3217 src_image: Id, 3218 packed_reference_ids: Id, 3219 payload: Id, 3220 }, 3221 SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { 3222 result_type_id: Id, 3223 result_id: Id, 3224 src_image: Id, 3225 packed_reference_ids: Id, 3226 packed_reference_field_polarities: Id, 3227 payload: Id, 3228 }, 3229 SubgroupAvcSicConvertToMceResultINTEL { 3230 result_type_id: Id, 3231 result_id: Id, 3232 payload: Id, 3233 }, 3234 SubgroupAvcSicGetIpeLumaShapeINTEL { 3235 result_type_id: Id, 3236 result_id: Id, 3237 payload: Id, 3238 }, 3239 SubgroupAvcSicGetBestIpeLumaDistortionINTEL { 3240 result_type_id: Id, 3241 result_id: Id, 3242 payload: Id, 3243 }, 3244 SubgroupAvcSicGetBestIpeChromaDistortionINTEL { 3245 result_type_id: Id, 3246 result_id: Id, 3247 payload: Id, 3248 }, 3249 SubgroupAvcSicGetPackedIpeLumaModesINTEL { 3250 result_type_id: Id, 3251 result_id: Id, 3252 payload: Id, 3253 }, 3254 SubgroupAvcSicGetIpeChromaModeINTEL { 3255 result_type_id: Id, 3256 result_id: Id, 3257 payload: Id, 3258 }, 3259 SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { 3260 result_type_id: Id, 3261 result_id: Id, 3262 payload: Id, 3263 }, 3264 SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { 3265 result_type_id: Id, 3266 result_id: Id, 3267 payload: Id, 3268 }, 3269 SubgroupAvcSicGetInterRawSadsINTEL { 3270 result_type_id: Id, 3271 result_id: Id, 3272 payload: Id, 3273 }, 3274 VariableLengthArrayINTEL { 3275 result_type_id: Id, 3276 result_id: Id, 3277 lenght: Id, 3278 }, 3279 SaveMemoryINTEL { 3280 result_type_id: Id, 3281 result_id: Id, 3282 }, 3283 RestoreMemoryINTEL { 3284 ptr: Id, 3285 }, 3286 ArbitraryFloatSinCosPiINTEL { 3287 result_type_id: Id, 3288 result_id: Id, 3289 a: Id, 3290 m1: u32, 3291 mout: u32, 3292 from_sign: u32, 3293 enable_subnormals: u32, 3294 rounding_mode: u32, 3295 rounding_accuracy: u32, 3296 }, 3297 ArbitraryFloatCastINTEL { 3298 result_type_id: Id, 3299 result_id: Id, 3300 a: Id, 3301 m1: u32, 3302 mout: u32, 3303 enable_subnormals: u32, 3304 rounding_mode: u32, 3305 rounding_accuracy: u32, 3306 }, 3307 ArbitraryFloatCastFromIntINTEL { 3308 result_type_id: Id, 3309 result_id: Id, 3310 a: Id, 3311 mout: u32, 3312 from_sign: u32, 3313 enable_subnormals: u32, 3314 rounding_mode: u32, 3315 rounding_accuracy: u32, 3316 }, 3317 ArbitraryFloatCastToIntINTEL { 3318 result_type_id: Id, 3319 result_id: Id, 3320 a: Id, 3321 m1: u32, 3322 enable_subnormals: u32, 3323 rounding_mode: u32, 3324 rounding_accuracy: u32, 3325 }, 3326 ArbitraryFloatAddINTEL { 3327 result_type_id: Id, 3328 result_id: Id, 3329 a: Id, 3330 m1: u32, 3331 b: Id, 3332 m2: u32, 3333 mout: u32, 3334 enable_subnormals: u32, 3335 rounding_mode: u32, 3336 rounding_accuracy: u32, 3337 }, 3338 ArbitraryFloatSubINTEL { 3339 result_type_id: Id, 3340 result_id: Id, 3341 a: Id, 3342 m1: u32, 3343 b: Id, 3344 m2: u32, 3345 mout: u32, 3346 enable_subnormals: u32, 3347 rounding_mode: u32, 3348 rounding_accuracy: u32, 3349 }, 3350 ArbitraryFloatMulINTEL { 3351 result_type_id: Id, 3352 result_id: Id, 3353 a: Id, 3354 m1: u32, 3355 b: Id, 3356 m2: u32, 3357 mout: u32, 3358 enable_subnormals: u32, 3359 rounding_mode: u32, 3360 rounding_accuracy: u32, 3361 }, 3362 ArbitraryFloatDivINTEL { 3363 result_type_id: Id, 3364 result_id: Id, 3365 a: Id, 3366 m1: u32, 3367 b: Id, 3368 m2: u32, 3369 mout: u32, 3370 enable_subnormals: u32, 3371 rounding_mode: u32, 3372 rounding_accuracy: u32, 3373 }, 3374 ArbitraryFloatGTINTEL { 3375 result_type_id: Id, 3376 result_id: Id, 3377 a: Id, 3378 m1: u32, 3379 b: Id, 3380 m2: u32, 3381 }, 3382 ArbitraryFloatGEINTEL { 3383 result_type_id: Id, 3384 result_id: Id, 3385 a: Id, 3386 m1: u32, 3387 b: Id, 3388 m2: u32, 3389 }, 3390 ArbitraryFloatLTINTEL { 3391 result_type_id: Id, 3392 result_id: Id, 3393 a: Id, 3394 m1: u32, 3395 b: Id, 3396 m2: u32, 3397 }, 3398 ArbitraryFloatLEINTEL { 3399 result_type_id: Id, 3400 result_id: Id, 3401 a: Id, 3402 m1: u32, 3403 b: Id, 3404 m2: u32, 3405 }, 3406 ArbitraryFloatEQINTEL { 3407 result_type_id: Id, 3408 result_id: Id, 3409 a: Id, 3410 m1: u32, 3411 b: Id, 3412 m2: u32, 3413 }, 3414 ArbitraryFloatRecipINTEL { 3415 result_type_id: Id, 3416 result_id: Id, 3417 a: Id, 3418 m1: u32, 3419 mout: u32, 3420 enable_subnormals: u32, 3421 rounding_mode: u32, 3422 rounding_accuracy: u32, 3423 }, 3424 ArbitraryFloatRSqrtINTEL { 3425 result_type_id: Id, 3426 result_id: Id, 3427 a: Id, 3428 m1: u32, 3429 mout: u32, 3430 enable_subnormals: u32, 3431 rounding_mode: u32, 3432 rounding_accuracy: u32, 3433 }, 3434 ArbitraryFloatCbrtINTEL { 3435 result_type_id: Id, 3436 result_id: Id, 3437 a: Id, 3438 m1: u32, 3439 mout: u32, 3440 enable_subnormals: u32, 3441 rounding_mode: u32, 3442 rounding_accuracy: u32, 3443 }, 3444 ArbitraryFloatHypotINTEL { 3445 result_type_id: Id, 3446 result_id: Id, 3447 a: Id, 3448 m1: u32, 3449 b: Id, 3450 m2: u32, 3451 mout: u32, 3452 enable_subnormals: u32, 3453 rounding_mode: u32, 3454 rounding_accuracy: u32, 3455 }, 3456 ArbitraryFloatSqrtINTEL { 3457 result_type_id: Id, 3458 result_id: Id, 3459 a: Id, 3460 m1: u32, 3461 mout: u32, 3462 enable_subnormals: u32, 3463 rounding_mode: u32, 3464 rounding_accuracy: u32, 3465 }, 3466 ArbitraryFloatLogINTEL { 3467 result_type_id: Id, 3468 result_id: Id, 3469 a: Id, 3470 m1: u32, 3471 mout: u32, 3472 enable_subnormals: u32, 3473 rounding_mode: u32, 3474 rounding_accuracy: u32, 3475 }, 3476 ArbitraryFloatLog2INTEL { 3477 result_type_id: Id, 3478 result_id: Id, 3479 a: Id, 3480 m1: u32, 3481 mout: u32, 3482 enable_subnormals: u32, 3483 rounding_mode: u32, 3484 rounding_accuracy: u32, 3485 }, 3486 ArbitraryFloatLog10INTEL { 3487 result_type_id: Id, 3488 result_id: Id, 3489 a: Id, 3490 m1: u32, 3491 mout: u32, 3492 enable_subnormals: u32, 3493 rounding_mode: u32, 3494 rounding_accuracy: u32, 3495 }, 3496 ArbitraryFloatLog1pINTEL { 3497 result_type_id: Id, 3498 result_id: Id, 3499 a: Id, 3500 m1: u32, 3501 mout: u32, 3502 enable_subnormals: u32, 3503 rounding_mode: u32, 3504 rounding_accuracy: u32, 3505 }, 3506 ArbitraryFloatExpINTEL { 3507 result_type_id: Id, 3508 result_id: Id, 3509 a: Id, 3510 m1: u32, 3511 mout: u32, 3512 enable_subnormals: u32, 3513 rounding_mode: u32, 3514 rounding_accuracy: u32, 3515 }, 3516 ArbitraryFloatExp2INTEL { 3517 result_type_id: Id, 3518 result_id: Id, 3519 a: Id, 3520 m1: u32, 3521 mout: u32, 3522 enable_subnormals: u32, 3523 rounding_mode: u32, 3524 rounding_accuracy: u32, 3525 }, 3526 ArbitraryFloatExp10INTEL { 3527 result_type_id: Id, 3528 result_id: Id, 3529 a: Id, 3530 m1: u32, 3531 mout: u32, 3532 enable_subnormals: u32, 3533 rounding_mode: u32, 3534 rounding_accuracy: u32, 3535 }, 3536 ArbitraryFloatExpm1INTEL { 3537 result_type_id: Id, 3538 result_id: Id, 3539 a: Id, 3540 m1: u32, 3541 mout: u32, 3542 enable_subnormals: u32, 3543 rounding_mode: u32, 3544 rounding_accuracy: u32, 3545 }, 3546 ArbitraryFloatSinINTEL { 3547 result_type_id: Id, 3548 result_id: Id, 3549 a: Id, 3550 m1: u32, 3551 mout: u32, 3552 enable_subnormals: u32, 3553 rounding_mode: u32, 3554 rounding_accuracy: u32, 3555 }, 3556 ArbitraryFloatCosINTEL { 3557 result_type_id: Id, 3558 result_id: Id, 3559 a: Id, 3560 m1: u32, 3561 mout: u32, 3562 enable_subnormals: u32, 3563 rounding_mode: u32, 3564 rounding_accuracy: u32, 3565 }, 3566 ArbitraryFloatSinCosINTEL { 3567 result_type_id: Id, 3568 result_id: Id, 3569 a: Id, 3570 m1: u32, 3571 mout: u32, 3572 enable_subnormals: u32, 3573 rounding_mode: u32, 3574 rounding_accuracy: u32, 3575 }, 3576 ArbitraryFloatSinPiINTEL { 3577 result_type_id: Id, 3578 result_id: Id, 3579 a: Id, 3580 m1: u32, 3581 mout: u32, 3582 enable_subnormals: u32, 3583 rounding_mode: u32, 3584 rounding_accuracy: u32, 3585 }, 3586 ArbitraryFloatCosPiINTEL { 3587 result_type_id: Id, 3588 result_id: Id, 3589 a: Id, 3590 m1: u32, 3591 mout: u32, 3592 enable_subnormals: u32, 3593 rounding_mode: u32, 3594 rounding_accuracy: u32, 3595 }, 3596 ArbitraryFloatASinINTEL { 3597 result_type_id: Id, 3598 result_id: Id, 3599 a: Id, 3600 m1: u32, 3601 mout: u32, 3602 enable_subnormals: u32, 3603 rounding_mode: u32, 3604 rounding_accuracy: u32, 3605 }, 3606 ArbitraryFloatASinPiINTEL { 3607 result_type_id: Id, 3608 result_id: Id, 3609 a: Id, 3610 m1: u32, 3611 mout: u32, 3612 enable_subnormals: u32, 3613 rounding_mode: u32, 3614 rounding_accuracy: u32, 3615 }, 3616 ArbitraryFloatACosINTEL { 3617 result_type_id: Id, 3618 result_id: Id, 3619 a: Id, 3620 m1: u32, 3621 mout: u32, 3622 enable_subnormals: u32, 3623 rounding_mode: u32, 3624 rounding_accuracy: u32, 3625 }, 3626 ArbitraryFloatACosPiINTEL { 3627 result_type_id: Id, 3628 result_id: Id, 3629 a: Id, 3630 m1: u32, 3631 mout: u32, 3632 enable_subnormals: u32, 3633 rounding_mode: u32, 3634 rounding_accuracy: u32, 3635 }, 3636 ArbitraryFloatATanINTEL { 3637 result_type_id: Id, 3638 result_id: Id, 3639 a: Id, 3640 m1: u32, 3641 mout: u32, 3642 enable_subnormals: u32, 3643 rounding_mode: u32, 3644 rounding_accuracy: u32, 3645 }, 3646 ArbitraryFloatATanPiINTEL { 3647 result_type_id: Id, 3648 result_id: Id, 3649 a: Id, 3650 m1: u32, 3651 mout: u32, 3652 enable_subnormals: u32, 3653 rounding_mode: u32, 3654 rounding_accuracy: u32, 3655 }, 3656 ArbitraryFloatATan2INTEL { 3657 result_type_id: Id, 3658 result_id: Id, 3659 a: Id, 3660 m1: u32, 3661 b: Id, 3662 m2: u32, 3663 mout: u32, 3664 enable_subnormals: u32, 3665 rounding_mode: u32, 3666 rounding_accuracy: u32, 3667 }, 3668 ArbitraryFloatPowINTEL { 3669 result_type_id: Id, 3670 result_id: Id, 3671 a: Id, 3672 m1: u32, 3673 b: Id, 3674 m2: u32, 3675 mout: u32, 3676 enable_subnormals: u32, 3677 rounding_mode: u32, 3678 rounding_accuracy: u32, 3679 }, 3680 ArbitraryFloatPowRINTEL { 3681 result_type_id: Id, 3682 result_id: Id, 3683 a: Id, 3684 m1: u32, 3685 b: Id, 3686 m2: u32, 3687 mout: u32, 3688 enable_subnormals: u32, 3689 rounding_mode: u32, 3690 rounding_accuracy: u32, 3691 }, 3692 ArbitraryFloatPowNINTEL { 3693 result_type_id: Id, 3694 result_id: Id, 3695 a: Id, 3696 m1: u32, 3697 b: Id, 3698 mout: u32, 3699 enable_subnormals: u32, 3700 rounding_mode: u32, 3701 rounding_accuracy: u32, 3702 }, 3703 LoopControlINTEL { 3704 loop_control_parameters: Vec<u32>, 3705 }, 3706 FixedSqrtINTEL { 3707 result_type_id: Id, 3708 result_id: Id, 3709 input_type: Id, 3710 input: Id, 3711 s: u32, 3712 i: u32, 3713 r_i: u32, 3714 q: u32, 3715 o: u32, 3716 }, 3717 FixedRecipINTEL { 3718 result_type_id: Id, 3719 result_id: Id, 3720 input_type: Id, 3721 input: Id, 3722 s: u32, 3723 i: u32, 3724 r_i: u32, 3725 q: u32, 3726 o: u32, 3727 }, 3728 FixedRsqrtINTEL { 3729 result_type_id: Id, 3730 result_id: Id, 3731 input_type: Id, 3732 input: Id, 3733 s: u32, 3734 i: u32, 3735 r_i: u32, 3736 q: u32, 3737 o: u32, 3738 }, 3739 FixedSinINTEL { 3740 result_type_id: Id, 3741 result_id: Id, 3742 input_type: Id, 3743 input: Id, 3744 s: u32, 3745 i: u32, 3746 r_i: u32, 3747 q: u32, 3748 o: u32, 3749 }, 3750 FixedCosINTEL { 3751 result_type_id: Id, 3752 result_id: Id, 3753 input_type: Id, 3754 input: Id, 3755 s: u32, 3756 i: u32, 3757 r_i: u32, 3758 q: u32, 3759 o: u32, 3760 }, 3761 FixedSinCosINTEL { 3762 result_type_id: Id, 3763 result_id: Id, 3764 input_type: Id, 3765 input: Id, 3766 s: u32, 3767 i: u32, 3768 r_i: u32, 3769 q: u32, 3770 o: u32, 3771 }, 3772 FixedSinPiINTEL { 3773 result_type_id: Id, 3774 result_id: Id, 3775 input_type: Id, 3776 input: Id, 3777 s: u32, 3778 i: u32, 3779 r_i: u32, 3780 q: u32, 3781 o: u32, 3782 }, 3783 FixedCosPiINTEL { 3784 result_type_id: Id, 3785 result_id: Id, 3786 input_type: Id, 3787 input: Id, 3788 s: u32, 3789 i: u32, 3790 r_i: u32, 3791 q: u32, 3792 o: u32, 3793 }, 3794 FixedSinCosPiINTEL { 3795 result_type_id: Id, 3796 result_id: Id, 3797 input_type: Id, 3798 input: Id, 3799 s: u32, 3800 i: u32, 3801 r_i: u32, 3802 q: u32, 3803 o: u32, 3804 }, 3805 FixedLogINTEL { 3806 result_type_id: Id, 3807 result_id: Id, 3808 input_type: Id, 3809 input: Id, 3810 s: u32, 3811 i: u32, 3812 r_i: u32, 3813 q: u32, 3814 o: u32, 3815 }, 3816 FixedExpINTEL { 3817 result_type_id: Id, 3818 result_id: Id, 3819 input_type: Id, 3820 input: Id, 3821 s: u32, 3822 i: u32, 3823 r_i: u32, 3824 q: u32, 3825 o: u32, 3826 }, 3827 PtrCastToCrossWorkgroupINTEL { 3828 result_type_id: Id, 3829 result_id: Id, 3830 pointer: Id, 3831 }, 3832 CrossWorkgroupCastToPtrINTEL { 3833 result_type_id: Id, 3834 result_id: Id, 3835 pointer: Id, 3836 }, 3837 ReadPipeBlockingINTEL { 3838 result_type_id: Id, 3839 result_id: Id, 3840 packet_size: Id, 3841 packet_alignment: Id, 3842 }, 3843 WritePipeBlockingINTEL { 3844 result_type_id: Id, 3845 result_id: Id, 3846 packet_size: Id, 3847 packet_alignment: Id, 3848 }, 3849 FPGARegINTEL { 3850 result_type_id: Id, 3851 result_id: Id, 3852 result: Id, 3853 input: Id, 3854 }, 3855 RayQueryGetRayTMinKHR { 3856 result_type_id: Id, 3857 result_id: Id, 3858 ray_query: Id, 3859 }, 3860 RayQueryGetRayFlagsKHR { 3861 result_type_id: Id, 3862 result_id: Id, 3863 ray_query: Id, 3864 }, 3865 RayQueryGetIntersectionTKHR { 3866 result_type_id: Id, 3867 result_id: Id, 3868 ray_query: Id, 3869 intersection: Id, 3870 }, 3871 RayQueryGetIntersectionInstanceCustomIndexKHR { 3872 result_type_id: Id, 3873 result_id: Id, 3874 ray_query: Id, 3875 intersection: Id, 3876 }, 3877 RayQueryGetIntersectionInstanceIdKHR { 3878 result_type_id: Id, 3879 result_id: Id, 3880 ray_query: Id, 3881 intersection: Id, 3882 }, 3883 RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { 3884 result_type_id: Id, 3885 result_id: Id, 3886 ray_query: Id, 3887 intersection: Id, 3888 }, 3889 RayQueryGetIntersectionGeometryIndexKHR { 3890 result_type_id: Id, 3891 result_id: Id, 3892 ray_query: Id, 3893 intersection: Id, 3894 }, 3895 RayQueryGetIntersectionPrimitiveIndexKHR { 3896 result_type_id: Id, 3897 result_id: Id, 3898 ray_query: Id, 3899 intersection: Id, 3900 }, 3901 RayQueryGetIntersectionBarycentricsKHR { 3902 result_type_id: Id, 3903 result_id: Id, 3904 ray_query: Id, 3905 intersection: Id, 3906 }, 3907 RayQueryGetIntersectionFrontFaceKHR { 3908 result_type_id: Id, 3909 result_id: Id, 3910 ray_query: Id, 3911 intersection: Id, 3912 }, 3913 RayQueryGetIntersectionCandidateAABBOpaqueKHR { 3914 result_type_id: Id, 3915 result_id: Id, 3916 ray_query: Id, 3917 }, 3918 RayQueryGetIntersectionObjectRayDirectionKHR { 3919 result_type_id: Id, 3920 result_id: Id, 3921 ray_query: Id, 3922 intersection: Id, 3923 }, 3924 RayQueryGetIntersectionObjectRayOriginKHR { 3925 result_type_id: Id, 3926 result_id: Id, 3927 ray_query: Id, 3928 intersection: Id, 3929 }, 3930 RayQueryGetWorldRayDirectionKHR { 3931 result_type_id: Id, 3932 result_id: Id, 3933 ray_query: Id, 3934 }, 3935 RayQueryGetWorldRayOriginKHR { 3936 result_type_id: Id, 3937 result_id: Id, 3938 ray_query: Id, 3939 }, 3940 RayQueryGetIntersectionObjectToWorldKHR { 3941 result_type_id: Id, 3942 result_id: Id, 3943 ray_query: Id, 3944 intersection: Id, 3945 }, 3946 RayQueryGetIntersectionWorldToObjectKHR { 3947 result_type_id: Id, 3948 result_id: Id, 3949 ray_query: Id, 3950 intersection: Id, 3951 }, 3952 AtomicFAddEXT { 3953 result_type_id: Id, 3954 result_id: Id, 3955 pointer: Id, 3956 memory: Id, 3957 semantics: Id, 3958 value: Id, 3959 }, 3960 TypeBufferSurfaceINTEL { 3961 result_id: Id, 3962 access_qualifier: AccessQualifier, 3963 }, 3964 TypeStructContinuedINTEL { 3965 member_types: Vec<Id>, 3966 }, 3967 ConstantCompositeContinuedINTEL { 3968 constituents: Vec<Id>, 3969 }, 3970 SpecConstantCompositeContinuedINTEL { 3971 constituents: Vec<Id>, 3972 }, 3973 } 3974 impl Instruction { 3975 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError>3976 fn parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError> { 3977 let opcode = (reader.next_u32()? & 0xffff) as u16; 3978 Ok(match opcode { 3979 0u16 => Self::Nop, 3980 1u16 => Self::Undef { 3981 result_type_id: Id(reader.next_u32()?), 3982 result_id: Id(reader.next_u32()?), 3983 }, 3984 2u16 => Self::SourceContinued { 3985 continued_source: reader.next_string()?, 3986 }, 3987 3u16 => Self::Source { 3988 source_language: SourceLanguage::parse(reader)?, 3989 version: reader.next_u32()?, 3990 file: if !reader.is_empty() { 3991 Some(Id(reader.next_u32()?)) 3992 } else { 3993 None 3994 }, 3995 source: if !reader.is_empty() { 3996 Some(reader.next_string()?) 3997 } else { 3998 None 3999 }, 4000 }, 4001 4u16 => Self::SourceExtension { 4002 extension: reader.next_string()?, 4003 }, 4004 5u16 => Self::Name { 4005 target: Id(reader.next_u32()?), 4006 name: reader.next_string()?, 4007 }, 4008 6u16 => Self::MemberName { 4009 ty: Id(reader.next_u32()?), 4010 member: reader.next_u32()?, 4011 name: reader.next_string()?, 4012 }, 4013 7u16 => Self::String { 4014 result_id: Id(reader.next_u32()?), 4015 string: reader.next_string()?, 4016 }, 4017 8u16 => Self::Line { 4018 file: Id(reader.next_u32()?), 4019 line: reader.next_u32()?, 4020 column: reader.next_u32()?, 4021 }, 4022 10u16 => Self::Extension { 4023 name: reader.next_string()?, 4024 }, 4025 11u16 => Self::ExtInstImport { 4026 result_id: Id(reader.next_u32()?), 4027 name: reader.next_string()?, 4028 }, 4029 12u16 => Self::ExtInst { 4030 result_type_id: Id(reader.next_u32()?), 4031 result_id: Id(reader.next_u32()?), 4032 set: Id(reader.next_u32()?), 4033 instruction: reader.next_u32()?, 4034 operands: { 4035 let mut vec = Vec::new(); 4036 while !reader.is_empty() { 4037 vec.push(Id(reader.next_u32()?)); 4038 } 4039 vec 4040 }, 4041 }, 4042 14u16 => Self::MemoryModel { 4043 addressing_model: AddressingModel::parse(reader)?, 4044 memory_model: MemoryModel::parse(reader)?, 4045 }, 4046 15u16 => Self::EntryPoint { 4047 execution_model: ExecutionModel::parse(reader)?, 4048 entry_point: Id(reader.next_u32()?), 4049 name: reader.next_string()?, 4050 interface: { 4051 let mut vec = Vec::new(); 4052 while !reader.is_empty() { 4053 vec.push(Id(reader.next_u32()?)); 4054 } 4055 vec 4056 }, 4057 }, 4058 16u16 => Self::ExecutionMode { 4059 entry_point: Id(reader.next_u32()?), 4060 mode: ExecutionMode::parse(reader)?, 4061 }, 4062 17u16 => Self::Capability { 4063 capability: Capability::parse(reader)?, 4064 }, 4065 19u16 => Self::TypeVoid { 4066 result_id: Id(reader.next_u32()?), 4067 }, 4068 20u16 => Self::TypeBool { 4069 result_id: Id(reader.next_u32()?), 4070 }, 4071 21u16 => Self::TypeInt { 4072 result_id: Id(reader.next_u32()?), 4073 width: reader.next_u32()?, 4074 signedness: reader.next_u32()?, 4075 }, 4076 22u16 => Self::TypeFloat { 4077 result_id: Id(reader.next_u32()?), 4078 width: reader.next_u32()?, 4079 }, 4080 23u16 => Self::TypeVector { 4081 result_id: Id(reader.next_u32()?), 4082 component_type: Id(reader.next_u32()?), 4083 component_count: reader.next_u32()?, 4084 }, 4085 24u16 => Self::TypeMatrix { 4086 result_id: Id(reader.next_u32()?), 4087 column_type: Id(reader.next_u32()?), 4088 column_count: reader.next_u32()?, 4089 }, 4090 25u16 => Self::TypeImage { 4091 result_id: Id(reader.next_u32()?), 4092 sampled_type: Id(reader.next_u32()?), 4093 dim: Dim::parse(reader)?, 4094 depth: reader.next_u32()?, 4095 arrayed: reader.next_u32()?, 4096 ms: reader.next_u32()?, 4097 sampled: reader.next_u32()?, 4098 image_format: ImageFormat::parse(reader)?, 4099 access_qualifier: if !reader.is_empty() { 4100 Some(AccessQualifier::parse(reader)?) 4101 } else { 4102 None 4103 }, 4104 }, 4105 26u16 => Self::TypeSampler { 4106 result_id: Id(reader.next_u32()?), 4107 }, 4108 27u16 => Self::TypeSampledImage { 4109 result_id: Id(reader.next_u32()?), 4110 image_type: Id(reader.next_u32()?), 4111 }, 4112 28u16 => Self::TypeArray { 4113 result_id: Id(reader.next_u32()?), 4114 element_type: Id(reader.next_u32()?), 4115 length: Id(reader.next_u32()?), 4116 }, 4117 29u16 => Self::TypeRuntimeArray { 4118 result_id: Id(reader.next_u32()?), 4119 element_type: Id(reader.next_u32()?), 4120 }, 4121 30u16 => Self::TypeStruct { 4122 result_id: Id(reader.next_u32()?), 4123 member_types: { 4124 let mut vec = Vec::new(); 4125 while !reader.is_empty() { 4126 vec.push(Id(reader.next_u32()?)); 4127 } 4128 vec 4129 }, 4130 }, 4131 31u16 => Self::TypeOpaque { 4132 result_id: Id(reader.next_u32()?), 4133 name: reader.next_string()?, 4134 }, 4135 32u16 => Self::TypePointer { 4136 result_id: Id(reader.next_u32()?), 4137 storage_class: StorageClass::parse(reader)?, 4138 ty: Id(reader.next_u32()?), 4139 }, 4140 33u16 => Self::TypeFunction { 4141 result_id: Id(reader.next_u32()?), 4142 return_type: Id(reader.next_u32()?), 4143 parameter_types: { 4144 let mut vec = Vec::new(); 4145 while !reader.is_empty() { 4146 vec.push(Id(reader.next_u32()?)); 4147 } 4148 vec 4149 }, 4150 }, 4151 34u16 => Self::TypeEvent { 4152 result_id: Id(reader.next_u32()?), 4153 }, 4154 35u16 => Self::TypeDeviceEvent { 4155 result_id: Id(reader.next_u32()?), 4156 }, 4157 36u16 => Self::TypeReserveId { 4158 result_id: Id(reader.next_u32()?), 4159 }, 4160 37u16 => Self::TypeQueue { 4161 result_id: Id(reader.next_u32()?), 4162 }, 4163 38u16 => Self::TypePipe { 4164 result_id: Id(reader.next_u32()?), 4165 qualifier: AccessQualifier::parse(reader)?, 4166 }, 4167 39u16 => Self::TypeForwardPointer { 4168 pointer_type: Id(reader.next_u32()?), 4169 storage_class: StorageClass::parse(reader)?, 4170 }, 4171 41u16 => Self::ConstantTrue { 4172 result_type_id: Id(reader.next_u32()?), 4173 result_id: Id(reader.next_u32()?), 4174 }, 4175 42u16 => Self::ConstantFalse { 4176 result_type_id: Id(reader.next_u32()?), 4177 result_id: Id(reader.next_u32()?), 4178 }, 4179 43u16 => Self::Constant { 4180 result_type_id: Id(reader.next_u32()?), 4181 result_id: Id(reader.next_u32()?), 4182 value: reader.remainder(), 4183 }, 4184 44u16 => Self::ConstantComposite { 4185 result_type_id: Id(reader.next_u32()?), 4186 result_id: Id(reader.next_u32()?), 4187 constituents: { 4188 let mut vec = Vec::new(); 4189 while !reader.is_empty() { 4190 vec.push(Id(reader.next_u32()?)); 4191 } 4192 vec 4193 }, 4194 }, 4195 45u16 => Self::ConstantSampler { 4196 result_type_id: Id(reader.next_u32()?), 4197 result_id: Id(reader.next_u32()?), 4198 sampler_addressing_mode: SamplerAddressingMode::parse(reader)?, 4199 param: reader.next_u32()?, 4200 sampler_filter_mode: SamplerFilterMode::parse(reader)?, 4201 }, 4202 46u16 => Self::ConstantNull { 4203 result_type_id: Id(reader.next_u32()?), 4204 result_id: Id(reader.next_u32()?), 4205 }, 4206 48u16 => Self::SpecConstantTrue { 4207 result_type_id: Id(reader.next_u32()?), 4208 result_id: Id(reader.next_u32()?), 4209 }, 4210 49u16 => Self::SpecConstantFalse { 4211 result_type_id: Id(reader.next_u32()?), 4212 result_id: Id(reader.next_u32()?), 4213 }, 4214 50u16 => Self::SpecConstant { 4215 result_type_id: Id(reader.next_u32()?), 4216 result_id: Id(reader.next_u32()?), 4217 value: reader.remainder(), 4218 }, 4219 51u16 => Self::SpecConstantComposite { 4220 result_type_id: Id(reader.next_u32()?), 4221 result_id: Id(reader.next_u32()?), 4222 constituents: { 4223 let mut vec = Vec::new(); 4224 while !reader.is_empty() { 4225 vec.push(Id(reader.next_u32()?)); 4226 } 4227 vec 4228 }, 4229 }, 4230 52u16 => Self::SpecConstantOp { 4231 result_type_id: Id(reader.next_u32()?), 4232 result_id: Id(reader.next_u32()?), 4233 opcode: SpecConstantInstruction::parse(reader)?, 4234 }, 4235 54u16 => Self::Function { 4236 result_type_id: Id(reader.next_u32()?), 4237 result_id: Id(reader.next_u32()?), 4238 function_control: FunctionControl::parse(reader)?, 4239 function_type: Id(reader.next_u32()?), 4240 }, 4241 55u16 => Self::FunctionParameter { 4242 result_type_id: Id(reader.next_u32()?), 4243 result_id: Id(reader.next_u32()?), 4244 }, 4245 56u16 => Self::FunctionEnd, 4246 57u16 => Self::FunctionCall { 4247 result_type_id: Id(reader.next_u32()?), 4248 result_id: Id(reader.next_u32()?), 4249 function: Id(reader.next_u32()?), 4250 arguments: { 4251 let mut vec = Vec::new(); 4252 while !reader.is_empty() { 4253 vec.push(Id(reader.next_u32()?)); 4254 } 4255 vec 4256 }, 4257 }, 4258 59u16 => Self::Variable { 4259 result_type_id: Id(reader.next_u32()?), 4260 result_id: Id(reader.next_u32()?), 4261 storage_class: StorageClass::parse(reader)?, 4262 initializer: if !reader.is_empty() { 4263 Some(Id(reader.next_u32()?)) 4264 } else { 4265 None 4266 }, 4267 }, 4268 60u16 => Self::ImageTexelPointer { 4269 result_type_id: Id(reader.next_u32()?), 4270 result_id: Id(reader.next_u32()?), 4271 image: Id(reader.next_u32()?), 4272 coordinate: Id(reader.next_u32()?), 4273 sample: Id(reader.next_u32()?), 4274 }, 4275 61u16 => Self::Load { 4276 result_type_id: Id(reader.next_u32()?), 4277 result_id: Id(reader.next_u32()?), 4278 pointer: Id(reader.next_u32()?), 4279 memory_access: if !reader.is_empty() { 4280 Some(MemoryAccess::parse(reader)?) 4281 } else { 4282 None 4283 }, 4284 }, 4285 62u16 => Self::Store { 4286 pointer: Id(reader.next_u32()?), 4287 object: Id(reader.next_u32()?), 4288 memory_access: if !reader.is_empty() { 4289 Some(MemoryAccess::parse(reader)?) 4290 } else { 4291 None 4292 }, 4293 }, 4294 63u16 => Self::CopyMemory { 4295 target: Id(reader.next_u32()?), 4296 source: Id(reader.next_u32()?), 4297 memory_access1: if !reader.is_empty() { 4298 Some(MemoryAccess::parse(reader)?) 4299 } else { 4300 None 4301 }, 4302 memory_access2: if !reader.is_empty() { 4303 Some(MemoryAccess::parse(reader)?) 4304 } else { 4305 None 4306 }, 4307 }, 4308 64u16 => Self::CopyMemorySized { 4309 target: Id(reader.next_u32()?), 4310 source: Id(reader.next_u32()?), 4311 size: Id(reader.next_u32()?), 4312 memory_access1: if !reader.is_empty() { 4313 Some(MemoryAccess::parse(reader)?) 4314 } else { 4315 None 4316 }, 4317 memory_access2: if !reader.is_empty() { 4318 Some(MemoryAccess::parse(reader)?) 4319 } else { 4320 None 4321 }, 4322 }, 4323 65u16 => Self::AccessChain { 4324 result_type_id: Id(reader.next_u32()?), 4325 result_id: Id(reader.next_u32()?), 4326 base: Id(reader.next_u32()?), 4327 indexes: { 4328 let mut vec = Vec::new(); 4329 while !reader.is_empty() { 4330 vec.push(Id(reader.next_u32()?)); 4331 } 4332 vec 4333 }, 4334 }, 4335 66u16 => Self::InBoundsAccessChain { 4336 result_type_id: Id(reader.next_u32()?), 4337 result_id: Id(reader.next_u32()?), 4338 base: Id(reader.next_u32()?), 4339 indexes: { 4340 let mut vec = Vec::new(); 4341 while !reader.is_empty() { 4342 vec.push(Id(reader.next_u32()?)); 4343 } 4344 vec 4345 }, 4346 }, 4347 67u16 => Self::PtrAccessChain { 4348 result_type_id: Id(reader.next_u32()?), 4349 result_id: Id(reader.next_u32()?), 4350 base: Id(reader.next_u32()?), 4351 element: Id(reader.next_u32()?), 4352 indexes: { 4353 let mut vec = Vec::new(); 4354 while !reader.is_empty() { 4355 vec.push(Id(reader.next_u32()?)); 4356 } 4357 vec 4358 }, 4359 }, 4360 68u16 => Self::ArrayLength { 4361 result_type_id: Id(reader.next_u32()?), 4362 result_id: Id(reader.next_u32()?), 4363 structure: Id(reader.next_u32()?), 4364 array_member: reader.next_u32()?, 4365 }, 4366 69u16 => Self::GenericPtrMemSemantics { 4367 result_type_id: Id(reader.next_u32()?), 4368 result_id: Id(reader.next_u32()?), 4369 pointer: Id(reader.next_u32()?), 4370 }, 4371 70u16 => Self::InBoundsPtrAccessChain { 4372 result_type_id: Id(reader.next_u32()?), 4373 result_id: Id(reader.next_u32()?), 4374 base: Id(reader.next_u32()?), 4375 element: Id(reader.next_u32()?), 4376 indexes: { 4377 let mut vec = Vec::new(); 4378 while !reader.is_empty() { 4379 vec.push(Id(reader.next_u32()?)); 4380 } 4381 vec 4382 }, 4383 }, 4384 71u16 => Self::Decorate { 4385 target: Id(reader.next_u32()?), 4386 decoration: Decoration::parse(reader)?, 4387 }, 4388 72u16 => Self::MemberDecorate { 4389 structure_type: Id(reader.next_u32()?), 4390 member: reader.next_u32()?, 4391 decoration: Decoration::parse(reader)?, 4392 }, 4393 73u16 => Self::DecorationGroup { 4394 result_id: Id(reader.next_u32()?), 4395 }, 4396 74u16 => Self::GroupDecorate { 4397 decoration_group: Id(reader.next_u32()?), 4398 targets: { 4399 let mut vec = Vec::new(); 4400 while !reader.is_empty() { 4401 vec.push(Id(reader.next_u32()?)); 4402 } 4403 vec 4404 }, 4405 }, 4406 75u16 => Self::GroupMemberDecorate { 4407 decoration_group: Id(reader.next_u32()?), 4408 targets: { 4409 let mut vec = Vec::new(); 4410 while !reader.is_empty() { 4411 vec.push((Id(reader.next_u32()?), reader.next_u32()?)); 4412 } 4413 vec 4414 }, 4415 }, 4416 77u16 => Self::VectorExtractDynamic { 4417 result_type_id: Id(reader.next_u32()?), 4418 result_id: Id(reader.next_u32()?), 4419 vector: Id(reader.next_u32()?), 4420 index: Id(reader.next_u32()?), 4421 }, 4422 78u16 => Self::VectorInsertDynamic { 4423 result_type_id: Id(reader.next_u32()?), 4424 result_id: Id(reader.next_u32()?), 4425 vector: Id(reader.next_u32()?), 4426 component: Id(reader.next_u32()?), 4427 index: Id(reader.next_u32()?), 4428 }, 4429 79u16 => Self::VectorShuffle { 4430 result_type_id: Id(reader.next_u32()?), 4431 result_id: Id(reader.next_u32()?), 4432 vector_1: Id(reader.next_u32()?), 4433 vector_2: Id(reader.next_u32()?), 4434 components: { 4435 let mut vec = Vec::new(); 4436 while !reader.is_empty() { 4437 vec.push(reader.next_u32()?); 4438 } 4439 vec 4440 }, 4441 }, 4442 80u16 => Self::CompositeConstruct { 4443 result_type_id: Id(reader.next_u32()?), 4444 result_id: Id(reader.next_u32()?), 4445 constituents: { 4446 let mut vec = Vec::new(); 4447 while !reader.is_empty() { 4448 vec.push(Id(reader.next_u32()?)); 4449 } 4450 vec 4451 }, 4452 }, 4453 81u16 => Self::CompositeExtract { 4454 result_type_id: Id(reader.next_u32()?), 4455 result_id: Id(reader.next_u32()?), 4456 composite: Id(reader.next_u32()?), 4457 indexes: { 4458 let mut vec = Vec::new(); 4459 while !reader.is_empty() { 4460 vec.push(reader.next_u32()?); 4461 } 4462 vec 4463 }, 4464 }, 4465 82u16 => Self::CompositeInsert { 4466 result_type_id: Id(reader.next_u32()?), 4467 result_id: Id(reader.next_u32()?), 4468 object: Id(reader.next_u32()?), 4469 composite: Id(reader.next_u32()?), 4470 indexes: { 4471 let mut vec = Vec::new(); 4472 while !reader.is_empty() { 4473 vec.push(reader.next_u32()?); 4474 } 4475 vec 4476 }, 4477 }, 4478 83u16 => Self::CopyObject { 4479 result_type_id: Id(reader.next_u32()?), 4480 result_id: Id(reader.next_u32()?), 4481 operand: Id(reader.next_u32()?), 4482 }, 4483 84u16 => Self::Transpose { 4484 result_type_id: Id(reader.next_u32()?), 4485 result_id: Id(reader.next_u32()?), 4486 matrix: Id(reader.next_u32()?), 4487 }, 4488 86u16 => Self::SampledImage { 4489 result_type_id: Id(reader.next_u32()?), 4490 result_id: Id(reader.next_u32()?), 4491 image: Id(reader.next_u32()?), 4492 sampler: Id(reader.next_u32()?), 4493 }, 4494 87u16 => Self::ImageSampleImplicitLod { 4495 result_type_id: Id(reader.next_u32()?), 4496 result_id: Id(reader.next_u32()?), 4497 sampled_image: Id(reader.next_u32()?), 4498 coordinate: Id(reader.next_u32()?), 4499 image_operands: if !reader.is_empty() { 4500 Some(ImageOperands::parse(reader)?) 4501 } else { 4502 None 4503 }, 4504 }, 4505 88u16 => Self::ImageSampleExplicitLod { 4506 result_type_id: Id(reader.next_u32()?), 4507 result_id: Id(reader.next_u32()?), 4508 sampled_image: Id(reader.next_u32()?), 4509 coordinate: Id(reader.next_u32()?), 4510 image_operands: ImageOperands::parse(reader)?, 4511 }, 4512 89u16 => Self::ImageSampleDrefImplicitLod { 4513 result_type_id: Id(reader.next_u32()?), 4514 result_id: Id(reader.next_u32()?), 4515 sampled_image: Id(reader.next_u32()?), 4516 coordinate: Id(reader.next_u32()?), 4517 dref: Id(reader.next_u32()?), 4518 image_operands: if !reader.is_empty() { 4519 Some(ImageOperands::parse(reader)?) 4520 } else { 4521 None 4522 }, 4523 }, 4524 90u16 => Self::ImageSampleDrefExplicitLod { 4525 result_type_id: Id(reader.next_u32()?), 4526 result_id: Id(reader.next_u32()?), 4527 sampled_image: Id(reader.next_u32()?), 4528 coordinate: Id(reader.next_u32()?), 4529 dref: Id(reader.next_u32()?), 4530 image_operands: ImageOperands::parse(reader)?, 4531 }, 4532 91u16 => Self::ImageSampleProjImplicitLod { 4533 result_type_id: Id(reader.next_u32()?), 4534 result_id: Id(reader.next_u32()?), 4535 sampled_image: Id(reader.next_u32()?), 4536 coordinate: Id(reader.next_u32()?), 4537 image_operands: if !reader.is_empty() { 4538 Some(ImageOperands::parse(reader)?) 4539 } else { 4540 None 4541 }, 4542 }, 4543 92u16 => Self::ImageSampleProjExplicitLod { 4544 result_type_id: Id(reader.next_u32()?), 4545 result_id: Id(reader.next_u32()?), 4546 sampled_image: Id(reader.next_u32()?), 4547 coordinate: Id(reader.next_u32()?), 4548 image_operands: ImageOperands::parse(reader)?, 4549 }, 4550 93u16 => Self::ImageSampleProjDrefImplicitLod { 4551 result_type_id: Id(reader.next_u32()?), 4552 result_id: Id(reader.next_u32()?), 4553 sampled_image: Id(reader.next_u32()?), 4554 coordinate: Id(reader.next_u32()?), 4555 dref: Id(reader.next_u32()?), 4556 image_operands: if !reader.is_empty() { 4557 Some(ImageOperands::parse(reader)?) 4558 } else { 4559 None 4560 }, 4561 }, 4562 94u16 => Self::ImageSampleProjDrefExplicitLod { 4563 result_type_id: Id(reader.next_u32()?), 4564 result_id: Id(reader.next_u32()?), 4565 sampled_image: Id(reader.next_u32()?), 4566 coordinate: Id(reader.next_u32()?), 4567 dref: Id(reader.next_u32()?), 4568 image_operands: ImageOperands::parse(reader)?, 4569 }, 4570 95u16 => Self::ImageFetch { 4571 result_type_id: Id(reader.next_u32()?), 4572 result_id: Id(reader.next_u32()?), 4573 image: Id(reader.next_u32()?), 4574 coordinate: Id(reader.next_u32()?), 4575 image_operands: if !reader.is_empty() { 4576 Some(ImageOperands::parse(reader)?) 4577 } else { 4578 None 4579 }, 4580 }, 4581 96u16 => Self::ImageGather { 4582 result_type_id: Id(reader.next_u32()?), 4583 result_id: Id(reader.next_u32()?), 4584 sampled_image: Id(reader.next_u32()?), 4585 coordinate: Id(reader.next_u32()?), 4586 component: Id(reader.next_u32()?), 4587 image_operands: if !reader.is_empty() { 4588 Some(ImageOperands::parse(reader)?) 4589 } else { 4590 None 4591 }, 4592 }, 4593 97u16 => Self::ImageDrefGather { 4594 result_type_id: Id(reader.next_u32()?), 4595 result_id: Id(reader.next_u32()?), 4596 sampled_image: Id(reader.next_u32()?), 4597 coordinate: Id(reader.next_u32()?), 4598 dref: Id(reader.next_u32()?), 4599 image_operands: if !reader.is_empty() { 4600 Some(ImageOperands::parse(reader)?) 4601 } else { 4602 None 4603 }, 4604 }, 4605 98u16 => Self::ImageRead { 4606 result_type_id: Id(reader.next_u32()?), 4607 result_id: Id(reader.next_u32()?), 4608 image: Id(reader.next_u32()?), 4609 coordinate: Id(reader.next_u32()?), 4610 image_operands: if !reader.is_empty() { 4611 Some(ImageOperands::parse(reader)?) 4612 } else { 4613 None 4614 }, 4615 }, 4616 99u16 => Self::ImageWrite { 4617 image: Id(reader.next_u32()?), 4618 coordinate: Id(reader.next_u32()?), 4619 texel: Id(reader.next_u32()?), 4620 image_operands: if !reader.is_empty() { 4621 Some(ImageOperands::parse(reader)?) 4622 } else { 4623 None 4624 }, 4625 }, 4626 100u16 => Self::Image { 4627 result_type_id: Id(reader.next_u32()?), 4628 result_id: Id(reader.next_u32()?), 4629 sampled_image: Id(reader.next_u32()?), 4630 }, 4631 101u16 => Self::ImageQueryFormat { 4632 result_type_id: Id(reader.next_u32()?), 4633 result_id: Id(reader.next_u32()?), 4634 image: Id(reader.next_u32()?), 4635 }, 4636 102u16 => Self::ImageQueryOrder { 4637 result_type_id: Id(reader.next_u32()?), 4638 result_id: Id(reader.next_u32()?), 4639 image: Id(reader.next_u32()?), 4640 }, 4641 103u16 => Self::ImageQuerySizeLod { 4642 result_type_id: Id(reader.next_u32()?), 4643 result_id: Id(reader.next_u32()?), 4644 image: Id(reader.next_u32()?), 4645 level_of_detail: Id(reader.next_u32()?), 4646 }, 4647 104u16 => Self::ImageQuerySize { 4648 result_type_id: Id(reader.next_u32()?), 4649 result_id: Id(reader.next_u32()?), 4650 image: Id(reader.next_u32()?), 4651 }, 4652 105u16 => Self::ImageQueryLod { 4653 result_type_id: Id(reader.next_u32()?), 4654 result_id: Id(reader.next_u32()?), 4655 sampled_image: Id(reader.next_u32()?), 4656 coordinate: Id(reader.next_u32()?), 4657 }, 4658 106u16 => Self::ImageQueryLevels { 4659 result_type_id: Id(reader.next_u32()?), 4660 result_id: Id(reader.next_u32()?), 4661 image: Id(reader.next_u32()?), 4662 }, 4663 107u16 => Self::ImageQuerySamples { 4664 result_type_id: Id(reader.next_u32()?), 4665 result_id: Id(reader.next_u32()?), 4666 image: Id(reader.next_u32()?), 4667 }, 4668 109u16 => Self::ConvertFToU { 4669 result_type_id: Id(reader.next_u32()?), 4670 result_id: Id(reader.next_u32()?), 4671 float_value: Id(reader.next_u32()?), 4672 }, 4673 110u16 => Self::ConvertFToS { 4674 result_type_id: Id(reader.next_u32()?), 4675 result_id: Id(reader.next_u32()?), 4676 float_value: Id(reader.next_u32()?), 4677 }, 4678 111u16 => Self::ConvertSToF { 4679 result_type_id: Id(reader.next_u32()?), 4680 result_id: Id(reader.next_u32()?), 4681 signed_value: Id(reader.next_u32()?), 4682 }, 4683 112u16 => Self::ConvertUToF { 4684 result_type_id: Id(reader.next_u32()?), 4685 result_id: Id(reader.next_u32()?), 4686 unsigned_value: Id(reader.next_u32()?), 4687 }, 4688 113u16 => Self::UConvert { 4689 result_type_id: Id(reader.next_u32()?), 4690 result_id: Id(reader.next_u32()?), 4691 unsigned_value: Id(reader.next_u32()?), 4692 }, 4693 114u16 => Self::SConvert { 4694 result_type_id: Id(reader.next_u32()?), 4695 result_id: Id(reader.next_u32()?), 4696 signed_value: Id(reader.next_u32()?), 4697 }, 4698 115u16 => Self::FConvert { 4699 result_type_id: Id(reader.next_u32()?), 4700 result_id: Id(reader.next_u32()?), 4701 float_value: Id(reader.next_u32()?), 4702 }, 4703 116u16 => Self::QuantizeToF16 { 4704 result_type_id: Id(reader.next_u32()?), 4705 result_id: Id(reader.next_u32()?), 4706 value: Id(reader.next_u32()?), 4707 }, 4708 117u16 => Self::ConvertPtrToU { 4709 result_type_id: Id(reader.next_u32()?), 4710 result_id: Id(reader.next_u32()?), 4711 pointer: Id(reader.next_u32()?), 4712 }, 4713 118u16 => Self::SatConvertSToU { 4714 result_type_id: Id(reader.next_u32()?), 4715 result_id: Id(reader.next_u32()?), 4716 signed_value: Id(reader.next_u32()?), 4717 }, 4718 119u16 => Self::SatConvertUToS { 4719 result_type_id: Id(reader.next_u32()?), 4720 result_id: Id(reader.next_u32()?), 4721 unsigned_value: Id(reader.next_u32()?), 4722 }, 4723 120u16 => Self::ConvertUToPtr { 4724 result_type_id: Id(reader.next_u32()?), 4725 result_id: Id(reader.next_u32()?), 4726 integer_value: Id(reader.next_u32()?), 4727 }, 4728 121u16 => Self::PtrCastToGeneric { 4729 result_type_id: Id(reader.next_u32()?), 4730 result_id: Id(reader.next_u32()?), 4731 pointer: Id(reader.next_u32()?), 4732 }, 4733 122u16 => Self::GenericCastToPtr { 4734 result_type_id: Id(reader.next_u32()?), 4735 result_id: Id(reader.next_u32()?), 4736 pointer: Id(reader.next_u32()?), 4737 }, 4738 123u16 => Self::GenericCastToPtrExplicit { 4739 result_type_id: Id(reader.next_u32()?), 4740 result_id: Id(reader.next_u32()?), 4741 pointer: Id(reader.next_u32()?), 4742 storage: StorageClass::parse(reader)?, 4743 }, 4744 124u16 => Self::Bitcast { 4745 result_type_id: Id(reader.next_u32()?), 4746 result_id: Id(reader.next_u32()?), 4747 operand: Id(reader.next_u32()?), 4748 }, 4749 126u16 => Self::SNegate { 4750 result_type_id: Id(reader.next_u32()?), 4751 result_id: Id(reader.next_u32()?), 4752 operand: Id(reader.next_u32()?), 4753 }, 4754 127u16 => Self::FNegate { 4755 result_type_id: Id(reader.next_u32()?), 4756 result_id: Id(reader.next_u32()?), 4757 operand: Id(reader.next_u32()?), 4758 }, 4759 128u16 => Self::IAdd { 4760 result_type_id: Id(reader.next_u32()?), 4761 result_id: Id(reader.next_u32()?), 4762 operand1: Id(reader.next_u32()?), 4763 operand2: Id(reader.next_u32()?), 4764 }, 4765 129u16 => Self::FAdd { 4766 result_type_id: Id(reader.next_u32()?), 4767 result_id: Id(reader.next_u32()?), 4768 operand1: Id(reader.next_u32()?), 4769 operand2: Id(reader.next_u32()?), 4770 }, 4771 130u16 => Self::ISub { 4772 result_type_id: Id(reader.next_u32()?), 4773 result_id: Id(reader.next_u32()?), 4774 operand1: Id(reader.next_u32()?), 4775 operand2: Id(reader.next_u32()?), 4776 }, 4777 131u16 => Self::FSub { 4778 result_type_id: Id(reader.next_u32()?), 4779 result_id: Id(reader.next_u32()?), 4780 operand1: Id(reader.next_u32()?), 4781 operand2: Id(reader.next_u32()?), 4782 }, 4783 132u16 => Self::IMul { 4784 result_type_id: Id(reader.next_u32()?), 4785 result_id: Id(reader.next_u32()?), 4786 operand1: Id(reader.next_u32()?), 4787 operand2: Id(reader.next_u32()?), 4788 }, 4789 133u16 => Self::FMul { 4790 result_type_id: Id(reader.next_u32()?), 4791 result_id: Id(reader.next_u32()?), 4792 operand1: Id(reader.next_u32()?), 4793 operand2: Id(reader.next_u32()?), 4794 }, 4795 134u16 => Self::UDiv { 4796 result_type_id: Id(reader.next_u32()?), 4797 result_id: Id(reader.next_u32()?), 4798 operand1: Id(reader.next_u32()?), 4799 operand2: Id(reader.next_u32()?), 4800 }, 4801 135u16 => Self::SDiv { 4802 result_type_id: Id(reader.next_u32()?), 4803 result_id: Id(reader.next_u32()?), 4804 operand1: Id(reader.next_u32()?), 4805 operand2: Id(reader.next_u32()?), 4806 }, 4807 136u16 => Self::FDiv { 4808 result_type_id: Id(reader.next_u32()?), 4809 result_id: Id(reader.next_u32()?), 4810 operand1: Id(reader.next_u32()?), 4811 operand2: Id(reader.next_u32()?), 4812 }, 4813 137u16 => Self::UMod { 4814 result_type_id: Id(reader.next_u32()?), 4815 result_id: Id(reader.next_u32()?), 4816 operand1: Id(reader.next_u32()?), 4817 operand2: Id(reader.next_u32()?), 4818 }, 4819 138u16 => Self::SRem { 4820 result_type_id: Id(reader.next_u32()?), 4821 result_id: Id(reader.next_u32()?), 4822 operand1: Id(reader.next_u32()?), 4823 operand2: Id(reader.next_u32()?), 4824 }, 4825 139u16 => Self::SMod { 4826 result_type_id: Id(reader.next_u32()?), 4827 result_id: Id(reader.next_u32()?), 4828 operand1: Id(reader.next_u32()?), 4829 operand2: Id(reader.next_u32()?), 4830 }, 4831 140u16 => Self::FRem { 4832 result_type_id: Id(reader.next_u32()?), 4833 result_id: Id(reader.next_u32()?), 4834 operand1: Id(reader.next_u32()?), 4835 operand2: Id(reader.next_u32()?), 4836 }, 4837 141u16 => Self::FMod { 4838 result_type_id: Id(reader.next_u32()?), 4839 result_id: Id(reader.next_u32()?), 4840 operand1: Id(reader.next_u32()?), 4841 operand2: Id(reader.next_u32()?), 4842 }, 4843 142u16 => Self::VectorTimesScalar { 4844 result_type_id: Id(reader.next_u32()?), 4845 result_id: Id(reader.next_u32()?), 4846 vector: Id(reader.next_u32()?), 4847 scalar: Id(reader.next_u32()?), 4848 }, 4849 143u16 => Self::MatrixTimesScalar { 4850 result_type_id: Id(reader.next_u32()?), 4851 result_id: Id(reader.next_u32()?), 4852 matrix: Id(reader.next_u32()?), 4853 scalar: Id(reader.next_u32()?), 4854 }, 4855 144u16 => Self::VectorTimesMatrix { 4856 result_type_id: Id(reader.next_u32()?), 4857 result_id: Id(reader.next_u32()?), 4858 vector: Id(reader.next_u32()?), 4859 matrix: Id(reader.next_u32()?), 4860 }, 4861 145u16 => Self::MatrixTimesVector { 4862 result_type_id: Id(reader.next_u32()?), 4863 result_id: Id(reader.next_u32()?), 4864 matrix: Id(reader.next_u32()?), 4865 vector: Id(reader.next_u32()?), 4866 }, 4867 146u16 => Self::MatrixTimesMatrix { 4868 result_type_id: Id(reader.next_u32()?), 4869 result_id: Id(reader.next_u32()?), 4870 left_matrix: Id(reader.next_u32()?), 4871 right_matrix: Id(reader.next_u32()?), 4872 }, 4873 147u16 => Self::OuterProduct { 4874 result_type_id: Id(reader.next_u32()?), 4875 result_id: Id(reader.next_u32()?), 4876 vector_1: Id(reader.next_u32()?), 4877 vector_2: Id(reader.next_u32()?), 4878 }, 4879 148u16 => Self::Dot { 4880 result_type_id: Id(reader.next_u32()?), 4881 result_id: Id(reader.next_u32()?), 4882 vector_1: Id(reader.next_u32()?), 4883 vector_2: Id(reader.next_u32()?), 4884 }, 4885 149u16 => Self::IAddCarry { 4886 result_type_id: Id(reader.next_u32()?), 4887 result_id: Id(reader.next_u32()?), 4888 operand1: Id(reader.next_u32()?), 4889 operand2: Id(reader.next_u32()?), 4890 }, 4891 150u16 => Self::ISubBorrow { 4892 result_type_id: Id(reader.next_u32()?), 4893 result_id: Id(reader.next_u32()?), 4894 operand1: Id(reader.next_u32()?), 4895 operand2: Id(reader.next_u32()?), 4896 }, 4897 151u16 => Self::UMulExtended { 4898 result_type_id: Id(reader.next_u32()?), 4899 result_id: Id(reader.next_u32()?), 4900 operand1: Id(reader.next_u32()?), 4901 operand2: Id(reader.next_u32()?), 4902 }, 4903 152u16 => Self::SMulExtended { 4904 result_type_id: Id(reader.next_u32()?), 4905 result_id: Id(reader.next_u32()?), 4906 operand1: Id(reader.next_u32()?), 4907 operand2: Id(reader.next_u32()?), 4908 }, 4909 154u16 => Self::Any { 4910 result_type_id: Id(reader.next_u32()?), 4911 result_id: Id(reader.next_u32()?), 4912 vector: Id(reader.next_u32()?), 4913 }, 4914 155u16 => Self::All { 4915 result_type_id: Id(reader.next_u32()?), 4916 result_id: Id(reader.next_u32()?), 4917 vector: Id(reader.next_u32()?), 4918 }, 4919 156u16 => Self::IsNan { 4920 result_type_id: Id(reader.next_u32()?), 4921 result_id: Id(reader.next_u32()?), 4922 x: Id(reader.next_u32()?), 4923 }, 4924 157u16 => Self::IsInf { 4925 result_type_id: Id(reader.next_u32()?), 4926 result_id: Id(reader.next_u32()?), 4927 x: Id(reader.next_u32()?), 4928 }, 4929 158u16 => Self::IsFinite { 4930 result_type_id: Id(reader.next_u32()?), 4931 result_id: Id(reader.next_u32()?), 4932 x: Id(reader.next_u32()?), 4933 }, 4934 159u16 => Self::IsNormal { 4935 result_type_id: Id(reader.next_u32()?), 4936 result_id: Id(reader.next_u32()?), 4937 x: Id(reader.next_u32()?), 4938 }, 4939 160u16 => Self::SignBitSet { 4940 result_type_id: Id(reader.next_u32()?), 4941 result_id: Id(reader.next_u32()?), 4942 x: Id(reader.next_u32()?), 4943 }, 4944 161u16 => Self::LessOrGreater { 4945 result_type_id: Id(reader.next_u32()?), 4946 result_id: Id(reader.next_u32()?), 4947 x: Id(reader.next_u32()?), 4948 y: Id(reader.next_u32()?), 4949 }, 4950 162u16 => Self::Ordered { 4951 result_type_id: Id(reader.next_u32()?), 4952 result_id: Id(reader.next_u32()?), 4953 x: Id(reader.next_u32()?), 4954 y: Id(reader.next_u32()?), 4955 }, 4956 163u16 => Self::Unordered { 4957 result_type_id: Id(reader.next_u32()?), 4958 result_id: Id(reader.next_u32()?), 4959 x: Id(reader.next_u32()?), 4960 y: Id(reader.next_u32()?), 4961 }, 4962 164u16 => Self::LogicalEqual { 4963 result_type_id: Id(reader.next_u32()?), 4964 result_id: Id(reader.next_u32()?), 4965 operand1: Id(reader.next_u32()?), 4966 operand2: Id(reader.next_u32()?), 4967 }, 4968 165u16 => Self::LogicalNotEqual { 4969 result_type_id: Id(reader.next_u32()?), 4970 result_id: Id(reader.next_u32()?), 4971 operand1: Id(reader.next_u32()?), 4972 operand2: Id(reader.next_u32()?), 4973 }, 4974 166u16 => Self::LogicalOr { 4975 result_type_id: Id(reader.next_u32()?), 4976 result_id: Id(reader.next_u32()?), 4977 operand1: Id(reader.next_u32()?), 4978 operand2: Id(reader.next_u32()?), 4979 }, 4980 167u16 => Self::LogicalAnd { 4981 result_type_id: Id(reader.next_u32()?), 4982 result_id: Id(reader.next_u32()?), 4983 operand1: Id(reader.next_u32()?), 4984 operand2: Id(reader.next_u32()?), 4985 }, 4986 168u16 => Self::LogicalNot { 4987 result_type_id: Id(reader.next_u32()?), 4988 result_id: Id(reader.next_u32()?), 4989 operand: Id(reader.next_u32()?), 4990 }, 4991 169u16 => Self::Select { 4992 result_type_id: Id(reader.next_u32()?), 4993 result_id: Id(reader.next_u32()?), 4994 condition: Id(reader.next_u32()?), 4995 object_1: Id(reader.next_u32()?), 4996 object_2: Id(reader.next_u32()?), 4997 }, 4998 170u16 => Self::IEqual { 4999 result_type_id: Id(reader.next_u32()?), 5000 result_id: Id(reader.next_u32()?), 5001 operand1: Id(reader.next_u32()?), 5002 operand2: Id(reader.next_u32()?), 5003 }, 5004 171u16 => Self::INotEqual { 5005 result_type_id: Id(reader.next_u32()?), 5006 result_id: Id(reader.next_u32()?), 5007 operand1: Id(reader.next_u32()?), 5008 operand2: Id(reader.next_u32()?), 5009 }, 5010 172u16 => Self::UGreaterThan { 5011 result_type_id: Id(reader.next_u32()?), 5012 result_id: Id(reader.next_u32()?), 5013 operand1: Id(reader.next_u32()?), 5014 operand2: Id(reader.next_u32()?), 5015 }, 5016 173u16 => Self::SGreaterThan { 5017 result_type_id: Id(reader.next_u32()?), 5018 result_id: Id(reader.next_u32()?), 5019 operand1: Id(reader.next_u32()?), 5020 operand2: Id(reader.next_u32()?), 5021 }, 5022 174u16 => Self::UGreaterThanEqual { 5023 result_type_id: Id(reader.next_u32()?), 5024 result_id: Id(reader.next_u32()?), 5025 operand1: Id(reader.next_u32()?), 5026 operand2: Id(reader.next_u32()?), 5027 }, 5028 175u16 => Self::SGreaterThanEqual { 5029 result_type_id: Id(reader.next_u32()?), 5030 result_id: Id(reader.next_u32()?), 5031 operand1: Id(reader.next_u32()?), 5032 operand2: Id(reader.next_u32()?), 5033 }, 5034 176u16 => Self::ULessThan { 5035 result_type_id: Id(reader.next_u32()?), 5036 result_id: Id(reader.next_u32()?), 5037 operand1: Id(reader.next_u32()?), 5038 operand2: Id(reader.next_u32()?), 5039 }, 5040 177u16 => Self::SLessThan { 5041 result_type_id: Id(reader.next_u32()?), 5042 result_id: Id(reader.next_u32()?), 5043 operand1: Id(reader.next_u32()?), 5044 operand2: Id(reader.next_u32()?), 5045 }, 5046 178u16 => Self::ULessThanEqual { 5047 result_type_id: Id(reader.next_u32()?), 5048 result_id: Id(reader.next_u32()?), 5049 operand1: Id(reader.next_u32()?), 5050 operand2: Id(reader.next_u32()?), 5051 }, 5052 179u16 => Self::SLessThanEqual { 5053 result_type_id: Id(reader.next_u32()?), 5054 result_id: Id(reader.next_u32()?), 5055 operand1: Id(reader.next_u32()?), 5056 operand2: Id(reader.next_u32()?), 5057 }, 5058 180u16 => Self::FOrdEqual { 5059 result_type_id: Id(reader.next_u32()?), 5060 result_id: Id(reader.next_u32()?), 5061 operand1: Id(reader.next_u32()?), 5062 operand2: Id(reader.next_u32()?), 5063 }, 5064 181u16 => Self::FUnordEqual { 5065 result_type_id: Id(reader.next_u32()?), 5066 result_id: Id(reader.next_u32()?), 5067 operand1: Id(reader.next_u32()?), 5068 operand2: Id(reader.next_u32()?), 5069 }, 5070 182u16 => Self::FOrdNotEqual { 5071 result_type_id: Id(reader.next_u32()?), 5072 result_id: Id(reader.next_u32()?), 5073 operand1: Id(reader.next_u32()?), 5074 operand2: Id(reader.next_u32()?), 5075 }, 5076 183u16 => Self::FUnordNotEqual { 5077 result_type_id: Id(reader.next_u32()?), 5078 result_id: Id(reader.next_u32()?), 5079 operand1: Id(reader.next_u32()?), 5080 operand2: Id(reader.next_u32()?), 5081 }, 5082 184u16 => Self::FOrdLessThan { 5083 result_type_id: Id(reader.next_u32()?), 5084 result_id: Id(reader.next_u32()?), 5085 operand1: Id(reader.next_u32()?), 5086 operand2: Id(reader.next_u32()?), 5087 }, 5088 185u16 => Self::FUnordLessThan { 5089 result_type_id: Id(reader.next_u32()?), 5090 result_id: Id(reader.next_u32()?), 5091 operand1: Id(reader.next_u32()?), 5092 operand2: Id(reader.next_u32()?), 5093 }, 5094 186u16 => Self::FOrdGreaterThan { 5095 result_type_id: Id(reader.next_u32()?), 5096 result_id: Id(reader.next_u32()?), 5097 operand1: Id(reader.next_u32()?), 5098 operand2: Id(reader.next_u32()?), 5099 }, 5100 187u16 => Self::FUnordGreaterThan { 5101 result_type_id: Id(reader.next_u32()?), 5102 result_id: Id(reader.next_u32()?), 5103 operand1: Id(reader.next_u32()?), 5104 operand2: Id(reader.next_u32()?), 5105 }, 5106 188u16 => Self::FOrdLessThanEqual { 5107 result_type_id: Id(reader.next_u32()?), 5108 result_id: Id(reader.next_u32()?), 5109 operand1: Id(reader.next_u32()?), 5110 operand2: Id(reader.next_u32()?), 5111 }, 5112 189u16 => Self::FUnordLessThanEqual { 5113 result_type_id: Id(reader.next_u32()?), 5114 result_id: Id(reader.next_u32()?), 5115 operand1: Id(reader.next_u32()?), 5116 operand2: Id(reader.next_u32()?), 5117 }, 5118 190u16 => Self::FOrdGreaterThanEqual { 5119 result_type_id: Id(reader.next_u32()?), 5120 result_id: Id(reader.next_u32()?), 5121 operand1: Id(reader.next_u32()?), 5122 operand2: Id(reader.next_u32()?), 5123 }, 5124 191u16 => Self::FUnordGreaterThanEqual { 5125 result_type_id: Id(reader.next_u32()?), 5126 result_id: Id(reader.next_u32()?), 5127 operand1: Id(reader.next_u32()?), 5128 operand2: Id(reader.next_u32()?), 5129 }, 5130 194u16 => Self::ShiftRightLogical { 5131 result_type_id: Id(reader.next_u32()?), 5132 result_id: Id(reader.next_u32()?), 5133 base: Id(reader.next_u32()?), 5134 shift: Id(reader.next_u32()?), 5135 }, 5136 195u16 => Self::ShiftRightArithmetic { 5137 result_type_id: Id(reader.next_u32()?), 5138 result_id: Id(reader.next_u32()?), 5139 base: Id(reader.next_u32()?), 5140 shift: Id(reader.next_u32()?), 5141 }, 5142 196u16 => Self::ShiftLeftLogical { 5143 result_type_id: Id(reader.next_u32()?), 5144 result_id: Id(reader.next_u32()?), 5145 base: Id(reader.next_u32()?), 5146 shift: Id(reader.next_u32()?), 5147 }, 5148 197u16 => Self::BitwiseOr { 5149 result_type_id: Id(reader.next_u32()?), 5150 result_id: Id(reader.next_u32()?), 5151 operand1: Id(reader.next_u32()?), 5152 operand2: Id(reader.next_u32()?), 5153 }, 5154 198u16 => Self::BitwiseXor { 5155 result_type_id: Id(reader.next_u32()?), 5156 result_id: Id(reader.next_u32()?), 5157 operand1: Id(reader.next_u32()?), 5158 operand2: Id(reader.next_u32()?), 5159 }, 5160 199u16 => Self::BitwiseAnd { 5161 result_type_id: Id(reader.next_u32()?), 5162 result_id: Id(reader.next_u32()?), 5163 operand1: Id(reader.next_u32()?), 5164 operand2: Id(reader.next_u32()?), 5165 }, 5166 200u16 => Self::Not { 5167 result_type_id: Id(reader.next_u32()?), 5168 result_id: Id(reader.next_u32()?), 5169 operand: Id(reader.next_u32()?), 5170 }, 5171 201u16 => Self::BitFieldInsert { 5172 result_type_id: Id(reader.next_u32()?), 5173 result_id: Id(reader.next_u32()?), 5174 base: Id(reader.next_u32()?), 5175 insert: Id(reader.next_u32()?), 5176 offset: Id(reader.next_u32()?), 5177 count: Id(reader.next_u32()?), 5178 }, 5179 202u16 => Self::BitFieldSExtract { 5180 result_type_id: Id(reader.next_u32()?), 5181 result_id: Id(reader.next_u32()?), 5182 base: Id(reader.next_u32()?), 5183 offset: Id(reader.next_u32()?), 5184 count: Id(reader.next_u32()?), 5185 }, 5186 203u16 => Self::BitFieldUExtract { 5187 result_type_id: Id(reader.next_u32()?), 5188 result_id: Id(reader.next_u32()?), 5189 base: Id(reader.next_u32()?), 5190 offset: Id(reader.next_u32()?), 5191 count: Id(reader.next_u32()?), 5192 }, 5193 204u16 => Self::BitReverse { 5194 result_type_id: Id(reader.next_u32()?), 5195 result_id: Id(reader.next_u32()?), 5196 base: Id(reader.next_u32()?), 5197 }, 5198 205u16 => Self::BitCount { 5199 result_type_id: Id(reader.next_u32()?), 5200 result_id: Id(reader.next_u32()?), 5201 base: Id(reader.next_u32()?), 5202 }, 5203 207u16 => Self::DPdx { 5204 result_type_id: Id(reader.next_u32()?), 5205 result_id: Id(reader.next_u32()?), 5206 p: Id(reader.next_u32()?), 5207 }, 5208 208u16 => Self::DPdy { 5209 result_type_id: Id(reader.next_u32()?), 5210 result_id: Id(reader.next_u32()?), 5211 p: Id(reader.next_u32()?), 5212 }, 5213 209u16 => Self::Fwidth { 5214 result_type_id: Id(reader.next_u32()?), 5215 result_id: Id(reader.next_u32()?), 5216 p: Id(reader.next_u32()?), 5217 }, 5218 210u16 => Self::DPdxFine { 5219 result_type_id: Id(reader.next_u32()?), 5220 result_id: Id(reader.next_u32()?), 5221 p: Id(reader.next_u32()?), 5222 }, 5223 211u16 => Self::DPdyFine { 5224 result_type_id: Id(reader.next_u32()?), 5225 result_id: Id(reader.next_u32()?), 5226 p: Id(reader.next_u32()?), 5227 }, 5228 212u16 => Self::FwidthFine { 5229 result_type_id: Id(reader.next_u32()?), 5230 result_id: Id(reader.next_u32()?), 5231 p: Id(reader.next_u32()?), 5232 }, 5233 213u16 => Self::DPdxCoarse { 5234 result_type_id: Id(reader.next_u32()?), 5235 result_id: Id(reader.next_u32()?), 5236 p: Id(reader.next_u32()?), 5237 }, 5238 214u16 => Self::DPdyCoarse { 5239 result_type_id: Id(reader.next_u32()?), 5240 result_id: Id(reader.next_u32()?), 5241 p: Id(reader.next_u32()?), 5242 }, 5243 215u16 => Self::FwidthCoarse { 5244 result_type_id: Id(reader.next_u32()?), 5245 result_id: Id(reader.next_u32()?), 5246 p: Id(reader.next_u32()?), 5247 }, 5248 218u16 => Self::EmitVertex, 5249 219u16 => Self::EndPrimitive, 5250 220u16 => Self::EmitStreamVertex { 5251 stream: Id(reader.next_u32()?), 5252 }, 5253 221u16 => Self::EndStreamPrimitive { 5254 stream: Id(reader.next_u32()?), 5255 }, 5256 224u16 => Self::ControlBarrier { 5257 execution: Id(reader.next_u32()?), 5258 memory: Id(reader.next_u32()?), 5259 semantics: Id(reader.next_u32()?), 5260 }, 5261 225u16 => Self::MemoryBarrier { 5262 memory: Id(reader.next_u32()?), 5263 semantics: Id(reader.next_u32()?), 5264 }, 5265 227u16 => Self::AtomicLoad { 5266 result_type_id: Id(reader.next_u32()?), 5267 result_id: Id(reader.next_u32()?), 5268 pointer: Id(reader.next_u32()?), 5269 memory: Id(reader.next_u32()?), 5270 semantics: Id(reader.next_u32()?), 5271 }, 5272 228u16 => Self::AtomicStore { 5273 pointer: Id(reader.next_u32()?), 5274 memory: Id(reader.next_u32()?), 5275 semantics: Id(reader.next_u32()?), 5276 value: Id(reader.next_u32()?), 5277 }, 5278 229u16 => Self::AtomicExchange { 5279 result_type_id: Id(reader.next_u32()?), 5280 result_id: Id(reader.next_u32()?), 5281 pointer: Id(reader.next_u32()?), 5282 memory: Id(reader.next_u32()?), 5283 semantics: Id(reader.next_u32()?), 5284 value: Id(reader.next_u32()?), 5285 }, 5286 230u16 => Self::AtomicCompareExchange { 5287 result_type_id: Id(reader.next_u32()?), 5288 result_id: Id(reader.next_u32()?), 5289 pointer: Id(reader.next_u32()?), 5290 memory: Id(reader.next_u32()?), 5291 equal: Id(reader.next_u32()?), 5292 unequal: Id(reader.next_u32()?), 5293 value: Id(reader.next_u32()?), 5294 comparator: Id(reader.next_u32()?), 5295 }, 5296 231u16 => Self::AtomicCompareExchangeWeak { 5297 result_type_id: Id(reader.next_u32()?), 5298 result_id: Id(reader.next_u32()?), 5299 pointer: Id(reader.next_u32()?), 5300 memory: Id(reader.next_u32()?), 5301 equal: Id(reader.next_u32()?), 5302 unequal: Id(reader.next_u32()?), 5303 value: Id(reader.next_u32()?), 5304 comparator: Id(reader.next_u32()?), 5305 }, 5306 232u16 => Self::AtomicIIncrement { 5307 result_type_id: Id(reader.next_u32()?), 5308 result_id: Id(reader.next_u32()?), 5309 pointer: Id(reader.next_u32()?), 5310 memory: Id(reader.next_u32()?), 5311 semantics: Id(reader.next_u32()?), 5312 }, 5313 233u16 => Self::AtomicIDecrement { 5314 result_type_id: Id(reader.next_u32()?), 5315 result_id: Id(reader.next_u32()?), 5316 pointer: Id(reader.next_u32()?), 5317 memory: Id(reader.next_u32()?), 5318 semantics: Id(reader.next_u32()?), 5319 }, 5320 234u16 => Self::AtomicIAdd { 5321 result_type_id: Id(reader.next_u32()?), 5322 result_id: Id(reader.next_u32()?), 5323 pointer: Id(reader.next_u32()?), 5324 memory: Id(reader.next_u32()?), 5325 semantics: Id(reader.next_u32()?), 5326 value: Id(reader.next_u32()?), 5327 }, 5328 235u16 => Self::AtomicISub { 5329 result_type_id: Id(reader.next_u32()?), 5330 result_id: Id(reader.next_u32()?), 5331 pointer: Id(reader.next_u32()?), 5332 memory: Id(reader.next_u32()?), 5333 semantics: Id(reader.next_u32()?), 5334 value: Id(reader.next_u32()?), 5335 }, 5336 236u16 => Self::AtomicSMin { 5337 result_type_id: Id(reader.next_u32()?), 5338 result_id: Id(reader.next_u32()?), 5339 pointer: Id(reader.next_u32()?), 5340 memory: Id(reader.next_u32()?), 5341 semantics: Id(reader.next_u32()?), 5342 value: Id(reader.next_u32()?), 5343 }, 5344 237u16 => Self::AtomicUMin { 5345 result_type_id: Id(reader.next_u32()?), 5346 result_id: Id(reader.next_u32()?), 5347 pointer: Id(reader.next_u32()?), 5348 memory: Id(reader.next_u32()?), 5349 semantics: Id(reader.next_u32()?), 5350 value: Id(reader.next_u32()?), 5351 }, 5352 238u16 => Self::AtomicSMax { 5353 result_type_id: Id(reader.next_u32()?), 5354 result_id: Id(reader.next_u32()?), 5355 pointer: Id(reader.next_u32()?), 5356 memory: Id(reader.next_u32()?), 5357 semantics: Id(reader.next_u32()?), 5358 value: Id(reader.next_u32()?), 5359 }, 5360 239u16 => Self::AtomicUMax { 5361 result_type_id: Id(reader.next_u32()?), 5362 result_id: Id(reader.next_u32()?), 5363 pointer: Id(reader.next_u32()?), 5364 memory: Id(reader.next_u32()?), 5365 semantics: Id(reader.next_u32()?), 5366 value: Id(reader.next_u32()?), 5367 }, 5368 240u16 => Self::AtomicAnd { 5369 result_type_id: Id(reader.next_u32()?), 5370 result_id: Id(reader.next_u32()?), 5371 pointer: Id(reader.next_u32()?), 5372 memory: Id(reader.next_u32()?), 5373 semantics: Id(reader.next_u32()?), 5374 value: Id(reader.next_u32()?), 5375 }, 5376 241u16 => Self::AtomicOr { 5377 result_type_id: Id(reader.next_u32()?), 5378 result_id: Id(reader.next_u32()?), 5379 pointer: Id(reader.next_u32()?), 5380 memory: Id(reader.next_u32()?), 5381 semantics: Id(reader.next_u32()?), 5382 value: Id(reader.next_u32()?), 5383 }, 5384 242u16 => Self::AtomicXor { 5385 result_type_id: Id(reader.next_u32()?), 5386 result_id: Id(reader.next_u32()?), 5387 pointer: Id(reader.next_u32()?), 5388 memory: Id(reader.next_u32()?), 5389 semantics: Id(reader.next_u32()?), 5390 value: Id(reader.next_u32()?), 5391 }, 5392 245u16 => Self::Phi { 5393 result_type_id: Id(reader.next_u32()?), 5394 result_id: Id(reader.next_u32()?), 5395 variable_parent: { 5396 let mut vec = Vec::new(); 5397 while !reader.is_empty() { 5398 vec.push((Id(reader.next_u32()?), Id(reader.next_u32()?))); 5399 } 5400 vec 5401 }, 5402 }, 5403 246u16 => Self::LoopMerge { 5404 merge_block: Id(reader.next_u32()?), 5405 continue_target: Id(reader.next_u32()?), 5406 loop_control: LoopControl::parse(reader)?, 5407 }, 5408 247u16 => Self::SelectionMerge { 5409 merge_block: Id(reader.next_u32()?), 5410 selection_control: SelectionControl::parse(reader)?, 5411 }, 5412 248u16 => Self::Label { 5413 result_id: Id(reader.next_u32()?), 5414 }, 5415 249u16 => Self::Branch { 5416 target_label: Id(reader.next_u32()?), 5417 }, 5418 250u16 => Self::BranchConditional { 5419 condition: Id(reader.next_u32()?), 5420 true_label: Id(reader.next_u32()?), 5421 false_label: Id(reader.next_u32()?), 5422 branch_weights: { 5423 let mut vec = Vec::new(); 5424 while !reader.is_empty() { 5425 vec.push(reader.next_u32()?); 5426 } 5427 vec 5428 }, 5429 }, 5430 251u16 => Self::Switch { 5431 selector: Id(reader.next_u32()?), 5432 default: Id(reader.next_u32()?), 5433 target: { 5434 let mut vec = Vec::new(); 5435 while !reader.is_empty() { 5436 vec.push((reader.next_u32()?, Id(reader.next_u32()?))); 5437 } 5438 vec 5439 }, 5440 }, 5441 252u16 => Self::Kill, 5442 253u16 => Self::Return, 5443 254u16 => Self::ReturnValue { 5444 value: Id(reader.next_u32()?), 5445 }, 5446 255u16 => Self::Unreachable, 5447 256u16 => Self::LifetimeStart { 5448 pointer: Id(reader.next_u32()?), 5449 size: reader.next_u32()?, 5450 }, 5451 257u16 => Self::LifetimeStop { 5452 pointer: Id(reader.next_u32()?), 5453 size: reader.next_u32()?, 5454 }, 5455 259u16 => Self::GroupAsyncCopy { 5456 result_type_id: Id(reader.next_u32()?), 5457 result_id: Id(reader.next_u32()?), 5458 execution: Id(reader.next_u32()?), 5459 destination: Id(reader.next_u32()?), 5460 source: Id(reader.next_u32()?), 5461 num_elements: Id(reader.next_u32()?), 5462 stride: Id(reader.next_u32()?), 5463 event: Id(reader.next_u32()?), 5464 }, 5465 260u16 => Self::GroupWaitEvents { 5466 execution: Id(reader.next_u32()?), 5467 num_events: Id(reader.next_u32()?), 5468 events_list: Id(reader.next_u32()?), 5469 }, 5470 261u16 => Self::GroupAll { 5471 result_type_id: Id(reader.next_u32()?), 5472 result_id: Id(reader.next_u32()?), 5473 execution: Id(reader.next_u32()?), 5474 predicate: Id(reader.next_u32()?), 5475 }, 5476 262u16 => Self::GroupAny { 5477 result_type_id: Id(reader.next_u32()?), 5478 result_id: Id(reader.next_u32()?), 5479 execution: Id(reader.next_u32()?), 5480 predicate: Id(reader.next_u32()?), 5481 }, 5482 263u16 => Self::GroupBroadcast { 5483 result_type_id: Id(reader.next_u32()?), 5484 result_id: Id(reader.next_u32()?), 5485 execution: Id(reader.next_u32()?), 5486 value: Id(reader.next_u32()?), 5487 local_id: Id(reader.next_u32()?), 5488 }, 5489 264u16 => Self::GroupIAdd { 5490 result_type_id: Id(reader.next_u32()?), 5491 result_id: Id(reader.next_u32()?), 5492 execution: Id(reader.next_u32()?), 5493 operation: GroupOperation::parse(reader)?, 5494 x: Id(reader.next_u32()?), 5495 }, 5496 265u16 => Self::GroupFAdd { 5497 result_type_id: Id(reader.next_u32()?), 5498 result_id: Id(reader.next_u32()?), 5499 execution: Id(reader.next_u32()?), 5500 operation: GroupOperation::parse(reader)?, 5501 x: Id(reader.next_u32()?), 5502 }, 5503 266u16 => Self::GroupFMin { 5504 result_type_id: Id(reader.next_u32()?), 5505 result_id: Id(reader.next_u32()?), 5506 execution: Id(reader.next_u32()?), 5507 operation: GroupOperation::parse(reader)?, 5508 x: Id(reader.next_u32()?), 5509 }, 5510 267u16 => Self::GroupUMin { 5511 result_type_id: Id(reader.next_u32()?), 5512 result_id: Id(reader.next_u32()?), 5513 execution: Id(reader.next_u32()?), 5514 operation: GroupOperation::parse(reader)?, 5515 x: Id(reader.next_u32()?), 5516 }, 5517 268u16 => Self::GroupSMin { 5518 result_type_id: Id(reader.next_u32()?), 5519 result_id: Id(reader.next_u32()?), 5520 execution: Id(reader.next_u32()?), 5521 operation: GroupOperation::parse(reader)?, 5522 x: Id(reader.next_u32()?), 5523 }, 5524 269u16 => Self::GroupFMax { 5525 result_type_id: Id(reader.next_u32()?), 5526 result_id: Id(reader.next_u32()?), 5527 execution: Id(reader.next_u32()?), 5528 operation: GroupOperation::parse(reader)?, 5529 x: Id(reader.next_u32()?), 5530 }, 5531 270u16 => Self::GroupUMax { 5532 result_type_id: Id(reader.next_u32()?), 5533 result_id: Id(reader.next_u32()?), 5534 execution: Id(reader.next_u32()?), 5535 operation: GroupOperation::parse(reader)?, 5536 x: Id(reader.next_u32()?), 5537 }, 5538 271u16 => Self::GroupSMax { 5539 result_type_id: Id(reader.next_u32()?), 5540 result_id: Id(reader.next_u32()?), 5541 execution: Id(reader.next_u32()?), 5542 operation: GroupOperation::parse(reader)?, 5543 x: Id(reader.next_u32()?), 5544 }, 5545 274u16 => Self::ReadPipe { 5546 result_type_id: Id(reader.next_u32()?), 5547 result_id: Id(reader.next_u32()?), 5548 pipe: Id(reader.next_u32()?), 5549 pointer: Id(reader.next_u32()?), 5550 packet_size: Id(reader.next_u32()?), 5551 packet_alignment: Id(reader.next_u32()?), 5552 }, 5553 275u16 => Self::WritePipe { 5554 result_type_id: Id(reader.next_u32()?), 5555 result_id: Id(reader.next_u32()?), 5556 pipe: Id(reader.next_u32()?), 5557 pointer: Id(reader.next_u32()?), 5558 packet_size: Id(reader.next_u32()?), 5559 packet_alignment: Id(reader.next_u32()?), 5560 }, 5561 276u16 => Self::ReservedReadPipe { 5562 result_type_id: Id(reader.next_u32()?), 5563 result_id: Id(reader.next_u32()?), 5564 pipe: Id(reader.next_u32()?), 5565 reserve_id: Id(reader.next_u32()?), 5566 index: Id(reader.next_u32()?), 5567 pointer: Id(reader.next_u32()?), 5568 packet_size: Id(reader.next_u32()?), 5569 packet_alignment: Id(reader.next_u32()?), 5570 }, 5571 277u16 => Self::ReservedWritePipe { 5572 result_type_id: Id(reader.next_u32()?), 5573 result_id: Id(reader.next_u32()?), 5574 pipe: Id(reader.next_u32()?), 5575 reserve_id: Id(reader.next_u32()?), 5576 index: Id(reader.next_u32()?), 5577 pointer: Id(reader.next_u32()?), 5578 packet_size: Id(reader.next_u32()?), 5579 packet_alignment: Id(reader.next_u32()?), 5580 }, 5581 278u16 => Self::ReserveReadPipePackets { 5582 result_type_id: Id(reader.next_u32()?), 5583 result_id: Id(reader.next_u32()?), 5584 pipe: Id(reader.next_u32()?), 5585 num_packets: Id(reader.next_u32()?), 5586 packet_size: Id(reader.next_u32()?), 5587 packet_alignment: Id(reader.next_u32()?), 5588 }, 5589 279u16 => Self::ReserveWritePipePackets { 5590 result_type_id: Id(reader.next_u32()?), 5591 result_id: Id(reader.next_u32()?), 5592 pipe: Id(reader.next_u32()?), 5593 num_packets: Id(reader.next_u32()?), 5594 packet_size: Id(reader.next_u32()?), 5595 packet_alignment: Id(reader.next_u32()?), 5596 }, 5597 280u16 => Self::CommitReadPipe { 5598 pipe: Id(reader.next_u32()?), 5599 reserve_id: Id(reader.next_u32()?), 5600 packet_size: Id(reader.next_u32()?), 5601 packet_alignment: Id(reader.next_u32()?), 5602 }, 5603 281u16 => Self::CommitWritePipe { 5604 pipe: Id(reader.next_u32()?), 5605 reserve_id: Id(reader.next_u32()?), 5606 packet_size: Id(reader.next_u32()?), 5607 packet_alignment: Id(reader.next_u32()?), 5608 }, 5609 282u16 => Self::IsValidReserveId { 5610 result_type_id: Id(reader.next_u32()?), 5611 result_id: Id(reader.next_u32()?), 5612 reserve_id: Id(reader.next_u32()?), 5613 }, 5614 283u16 => Self::GetNumPipePackets { 5615 result_type_id: Id(reader.next_u32()?), 5616 result_id: Id(reader.next_u32()?), 5617 pipe: Id(reader.next_u32()?), 5618 packet_size: Id(reader.next_u32()?), 5619 packet_alignment: Id(reader.next_u32()?), 5620 }, 5621 284u16 => Self::GetMaxPipePackets { 5622 result_type_id: Id(reader.next_u32()?), 5623 result_id: Id(reader.next_u32()?), 5624 pipe: Id(reader.next_u32()?), 5625 packet_size: Id(reader.next_u32()?), 5626 packet_alignment: Id(reader.next_u32()?), 5627 }, 5628 285u16 => Self::GroupReserveReadPipePackets { 5629 result_type_id: Id(reader.next_u32()?), 5630 result_id: Id(reader.next_u32()?), 5631 execution: Id(reader.next_u32()?), 5632 pipe: Id(reader.next_u32()?), 5633 num_packets: Id(reader.next_u32()?), 5634 packet_size: Id(reader.next_u32()?), 5635 packet_alignment: Id(reader.next_u32()?), 5636 }, 5637 286u16 => Self::GroupReserveWritePipePackets { 5638 result_type_id: Id(reader.next_u32()?), 5639 result_id: Id(reader.next_u32()?), 5640 execution: Id(reader.next_u32()?), 5641 pipe: Id(reader.next_u32()?), 5642 num_packets: Id(reader.next_u32()?), 5643 packet_size: Id(reader.next_u32()?), 5644 packet_alignment: Id(reader.next_u32()?), 5645 }, 5646 287u16 => Self::GroupCommitReadPipe { 5647 execution: Id(reader.next_u32()?), 5648 pipe: Id(reader.next_u32()?), 5649 reserve_id: Id(reader.next_u32()?), 5650 packet_size: Id(reader.next_u32()?), 5651 packet_alignment: Id(reader.next_u32()?), 5652 }, 5653 288u16 => Self::GroupCommitWritePipe { 5654 execution: Id(reader.next_u32()?), 5655 pipe: Id(reader.next_u32()?), 5656 reserve_id: Id(reader.next_u32()?), 5657 packet_size: Id(reader.next_u32()?), 5658 packet_alignment: Id(reader.next_u32()?), 5659 }, 5660 291u16 => Self::EnqueueMarker { 5661 result_type_id: Id(reader.next_u32()?), 5662 result_id: Id(reader.next_u32()?), 5663 queue: Id(reader.next_u32()?), 5664 num_events: Id(reader.next_u32()?), 5665 wait_events: Id(reader.next_u32()?), 5666 ret_event: Id(reader.next_u32()?), 5667 }, 5668 292u16 => Self::EnqueueKernel { 5669 result_type_id: Id(reader.next_u32()?), 5670 result_id: Id(reader.next_u32()?), 5671 queue: Id(reader.next_u32()?), 5672 flags: Id(reader.next_u32()?), 5673 nd_range: Id(reader.next_u32()?), 5674 num_events: Id(reader.next_u32()?), 5675 wait_events: Id(reader.next_u32()?), 5676 ret_event: Id(reader.next_u32()?), 5677 invoke: Id(reader.next_u32()?), 5678 param: Id(reader.next_u32()?), 5679 param_size: Id(reader.next_u32()?), 5680 param_align: Id(reader.next_u32()?), 5681 local_size: { 5682 let mut vec = Vec::new(); 5683 while !reader.is_empty() { 5684 vec.push(Id(reader.next_u32()?)); 5685 } 5686 vec 5687 }, 5688 }, 5689 293u16 => Self::GetKernelNDrangeSubGroupCount { 5690 result_type_id: Id(reader.next_u32()?), 5691 result_id: Id(reader.next_u32()?), 5692 nd_range: Id(reader.next_u32()?), 5693 invoke: Id(reader.next_u32()?), 5694 param: Id(reader.next_u32()?), 5695 param_size: Id(reader.next_u32()?), 5696 param_align: Id(reader.next_u32()?), 5697 }, 5698 294u16 => Self::GetKernelNDrangeMaxSubGroupSize { 5699 result_type_id: Id(reader.next_u32()?), 5700 result_id: Id(reader.next_u32()?), 5701 nd_range: Id(reader.next_u32()?), 5702 invoke: Id(reader.next_u32()?), 5703 param: Id(reader.next_u32()?), 5704 param_size: Id(reader.next_u32()?), 5705 param_align: Id(reader.next_u32()?), 5706 }, 5707 295u16 => Self::GetKernelWorkGroupSize { 5708 result_type_id: Id(reader.next_u32()?), 5709 result_id: Id(reader.next_u32()?), 5710 invoke: Id(reader.next_u32()?), 5711 param: Id(reader.next_u32()?), 5712 param_size: Id(reader.next_u32()?), 5713 param_align: Id(reader.next_u32()?), 5714 }, 5715 296u16 => Self::GetKernelPreferredWorkGroupSizeMultiple { 5716 result_type_id: Id(reader.next_u32()?), 5717 result_id: Id(reader.next_u32()?), 5718 invoke: Id(reader.next_u32()?), 5719 param: Id(reader.next_u32()?), 5720 param_size: Id(reader.next_u32()?), 5721 param_align: Id(reader.next_u32()?), 5722 }, 5723 297u16 => Self::RetainEvent { 5724 event: Id(reader.next_u32()?), 5725 }, 5726 298u16 => Self::ReleaseEvent { 5727 event: Id(reader.next_u32()?), 5728 }, 5729 299u16 => Self::CreateUserEvent { 5730 result_type_id: Id(reader.next_u32()?), 5731 result_id: Id(reader.next_u32()?), 5732 }, 5733 300u16 => Self::IsValidEvent { 5734 result_type_id: Id(reader.next_u32()?), 5735 result_id: Id(reader.next_u32()?), 5736 event: Id(reader.next_u32()?), 5737 }, 5738 301u16 => Self::SetUserEventStatus { 5739 event: Id(reader.next_u32()?), 5740 status: Id(reader.next_u32()?), 5741 }, 5742 302u16 => Self::CaptureEventProfilingInfo { 5743 event: Id(reader.next_u32()?), 5744 profiling_info: Id(reader.next_u32()?), 5745 value: Id(reader.next_u32()?), 5746 }, 5747 303u16 => Self::GetDefaultQueue { 5748 result_type_id: Id(reader.next_u32()?), 5749 result_id: Id(reader.next_u32()?), 5750 }, 5751 304u16 => Self::BuildNDRange { 5752 result_type_id: Id(reader.next_u32()?), 5753 result_id: Id(reader.next_u32()?), 5754 global_work_size: Id(reader.next_u32()?), 5755 local_work_size: Id(reader.next_u32()?), 5756 global_work_offset: Id(reader.next_u32()?), 5757 }, 5758 305u16 => Self::ImageSparseSampleImplicitLod { 5759 result_type_id: Id(reader.next_u32()?), 5760 result_id: Id(reader.next_u32()?), 5761 sampled_image: Id(reader.next_u32()?), 5762 coordinate: Id(reader.next_u32()?), 5763 image_operands: if !reader.is_empty() { 5764 Some(ImageOperands::parse(reader)?) 5765 } else { 5766 None 5767 }, 5768 }, 5769 306u16 => Self::ImageSparseSampleExplicitLod { 5770 result_type_id: Id(reader.next_u32()?), 5771 result_id: Id(reader.next_u32()?), 5772 sampled_image: Id(reader.next_u32()?), 5773 coordinate: Id(reader.next_u32()?), 5774 image_operands: ImageOperands::parse(reader)?, 5775 }, 5776 307u16 => Self::ImageSparseSampleDrefImplicitLod { 5777 result_type_id: Id(reader.next_u32()?), 5778 result_id: Id(reader.next_u32()?), 5779 sampled_image: Id(reader.next_u32()?), 5780 coordinate: Id(reader.next_u32()?), 5781 dref: Id(reader.next_u32()?), 5782 image_operands: if !reader.is_empty() { 5783 Some(ImageOperands::parse(reader)?) 5784 } else { 5785 None 5786 }, 5787 }, 5788 308u16 => Self::ImageSparseSampleDrefExplicitLod { 5789 result_type_id: Id(reader.next_u32()?), 5790 result_id: Id(reader.next_u32()?), 5791 sampled_image: Id(reader.next_u32()?), 5792 coordinate: Id(reader.next_u32()?), 5793 dref: Id(reader.next_u32()?), 5794 image_operands: ImageOperands::parse(reader)?, 5795 }, 5796 309u16 => Self::ImageSparseSampleProjImplicitLod { 5797 result_type_id: Id(reader.next_u32()?), 5798 result_id: Id(reader.next_u32()?), 5799 sampled_image: Id(reader.next_u32()?), 5800 coordinate: Id(reader.next_u32()?), 5801 image_operands: if !reader.is_empty() { 5802 Some(ImageOperands::parse(reader)?) 5803 } else { 5804 None 5805 }, 5806 }, 5807 310u16 => Self::ImageSparseSampleProjExplicitLod { 5808 result_type_id: Id(reader.next_u32()?), 5809 result_id: Id(reader.next_u32()?), 5810 sampled_image: Id(reader.next_u32()?), 5811 coordinate: Id(reader.next_u32()?), 5812 image_operands: ImageOperands::parse(reader)?, 5813 }, 5814 311u16 => Self::ImageSparseSampleProjDrefImplicitLod { 5815 result_type_id: Id(reader.next_u32()?), 5816 result_id: Id(reader.next_u32()?), 5817 sampled_image: Id(reader.next_u32()?), 5818 coordinate: Id(reader.next_u32()?), 5819 dref: Id(reader.next_u32()?), 5820 image_operands: if !reader.is_empty() { 5821 Some(ImageOperands::parse(reader)?) 5822 } else { 5823 None 5824 }, 5825 }, 5826 312u16 => Self::ImageSparseSampleProjDrefExplicitLod { 5827 result_type_id: Id(reader.next_u32()?), 5828 result_id: Id(reader.next_u32()?), 5829 sampled_image: Id(reader.next_u32()?), 5830 coordinate: Id(reader.next_u32()?), 5831 dref: Id(reader.next_u32()?), 5832 image_operands: ImageOperands::parse(reader)?, 5833 }, 5834 313u16 => Self::ImageSparseFetch { 5835 result_type_id: Id(reader.next_u32()?), 5836 result_id: Id(reader.next_u32()?), 5837 image: Id(reader.next_u32()?), 5838 coordinate: Id(reader.next_u32()?), 5839 image_operands: if !reader.is_empty() { 5840 Some(ImageOperands::parse(reader)?) 5841 } else { 5842 None 5843 }, 5844 }, 5845 314u16 => Self::ImageSparseGather { 5846 result_type_id: Id(reader.next_u32()?), 5847 result_id: Id(reader.next_u32()?), 5848 sampled_image: Id(reader.next_u32()?), 5849 coordinate: Id(reader.next_u32()?), 5850 component: Id(reader.next_u32()?), 5851 image_operands: if !reader.is_empty() { 5852 Some(ImageOperands::parse(reader)?) 5853 } else { 5854 None 5855 }, 5856 }, 5857 315u16 => Self::ImageSparseDrefGather { 5858 result_type_id: Id(reader.next_u32()?), 5859 result_id: Id(reader.next_u32()?), 5860 sampled_image: Id(reader.next_u32()?), 5861 coordinate: Id(reader.next_u32()?), 5862 dref: Id(reader.next_u32()?), 5863 image_operands: if !reader.is_empty() { 5864 Some(ImageOperands::parse(reader)?) 5865 } else { 5866 None 5867 }, 5868 }, 5869 316u16 => Self::ImageSparseTexelsResident { 5870 result_type_id: Id(reader.next_u32()?), 5871 result_id: Id(reader.next_u32()?), 5872 resident_code: Id(reader.next_u32()?), 5873 }, 5874 317u16 => Self::NoLine, 5875 318u16 => Self::AtomicFlagTestAndSet { 5876 result_type_id: Id(reader.next_u32()?), 5877 result_id: Id(reader.next_u32()?), 5878 pointer: Id(reader.next_u32()?), 5879 memory: Id(reader.next_u32()?), 5880 semantics: Id(reader.next_u32()?), 5881 }, 5882 319u16 => Self::AtomicFlagClear { 5883 pointer: Id(reader.next_u32()?), 5884 memory: Id(reader.next_u32()?), 5885 semantics: Id(reader.next_u32()?), 5886 }, 5887 320u16 => Self::ImageSparseRead { 5888 result_type_id: Id(reader.next_u32()?), 5889 result_id: Id(reader.next_u32()?), 5890 image: Id(reader.next_u32()?), 5891 coordinate: Id(reader.next_u32()?), 5892 image_operands: if !reader.is_empty() { 5893 Some(ImageOperands::parse(reader)?) 5894 } else { 5895 None 5896 }, 5897 }, 5898 321u16 => Self::SizeOf { 5899 result_type_id: Id(reader.next_u32()?), 5900 result_id: Id(reader.next_u32()?), 5901 pointer: Id(reader.next_u32()?), 5902 }, 5903 322u16 => Self::TypePipeStorage { 5904 result_id: Id(reader.next_u32()?), 5905 }, 5906 323u16 => Self::ConstantPipeStorage { 5907 result_type_id: Id(reader.next_u32()?), 5908 result_id: Id(reader.next_u32()?), 5909 packet_size: reader.next_u32()?, 5910 packet_alignment: reader.next_u32()?, 5911 capacity: reader.next_u32()?, 5912 }, 5913 324u16 => Self::CreatePipeFromPipeStorage { 5914 result_type_id: Id(reader.next_u32()?), 5915 result_id: Id(reader.next_u32()?), 5916 pipe_storage: Id(reader.next_u32()?), 5917 }, 5918 325u16 => Self::GetKernelLocalSizeForSubgroupCount { 5919 result_type_id: Id(reader.next_u32()?), 5920 result_id: Id(reader.next_u32()?), 5921 subgroup_count: Id(reader.next_u32()?), 5922 invoke: Id(reader.next_u32()?), 5923 param: Id(reader.next_u32()?), 5924 param_size: Id(reader.next_u32()?), 5925 param_align: Id(reader.next_u32()?), 5926 }, 5927 326u16 => Self::GetKernelMaxNumSubgroups { 5928 result_type_id: Id(reader.next_u32()?), 5929 result_id: Id(reader.next_u32()?), 5930 invoke: Id(reader.next_u32()?), 5931 param: Id(reader.next_u32()?), 5932 param_size: Id(reader.next_u32()?), 5933 param_align: Id(reader.next_u32()?), 5934 }, 5935 327u16 => Self::TypeNamedBarrier { 5936 result_id: Id(reader.next_u32()?), 5937 }, 5938 328u16 => Self::NamedBarrierInitialize { 5939 result_type_id: Id(reader.next_u32()?), 5940 result_id: Id(reader.next_u32()?), 5941 subgroup_count: Id(reader.next_u32()?), 5942 }, 5943 329u16 => Self::MemoryNamedBarrier { 5944 named_barrier: Id(reader.next_u32()?), 5945 memory: Id(reader.next_u32()?), 5946 semantics: Id(reader.next_u32()?), 5947 }, 5948 330u16 => Self::ModuleProcessed { 5949 process: reader.next_string()?, 5950 }, 5951 331u16 => Self::ExecutionModeId { 5952 entry_point: Id(reader.next_u32()?), 5953 mode: ExecutionMode::parse(reader)?, 5954 }, 5955 332u16 => Self::DecorateId { 5956 target: Id(reader.next_u32()?), 5957 decoration: Decoration::parse(reader)?, 5958 }, 5959 333u16 => Self::GroupNonUniformElect { 5960 result_type_id: Id(reader.next_u32()?), 5961 result_id: Id(reader.next_u32()?), 5962 execution: Id(reader.next_u32()?), 5963 }, 5964 334u16 => Self::GroupNonUniformAll { 5965 result_type_id: Id(reader.next_u32()?), 5966 result_id: Id(reader.next_u32()?), 5967 execution: Id(reader.next_u32()?), 5968 predicate: Id(reader.next_u32()?), 5969 }, 5970 335u16 => Self::GroupNonUniformAny { 5971 result_type_id: Id(reader.next_u32()?), 5972 result_id: Id(reader.next_u32()?), 5973 execution: Id(reader.next_u32()?), 5974 predicate: Id(reader.next_u32()?), 5975 }, 5976 336u16 => Self::GroupNonUniformAllEqual { 5977 result_type_id: Id(reader.next_u32()?), 5978 result_id: Id(reader.next_u32()?), 5979 execution: Id(reader.next_u32()?), 5980 value: Id(reader.next_u32()?), 5981 }, 5982 337u16 => Self::GroupNonUniformBroadcast { 5983 result_type_id: Id(reader.next_u32()?), 5984 result_id: Id(reader.next_u32()?), 5985 execution: Id(reader.next_u32()?), 5986 value: Id(reader.next_u32()?), 5987 id: Id(reader.next_u32()?), 5988 }, 5989 338u16 => Self::GroupNonUniformBroadcastFirst { 5990 result_type_id: Id(reader.next_u32()?), 5991 result_id: Id(reader.next_u32()?), 5992 execution: Id(reader.next_u32()?), 5993 value: Id(reader.next_u32()?), 5994 }, 5995 339u16 => Self::GroupNonUniformBallot { 5996 result_type_id: Id(reader.next_u32()?), 5997 result_id: Id(reader.next_u32()?), 5998 execution: Id(reader.next_u32()?), 5999 predicate: Id(reader.next_u32()?), 6000 }, 6001 340u16 => Self::GroupNonUniformInverseBallot { 6002 result_type_id: Id(reader.next_u32()?), 6003 result_id: Id(reader.next_u32()?), 6004 execution: Id(reader.next_u32()?), 6005 value: Id(reader.next_u32()?), 6006 }, 6007 341u16 => Self::GroupNonUniformBallotBitExtract { 6008 result_type_id: Id(reader.next_u32()?), 6009 result_id: Id(reader.next_u32()?), 6010 execution: Id(reader.next_u32()?), 6011 value: Id(reader.next_u32()?), 6012 index: Id(reader.next_u32()?), 6013 }, 6014 342u16 => Self::GroupNonUniformBallotBitCount { 6015 result_type_id: Id(reader.next_u32()?), 6016 result_id: Id(reader.next_u32()?), 6017 execution: Id(reader.next_u32()?), 6018 operation: GroupOperation::parse(reader)?, 6019 value: Id(reader.next_u32()?), 6020 }, 6021 343u16 => Self::GroupNonUniformBallotFindLSB { 6022 result_type_id: Id(reader.next_u32()?), 6023 result_id: Id(reader.next_u32()?), 6024 execution: Id(reader.next_u32()?), 6025 value: Id(reader.next_u32()?), 6026 }, 6027 344u16 => Self::GroupNonUniformBallotFindMSB { 6028 result_type_id: Id(reader.next_u32()?), 6029 result_id: Id(reader.next_u32()?), 6030 execution: Id(reader.next_u32()?), 6031 value: Id(reader.next_u32()?), 6032 }, 6033 345u16 => Self::GroupNonUniformShuffle { 6034 result_type_id: Id(reader.next_u32()?), 6035 result_id: Id(reader.next_u32()?), 6036 execution: Id(reader.next_u32()?), 6037 value: Id(reader.next_u32()?), 6038 id: Id(reader.next_u32()?), 6039 }, 6040 346u16 => Self::GroupNonUniformShuffleXor { 6041 result_type_id: Id(reader.next_u32()?), 6042 result_id: Id(reader.next_u32()?), 6043 execution: Id(reader.next_u32()?), 6044 value: Id(reader.next_u32()?), 6045 mask: Id(reader.next_u32()?), 6046 }, 6047 347u16 => Self::GroupNonUniformShuffleUp { 6048 result_type_id: Id(reader.next_u32()?), 6049 result_id: Id(reader.next_u32()?), 6050 execution: Id(reader.next_u32()?), 6051 value: Id(reader.next_u32()?), 6052 delta: Id(reader.next_u32()?), 6053 }, 6054 348u16 => Self::GroupNonUniformShuffleDown { 6055 result_type_id: Id(reader.next_u32()?), 6056 result_id: Id(reader.next_u32()?), 6057 execution: Id(reader.next_u32()?), 6058 value: Id(reader.next_u32()?), 6059 delta: Id(reader.next_u32()?), 6060 }, 6061 349u16 => Self::GroupNonUniformIAdd { 6062 result_type_id: Id(reader.next_u32()?), 6063 result_id: Id(reader.next_u32()?), 6064 execution: Id(reader.next_u32()?), 6065 operation: GroupOperation::parse(reader)?, 6066 value: Id(reader.next_u32()?), 6067 cluster_size: if !reader.is_empty() { 6068 Some(Id(reader.next_u32()?)) 6069 } else { 6070 None 6071 }, 6072 }, 6073 350u16 => Self::GroupNonUniformFAdd { 6074 result_type_id: Id(reader.next_u32()?), 6075 result_id: Id(reader.next_u32()?), 6076 execution: Id(reader.next_u32()?), 6077 operation: GroupOperation::parse(reader)?, 6078 value: Id(reader.next_u32()?), 6079 cluster_size: if !reader.is_empty() { 6080 Some(Id(reader.next_u32()?)) 6081 } else { 6082 None 6083 }, 6084 }, 6085 351u16 => Self::GroupNonUniformIMul { 6086 result_type_id: Id(reader.next_u32()?), 6087 result_id: Id(reader.next_u32()?), 6088 execution: Id(reader.next_u32()?), 6089 operation: GroupOperation::parse(reader)?, 6090 value: Id(reader.next_u32()?), 6091 cluster_size: if !reader.is_empty() { 6092 Some(Id(reader.next_u32()?)) 6093 } else { 6094 None 6095 }, 6096 }, 6097 352u16 => Self::GroupNonUniformFMul { 6098 result_type_id: Id(reader.next_u32()?), 6099 result_id: Id(reader.next_u32()?), 6100 execution: Id(reader.next_u32()?), 6101 operation: GroupOperation::parse(reader)?, 6102 value: Id(reader.next_u32()?), 6103 cluster_size: if !reader.is_empty() { 6104 Some(Id(reader.next_u32()?)) 6105 } else { 6106 None 6107 }, 6108 }, 6109 353u16 => Self::GroupNonUniformSMin { 6110 result_type_id: Id(reader.next_u32()?), 6111 result_id: Id(reader.next_u32()?), 6112 execution: Id(reader.next_u32()?), 6113 operation: GroupOperation::parse(reader)?, 6114 value: Id(reader.next_u32()?), 6115 cluster_size: if !reader.is_empty() { 6116 Some(Id(reader.next_u32()?)) 6117 } else { 6118 None 6119 }, 6120 }, 6121 354u16 => Self::GroupNonUniformUMin { 6122 result_type_id: Id(reader.next_u32()?), 6123 result_id: Id(reader.next_u32()?), 6124 execution: Id(reader.next_u32()?), 6125 operation: GroupOperation::parse(reader)?, 6126 value: Id(reader.next_u32()?), 6127 cluster_size: if !reader.is_empty() { 6128 Some(Id(reader.next_u32()?)) 6129 } else { 6130 None 6131 }, 6132 }, 6133 355u16 => Self::GroupNonUniformFMin { 6134 result_type_id: Id(reader.next_u32()?), 6135 result_id: Id(reader.next_u32()?), 6136 execution: Id(reader.next_u32()?), 6137 operation: GroupOperation::parse(reader)?, 6138 value: Id(reader.next_u32()?), 6139 cluster_size: if !reader.is_empty() { 6140 Some(Id(reader.next_u32()?)) 6141 } else { 6142 None 6143 }, 6144 }, 6145 356u16 => Self::GroupNonUniformSMax { 6146 result_type_id: Id(reader.next_u32()?), 6147 result_id: Id(reader.next_u32()?), 6148 execution: Id(reader.next_u32()?), 6149 operation: GroupOperation::parse(reader)?, 6150 value: Id(reader.next_u32()?), 6151 cluster_size: if !reader.is_empty() { 6152 Some(Id(reader.next_u32()?)) 6153 } else { 6154 None 6155 }, 6156 }, 6157 357u16 => Self::GroupNonUniformUMax { 6158 result_type_id: Id(reader.next_u32()?), 6159 result_id: Id(reader.next_u32()?), 6160 execution: Id(reader.next_u32()?), 6161 operation: GroupOperation::parse(reader)?, 6162 value: Id(reader.next_u32()?), 6163 cluster_size: if !reader.is_empty() { 6164 Some(Id(reader.next_u32()?)) 6165 } else { 6166 None 6167 }, 6168 }, 6169 358u16 => Self::GroupNonUniformFMax { 6170 result_type_id: Id(reader.next_u32()?), 6171 result_id: Id(reader.next_u32()?), 6172 execution: Id(reader.next_u32()?), 6173 operation: GroupOperation::parse(reader)?, 6174 value: Id(reader.next_u32()?), 6175 cluster_size: if !reader.is_empty() { 6176 Some(Id(reader.next_u32()?)) 6177 } else { 6178 None 6179 }, 6180 }, 6181 359u16 => Self::GroupNonUniformBitwiseAnd { 6182 result_type_id: Id(reader.next_u32()?), 6183 result_id: Id(reader.next_u32()?), 6184 execution: Id(reader.next_u32()?), 6185 operation: GroupOperation::parse(reader)?, 6186 value: Id(reader.next_u32()?), 6187 cluster_size: if !reader.is_empty() { 6188 Some(Id(reader.next_u32()?)) 6189 } else { 6190 None 6191 }, 6192 }, 6193 360u16 => Self::GroupNonUniformBitwiseOr { 6194 result_type_id: Id(reader.next_u32()?), 6195 result_id: Id(reader.next_u32()?), 6196 execution: Id(reader.next_u32()?), 6197 operation: GroupOperation::parse(reader)?, 6198 value: Id(reader.next_u32()?), 6199 cluster_size: if !reader.is_empty() { 6200 Some(Id(reader.next_u32()?)) 6201 } else { 6202 None 6203 }, 6204 }, 6205 361u16 => Self::GroupNonUniformBitwiseXor { 6206 result_type_id: Id(reader.next_u32()?), 6207 result_id: Id(reader.next_u32()?), 6208 execution: Id(reader.next_u32()?), 6209 operation: GroupOperation::parse(reader)?, 6210 value: Id(reader.next_u32()?), 6211 cluster_size: if !reader.is_empty() { 6212 Some(Id(reader.next_u32()?)) 6213 } else { 6214 None 6215 }, 6216 }, 6217 362u16 => Self::GroupNonUniformLogicalAnd { 6218 result_type_id: Id(reader.next_u32()?), 6219 result_id: Id(reader.next_u32()?), 6220 execution: Id(reader.next_u32()?), 6221 operation: GroupOperation::parse(reader)?, 6222 value: Id(reader.next_u32()?), 6223 cluster_size: if !reader.is_empty() { 6224 Some(Id(reader.next_u32()?)) 6225 } else { 6226 None 6227 }, 6228 }, 6229 363u16 => Self::GroupNonUniformLogicalOr { 6230 result_type_id: Id(reader.next_u32()?), 6231 result_id: Id(reader.next_u32()?), 6232 execution: Id(reader.next_u32()?), 6233 operation: GroupOperation::parse(reader)?, 6234 value: Id(reader.next_u32()?), 6235 cluster_size: if !reader.is_empty() { 6236 Some(Id(reader.next_u32()?)) 6237 } else { 6238 None 6239 }, 6240 }, 6241 364u16 => Self::GroupNonUniformLogicalXor { 6242 result_type_id: Id(reader.next_u32()?), 6243 result_id: Id(reader.next_u32()?), 6244 execution: Id(reader.next_u32()?), 6245 operation: GroupOperation::parse(reader)?, 6246 value: Id(reader.next_u32()?), 6247 cluster_size: if !reader.is_empty() { 6248 Some(Id(reader.next_u32()?)) 6249 } else { 6250 None 6251 }, 6252 }, 6253 365u16 => Self::GroupNonUniformQuadBroadcast { 6254 result_type_id: Id(reader.next_u32()?), 6255 result_id: Id(reader.next_u32()?), 6256 execution: Id(reader.next_u32()?), 6257 value: Id(reader.next_u32()?), 6258 index: Id(reader.next_u32()?), 6259 }, 6260 366u16 => Self::GroupNonUniformQuadSwap { 6261 result_type_id: Id(reader.next_u32()?), 6262 result_id: Id(reader.next_u32()?), 6263 execution: Id(reader.next_u32()?), 6264 value: Id(reader.next_u32()?), 6265 direction: Id(reader.next_u32()?), 6266 }, 6267 400u16 => Self::CopyLogical { 6268 result_type_id: Id(reader.next_u32()?), 6269 result_id: Id(reader.next_u32()?), 6270 operand: Id(reader.next_u32()?), 6271 }, 6272 401u16 => Self::PtrEqual { 6273 result_type_id: Id(reader.next_u32()?), 6274 result_id: Id(reader.next_u32()?), 6275 operand1: Id(reader.next_u32()?), 6276 operand2: Id(reader.next_u32()?), 6277 }, 6278 402u16 => Self::PtrNotEqual { 6279 result_type_id: Id(reader.next_u32()?), 6280 result_id: Id(reader.next_u32()?), 6281 operand1: Id(reader.next_u32()?), 6282 operand2: Id(reader.next_u32()?), 6283 }, 6284 403u16 => Self::PtrDiff { 6285 result_type_id: Id(reader.next_u32()?), 6286 result_id: Id(reader.next_u32()?), 6287 operand1: Id(reader.next_u32()?), 6288 operand2: Id(reader.next_u32()?), 6289 }, 6290 4416u16 => Self::TerminateInvocation, 6291 4421u16 => Self::SubgroupBallotKHR { 6292 result_type_id: Id(reader.next_u32()?), 6293 result_id: Id(reader.next_u32()?), 6294 predicate: Id(reader.next_u32()?), 6295 }, 6296 4422u16 => Self::SubgroupFirstInvocationKHR { 6297 result_type_id: Id(reader.next_u32()?), 6298 result_id: Id(reader.next_u32()?), 6299 value: Id(reader.next_u32()?), 6300 }, 6301 4428u16 => Self::SubgroupAllKHR { 6302 result_type_id: Id(reader.next_u32()?), 6303 result_id: Id(reader.next_u32()?), 6304 predicate: Id(reader.next_u32()?), 6305 }, 6306 4429u16 => Self::SubgroupAnyKHR { 6307 result_type_id: Id(reader.next_u32()?), 6308 result_id: Id(reader.next_u32()?), 6309 predicate: Id(reader.next_u32()?), 6310 }, 6311 4430u16 => Self::SubgroupAllEqualKHR { 6312 result_type_id: Id(reader.next_u32()?), 6313 result_id: Id(reader.next_u32()?), 6314 predicate: Id(reader.next_u32()?), 6315 }, 6316 4432u16 => Self::SubgroupReadInvocationKHR { 6317 result_type_id: Id(reader.next_u32()?), 6318 result_id: Id(reader.next_u32()?), 6319 value: Id(reader.next_u32()?), 6320 index: Id(reader.next_u32()?), 6321 }, 6322 4445u16 => Self::TraceRayKHR { 6323 accel: Id(reader.next_u32()?), 6324 ray_flags: Id(reader.next_u32()?), 6325 cull_mask: Id(reader.next_u32()?), 6326 sbt_offset: Id(reader.next_u32()?), 6327 sbt_stride: Id(reader.next_u32()?), 6328 miss_index: Id(reader.next_u32()?), 6329 ray_origin: Id(reader.next_u32()?), 6330 ray_tmin: Id(reader.next_u32()?), 6331 ray_direction: Id(reader.next_u32()?), 6332 ray_tmax: Id(reader.next_u32()?), 6333 payload: Id(reader.next_u32()?), 6334 }, 6335 4446u16 => Self::ExecuteCallableKHR { 6336 sbt_index: Id(reader.next_u32()?), 6337 callable_data: Id(reader.next_u32()?), 6338 }, 6339 4447u16 => Self::ConvertUToAccelerationStructureKHR { 6340 result_type_id: Id(reader.next_u32()?), 6341 result_id: Id(reader.next_u32()?), 6342 accel: Id(reader.next_u32()?), 6343 }, 6344 4448u16 => Self::IgnoreIntersectionKHR, 6345 4449u16 => Self::TerminateRayKHR, 6346 4450u16 => Self::SDot { 6347 result_type_id: Id(reader.next_u32()?), 6348 result_id: Id(reader.next_u32()?), 6349 vector_1: Id(reader.next_u32()?), 6350 vector_2: Id(reader.next_u32()?), 6351 packed_vector_format: if !reader.is_empty() { 6352 Some(PackedVectorFormat::parse(reader)?) 6353 } else { 6354 None 6355 }, 6356 }, 6357 4451u16 => Self::UDot { 6358 result_type_id: Id(reader.next_u32()?), 6359 result_id: Id(reader.next_u32()?), 6360 vector_1: Id(reader.next_u32()?), 6361 vector_2: Id(reader.next_u32()?), 6362 packed_vector_format: if !reader.is_empty() { 6363 Some(PackedVectorFormat::parse(reader)?) 6364 } else { 6365 None 6366 }, 6367 }, 6368 4452u16 => Self::SUDot { 6369 result_type_id: Id(reader.next_u32()?), 6370 result_id: Id(reader.next_u32()?), 6371 vector_1: Id(reader.next_u32()?), 6372 vector_2: Id(reader.next_u32()?), 6373 packed_vector_format: if !reader.is_empty() { 6374 Some(PackedVectorFormat::parse(reader)?) 6375 } else { 6376 None 6377 }, 6378 }, 6379 4453u16 => Self::SDotAccSat { 6380 result_type_id: Id(reader.next_u32()?), 6381 result_id: Id(reader.next_u32()?), 6382 vector_1: Id(reader.next_u32()?), 6383 vector_2: Id(reader.next_u32()?), 6384 accumulator: Id(reader.next_u32()?), 6385 packed_vector_format: if !reader.is_empty() { 6386 Some(PackedVectorFormat::parse(reader)?) 6387 } else { 6388 None 6389 }, 6390 }, 6391 4454u16 => Self::UDotAccSat { 6392 result_type_id: Id(reader.next_u32()?), 6393 result_id: Id(reader.next_u32()?), 6394 vector_1: Id(reader.next_u32()?), 6395 vector_2: Id(reader.next_u32()?), 6396 accumulator: Id(reader.next_u32()?), 6397 packed_vector_format: if !reader.is_empty() { 6398 Some(PackedVectorFormat::parse(reader)?) 6399 } else { 6400 None 6401 }, 6402 }, 6403 4455u16 => Self::SUDotAccSat { 6404 result_type_id: Id(reader.next_u32()?), 6405 result_id: Id(reader.next_u32()?), 6406 vector_1: Id(reader.next_u32()?), 6407 vector_2: Id(reader.next_u32()?), 6408 accumulator: Id(reader.next_u32()?), 6409 packed_vector_format: if !reader.is_empty() { 6410 Some(PackedVectorFormat::parse(reader)?) 6411 } else { 6412 None 6413 }, 6414 }, 6415 4472u16 => Self::TypeRayQueryKHR { 6416 result_id: Id(reader.next_u32()?), 6417 }, 6418 4473u16 => Self::RayQueryInitializeKHR { 6419 ray_query: Id(reader.next_u32()?), 6420 accel: Id(reader.next_u32()?), 6421 ray_flags: Id(reader.next_u32()?), 6422 cull_mask: Id(reader.next_u32()?), 6423 ray_origin: Id(reader.next_u32()?), 6424 ray_t_min: Id(reader.next_u32()?), 6425 ray_direction: Id(reader.next_u32()?), 6426 ray_t_max: Id(reader.next_u32()?), 6427 }, 6428 4474u16 => Self::RayQueryTerminateKHR { 6429 ray_query: Id(reader.next_u32()?), 6430 }, 6431 4475u16 => Self::RayQueryGenerateIntersectionKHR { 6432 ray_query: Id(reader.next_u32()?), 6433 hit_t: Id(reader.next_u32()?), 6434 }, 6435 4476u16 => Self::RayQueryConfirmIntersectionKHR { 6436 ray_query: Id(reader.next_u32()?), 6437 }, 6438 4477u16 => Self::RayQueryProceedKHR { 6439 result_type_id: Id(reader.next_u32()?), 6440 result_id: Id(reader.next_u32()?), 6441 ray_query: Id(reader.next_u32()?), 6442 }, 6443 4479u16 => Self::RayQueryGetIntersectionTypeKHR { 6444 result_type_id: Id(reader.next_u32()?), 6445 result_id: Id(reader.next_u32()?), 6446 ray_query: Id(reader.next_u32()?), 6447 intersection: Id(reader.next_u32()?), 6448 }, 6449 5000u16 => Self::GroupIAddNonUniformAMD { 6450 result_type_id: Id(reader.next_u32()?), 6451 result_id: Id(reader.next_u32()?), 6452 execution: Id(reader.next_u32()?), 6453 operation: GroupOperation::parse(reader)?, 6454 x: Id(reader.next_u32()?), 6455 }, 6456 5001u16 => Self::GroupFAddNonUniformAMD { 6457 result_type_id: Id(reader.next_u32()?), 6458 result_id: Id(reader.next_u32()?), 6459 execution: Id(reader.next_u32()?), 6460 operation: GroupOperation::parse(reader)?, 6461 x: Id(reader.next_u32()?), 6462 }, 6463 5002u16 => Self::GroupFMinNonUniformAMD { 6464 result_type_id: Id(reader.next_u32()?), 6465 result_id: Id(reader.next_u32()?), 6466 execution: Id(reader.next_u32()?), 6467 operation: GroupOperation::parse(reader)?, 6468 x: Id(reader.next_u32()?), 6469 }, 6470 5003u16 => Self::GroupUMinNonUniformAMD { 6471 result_type_id: Id(reader.next_u32()?), 6472 result_id: Id(reader.next_u32()?), 6473 execution: Id(reader.next_u32()?), 6474 operation: GroupOperation::parse(reader)?, 6475 x: Id(reader.next_u32()?), 6476 }, 6477 5004u16 => Self::GroupSMinNonUniformAMD { 6478 result_type_id: Id(reader.next_u32()?), 6479 result_id: Id(reader.next_u32()?), 6480 execution: Id(reader.next_u32()?), 6481 operation: GroupOperation::parse(reader)?, 6482 x: Id(reader.next_u32()?), 6483 }, 6484 5005u16 => Self::GroupFMaxNonUniformAMD { 6485 result_type_id: Id(reader.next_u32()?), 6486 result_id: Id(reader.next_u32()?), 6487 execution: Id(reader.next_u32()?), 6488 operation: GroupOperation::parse(reader)?, 6489 x: Id(reader.next_u32()?), 6490 }, 6491 5006u16 => Self::GroupUMaxNonUniformAMD { 6492 result_type_id: Id(reader.next_u32()?), 6493 result_id: Id(reader.next_u32()?), 6494 execution: Id(reader.next_u32()?), 6495 operation: GroupOperation::parse(reader)?, 6496 x: Id(reader.next_u32()?), 6497 }, 6498 5007u16 => Self::GroupSMaxNonUniformAMD { 6499 result_type_id: Id(reader.next_u32()?), 6500 result_id: Id(reader.next_u32()?), 6501 execution: Id(reader.next_u32()?), 6502 operation: GroupOperation::parse(reader)?, 6503 x: Id(reader.next_u32()?), 6504 }, 6505 5011u16 => Self::FragmentMaskFetchAMD { 6506 result_type_id: Id(reader.next_u32()?), 6507 result_id: Id(reader.next_u32()?), 6508 image: Id(reader.next_u32()?), 6509 coordinate: Id(reader.next_u32()?), 6510 }, 6511 5012u16 => Self::FragmentFetchAMD { 6512 result_type_id: Id(reader.next_u32()?), 6513 result_id: Id(reader.next_u32()?), 6514 image: Id(reader.next_u32()?), 6515 coordinate: Id(reader.next_u32()?), 6516 fragment_index: Id(reader.next_u32()?), 6517 }, 6518 5056u16 => Self::ReadClockKHR { 6519 result_type_id: Id(reader.next_u32()?), 6520 result_id: Id(reader.next_u32()?), 6521 scope: Id(reader.next_u32()?), 6522 }, 6523 5283u16 => Self::ImageSampleFootprintNV { 6524 result_type_id: Id(reader.next_u32()?), 6525 result_id: Id(reader.next_u32()?), 6526 sampled_image: Id(reader.next_u32()?), 6527 coordinate: Id(reader.next_u32()?), 6528 granularity: Id(reader.next_u32()?), 6529 coarse: Id(reader.next_u32()?), 6530 image_operands: if !reader.is_empty() { 6531 Some(ImageOperands::parse(reader)?) 6532 } else { 6533 None 6534 }, 6535 }, 6536 5296u16 => Self::GroupNonUniformPartitionNV { 6537 result_type_id: Id(reader.next_u32()?), 6538 result_id: Id(reader.next_u32()?), 6539 value: Id(reader.next_u32()?), 6540 }, 6541 5299u16 => Self::WritePackedPrimitiveIndices4x8NV { 6542 index_offset: Id(reader.next_u32()?), 6543 packed_indices: Id(reader.next_u32()?), 6544 }, 6545 5334u16 => Self::ReportIntersectionKHR { 6546 result_type_id: Id(reader.next_u32()?), 6547 result_id: Id(reader.next_u32()?), 6548 hit: Id(reader.next_u32()?), 6549 hit_kind: Id(reader.next_u32()?), 6550 }, 6551 5335u16 => Self::IgnoreIntersectionNV, 6552 5336u16 => Self::TerminateRayNV, 6553 5337u16 => Self::TraceNV { 6554 accel: Id(reader.next_u32()?), 6555 ray_flags: Id(reader.next_u32()?), 6556 cull_mask: Id(reader.next_u32()?), 6557 sbt_offset: Id(reader.next_u32()?), 6558 sbt_stride: Id(reader.next_u32()?), 6559 miss_index: Id(reader.next_u32()?), 6560 ray_origin: Id(reader.next_u32()?), 6561 ray_tmin: Id(reader.next_u32()?), 6562 ray_direction: Id(reader.next_u32()?), 6563 ray_tmax: Id(reader.next_u32()?), 6564 payload_id: Id(reader.next_u32()?), 6565 }, 6566 5338u16 => Self::TraceMotionNV { 6567 accel: Id(reader.next_u32()?), 6568 ray_flags: Id(reader.next_u32()?), 6569 cull_mask: Id(reader.next_u32()?), 6570 sbt_offset: Id(reader.next_u32()?), 6571 sbt_stride: Id(reader.next_u32()?), 6572 miss_index: Id(reader.next_u32()?), 6573 ray_origin: Id(reader.next_u32()?), 6574 ray_tmin: Id(reader.next_u32()?), 6575 ray_direction: Id(reader.next_u32()?), 6576 ray_tmax: Id(reader.next_u32()?), 6577 time: Id(reader.next_u32()?), 6578 payload_id: Id(reader.next_u32()?), 6579 }, 6580 5339u16 => Self::TraceRayMotionNV { 6581 accel: Id(reader.next_u32()?), 6582 ray_flags: Id(reader.next_u32()?), 6583 cull_mask: Id(reader.next_u32()?), 6584 sbt_offset: Id(reader.next_u32()?), 6585 sbt_stride: Id(reader.next_u32()?), 6586 miss_index: Id(reader.next_u32()?), 6587 ray_origin: Id(reader.next_u32()?), 6588 ray_tmin: Id(reader.next_u32()?), 6589 ray_direction: Id(reader.next_u32()?), 6590 ray_tmax: Id(reader.next_u32()?), 6591 time: Id(reader.next_u32()?), 6592 payload: Id(reader.next_u32()?), 6593 }, 6594 5341u16 => Self::TypeAccelerationStructureKHR { 6595 result_id: Id(reader.next_u32()?), 6596 }, 6597 5344u16 => Self::ExecuteCallableNV { 6598 sbt_index: Id(reader.next_u32()?), 6599 callable_data_id: Id(reader.next_u32()?), 6600 }, 6601 5358u16 => Self::TypeCooperativeMatrixNV { 6602 result_id: Id(reader.next_u32()?), 6603 component_type: Id(reader.next_u32()?), 6604 execution: Id(reader.next_u32()?), 6605 rows: Id(reader.next_u32()?), 6606 columns: Id(reader.next_u32()?), 6607 }, 6608 5359u16 => Self::CooperativeMatrixLoadNV { 6609 result_type_id: Id(reader.next_u32()?), 6610 result_id: Id(reader.next_u32()?), 6611 pointer: Id(reader.next_u32()?), 6612 stride: Id(reader.next_u32()?), 6613 column_major: Id(reader.next_u32()?), 6614 memory_access: if !reader.is_empty() { 6615 Some(MemoryAccess::parse(reader)?) 6616 } else { 6617 None 6618 }, 6619 }, 6620 5360u16 => Self::CooperativeMatrixStoreNV { 6621 pointer: Id(reader.next_u32()?), 6622 object: Id(reader.next_u32()?), 6623 stride: Id(reader.next_u32()?), 6624 column_major: Id(reader.next_u32()?), 6625 memory_access: if !reader.is_empty() { 6626 Some(MemoryAccess::parse(reader)?) 6627 } else { 6628 None 6629 }, 6630 }, 6631 5361u16 => Self::CooperativeMatrixMulAddNV { 6632 result_type_id: Id(reader.next_u32()?), 6633 result_id: Id(reader.next_u32()?), 6634 a: Id(reader.next_u32()?), 6635 b: Id(reader.next_u32()?), 6636 c: Id(reader.next_u32()?), 6637 }, 6638 5362u16 => Self::CooperativeMatrixLengthNV { 6639 result_type_id: Id(reader.next_u32()?), 6640 result_id: Id(reader.next_u32()?), 6641 ty: Id(reader.next_u32()?), 6642 }, 6643 5364u16 => Self::BeginInvocationInterlockEXT, 6644 5365u16 => Self::EndInvocationInterlockEXT, 6645 5380u16 => Self::DemoteToHelperInvocation, 6646 5381u16 => Self::IsHelperInvocationEXT { 6647 result_type_id: Id(reader.next_u32()?), 6648 result_id: Id(reader.next_u32()?), 6649 }, 6650 5391u16 => Self::ConvertUToImageNV { 6651 result_type_id: Id(reader.next_u32()?), 6652 result_id: Id(reader.next_u32()?), 6653 operand: Id(reader.next_u32()?), 6654 }, 6655 5392u16 => Self::ConvertUToSamplerNV { 6656 result_type_id: Id(reader.next_u32()?), 6657 result_id: Id(reader.next_u32()?), 6658 operand: Id(reader.next_u32()?), 6659 }, 6660 5393u16 => Self::ConvertImageToUNV { 6661 result_type_id: Id(reader.next_u32()?), 6662 result_id: Id(reader.next_u32()?), 6663 operand: Id(reader.next_u32()?), 6664 }, 6665 5394u16 => Self::ConvertSamplerToUNV { 6666 result_type_id: Id(reader.next_u32()?), 6667 result_id: Id(reader.next_u32()?), 6668 operand: Id(reader.next_u32()?), 6669 }, 6670 5395u16 => Self::ConvertUToSampledImageNV { 6671 result_type_id: Id(reader.next_u32()?), 6672 result_id: Id(reader.next_u32()?), 6673 operand: Id(reader.next_u32()?), 6674 }, 6675 5396u16 => Self::ConvertSampledImageToUNV { 6676 result_type_id: Id(reader.next_u32()?), 6677 result_id: Id(reader.next_u32()?), 6678 operand: Id(reader.next_u32()?), 6679 }, 6680 5397u16 => Self::SamplerImageAddressingModeNV { 6681 bit_width: reader.next_u32()?, 6682 }, 6683 5571u16 => Self::SubgroupShuffleINTEL { 6684 result_type_id: Id(reader.next_u32()?), 6685 result_id: Id(reader.next_u32()?), 6686 data: Id(reader.next_u32()?), 6687 invocation_id: Id(reader.next_u32()?), 6688 }, 6689 5572u16 => Self::SubgroupShuffleDownINTEL { 6690 result_type_id: Id(reader.next_u32()?), 6691 result_id: Id(reader.next_u32()?), 6692 current: Id(reader.next_u32()?), 6693 next: Id(reader.next_u32()?), 6694 delta: Id(reader.next_u32()?), 6695 }, 6696 5573u16 => Self::SubgroupShuffleUpINTEL { 6697 result_type_id: Id(reader.next_u32()?), 6698 result_id: Id(reader.next_u32()?), 6699 previous: Id(reader.next_u32()?), 6700 current: Id(reader.next_u32()?), 6701 delta: Id(reader.next_u32()?), 6702 }, 6703 5574u16 => Self::SubgroupShuffleXorINTEL { 6704 result_type_id: Id(reader.next_u32()?), 6705 result_id: Id(reader.next_u32()?), 6706 data: Id(reader.next_u32()?), 6707 value: Id(reader.next_u32()?), 6708 }, 6709 5575u16 => Self::SubgroupBlockReadINTEL { 6710 result_type_id: Id(reader.next_u32()?), 6711 result_id: Id(reader.next_u32()?), 6712 ptr: Id(reader.next_u32()?), 6713 }, 6714 5576u16 => Self::SubgroupBlockWriteINTEL { 6715 ptr: Id(reader.next_u32()?), 6716 data: Id(reader.next_u32()?), 6717 }, 6718 5577u16 => Self::SubgroupImageBlockReadINTEL { 6719 result_type_id: Id(reader.next_u32()?), 6720 result_id: Id(reader.next_u32()?), 6721 image: Id(reader.next_u32()?), 6722 coordinate: Id(reader.next_u32()?), 6723 }, 6724 5578u16 => Self::SubgroupImageBlockWriteINTEL { 6725 image: Id(reader.next_u32()?), 6726 coordinate: Id(reader.next_u32()?), 6727 data: Id(reader.next_u32()?), 6728 }, 6729 5580u16 => Self::SubgroupImageMediaBlockReadINTEL { 6730 result_type_id: Id(reader.next_u32()?), 6731 result_id: Id(reader.next_u32()?), 6732 image: Id(reader.next_u32()?), 6733 coordinate: Id(reader.next_u32()?), 6734 width: Id(reader.next_u32()?), 6735 height: Id(reader.next_u32()?), 6736 }, 6737 5581u16 => Self::SubgroupImageMediaBlockWriteINTEL { 6738 image: Id(reader.next_u32()?), 6739 coordinate: Id(reader.next_u32()?), 6740 width: Id(reader.next_u32()?), 6741 height: Id(reader.next_u32()?), 6742 data: Id(reader.next_u32()?), 6743 }, 6744 5585u16 => Self::UCountLeadingZerosINTEL { 6745 result_type_id: Id(reader.next_u32()?), 6746 result_id: Id(reader.next_u32()?), 6747 operand: Id(reader.next_u32()?), 6748 }, 6749 5586u16 => Self::UCountTrailingZerosINTEL { 6750 result_type_id: Id(reader.next_u32()?), 6751 result_id: Id(reader.next_u32()?), 6752 operand: Id(reader.next_u32()?), 6753 }, 6754 5587u16 => Self::AbsISubINTEL { 6755 result_type_id: Id(reader.next_u32()?), 6756 result_id: Id(reader.next_u32()?), 6757 operand1: Id(reader.next_u32()?), 6758 operand2: Id(reader.next_u32()?), 6759 }, 6760 5588u16 => Self::AbsUSubINTEL { 6761 result_type_id: Id(reader.next_u32()?), 6762 result_id: Id(reader.next_u32()?), 6763 operand1: Id(reader.next_u32()?), 6764 operand2: Id(reader.next_u32()?), 6765 }, 6766 5589u16 => Self::IAddSatINTEL { 6767 result_type_id: Id(reader.next_u32()?), 6768 result_id: Id(reader.next_u32()?), 6769 operand1: Id(reader.next_u32()?), 6770 operand2: Id(reader.next_u32()?), 6771 }, 6772 5590u16 => Self::UAddSatINTEL { 6773 result_type_id: Id(reader.next_u32()?), 6774 result_id: Id(reader.next_u32()?), 6775 operand1: Id(reader.next_u32()?), 6776 operand2: Id(reader.next_u32()?), 6777 }, 6778 5591u16 => Self::IAverageINTEL { 6779 result_type_id: Id(reader.next_u32()?), 6780 result_id: Id(reader.next_u32()?), 6781 operand1: Id(reader.next_u32()?), 6782 operand2: Id(reader.next_u32()?), 6783 }, 6784 5592u16 => Self::UAverageINTEL { 6785 result_type_id: Id(reader.next_u32()?), 6786 result_id: Id(reader.next_u32()?), 6787 operand1: Id(reader.next_u32()?), 6788 operand2: Id(reader.next_u32()?), 6789 }, 6790 5593u16 => Self::IAverageRoundedINTEL { 6791 result_type_id: Id(reader.next_u32()?), 6792 result_id: Id(reader.next_u32()?), 6793 operand1: Id(reader.next_u32()?), 6794 operand2: Id(reader.next_u32()?), 6795 }, 6796 5594u16 => Self::UAverageRoundedINTEL { 6797 result_type_id: Id(reader.next_u32()?), 6798 result_id: Id(reader.next_u32()?), 6799 operand1: Id(reader.next_u32()?), 6800 operand2: Id(reader.next_u32()?), 6801 }, 6802 5595u16 => Self::ISubSatINTEL { 6803 result_type_id: Id(reader.next_u32()?), 6804 result_id: Id(reader.next_u32()?), 6805 operand1: Id(reader.next_u32()?), 6806 operand2: Id(reader.next_u32()?), 6807 }, 6808 5596u16 => Self::USubSatINTEL { 6809 result_type_id: Id(reader.next_u32()?), 6810 result_id: Id(reader.next_u32()?), 6811 operand1: Id(reader.next_u32()?), 6812 operand2: Id(reader.next_u32()?), 6813 }, 6814 5597u16 => Self::IMul32x16INTEL { 6815 result_type_id: Id(reader.next_u32()?), 6816 result_id: Id(reader.next_u32()?), 6817 operand1: Id(reader.next_u32()?), 6818 operand2: Id(reader.next_u32()?), 6819 }, 6820 5598u16 => Self::UMul32x16INTEL { 6821 result_type_id: Id(reader.next_u32()?), 6822 result_id: Id(reader.next_u32()?), 6823 operand1: Id(reader.next_u32()?), 6824 operand2: Id(reader.next_u32()?), 6825 }, 6826 5600u16 => Self::ConstantFunctionPointerINTEL { 6827 result_type_id: Id(reader.next_u32()?), 6828 result_id: Id(reader.next_u32()?), 6829 function: Id(reader.next_u32()?), 6830 }, 6831 5601u16 => Self::FunctionPointerCallINTEL { 6832 result_type_id: Id(reader.next_u32()?), 6833 result_id: Id(reader.next_u32()?), 6834 operand1: { 6835 let mut vec = Vec::new(); 6836 while !reader.is_empty() { 6837 vec.push(Id(reader.next_u32()?)); 6838 } 6839 vec 6840 }, 6841 }, 6842 5609u16 => Self::AsmTargetINTEL { 6843 result_type_id: Id(reader.next_u32()?), 6844 result_id: Id(reader.next_u32()?), 6845 asm_target: reader.next_string()?, 6846 }, 6847 5610u16 => Self::AsmINTEL { 6848 result_type_id: Id(reader.next_u32()?), 6849 result_id: Id(reader.next_u32()?), 6850 asm_type: Id(reader.next_u32()?), 6851 target: Id(reader.next_u32()?), 6852 asm_instructions: reader.next_string()?, 6853 constraints: reader.next_string()?, 6854 }, 6855 5611u16 => Self::AsmCallINTEL { 6856 result_type_id: Id(reader.next_u32()?), 6857 result_id: Id(reader.next_u32()?), 6858 asm: Id(reader.next_u32()?), 6859 argument_0: { 6860 let mut vec = Vec::new(); 6861 while !reader.is_empty() { 6862 vec.push(Id(reader.next_u32()?)); 6863 } 6864 vec 6865 }, 6866 }, 6867 5614u16 => Self::AtomicFMinEXT { 6868 result_type_id: Id(reader.next_u32()?), 6869 result_id: Id(reader.next_u32()?), 6870 pointer: Id(reader.next_u32()?), 6871 memory: Id(reader.next_u32()?), 6872 semantics: Id(reader.next_u32()?), 6873 value: Id(reader.next_u32()?), 6874 }, 6875 5615u16 => Self::AtomicFMaxEXT { 6876 result_type_id: Id(reader.next_u32()?), 6877 result_id: Id(reader.next_u32()?), 6878 pointer: Id(reader.next_u32()?), 6879 memory: Id(reader.next_u32()?), 6880 semantics: Id(reader.next_u32()?), 6881 value: Id(reader.next_u32()?), 6882 }, 6883 5630u16 => Self::AssumeTrueKHR { 6884 condition: Id(reader.next_u32()?), 6885 }, 6886 5631u16 => Self::ExpectKHR { 6887 result_type_id: Id(reader.next_u32()?), 6888 result_id: Id(reader.next_u32()?), 6889 value: Id(reader.next_u32()?), 6890 expected_value: Id(reader.next_u32()?), 6891 }, 6892 5632u16 => Self::DecorateString { 6893 target: Id(reader.next_u32()?), 6894 decoration: Decoration::parse(reader)?, 6895 }, 6896 5633u16 => Self::MemberDecorateString { 6897 struct_type: Id(reader.next_u32()?), 6898 member: reader.next_u32()?, 6899 decoration: Decoration::parse(reader)?, 6900 }, 6901 5699u16 => Self::VmeImageINTEL { 6902 result_type_id: Id(reader.next_u32()?), 6903 result_id: Id(reader.next_u32()?), 6904 image_type: Id(reader.next_u32()?), 6905 sampler: Id(reader.next_u32()?), 6906 }, 6907 5700u16 => Self::TypeVmeImageINTEL { 6908 result_id: Id(reader.next_u32()?), 6909 image_type: Id(reader.next_u32()?), 6910 }, 6911 5701u16 => Self::TypeAvcImePayloadINTEL { 6912 result_id: Id(reader.next_u32()?), 6913 }, 6914 5702u16 => Self::TypeAvcRefPayloadINTEL { 6915 result_id: Id(reader.next_u32()?), 6916 }, 6917 5703u16 => Self::TypeAvcSicPayloadINTEL { 6918 result_id: Id(reader.next_u32()?), 6919 }, 6920 5704u16 => Self::TypeAvcMcePayloadINTEL { 6921 result_id: Id(reader.next_u32()?), 6922 }, 6923 5705u16 => Self::TypeAvcMceResultINTEL { 6924 result_id: Id(reader.next_u32()?), 6925 }, 6926 5706u16 => Self::TypeAvcImeResultINTEL { 6927 result_id: Id(reader.next_u32()?), 6928 }, 6929 5707u16 => Self::TypeAvcImeResultSingleReferenceStreamoutINTEL { 6930 result_id: Id(reader.next_u32()?), 6931 }, 6932 5708u16 => Self::TypeAvcImeResultDualReferenceStreamoutINTEL { 6933 result_id: Id(reader.next_u32()?), 6934 }, 6935 5709u16 => Self::TypeAvcImeSingleReferenceStreaminINTEL { 6936 result_id: Id(reader.next_u32()?), 6937 }, 6938 5710u16 => Self::TypeAvcImeDualReferenceStreaminINTEL { 6939 result_id: Id(reader.next_u32()?), 6940 }, 6941 5711u16 => Self::TypeAvcRefResultINTEL { 6942 result_id: Id(reader.next_u32()?), 6943 }, 6944 5712u16 => Self::TypeAvcSicResultINTEL { 6945 result_id: Id(reader.next_u32()?), 6946 }, 6947 5713u16 => Self::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { 6948 result_type_id: Id(reader.next_u32()?), 6949 result_id: Id(reader.next_u32()?), 6950 slice_type: Id(reader.next_u32()?), 6951 qp: Id(reader.next_u32()?), 6952 }, 6953 5714u16 => Self::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { 6954 result_type_id: Id(reader.next_u32()?), 6955 result_id: Id(reader.next_u32()?), 6956 reference_base_penalty: Id(reader.next_u32()?), 6957 payload: Id(reader.next_u32()?), 6958 }, 6959 5715u16 => Self::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { 6960 result_type_id: Id(reader.next_u32()?), 6961 result_id: Id(reader.next_u32()?), 6962 slice_type: Id(reader.next_u32()?), 6963 qp: Id(reader.next_u32()?), 6964 }, 6965 5716u16 => Self::SubgroupAvcMceSetInterShapePenaltyINTEL { 6966 result_type_id: Id(reader.next_u32()?), 6967 result_id: Id(reader.next_u32()?), 6968 packed_shape_penalty: Id(reader.next_u32()?), 6969 payload: Id(reader.next_u32()?), 6970 }, 6971 5717u16 => Self::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { 6972 result_type_id: Id(reader.next_u32()?), 6973 result_id: Id(reader.next_u32()?), 6974 slice_type: Id(reader.next_u32()?), 6975 qp: Id(reader.next_u32()?), 6976 }, 6977 5718u16 => Self::SubgroupAvcMceSetInterDirectionPenaltyINTEL { 6978 result_type_id: Id(reader.next_u32()?), 6979 result_id: Id(reader.next_u32()?), 6980 direction_cost: Id(reader.next_u32()?), 6981 payload: Id(reader.next_u32()?), 6982 }, 6983 5719u16 => Self::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { 6984 result_type_id: Id(reader.next_u32()?), 6985 result_id: Id(reader.next_u32()?), 6986 slice_type: Id(reader.next_u32()?), 6987 qp: Id(reader.next_u32()?), 6988 }, 6989 5720u16 => Self::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { 6990 result_type_id: Id(reader.next_u32()?), 6991 result_id: Id(reader.next_u32()?), 6992 slice_type: Id(reader.next_u32()?), 6993 qp: Id(reader.next_u32()?), 6994 }, 6995 5721u16 => Self::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { 6996 result_type_id: Id(reader.next_u32()?), 6997 result_id: Id(reader.next_u32()?), 6998 }, 6999 5722u16 => Self::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { 7000 result_type_id: Id(reader.next_u32()?), 7001 result_id: Id(reader.next_u32()?), 7002 }, 7003 5723u16 => Self::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { 7004 result_type_id: Id(reader.next_u32()?), 7005 result_id: Id(reader.next_u32()?), 7006 }, 7007 5724u16 => Self::SubgroupAvcMceSetMotionVectorCostFunctionINTEL { 7008 result_type_id: Id(reader.next_u32()?), 7009 result_id: Id(reader.next_u32()?), 7010 packed_cost_center_delta: Id(reader.next_u32()?), 7011 packed_cost_table: Id(reader.next_u32()?), 7012 cost_precision: Id(reader.next_u32()?), 7013 payload: Id(reader.next_u32()?), 7014 }, 7015 5725u16 => Self::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { 7016 result_type_id: Id(reader.next_u32()?), 7017 result_id: Id(reader.next_u32()?), 7018 slice_type: Id(reader.next_u32()?), 7019 qp: Id(reader.next_u32()?), 7020 }, 7021 5726u16 => Self::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { 7022 result_type_id: Id(reader.next_u32()?), 7023 result_id: Id(reader.next_u32()?), 7024 }, 7025 5727u16 => Self::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { 7026 result_type_id: Id(reader.next_u32()?), 7027 result_id: Id(reader.next_u32()?), 7028 }, 7029 5728u16 => Self::SubgroupAvcMceSetAcOnlyHaarINTEL { 7030 result_type_id: Id(reader.next_u32()?), 7031 result_id: Id(reader.next_u32()?), 7032 payload: Id(reader.next_u32()?), 7033 }, 7034 5729u16 => Self::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { 7035 result_type_id: Id(reader.next_u32()?), 7036 result_id: Id(reader.next_u32()?), 7037 source_field_polarity: Id(reader.next_u32()?), 7038 payload: Id(reader.next_u32()?), 7039 }, 7040 5730u16 => Self::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { 7041 result_type_id: Id(reader.next_u32()?), 7042 result_id: Id(reader.next_u32()?), 7043 reference_field_polarity: Id(reader.next_u32()?), 7044 payload: Id(reader.next_u32()?), 7045 }, 7046 5731u16 => Self::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { 7047 result_type_id: Id(reader.next_u32()?), 7048 result_id: Id(reader.next_u32()?), 7049 forward_reference_field_polarity: Id(reader.next_u32()?), 7050 backward_reference_field_polarity: Id(reader.next_u32()?), 7051 payload: Id(reader.next_u32()?), 7052 }, 7053 5732u16 => Self::SubgroupAvcMceConvertToImePayloadINTEL { 7054 result_type_id: Id(reader.next_u32()?), 7055 result_id: Id(reader.next_u32()?), 7056 payload: Id(reader.next_u32()?), 7057 }, 7058 5733u16 => Self::SubgroupAvcMceConvertToImeResultINTEL { 7059 result_type_id: Id(reader.next_u32()?), 7060 result_id: Id(reader.next_u32()?), 7061 payload: Id(reader.next_u32()?), 7062 }, 7063 5734u16 => Self::SubgroupAvcMceConvertToRefPayloadINTEL { 7064 result_type_id: Id(reader.next_u32()?), 7065 result_id: Id(reader.next_u32()?), 7066 payload: Id(reader.next_u32()?), 7067 }, 7068 5735u16 => Self::SubgroupAvcMceConvertToRefResultINTEL { 7069 result_type_id: Id(reader.next_u32()?), 7070 result_id: Id(reader.next_u32()?), 7071 payload: Id(reader.next_u32()?), 7072 }, 7073 5736u16 => Self::SubgroupAvcMceConvertToSicPayloadINTEL { 7074 result_type_id: Id(reader.next_u32()?), 7075 result_id: Id(reader.next_u32()?), 7076 payload: Id(reader.next_u32()?), 7077 }, 7078 5737u16 => Self::SubgroupAvcMceConvertToSicResultINTEL { 7079 result_type_id: Id(reader.next_u32()?), 7080 result_id: Id(reader.next_u32()?), 7081 payload: Id(reader.next_u32()?), 7082 }, 7083 5738u16 => Self::SubgroupAvcMceGetMotionVectorsINTEL { 7084 result_type_id: Id(reader.next_u32()?), 7085 result_id: Id(reader.next_u32()?), 7086 payload: Id(reader.next_u32()?), 7087 }, 7088 5739u16 => Self::SubgroupAvcMceGetInterDistortionsINTEL { 7089 result_type_id: Id(reader.next_u32()?), 7090 result_id: Id(reader.next_u32()?), 7091 payload: Id(reader.next_u32()?), 7092 }, 7093 5740u16 => Self::SubgroupAvcMceGetBestInterDistortionsINTEL { 7094 result_type_id: Id(reader.next_u32()?), 7095 result_id: Id(reader.next_u32()?), 7096 payload: Id(reader.next_u32()?), 7097 }, 7098 5741u16 => Self::SubgroupAvcMceGetInterMajorShapeINTEL { 7099 result_type_id: Id(reader.next_u32()?), 7100 result_id: Id(reader.next_u32()?), 7101 payload: Id(reader.next_u32()?), 7102 }, 7103 5742u16 => Self::SubgroupAvcMceGetInterMinorShapeINTEL { 7104 result_type_id: Id(reader.next_u32()?), 7105 result_id: Id(reader.next_u32()?), 7106 payload: Id(reader.next_u32()?), 7107 }, 7108 5743u16 => Self::SubgroupAvcMceGetInterDirectionsINTEL { 7109 result_type_id: Id(reader.next_u32()?), 7110 result_id: Id(reader.next_u32()?), 7111 payload: Id(reader.next_u32()?), 7112 }, 7113 5744u16 => Self::SubgroupAvcMceGetInterMotionVectorCountINTEL { 7114 result_type_id: Id(reader.next_u32()?), 7115 result_id: Id(reader.next_u32()?), 7116 payload: Id(reader.next_u32()?), 7117 }, 7118 5745u16 => Self::SubgroupAvcMceGetInterReferenceIdsINTEL { 7119 result_type_id: Id(reader.next_u32()?), 7120 result_id: Id(reader.next_u32()?), 7121 payload: Id(reader.next_u32()?), 7122 }, 7123 5746u16 => Self::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { 7124 result_type_id: Id(reader.next_u32()?), 7125 result_id: Id(reader.next_u32()?), 7126 packed_reference_ids: Id(reader.next_u32()?), 7127 packed_reference_parameter_field_polarities: Id(reader.next_u32()?), 7128 payload: Id(reader.next_u32()?), 7129 }, 7130 5747u16 => Self::SubgroupAvcImeInitializeINTEL { 7131 result_type_id: Id(reader.next_u32()?), 7132 result_id: Id(reader.next_u32()?), 7133 src_coord: Id(reader.next_u32()?), 7134 partition_mask: Id(reader.next_u32()?), 7135 sad_adjustment: Id(reader.next_u32()?), 7136 }, 7137 5748u16 => Self::SubgroupAvcImeSetSingleReferenceINTEL { 7138 result_type_id: Id(reader.next_u32()?), 7139 result_id: Id(reader.next_u32()?), 7140 ref_offset: Id(reader.next_u32()?), 7141 search_window_config: Id(reader.next_u32()?), 7142 payload: Id(reader.next_u32()?), 7143 }, 7144 5749u16 => Self::SubgroupAvcImeSetDualReferenceINTEL { 7145 result_type_id: Id(reader.next_u32()?), 7146 result_id: Id(reader.next_u32()?), 7147 fwd_ref_offset: Id(reader.next_u32()?), 7148 bwd_ref_offset: Id(reader.next_u32()?), 7149 id_search_window_config: Id(reader.next_u32()?), 7150 payload: Id(reader.next_u32()?), 7151 }, 7152 5750u16 => Self::SubgroupAvcImeRefWindowSizeINTEL { 7153 result_type_id: Id(reader.next_u32()?), 7154 result_id: Id(reader.next_u32()?), 7155 search_window_config: Id(reader.next_u32()?), 7156 dual_ref: Id(reader.next_u32()?), 7157 }, 7158 5751u16 => Self::SubgroupAvcImeAdjustRefOffsetINTEL { 7159 result_type_id: Id(reader.next_u32()?), 7160 result_id: Id(reader.next_u32()?), 7161 ref_offset: Id(reader.next_u32()?), 7162 src_coord: Id(reader.next_u32()?), 7163 ref_window_size: Id(reader.next_u32()?), 7164 image_size: Id(reader.next_u32()?), 7165 }, 7166 5752u16 => Self::SubgroupAvcImeConvertToMcePayloadINTEL { 7167 result_type_id: Id(reader.next_u32()?), 7168 result_id: Id(reader.next_u32()?), 7169 payload: Id(reader.next_u32()?), 7170 }, 7171 5753u16 => Self::SubgroupAvcImeSetMaxMotionVectorCountINTEL { 7172 result_type_id: Id(reader.next_u32()?), 7173 result_id: Id(reader.next_u32()?), 7174 max_motion_vector_count: Id(reader.next_u32()?), 7175 payload: Id(reader.next_u32()?), 7176 }, 7177 5754u16 => Self::SubgroupAvcImeSetUnidirectionalMixDisableINTEL { 7178 result_type_id: Id(reader.next_u32()?), 7179 result_id: Id(reader.next_u32()?), 7180 payload: Id(reader.next_u32()?), 7181 }, 7182 5755u16 => Self::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { 7183 result_type_id: Id(reader.next_u32()?), 7184 result_id: Id(reader.next_u32()?), 7185 threshold: Id(reader.next_u32()?), 7186 payload: Id(reader.next_u32()?), 7187 }, 7188 5756u16 => Self::SubgroupAvcImeSetWeightedSadINTEL { 7189 result_type_id: Id(reader.next_u32()?), 7190 result_id: Id(reader.next_u32()?), 7191 packed_sad_weights: Id(reader.next_u32()?), 7192 payload: Id(reader.next_u32()?), 7193 }, 7194 5757u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceINTEL { 7195 result_type_id: Id(reader.next_u32()?), 7196 result_id: Id(reader.next_u32()?), 7197 src_image: Id(reader.next_u32()?), 7198 ref_image: Id(reader.next_u32()?), 7199 payload: Id(reader.next_u32()?), 7200 }, 7201 5758u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceINTEL { 7202 result_type_id: Id(reader.next_u32()?), 7203 result_id: Id(reader.next_u32()?), 7204 src_image: Id(reader.next_u32()?), 7205 fwd_ref_image: Id(reader.next_u32()?), 7206 bwd_ref_image: Id(reader.next_u32()?), 7207 payload: Id(reader.next_u32()?), 7208 }, 7209 5759u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { 7210 result_type_id: Id(reader.next_u32()?), 7211 result_id: Id(reader.next_u32()?), 7212 src_image: Id(reader.next_u32()?), 7213 ref_image: Id(reader.next_u32()?), 7214 payload: Id(reader.next_u32()?), 7215 streamin_components: Id(reader.next_u32()?), 7216 }, 7217 5760u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { 7218 result_type_id: Id(reader.next_u32()?), 7219 result_id: Id(reader.next_u32()?), 7220 src_image: Id(reader.next_u32()?), 7221 fwd_ref_image: Id(reader.next_u32()?), 7222 bwd_ref_image: Id(reader.next_u32()?), 7223 payload: Id(reader.next_u32()?), 7224 streamin_components: Id(reader.next_u32()?), 7225 }, 7226 5761u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { 7227 result_type_id: Id(reader.next_u32()?), 7228 result_id: Id(reader.next_u32()?), 7229 src_image: Id(reader.next_u32()?), 7230 ref_image: Id(reader.next_u32()?), 7231 payload: Id(reader.next_u32()?), 7232 }, 7233 5762u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { 7234 result_type_id: Id(reader.next_u32()?), 7235 result_id: Id(reader.next_u32()?), 7236 src_image: Id(reader.next_u32()?), 7237 fwd_ref_image: Id(reader.next_u32()?), 7238 bwd_ref_image: Id(reader.next_u32()?), 7239 payload: Id(reader.next_u32()?), 7240 }, 7241 5763u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { 7242 result_type_id: Id(reader.next_u32()?), 7243 result_id: Id(reader.next_u32()?), 7244 src_image: Id(reader.next_u32()?), 7245 ref_image: Id(reader.next_u32()?), 7246 payload: Id(reader.next_u32()?), 7247 streamin_components: Id(reader.next_u32()?), 7248 }, 7249 5764u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { 7250 result_type_id: Id(reader.next_u32()?), 7251 result_id: Id(reader.next_u32()?), 7252 src_image: Id(reader.next_u32()?), 7253 fwd_ref_image: Id(reader.next_u32()?), 7254 bwd_ref_image: Id(reader.next_u32()?), 7255 payload: Id(reader.next_u32()?), 7256 streamin_components: Id(reader.next_u32()?), 7257 }, 7258 5765u16 => Self::SubgroupAvcImeConvertToMceResultINTEL { 7259 result_type_id: Id(reader.next_u32()?), 7260 result_id: Id(reader.next_u32()?), 7261 payload: Id(reader.next_u32()?), 7262 }, 7263 5766u16 => Self::SubgroupAvcImeGetSingleReferenceStreaminINTEL { 7264 result_type_id: Id(reader.next_u32()?), 7265 result_id: Id(reader.next_u32()?), 7266 payload: Id(reader.next_u32()?), 7267 }, 7268 5767u16 => Self::SubgroupAvcImeGetDualReferenceStreaminINTEL { 7269 result_type_id: Id(reader.next_u32()?), 7270 result_id: Id(reader.next_u32()?), 7271 payload: Id(reader.next_u32()?), 7272 }, 7273 5768u16 => Self::SubgroupAvcImeStripSingleReferenceStreamoutINTEL { 7274 result_type_id: Id(reader.next_u32()?), 7275 result_id: Id(reader.next_u32()?), 7276 payload: Id(reader.next_u32()?), 7277 }, 7278 5769u16 => Self::SubgroupAvcImeStripDualReferenceStreamoutINTEL { 7279 result_type_id: Id(reader.next_u32()?), 7280 result_id: Id(reader.next_u32()?), 7281 payload: Id(reader.next_u32()?), 7282 }, 7283 5770u16 => { 7284 Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { 7285 result_type_id: Id(reader.next_u32()?), 7286 result_id: Id(reader.next_u32()?), 7287 payload: Id(reader.next_u32()?), 7288 major_shape: Id(reader.next_u32()?), 7289 } 7290 } 7291 5771u16 => Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { 7292 result_type_id: Id(reader.next_u32()?), 7293 result_id: Id(reader.next_u32()?), 7294 payload: Id(reader.next_u32()?), 7295 major_shape: Id(reader.next_u32()?), 7296 }, 7297 5772u16 => Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { 7298 result_type_id: Id(reader.next_u32()?), 7299 result_id: Id(reader.next_u32()?), 7300 payload: Id(reader.next_u32()?), 7301 major_shape: Id(reader.next_u32()?), 7302 }, 7303 5773u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { 7304 result_type_id: Id(reader.next_u32()?), 7305 result_id: Id(reader.next_u32()?), 7306 payload: Id(reader.next_u32()?), 7307 major_shape: Id(reader.next_u32()?), 7308 direction: Id(reader.next_u32()?), 7309 }, 7310 5774u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { 7311 result_type_id: Id(reader.next_u32()?), 7312 result_id: Id(reader.next_u32()?), 7313 payload: Id(reader.next_u32()?), 7314 major_shape: Id(reader.next_u32()?), 7315 direction: Id(reader.next_u32()?), 7316 }, 7317 5775u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { 7318 result_type_id: Id(reader.next_u32()?), 7319 result_id: Id(reader.next_u32()?), 7320 payload: Id(reader.next_u32()?), 7321 major_shape: Id(reader.next_u32()?), 7322 direction: Id(reader.next_u32()?), 7323 }, 7324 5776u16 => Self::SubgroupAvcImeGetBorderReachedINTEL { 7325 result_type_id: Id(reader.next_u32()?), 7326 result_id: Id(reader.next_u32()?), 7327 image_select: Id(reader.next_u32()?), 7328 payload: Id(reader.next_u32()?), 7329 }, 7330 5777u16 => Self::SubgroupAvcImeGetTruncatedSearchIndicationINTEL { 7331 result_type_id: Id(reader.next_u32()?), 7332 result_id: Id(reader.next_u32()?), 7333 payload: Id(reader.next_u32()?), 7334 }, 7335 5778u16 => Self::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { 7336 result_type_id: Id(reader.next_u32()?), 7337 result_id: Id(reader.next_u32()?), 7338 payload: Id(reader.next_u32()?), 7339 }, 7340 5779u16 => Self::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { 7341 result_type_id: Id(reader.next_u32()?), 7342 result_id: Id(reader.next_u32()?), 7343 payload: Id(reader.next_u32()?), 7344 }, 7345 5780u16 => Self::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { 7346 result_type_id: Id(reader.next_u32()?), 7347 result_id: Id(reader.next_u32()?), 7348 payload: Id(reader.next_u32()?), 7349 }, 7350 5781u16 => Self::SubgroupAvcFmeInitializeINTEL { 7351 result_type_id: Id(reader.next_u32()?), 7352 result_id: Id(reader.next_u32()?), 7353 src_coord: Id(reader.next_u32()?), 7354 motion_vectors: Id(reader.next_u32()?), 7355 major_shapes: Id(reader.next_u32()?), 7356 minor_shapes: Id(reader.next_u32()?), 7357 direction: Id(reader.next_u32()?), 7358 pixel_resolution: Id(reader.next_u32()?), 7359 sad_adjustment: Id(reader.next_u32()?), 7360 }, 7361 5782u16 => Self::SubgroupAvcBmeInitializeINTEL { 7362 result_type_id: Id(reader.next_u32()?), 7363 result_id: Id(reader.next_u32()?), 7364 src_coord: Id(reader.next_u32()?), 7365 motion_vectors: Id(reader.next_u32()?), 7366 major_shapes: Id(reader.next_u32()?), 7367 minor_shapes: Id(reader.next_u32()?), 7368 direction: Id(reader.next_u32()?), 7369 pixel_resolution: Id(reader.next_u32()?), 7370 bidirectional_weight: Id(reader.next_u32()?), 7371 sad_adjustment: Id(reader.next_u32()?), 7372 }, 7373 5783u16 => Self::SubgroupAvcRefConvertToMcePayloadINTEL { 7374 result_type_id: Id(reader.next_u32()?), 7375 result_id: Id(reader.next_u32()?), 7376 payload: Id(reader.next_u32()?), 7377 }, 7378 5784u16 => Self::SubgroupAvcRefSetBidirectionalMixDisableINTEL { 7379 result_type_id: Id(reader.next_u32()?), 7380 result_id: Id(reader.next_u32()?), 7381 payload: Id(reader.next_u32()?), 7382 }, 7383 5785u16 => Self::SubgroupAvcRefSetBilinearFilterEnableINTEL { 7384 result_type_id: Id(reader.next_u32()?), 7385 result_id: Id(reader.next_u32()?), 7386 payload: Id(reader.next_u32()?), 7387 }, 7388 5786u16 => Self::SubgroupAvcRefEvaluateWithSingleReferenceINTEL { 7389 result_type_id: Id(reader.next_u32()?), 7390 result_id: Id(reader.next_u32()?), 7391 src_image: Id(reader.next_u32()?), 7392 ref_image: Id(reader.next_u32()?), 7393 payload: Id(reader.next_u32()?), 7394 }, 7395 5787u16 => Self::SubgroupAvcRefEvaluateWithDualReferenceINTEL { 7396 result_type_id: Id(reader.next_u32()?), 7397 result_id: Id(reader.next_u32()?), 7398 src_image: Id(reader.next_u32()?), 7399 fwd_ref_image: Id(reader.next_u32()?), 7400 bwd_ref_image: Id(reader.next_u32()?), 7401 payload: Id(reader.next_u32()?), 7402 }, 7403 5788u16 => Self::SubgroupAvcRefEvaluateWithMultiReferenceINTEL { 7404 result_type_id: Id(reader.next_u32()?), 7405 result_id: Id(reader.next_u32()?), 7406 src_image: Id(reader.next_u32()?), 7407 packed_reference_ids: Id(reader.next_u32()?), 7408 payload: Id(reader.next_u32()?), 7409 }, 7410 5789u16 => Self::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { 7411 result_type_id: Id(reader.next_u32()?), 7412 result_id: Id(reader.next_u32()?), 7413 src_image: Id(reader.next_u32()?), 7414 packed_reference_ids: Id(reader.next_u32()?), 7415 packed_reference_field_polarities: Id(reader.next_u32()?), 7416 payload: Id(reader.next_u32()?), 7417 }, 7418 5790u16 => Self::SubgroupAvcRefConvertToMceResultINTEL { 7419 result_type_id: Id(reader.next_u32()?), 7420 result_id: Id(reader.next_u32()?), 7421 payload: Id(reader.next_u32()?), 7422 }, 7423 5791u16 => Self::SubgroupAvcSicInitializeINTEL { 7424 result_type_id: Id(reader.next_u32()?), 7425 result_id: Id(reader.next_u32()?), 7426 src_coord: Id(reader.next_u32()?), 7427 }, 7428 5792u16 => Self::SubgroupAvcSicConfigureSkcINTEL { 7429 result_type_id: Id(reader.next_u32()?), 7430 result_id: Id(reader.next_u32()?), 7431 skip_block_partition_type: Id(reader.next_u32()?), 7432 skip_motion_vector_mask: Id(reader.next_u32()?), 7433 motion_vectors: Id(reader.next_u32()?), 7434 bidirectional_weight: Id(reader.next_u32()?), 7435 sad_adjustment: Id(reader.next_u32()?), 7436 payload: Id(reader.next_u32()?), 7437 }, 7438 5793u16 => Self::SubgroupAvcSicConfigureIpeLumaINTEL { 7439 result_type_id: Id(reader.next_u32()?), 7440 result_id: Id(reader.next_u32()?), 7441 luma_intra_partition_mask: Id(reader.next_u32()?), 7442 intra_neighbour_availabilty: Id(reader.next_u32()?), 7443 left_edge_luma_pixels: Id(reader.next_u32()?), 7444 upper_left_corner_luma_pixel: Id(reader.next_u32()?), 7445 upper_edge_luma_pixels: Id(reader.next_u32()?), 7446 upper_right_edge_luma_pixels: Id(reader.next_u32()?), 7447 sad_adjustment: Id(reader.next_u32()?), 7448 payload: Id(reader.next_u32()?), 7449 }, 7450 5794u16 => Self::SubgroupAvcSicConfigureIpeLumaChromaINTEL { 7451 result_type_id: Id(reader.next_u32()?), 7452 result_id: Id(reader.next_u32()?), 7453 luma_intra_partition_mask: Id(reader.next_u32()?), 7454 intra_neighbour_availabilty: Id(reader.next_u32()?), 7455 left_edge_luma_pixels: Id(reader.next_u32()?), 7456 upper_left_corner_luma_pixel: Id(reader.next_u32()?), 7457 upper_edge_luma_pixels: Id(reader.next_u32()?), 7458 upper_right_edge_luma_pixels: Id(reader.next_u32()?), 7459 left_edge_chroma_pixels: Id(reader.next_u32()?), 7460 upper_left_corner_chroma_pixel: Id(reader.next_u32()?), 7461 upper_edge_chroma_pixels: Id(reader.next_u32()?), 7462 sad_adjustment: Id(reader.next_u32()?), 7463 payload: Id(reader.next_u32()?), 7464 }, 7465 5795u16 => Self::SubgroupAvcSicGetMotionVectorMaskINTEL { 7466 result_type_id: Id(reader.next_u32()?), 7467 result_id: Id(reader.next_u32()?), 7468 skip_block_partition_type: Id(reader.next_u32()?), 7469 direction: Id(reader.next_u32()?), 7470 }, 7471 5796u16 => Self::SubgroupAvcSicConvertToMcePayloadINTEL { 7472 result_type_id: Id(reader.next_u32()?), 7473 result_id: Id(reader.next_u32()?), 7474 payload: Id(reader.next_u32()?), 7475 }, 7476 5797u16 => Self::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { 7477 result_type_id: Id(reader.next_u32()?), 7478 result_id: Id(reader.next_u32()?), 7479 packed_shape_penalty: Id(reader.next_u32()?), 7480 payload: Id(reader.next_u32()?), 7481 }, 7482 5798u16 => Self::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { 7483 result_type_id: Id(reader.next_u32()?), 7484 result_id: Id(reader.next_u32()?), 7485 luma_mode_penalty: Id(reader.next_u32()?), 7486 luma_packed_neighbor_modes: Id(reader.next_u32()?), 7487 luma_packed_non_dc_penalty: Id(reader.next_u32()?), 7488 payload: Id(reader.next_u32()?), 7489 }, 7490 5799u16 => Self::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { 7491 result_type_id: Id(reader.next_u32()?), 7492 result_id: Id(reader.next_u32()?), 7493 chroma_mode_base_penalty: Id(reader.next_u32()?), 7494 payload: Id(reader.next_u32()?), 7495 }, 7496 5800u16 => Self::SubgroupAvcSicSetBilinearFilterEnableINTEL { 7497 result_type_id: Id(reader.next_u32()?), 7498 result_id: Id(reader.next_u32()?), 7499 payload: Id(reader.next_u32()?), 7500 }, 7501 5801u16 => Self::SubgroupAvcSicSetSkcForwardTransformEnableINTEL { 7502 result_type_id: Id(reader.next_u32()?), 7503 result_id: Id(reader.next_u32()?), 7504 packed_sad_coefficients: Id(reader.next_u32()?), 7505 payload: Id(reader.next_u32()?), 7506 }, 7507 5802u16 => Self::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { 7508 result_type_id: Id(reader.next_u32()?), 7509 result_id: Id(reader.next_u32()?), 7510 block_based_skip_type: Id(reader.next_u32()?), 7511 payload: Id(reader.next_u32()?), 7512 }, 7513 5803u16 => Self::SubgroupAvcSicEvaluateIpeINTEL { 7514 result_type_id: Id(reader.next_u32()?), 7515 result_id: Id(reader.next_u32()?), 7516 src_image: Id(reader.next_u32()?), 7517 payload: Id(reader.next_u32()?), 7518 }, 7519 5804u16 => Self::SubgroupAvcSicEvaluateWithSingleReferenceINTEL { 7520 result_type_id: Id(reader.next_u32()?), 7521 result_id: Id(reader.next_u32()?), 7522 src_image: Id(reader.next_u32()?), 7523 ref_image: Id(reader.next_u32()?), 7524 payload: Id(reader.next_u32()?), 7525 }, 7526 5805u16 => Self::SubgroupAvcSicEvaluateWithDualReferenceINTEL { 7527 result_type_id: Id(reader.next_u32()?), 7528 result_id: Id(reader.next_u32()?), 7529 src_image: Id(reader.next_u32()?), 7530 fwd_ref_image: Id(reader.next_u32()?), 7531 bwd_ref_image: Id(reader.next_u32()?), 7532 payload: Id(reader.next_u32()?), 7533 }, 7534 5806u16 => Self::SubgroupAvcSicEvaluateWithMultiReferenceINTEL { 7535 result_type_id: Id(reader.next_u32()?), 7536 result_id: Id(reader.next_u32()?), 7537 src_image: Id(reader.next_u32()?), 7538 packed_reference_ids: Id(reader.next_u32()?), 7539 payload: Id(reader.next_u32()?), 7540 }, 7541 5807u16 => Self::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { 7542 result_type_id: Id(reader.next_u32()?), 7543 result_id: Id(reader.next_u32()?), 7544 src_image: Id(reader.next_u32()?), 7545 packed_reference_ids: Id(reader.next_u32()?), 7546 packed_reference_field_polarities: Id(reader.next_u32()?), 7547 payload: Id(reader.next_u32()?), 7548 }, 7549 5808u16 => Self::SubgroupAvcSicConvertToMceResultINTEL { 7550 result_type_id: Id(reader.next_u32()?), 7551 result_id: Id(reader.next_u32()?), 7552 payload: Id(reader.next_u32()?), 7553 }, 7554 5809u16 => Self::SubgroupAvcSicGetIpeLumaShapeINTEL { 7555 result_type_id: Id(reader.next_u32()?), 7556 result_id: Id(reader.next_u32()?), 7557 payload: Id(reader.next_u32()?), 7558 }, 7559 5810u16 => Self::SubgroupAvcSicGetBestIpeLumaDistortionINTEL { 7560 result_type_id: Id(reader.next_u32()?), 7561 result_id: Id(reader.next_u32()?), 7562 payload: Id(reader.next_u32()?), 7563 }, 7564 5811u16 => Self::SubgroupAvcSicGetBestIpeChromaDistortionINTEL { 7565 result_type_id: Id(reader.next_u32()?), 7566 result_id: Id(reader.next_u32()?), 7567 payload: Id(reader.next_u32()?), 7568 }, 7569 5812u16 => Self::SubgroupAvcSicGetPackedIpeLumaModesINTEL { 7570 result_type_id: Id(reader.next_u32()?), 7571 result_id: Id(reader.next_u32()?), 7572 payload: Id(reader.next_u32()?), 7573 }, 7574 5813u16 => Self::SubgroupAvcSicGetIpeChromaModeINTEL { 7575 result_type_id: Id(reader.next_u32()?), 7576 result_id: Id(reader.next_u32()?), 7577 payload: Id(reader.next_u32()?), 7578 }, 7579 5814u16 => Self::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { 7580 result_type_id: Id(reader.next_u32()?), 7581 result_id: Id(reader.next_u32()?), 7582 payload: Id(reader.next_u32()?), 7583 }, 7584 5815u16 => Self::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { 7585 result_type_id: Id(reader.next_u32()?), 7586 result_id: Id(reader.next_u32()?), 7587 payload: Id(reader.next_u32()?), 7588 }, 7589 5816u16 => Self::SubgroupAvcSicGetInterRawSadsINTEL { 7590 result_type_id: Id(reader.next_u32()?), 7591 result_id: Id(reader.next_u32()?), 7592 payload: Id(reader.next_u32()?), 7593 }, 7594 5818u16 => Self::VariableLengthArrayINTEL { 7595 result_type_id: Id(reader.next_u32()?), 7596 result_id: Id(reader.next_u32()?), 7597 lenght: Id(reader.next_u32()?), 7598 }, 7599 5819u16 => Self::SaveMemoryINTEL { 7600 result_type_id: Id(reader.next_u32()?), 7601 result_id: Id(reader.next_u32()?), 7602 }, 7603 5820u16 => Self::RestoreMemoryINTEL { 7604 ptr: Id(reader.next_u32()?), 7605 }, 7606 5840u16 => Self::ArbitraryFloatSinCosPiINTEL { 7607 result_type_id: Id(reader.next_u32()?), 7608 result_id: Id(reader.next_u32()?), 7609 a: Id(reader.next_u32()?), 7610 m1: reader.next_u32()?, 7611 mout: reader.next_u32()?, 7612 from_sign: reader.next_u32()?, 7613 enable_subnormals: reader.next_u32()?, 7614 rounding_mode: reader.next_u32()?, 7615 rounding_accuracy: reader.next_u32()?, 7616 }, 7617 5841u16 => Self::ArbitraryFloatCastINTEL { 7618 result_type_id: Id(reader.next_u32()?), 7619 result_id: Id(reader.next_u32()?), 7620 a: Id(reader.next_u32()?), 7621 m1: reader.next_u32()?, 7622 mout: reader.next_u32()?, 7623 enable_subnormals: reader.next_u32()?, 7624 rounding_mode: reader.next_u32()?, 7625 rounding_accuracy: reader.next_u32()?, 7626 }, 7627 5842u16 => Self::ArbitraryFloatCastFromIntINTEL { 7628 result_type_id: Id(reader.next_u32()?), 7629 result_id: Id(reader.next_u32()?), 7630 a: Id(reader.next_u32()?), 7631 mout: reader.next_u32()?, 7632 from_sign: reader.next_u32()?, 7633 enable_subnormals: reader.next_u32()?, 7634 rounding_mode: reader.next_u32()?, 7635 rounding_accuracy: reader.next_u32()?, 7636 }, 7637 5843u16 => Self::ArbitraryFloatCastToIntINTEL { 7638 result_type_id: Id(reader.next_u32()?), 7639 result_id: Id(reader.next_u32()?), 7640 a: Id(reader.next_u32()?), 7641 m1: reader.next_u32()?, 7642 enable_subnormals: reader.next_u32()?, 7643 rounding_mode: reader.next_u32()?, 7644 rounding_accuracy: reader.next_u32()?, 7645 }, 7646 5846u16 => Self::ArbitraryFloatAddINTEL { 7647 result_type_id: Id(reader.next_u32()?), 7648 result_id: Id(reader.next_u32()?), 7649 a: Id(reader.next_u32()?), 7650 m1: reader.next_u32()?, 7651 b: Id(reader.next_u32()?), 7652 m2: reader.next_u32()?, 7653 mout: reader.next_u32()?, 7654 enable_subnormals: reader.next_u32()?, 7655 rounding_mode: reader.next_u32()?, 7656 rounding_accuracy: reader.next_u32()?, 7657 }, 7658 5847u16 => Self::ArbitraryFloatSubINTEL { 7659 result_type_id: Id(reader.next_u32()?), 7660 result_id: Id(reader.next_u32()?), 7661 a: Id(reader.next_u32()?), 7662 m1: reader.next_u32()?, 7663 b: Id(reader.next_u32()?), 7664 m2: reader.next_u32()?, 7665 mout: reader.next_u32()?, 7666 enable_subnormals: reader.next_u32()?, 7667 rounding_mode: reader.next_u32()?, 7668 rounding_accuracy: reader.next_u32()?, 7669 }, 7670 5848u16 => Self::ArbitraryFloatMulINTEL { 7671 result_type_id: Id(reader.next_u32()?), 7672 result_id: Id(reader.next_u32()?), 7673 a: Id(reader.next_u32()?), 7674 m1: reader.next_u32()?, 7675 b: Id(reader.next_u32()?), 7676 m2: reader.next_u32()?, 7677 mout: reader.next_u32()?, 7678 enable_subnormals: reader.next_u32()?, 7679 rounding_mode: reader.next_u32()?, 7680 rounding_accuracy: reader.next_u32()?, 7681 }, 7682 5849u16 => Self::ArbitraryFloatDivINTEL { 7683 result_type_id: Id(reader.next_u32()?), 7684 result_id: Id(reader.next_u32()?), 7685 a: Id(reader.next_u32()?), 7686 m1: reader.next_u32()?, 7687 b: Id(reader.next_u32()?), 7688 m2: reader.next_u32()?, 7689 mout: reader.next_u32()?, 7690 enable_subnormals: reader.next_u32()?, 7691 rounding_mode: reader.next_u32()?, 7692 rounding_accuracy: reader.next_u32()?, 7693 }, 7694 5850u16 => Self::ArbitraryFloatGTINTEL { 7695 result_type_id: Id(reader.next_u32()?), 7696 result_id: Id(reader.next_u32()?), 7697 a: Id(reader.next_u32()?), 7698 m1: reader.next_u32()?, 7699 b: Id(reader.next_u32()?), 7700 m2: reader.next_u32()?, 7701 }, 7702 5851u16 => Self::ArbitraryFloatGEINTEL { 7703 result_type_id: Id(reader.next_u32()?), 7704 result_id: Id(reader.next_u32()?), 7705 a: Id(reader.next_u32()?), 7706 m1: reader.next_u32()?, 7707 b: Id(reader.next_u32()?), 7708 m2: reader.next_u32()?, 7709 }, 7710 5852u16 => Self::ArbitraryFloatLTINTEL { 7711 result_type_id: Id(reader.next_u32()?), 7712 result_id: Id(reader.next_u32()?), 7713 a: Id(reader.next_u32()?), 7714 m1: reader.next_u32()?, 7715 b: Id(reader.next_u32()?), 7716 m2: reader.next_u32()?, 7717 }, 7718 5853u16 => Self::ArbitraryFloatLEINTEL { 7719 result_type_id: Id(reader.next_u32()?), 7720 result_id: Id(reader.next_u32()?), 7721 a: Id(reader.next_u32()?), 7722 m1: reader.next_u32()?, 7723 b: Id(reader.next_u32()?), 7724 m2: reader.next_u32()?, 7725 }, 7726 5854u16 => Self::ArbitraryFloatEQINTEL { 7727 result_type_id: Id(reader.next_u32()?), 7728 result_id: Id(reader.next_u32()?), 7729 a: Id(reader.next_u32()?), 7730 m1: reader.next_u32()?, 7731 b: Id(reader.next_u32()?), 7732 m2: reader.next_u32()?, 7733 }, 7734 5855u16 => Self::ArbitraryFloatRecipINTEL { 7735 result_type_id: Id(reader.next_u32()?), 7736 result_id: Id(reader.next_u32()?), 7737 a: Id(reader.next_u32()?), 7738 m1: reader.next_u32()?, 7739 mout: reader.next_u32()?, 7740 enable_subnormals: reader.next_u32()?, 7741 rounding_mode: reader.next_u32()?, 7742 rounding_accuracy: reader.next_u32()?, 7743 }, 7744 5856u16 => Self::ArbitraryFloatRSqrtINTEL { 7745 result_type_id: Id(reader.next_u32()?), 7746 result_id: Id(reader.next_u32()?), 7747 a: Id(reader.next_u32()?), 7748 m1: reader.next_u32()?, 7749 mout: reader.next_u32()?, 7750 enable_subnormals: reader.next_u32()?, 7751 rounding_mode: reader.next_u32()?, 7752 rounding_accuracy: reader.next_u32()?, 7753 }, 7754 5857u16 => Self::ArbitraryFloatCbrtINTEL { 7755 result_type_id: Id(reader.next_u32()?), 7756 result_id: Id(reader.next_u32()?), 7757 a: Id(reader.next_u32()?), 7758 m1: reader.next_u32()?, 7759 mout: reader.next_u32()?, 7760 enable_subnormals: reader.next_u32()?, 7761 rounding_mode: reader.next_u32()?, 7762 rounding_accuracy: reader.next_u32()?, 7763 }, 7764 5858u16 => Self::ArbitraryFloatHypotINTEL { 7765 result_type_id: Id(reader.next_u32()?), 7766 result_id: Id(reader.next_u32()?), 7767 a: Id(reader.next_u32()?), 7768 m1: reader.next_u32()?, 7769 b: Id(reader.next_u32()?), 7770 m2: reader.next_u32()?, 7771 mout: reader.next_u32()?, 7772 enable_subnormals: reader.next_u32()?, 7773 rounding_mode: reader.next_u32()?, 7774 rounding_accuracy: reader.next_u32()?, 7775 }, 7776 5859u16 => Self::ArbitraryFloatSqrtINTEL { 7777 result_type_id: Id(reader.next_u32()?), 7778 result_id: Id(reader.next_u32()?), 7779 a: Id(reader.next_u32()?), 7780 m1: reader.next_u32()?, 7781 mout: reader.next_u32()?, 7782 enable_subnormals: reader.next_u32()?, 7783 rounding_mode: reader.next_u32()?, 7784 rounding_accuracy: reader.next_u32()?, 7785 }, 7786 5860u16 => Self::ArbitraryFloatLogINTEL { 7787 result_type_id: Id(reader.next_u32()?), 7788 result_id: Id(reader.next_u32()?), 7789 a: Id(reader.next_u32()?), 7790 m1: reader.next_u32()?, 7791 mout: reader.next_u32()?, 7792 enable_subnormals: reader.next_u32()?, 7793 rounding_mode: reader.next_u32()?, 7794 rounding_accuracy: reader.next_u32()?, 7795 }, 7796 5861u16 => Self::ArbitraryFloatLog2INTEL { 7797 result_type_id: Id(reader.next_u32()?), 7798 result_id: Id(reader.next_u32()?), 7799 a: Id(reader.next_u32()?), 7800 m1: reader.next_u32()?, 7801 mout: reader.next_u32()?, 7802 enable_subnormals: reader.next_u32()?, 7803 rounding_mode: reader.next_u32()?, 7804 rounding_accuracy: reader.next_u32()?, 7805 }, 7806 5862u16 => Self::ArbitraryFloatLog10INTEL { 7807 result_type_id: Id(reader.next_u32()?), 7808 result_id: Id(reader.next_u32()?), 7809 a: Id(reader.next_u32()?), 7810 m1: reader.next_u32()?, 7811 mout: reader.next_u32()?, 7812 enable_subnormals: reader.next_u32()?, 7813 rounding_mode: reader.next_u32()?, 7814 rounding_accuracy: reader.next_u32()?, 7815 }, 7816 5863u16 => Self::ArbitraryFloatLog1pINTEL { 7817 result_type_id: Id(reader.next_u32()?), 7818 result_id: Id(reader.next_u32()?), 7819 a: Id(reader.next_u32()?), 7820 m1: reader.next_u32()?, 7821 mout: reader.next_u32()?, 7822 enable_subnormals: reader.next_u32()?, 7823 rounding_mode: reader.next_u32()?, 7824 rounding_accuracy: reader.next_u32()?, 7825 }, 7826 5864u16 => Self::ArbitraryFloatExpINTEL { 7827 result_type_id: Id(reader.next_u32()?), 7828 result_id: Id(reader.next_u32()?), 7829 a: Id(reader.next_u32()?), 7830 m1: reader.next_u32()?, 7831 mout: reader.next_u32()?, 7832 enable_subnormals: reader.next_u32()?, 7833 rounding_mode: reader.next_u32()?, 7834 rounding_accuracy: reader.next_u32()?, 7835 }, 7836 5865u16 => Self::ArbitraryFloatExp2INTEL { 7837 result_type_id: Id(reader.next_u32()?), 7838 result_id: Id(reader.next_u32()?), 7839 a: Id(reader.next_u32()?), 7840 m1: reader.next_u32()?, 7841 mout: reader.next_u32()?, 7842 enable_subnormals: reader.next_u32()?, 7843 rounding_mode: reader.next_u32()?, 7844 rounding_accuracy: reader.next_u32()?, 7845 }, 7846 5866u16 => Self::ArbitraryFloatExp10INTEL { 7847 result_type_id: Id(reader.next_u32()?), 7848 result_id: Id(reader.next_u32()?), 7849 a: Id(reader.next_u32()?), 7850 m1: reader.next_u32()?, 7851 mout: reader.next_u32()?, 7852 enable_subnormals: reader.next_u32()?, 7853 rounding_mode: reader.next_u32()?, 7854 rounding_accuracy: reader.next_u32()?, 7855 }, 7856 5867u16 => Self::ArbitraryFloatExpm1INTEL { 7857 result_type_id: Id(reader.next_u32()?), 7858 result_id: Id(reader.next_u32()?), 7859 a: Id(reader.next_u32()?), 7860 m1: reader.next_u32()?, 7861 mout: reader.next_u32()?, 7862 enable_subnormals: reader.next_u32()?, 7863 rounding_mode: reader.next_u32()?, 7864 rounding_accuracy: reader.next_u32()?, 7865 }, 7866 5868u16 => Self::ArbitraryFloatSinINTEL { 7867 result_type_id: Id(reader.next_u32()?), 7868 result_id: Id(reader.next_u32()?), 7869 a: Id(reader.next_u32()?), 7870 m1: reader.next_u32()?, 7871 mout: reader.next_u32()?, 7872 enable_subnormals: reader.next_u32()?, 7873 rounding_mode: reader.next_u32()?, 7874 rounding_accuracy: reader.next_u32()?, 7875 }, 7876 5869u16 => Self::ArbitraryFloatCosINTEL { 7877 result_type_id: Id(reader.next_u32()?), 7878 result_id: Id(reader.next_u32()?), 7879 a: Id(reader.next_u32()?), 7880 m1: reader.next_u32()?, 7881 mout: reader.next_u32()?, 7882 enable_subnormals: reader.next_u32()?, 7883 rounding_mode: reader.next_u32()?, 7884 rounding_accuracy: reader.next_u32()?, 7885 }, 7886 5870u16 => Self::ArbitraryFloatSinCosINTEL { 7887 result_type_id: Id(reader.next_u32()?), 7888 result_id: Id(reader.next_u32()?), 7889 a: Id(reader.next_u32()?), 7890 m1: reader.next_u32()?, 7891 mout: reader.next_u32()?, 7892 enable_subnormals: reader.next_u32()?, 7893 rounding_mode: reader.next_u32()?, 7894 rounding_accuracy: reader.next_u32()?, 7895 }, 7896 5871u16 => Self::ArbitraryFloatSinPiINTEL { 7897 result_type_id: Id(reader.next_u32()?), 7898 result_id: Id(reader.next_u32()?), 7899 a: Id(reader.next_u32()?), 7900 m1: reader.next_u32()?, 7901 mout: reader.next_u32()?, 7902 enable_subnormals: reader.next_u32()?, 7903 rounding_mode: reader.next_u32()?, 7904 rounding_accuracy: reader.next_u32()?, 7905 }, 7906 5872u16 => Self::ArbitraryFloatCosPiINTEL { 7907 result_type_id: Id(reader.next_u32()?), 7908 result_id: Id(reader.next_u32()?), 7909 a: Id(reader.next_u32()?), 7910 m1: reader.next_u32()?, 7911 mout: reader.next_u32()?, 7912 enable_subnormals: reader.next_u32()?, 7913 rounding_mode: reader.next_u32()?, 7914 rounding_accuracy: reader.next_u32()?, 7915 }, 7916 5873u16 => Self::ArbitraryFloatASinINTEL { 7917 result_type_id: Id(reader.next_u32()?), 7918 result_id: Id(reader.next_u32()?), 7919 a: Id(reader.next_u32()?), 7920 m1: reader.next_u32()?, 7921 mout: reader.next_u32()?, 7922 enable_subnormals: reader.next_u32()?, 7923 rounding_mode: reader.next_u32()?, 7924 rounding_accuracy: reader.next_u32()?, 7925 }, 7926 5874u16 => Self::ArbitraryFloatASinPiINTEL { 7927 result_type_id: Id(reader.next_u32()?), 7928 result_id: Id(reader.next_u32()?), 7929 a: Id(reader.next_u32()?), 7930 m1: reader.next_u32()?, 7931 mout: reader.next_u32()?, 7932 enable_subnormals: reader.next_u32()?, 7933 rounding_mode: reader.next_u32()?, 7934 rounding_accuracy: reader.next_u32()?, 7935 }, 7936 5875u16 => Self::ArbitraryFloatACosINTEL { 7937 result_type_id: Id(reader.next_u32()?), 7938 result_id: Id(reader.next_u32()?), 7939 a: Id(reader.next_u32()?), 7940 m1: reader.next_u32()?, 7941 mout: reader.next_u32()?, 7942 enable_subnormals: reader.next_u32()?, 7943 rounding_mode: reader.next_u32()?, 7944 rounding_accuracy: reader.next_u32()?, 7945 }, 7946 5876u16 => Self::ArbitraryFloatACosPiINTEL { 7947 result_type_id: Id(reader.next_u32()?), 7948 result_id: Id(reader.next_u32()?), 7949 a: Id(reader.next_u32()?), 7950 m1: reader.next_u32()?, 7951 mout: reader.next_u32()?, 7952 enable_subnormals: reader.next_u32()?, 7953 rounding_mode: reader.next_u32()?, 7954 rounding_accuracy: reader.next_u32()?, 7955 }, 7956 5877u16 => Self::ArbitraryFloatATanINTEL { 7957 result_type_id: Id(reader.next_u32()?), 7958 result_id: Id(reader.next_u32()?), 7959 a: Id(reader.next_u32()?), 7960 m1: reader.next_u32()?, 7961 mout: reader.next_u32()?, 7962 enable_subnormals: reader.next_u32()?, 7963 rounding_mode: reader.next_u32()?, 7964 rounding_accuracy: reader.next_u32()?, 7965 }, 7966 5878u16 => Self::ArbitraryFloatATanPiINTEL { 7967 result_type_id: Id(reader.next_u32()?), 7968 result_id: Id(reader.next_u32()?), 7969 a: Id(reader.next_u32()?), 7970 m1: reader.next_u32()?, 7971 mout: reader.next_u32()?, 7972 enable_subnormals: reader.next_u32()?, 7973 rounding_mode: reader.next_u32()?, 7974 rounding_accuracy: reader.next_u32()?, 7975 }, 7976 5879u16 => Self::ArbitraryFloatATan2INTEL { 7977 result_type_id: Id(reader.next_u32()?), 7978 result_id: Id(reader.next_u32()?), 7979 a: Id(reader.next_u32()?), 7980 m1: reader.next_u32()?, 7981 b: Id(reader.next_u32()?), 7982 m2: reader.next_u32()?, 7983 mout: reader.next_u32()?, 7984 enable_subnormals: reader.next_u32()?, 7985 rounding_mode: reader.next_u32()?, 7986 rounding_accuracy: reader.next_u32()?, 7987 }, 7988 5880u16 => Self::ArbitraryFloatPowINTEL { 7989 result_type_id: Id(reader.next_u32()?), 7990 result_id: Id(reader.next_u32()?), 7991 a: Id(reader.next_u32()?), 7992 m1: reader.next_u32()?, 7993 b: Id(reader.next_u32()?), 7994 m2: reader.next_u32()?, 7995 mout: reader.next_u32()?, 7996 enable_subnormals: reader.next_u32()?, 7997 rounding_mode: reader.next_u32()?, 7998 rounding_accuracy: reader.next_u32()?, 7999 }, 8000 5881u16 => Self::ArbitraryFloatPowRINTEL { 8001 result_type_id: Id(reader.next_u32()?), 8002 result_id: Id(reader.next_u32()?), 8003 a: Id(reader.next_u32()?), 8004 m1: reader.next_u32()?, 8005 b: Id(reader.next_u32()?), 8006 m2: reader.next_u32()?, 8007 mout: reader.next_u32()?, 8008 enable_subnormals: reader.next_u32()?, 8009 rounding_mode: reader.next_u32()?, 8010 rounding_accuracy: reader.next_u32()?, 8011 }, 8012 5882u16 => Self::ArbitraryFloatPowNINTEL { 8013 result_type_id: Id(reader.next_u32()?), 8014 result_id: Id(reader.next_u32()?), 8015 a: Id(reader.next_u32()?), 8016 m1: reader.next_u32()?, 8017 b: Id(reader.next_u32()?), 8018 mout: reader.next_u32()?, 8019 enable_subnormals: reader.next_u32()?, 8020 rounding_mode: reader.next_u32()?, 8021 rounding_accuracy: reader.next_u32()?, 8022 }, 8023 5887u16 => Self::LoopControlINTEL { 8024 loop_control_parameters: { 8025 let mut vec = Vec::new(); 8026 while !reader.is_empty() { 8027 vec.push(reader.next_u32()?); 8028 } 8029 vec 8030 }, 8031 }, 8032 5923u16 => Self::FixedSqrtINTEL { 8033 result_type_id: Id(reader.next_u32()?), 8034 result_id: Id(reader.next_u32()?), 8035 input_type: Id(reader.next_u32()?), 8036 input: Id(reader.next_u32()?), 8037 s: reader.next_u32()?, 8038 i: reader.next_u32()?, 8039 r_i: reader.next_u32()?, 8040 q: reader.next_u32()?, 8041 o: reader.next_u32()?, 8042 }, 8043 5924u16 => Self::FixedRecipINTEL { 8044 result_type_id: Id(reader.next_u32()?), 8045 result_id: Id(reader.next_u32()?), 8046 input_type: Id(reader.next_u32()?), 8047 input: Id(reader.next_u32()?), 8048 s: reader.next_u32()?, 8049 i: reader.next_u32()?, 8050 r_i: reader.next_u32()?, 8051 q: reader.next_u32()?, 8052 o: reader.next_u32()?, 8053 }, 8054 5925u16 => Self::FixedRsqrtINTEL { 8055 result_type_id: Id(reader.next_u32()?), 8056 result_id: Id(reader.next_u32()?), 8057 input_type: Id(reader.next_u32()?), 8058 input: Id(reader.next_u32()?), 8059 s: reader.next_u32()?, 8060 i: reader.next_u32()?, 8061 r_i: reader.next_u32()?, 8062 q: reader.next_u32()?, 8063 o: reader.next_u32()?, 8064 }, 8065 5926u16 => Self::FixedSinINTEL { 8066 result_type_id: Id(reader.next_u32()?), 8067 result_id: Id(reader.next_u32()?), 8068 input_type: Id(reader.next_u32()?), 8069 input: Id(reader.next_u32()?), 8070 s: reader.next_u32()?, 8071 i: reader.next_u32()?, 8072 r_i: reader.next_u32()?, 8073 q: reader.next_u32()?, 8074 o: reader.next_u32()?, 8075 }, 8076 5927u16 => Self::FixedCosINTEL { 8077 result_type_id: Id(reader.next_u32()?), 8078 result_id: Id(reader.next_u32()?), 8079 input_type: Id(reader.next_u32()?), 8080 input: Id(reader.next_u32()?), 8081 s: reader.next_u32()?, 8082 i: reader.next_u32()?, 8083 r_i: reader.next_u32()?, 8084 q: reader.next_u32()?, 8085 o: reader.next_u32()?, 8086 }, 8087 5928u16 => Self::FixedSinCosINTEL { 8088 result_type_id: Id(reader.next_u32()?), 8089 result_id: Id(reader.next_u32()?), 8090 input_type: Id(reader.next_u32()?), 8091 input: Id(reader.next_u32()?), 8092 s: reader.next_u32()?, 8093 i: reader.next_u32()?, 8094 r_i: reader.next_u32()?, 8095 q: reader.next_u32()?, 8096 o: reader.next_u32()?, 8097 }, 8098 5929u16 => Self::FixedSinPiINTEL { 8099 result_type_id: Id(reader.next_u32()?), 8100 result_id: Id(reader.next_u32()?), 8101 input_type: Id(reader.next_u32()?), 8102 input: Id(reader.next_u32()?), 8103 s: reader.next_u32()?, 8104 i: reader.next_u32()?, 8105 r_i: reader.next_u32()?, 8106 q: reader.next_u32()?, 8107 o: reader.next_u32()?, 8108 }, 8109 5930u16 => Self::FixedCosPiINTEL { 8110 result_type_id: Id(reader.next_u32()?), 8111 result_id: Id(reader.next_u32()?), 8112 input_type: Id(reader.next_u32()?), 8113 input: Id(reader.next_u32()?), 8114 s: reader.next_u32()?, 8115 i: reader.next_u32()?, 8116 r_i: reader.next_u32()?, 8117 q: reader.next_u32()?, 8118 o: reader.next_u32()?, 8119 }, 8120 5931u16 => Self::FixedSinCosPiINTEL { 8121 result_type_id: Id(reader.next_u32()?), 8122 result_id: Id(reader.next_u32()?), 8123 input_type: Id(reader.next_u32()?), 8124 input: Id(reader.next_u32()?), 8125 s: reader.next_u32()?, 8126 i: reader.next_u32()?, 8127 r_i: reader.next_u32()?, 8128 q: reader.next_u32()?, 8129 o: reader.next_u32()?, 8130 }, 8131 5932u16 => Self::FixedLogINTEL { 8132 result_type_id: Id(reader.next_u32()?), 8133 result_id: Id(reader.next_u32()?), 8134 input_type: Id(reader.next_u32()?), 8135 input: Id(reader.next_u32()?), 8136 s: reader.next_u32()?, 8137 i: reader.next_u32()?, 8138 r_i: reader.next_u32()?, 8139 q: reader.next_u32()?, 8140 o: reader.next_u32()?, 8141 }, 8142 5933u16 => Self::FixedExpINTEL { 8143 result_type_id: Id(reader.next_u32()?), 8144 result_id: Id(reader.next_u32()?), 8145 input_type: Id(reader.next_u32()?), 8146 input: Id(reader.next_u32()?), 8147 s: reader.next_u32()?, 8148 i: reader.next_u32()?, 8149 r_i: reader.next_u32()?, 8150 q: reader.next_u32()?, 8151 o: reader.next_u32()?, 8152 }, 8153 5934u16 => Self::PtrCastToCrossWorkgroupINTEL { 8154 result_type_id: Id(reader.next_u32()?), 8155 result_id: Id(reader.next_u32()?), 8156 pointer: Id(reader.next_u32()?), 8157 }, 8158 5938u16 => Self::CrossWorkgroupCastToPtrINTEL { 8159 result_type_id: Id(reader.next_u32()?), 8160 result_id: Id(reader.next_u32()?), 8161 pointer: Id(reader.next_u32()?), 8162 }, 8163 5946u16 => Self::ReadPipeBlockingINTEL { 8164 result_type_id: Id(reader.next_u32()?), 8165 result_id: Id(reader.next_u32()?), 8166 packet_size: Id(reader.next_u32()?), 8167 packet_alignment: Id(reader.next_u32()?), 8168 }, 8169 5947u16 => Self::WritePipeBlockingINTEL { 8170 result_type_id: Id(reader.next_u32()?), 8171 result_id: Id(reader.next_u32()?), 8172 packet_size: Id(reader.next_u32()?), 8173 packet_alignment: Id(reader.next_u32()?), 8174 }, 8175 5949u16 => Self::FPGARegINTEL { 8176 result_type_id: Id(reader.next_u32()?), 8177 result_id: Id(reader.next_u32()?), 8178 result: Id(reader.next_u32()?), 8179 input: Id(reader.next_u32()?), 8180 }, 8181 6016u16 => Self::RayQueryGetRayTMinKHR { 8182 result_type_id: Id(reader.next_u32()?), 8183 result_id: Id(reader.next_u32()?), 8184 ray_query: Id(reader.next_u32()?), 8185 }, 8186 6017u16 => Self::RayQueryGetRayFlagsKHR { 8187 result_type_id: Id(reader.next_u32()?), 8188 result_id: Id(reader.next_u32()?), 8189 ray_query: Id(reader.next_u32()?), 8190 }, 8191 6018u16 => Self::RayQueryGetIntersectionTKHR { 8192 result_type_id: Id(reader.next_u32()?), 8193 result_id: Id(reader.next_u32()?), 8194 ray_query: Id(reader.next_u32()?), 8195 intersection: Id(reader.next_u32()?), 8196 }, 8197 6019u16 => Self::RayQueryGetIntersectionInstanceCustomIndexKHR { 8198 result_type_id: Id(reader.next_u32()?), 8199 result_id: Id(reader.next_u32()?), 8200 ray_query: Id(reader.next_u32()?), 8201 intersection: Id(reader.next_u32()?), 8202 }, 8203 6020u16 => Self::RayQueryGetIntersectionInstanceIdKHR { 8204 result_type_id: Id(reader.next_u32()?), 8205 result_id: Id(reader.next_u32()?), 8206 ray_query: Id(reader.next_u32()?), 8207 intersection: Id(reader.next_u32()?), 8208 }, 8209 6021u16 => Self::RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { 8210 result_type_id: Id(reader.next_u32()?), 8211 result_id: Id(reader.next_u32()?), 8212 ray_query: Id(reader.next_u32()?), 8213 intersection: Id(reader.next_u32()?), 8214 }, 8215 6022u16 => Self::RayQueryGetIntersectionGeometryIndexKHR { 8216 result_type_id: Id(reader.next_u32()?), 8217 result_id: Id(reader.next_u32()?), 8218 ray_query: Id(reader.next_u32()?), 8219 intersection: Id(reader.next_u32()?), 8220 }, 8221 6023u16 => Self::RayQueryGetIntersectionPrimitiveIndexKHR { 8222 result_type_id: Id(reader.next_u32()?), 8223 result_id: Id(reader.next_u32()?), 8224 ray_query: Id(reader.next_u32()?), 8225 intersection: Id(reader.next_u32()?), 8226 }, 8227 6024u16 => Self::RayQueryGetIntersectionBarycentricsKHR { 8228 result_type_id: Id(reader.next_u32()?), 8229 result_id: Id(reader.next_u32()?), 8230 ray_query: Id(reader.next_u32()?), 8231 intersection: Id(reader.next_u32()?), 8232 }, 8233 6025u16 => Self::RayQueryGetIntersectionFrontFaceKHR { 8234 result_type_id: Id(reader.next_u32()?), 8235 result_id: Id(reader.next_u32()?), 8236 ray_query: Id(reader.next_u32()?), 8237 intersection: Id(reader.next_u32()?), 8238 }, 8239 6026u16 => Self::RayQueryGetIntersectionCandidateAABBOpaqueKHR { 8240 result_type_id: Id(reader.next_u32()?), 8241 result_id: Id(reader.next_u32()?), 8242 ray_query: Id(reader.next_u32()?), 8243 }, 8244 6027u16 => Self::RayQueryGetIntersectionObjectRayDirectionKHR { 8245 result_type_id: Id(reader.next_u32()?), 8246 result_id: Id(reader.next_u32()?), 8247 ray_query: Id(reader.next_u32()?), 8248 intersection: Id(reader.next_u32()?), 8249 }, 8250 6028u16 => Self::RayQueryGetIntersectionObjectRayOriginKHR { 8251 result_type_id: Id(reader.next_u32()?), 8252 result_id: Id(reader.next_u32()?), 8253 ray_query: Id(reader.next_u32()?), 8254 intersection: Id(reader.next_u32()?), 8255 }, 8256 6029u16 => Self::RayQueryGetWorldRayDirectionKHR { 8257 result_type_id: Id(reader.next_u32()?), 8258 result_id: Id(reader.next_u32()?), 8259 ray_query: Id(reader.next_u32()?), 8260 }, 8261 6030u16 => Self::RayQueryGetWorldRayOriginKHR { 8262 result_type_id: Id(reader.next_u32()?), 8263 result_id: Id(reader.next_u32()?), 8264 ray_query: Id(reader.next_u32()?), 8265 }, 8266 6031u16 => Self::RayQueryGetIntersectionObjectToWorldKHR { 8267 result_type_id: Id(reader.next_u32()?), 8268 result_id: Id(reader.next_u32()?), 8269 ray_query: Id(reader.next_u32()?), 8270 intersection: Id(reader.next_u32()?), 8271 }, 8272 6032u16 => Self::RayQueryGetIntersectionWorldToObjectKHR { 8273 result_type_id: Id(reader.next_u32()?), 8274 result_id: Id(reader.next_u32()?), 8275 ray_query: Id(reader.next_u32()?), 8276 intersection: Id(reader.next_u32()?), 8277 }, 8278 6035u16 => Self::AtomicFAddEXT { 8279 result_type_id: Id(reader.next_u32()?), 8280 result_id: Id(reader.next_u32()?), 8281 pointer: Id(reader.next_u32()?), 8282 memory: Id(reader.next_u32()?), 8283 semantics: Id(reader.next_u32()?), 8284 value: Id(reader.next_u32()?), 8285 }, 8286 6086u16 => Self::TypeBufferSurfaceINTEL { 8287 result_id: Id(reader.next_u32()?), 8288 access_qualifier: AccessQualifier::parse(reader)?, 8289 }, 8290 6090u16 => Self::TypeStructContinuedINTEL { 8291 member_types: { 8292 let mut vec = Vec::new(); 8293 while !reader.is_empty() { 8294 vec.push(Id(reader.next_u32()?)); 8295 } 8296 vec 8297 }, 8298 }, 8299 6091u16 => Self::ConstantCompositeContinuedINTEL { 8300 constituents: { 8301 let mut vec = Vec::new(); 8302 while !reader.is_empty() { 8303 vec.push(Id(reader.next_u32()?)); 8304 } 8305 vec 8306 }, 8307 }, 8308 6092u16 => Self::SpecConstantCompositeContinuedINTEL { 8309 constituents: { 8310 let mut vec = Vec::new(); 8311 while !reader.is_empty() { 8312 vec.push(Id(reader.next_u32()?)); 8313 } 8314 vec 8315 }, 8316 }, 8317 opcode => return Err(reader.map_err(ParseErrors::UnknownOpcode(opcode))), 8318 }) 8319 } 8320 #[doc = r" Returns the `Id` that is assigned by this instruction, if any."] result_id(&self) -> Option<Id>8321 pub fn result_id(&self) -> Option<Id> { 8322 match self { 8323 Self::Undef { result_id, .. } 8324 | Self::String { result_id, .. } 8325 | Self::ExtInstImport { result_id, .. } 8326 | Self::ExtInst { result_id, .. } 8327 | Self::TypeVoid { result_id, .. } 8328 | Self::TypeBool { result_id, .. } 8329 | Self::TypeInt { result_id, .. } 8330 | Self::TypeFloat { result_id, .. } 8331 | Self::TypeVector { result_id, .. } 8332 | Self::TypeMatrix { result_id, .. } 8333 | Self::TypeImage { result_id, .. } 8334 | Self::TypeSampler { result_id, .. } 8335 | Self::TypeSampledImage { result_id, .. } 8336 | Self::TypeArray { result_id, .. } 8337 | Self::TypeRuntimeArray { result_id, .. } 8338 | Self::TypeStruct { result_id, .. } 8339 | Self::TypeOpaque { result_id, .. } 8340 | Self::TypePointer { result_id, .. } 8341 | Self::TypeFunction { result_id, .. } 8342 | Self::TypeEvent { result_id, .. } 8343 | Self::TypeDeviceEvent { result_id, .. } 8344 | Self::TypeReserveId { result_id, .. } 8345 | Self::TypeQueue { result_id, .. } 8346 | Self::TypePipe { result_id, .. } 8347 | Self::ConstantTrue { result_id, .. } 8348 | Self::ConstantFalse { result_id, .. } 8349 | Self::Constant { result_id, .. } 8350 | Self::ConstantComposite { result_id, .. } 8351 | Self::ConstantSampler { result_id, .. } 8352 | Self::ConstantNull { result_id, .. } 8353 | Self::SpecConstantTrue { result_id, .. } 8354 | Self::SpecConstantFalse { result_id, .. } 8355 | Self::SpecConstant { result_id, .. } 8356 | Self::SpecConstantComposite { result_id, .. } 8357 | Self::SpecConstantOp { result_id, .. } 8358 | Self::Function { result_id, .. } 8359 | Self::FunctionParameter { result_id, .. } 8360 | Self::FunctionCall { result_id, .. } 8361 | Self::Variable { result_id, .. } 8362 | Self::ImageTexelPointer { result_id, .. } 8363 | Self::Load { result_id, .. } 8364 | Self::AccessChain { result_id, .. } 8365 | Self::InBoundsAccessChain { result_id, .. } 8366 | Self::PtrAccessChain { result_id, .. } 8367 | Self::ArrayLength { result_id, .. } 8368 | Self::GenericPtrMemSemantics { result_id, .. } 8369 | Self::InBoundsPtrAccessChain { result_id, .. } 8370 | Self::DecorationGroup { result_id, .. } 8371 | Self::VectorExtractDynamic { result_id, .. } 8372 | Self::VectorInsertDynamic { result_id, .. } 8373 | Self::VectorShuffle { result_id, .. } 8374 | Self::CompositeConstruct { result_id, .. } 8375 | Self::CompositeExtract { result_id, .. } 8376 | Self::CompositeInsert { result_id, .. } 8377 | Self::CopyObject { result_id, .. } 8378 | Self::Transpose { result_id, .. } 8379 | Self::SampledImage { result_id, .. } 8380 | Self::ImageSampleImplicitLod { result_id, .. } 8381 | Self::ImageSampleExplicitLod { result_id, .. } 8382 | Self::ImageSampleDrefImplicitLod { result_id, .. } 8383 | Self::ImageSampleDrefExplicitLod { result_id, .. } 8384 | Self::ImageSampleProjImplicitLod { result_id, .. } 8385 | Self::ImageSampleProjExplicitLod { result_id, .. } 8386 | Self::ImageSampleProjDrefImplicitLod { result_id, .. } 8387 | Self::ImageSampleProjDrefExplicitLod { result_id, .. } 8388 | Self::ImageFetch { result_id, .. } 8389 | Self::ImageGather { result_id, .. } 8390 | Self::ImageDrefGather { result_id, .. } 8391 | Self::ImageRead { result_id, .. } 8392 | Self::Image { result_id, .. } 8393 | Self::ImageQueryFormat { result_id, .. } 8394 | Self::ImageQueryOrder { result_id, .. } 8395 | Self::ImageQuerySizeLod { result_id, .. } 8396 | Self::ImageQuerySize { result_id, .. } 8397 | Self::ImageQueryLod { result_id, .. } 8398 | Self::ImageQueryLevels { result_id, .. } 8399 | Self::ImageQuerySamples { result_id, .. } 8400 | Self::ConvertFToU { result_id, .. } 8401 | Self::ConvertFToS { result_id, .. } 8402 | Self::ConvertSToF { result_id, .. } 8403 | Self::ConvertUToF { result_id, .. } 8404 | Self::UConvert { result_id, .. } 8405 | Self::SConvert { result_id, .. } 8406 | Self::FConvert { result_id, .. } 8407 | Self::QuantizeToF16 { result_id, .. } 8408 | Self::ConvertPtrToU { result_id, .. } 8409 | Self::SatConvertSToU { result_id, .. } 8410 | Self::SatConvertUToS { result_id, .. } 8411 | Self::ConvertUToPtr { result_id, .. } 8412 | Self::PtrCastToGeneric { result_id, .. } 8413 | Self::GenericCastToPtr { result_id, .. } 8414 | Self::GenericCastToPtrExplicit { result_id, .. } 8415 | Self::Bitcast { result_id, .. } 8416 | Self::SNegate { result_id, .. } 8417 | Self::FNegate { result_id, .. } 8418 | Self::IAdd { result_id, .. } 8419 | Self::FAdd { result_id, .. } 8420 | Self::ISub { result_id, .. } 8421 | Self::FSub { result_id, .. } 8422 | Self::IMul { result_id, .. } 8423 | Self::FMul { result_id, .. } 8424 | Self::UDiv { result_id, .. } 8425 | Self::SDiv { result_id, .. } 8426 | Self::FDiv { result_id, .. } 8427 | Self::UMod { result_id, .. } 8428 | Self::SRem { result_id, .. } 8429 | Self::SMod { result_id, .. } 8430 | Self::FRem { result_id, .. } 8431 | Self::FMod { result_id, .. } 8432 | Self::VectorTimesScalar { result_id, .. } 8433 | Self::MatrixTimesScalar { result_id, .. } 8434 | Self::VectorTimesMatrix { result_id, .. } 8435 | Self::MatrixTimesVector { result_id, .. } 8436 | Self::MatrixTimesMatrix { result_id, .. } 8437 | Self::OuterProduct { result_id, .. } 8438 | Self::Dot { result_id, .. } 8439 | Self::IAddCarry { result_id, .. } 8440 | Self::ISubBorrow { result_id, .. } 8441 | Self::UMulExtended { result_id, .. } 8442 | Self::SMulExtended { result_id, .. } 8443 | Self::Any { result_id, .. } 8444 | Self::All { result_id, .. } 8445 | Self::IsNan { result_id, .. } 8446 | Self::IsInf { result_id, .. } 8447 | Self::IsFinite { result_id, .. } 8448 | Self::IsNormal { result_id, .. } 8449 | Self::SignBitSet { result_id, .. } 8450 | Self::LessOrGreater { result_id, .. } 8451 | Self::Ordered { result_id, .. } 8452 | Self::Unordered { result_id, .. } 8453 | Self::LogicalEqual { result_id, .. } 8454 | Self::LogicalNotEqual { result_id, .. } 8455 | Self::LogicalOr { result_id, .. } 8456 | Self::LogicalAnd { result_id, .. } 8457 | Self::LogicalNot { result_id, .. } 8458 | Self::Select { result_id, .. } 8459 | Self::IEqual { result_id, .. } 8460 | Self::INotEqual { result_id, .. } 8461 | Self::UGreaterThan { result_id, .. } 8462 | Self::SGreaterThan { result_id, .. } 8463 | Self::UGreaterThanEqual { result_id, .. } 8464 | Self::SGreaterThanEqual { result_id, .. } 8465 | Self::ULessThan { result_id, .. } 8466 | Self::SLessThan { result_id, .. } 8467 | Self::ULessThanEqual { result_id, .. } 8468 | Self::SLessThanEqual { result_id, .. } 8469 | Self::FOrdEqual { result_id, .. } 8470 | Self::FUnordEqual { result_id, .. } 8471 | Self::FOrdNotEqual { result_id, .. } 8472 | Self::FUnordNotEqual { result_id, .. } 8473 | Self::FOrdLessThan { result_id, .. } 8474 | Self::FUnordLessThan { result_id, .. } 8475 | Self::FOrdGreaterThan { result_id, .. } 8476 | Self::FUnordGreaterThan { result_id, .. } 8477 | Self::FOrdLessThanEqual { result_id, .. } 8478 | Self::FUnordLessThanEqual { result_id, .. } 8479 | Self::FOrdGreaterThanEqual { result_id, .. } 8480 | Self::FUnordGreaterThanEqual { result_id, .. } 8481 | Self::ShiftRightLogical { result_id, .. } 8482 | Self::ShiftRightArithmetic { result_id, .. } 8483 | Self::ShiftLeftLogical { result_id, .. } 8484 | Self::BitwiseOr { result_id, .. } 8485 | Self::BitwiseXor { result_id, .. } 8486 | Self::BitwiseAnd { result_id, .. } 8487 | Self::Not { result_id, .. } 8488 | Self::BitFieldInsert { result_id, .. } 8489 | Self::BitFieldSExtract { result_id, .. } 8490 | Self::BitFieldUExtract { result_id, .. } 8491 | Self::BitReverse { result_id, .. } 8492 | Self::BitCount { result_id, .. } 8493 | Self::DPdx { result_id, .. } 8494 | Self::DPdy { result_id, .. } 8495 | Self::Fwidth { result_id, .. } 8496 | Self::DPdxFine { result_id, .. } 8497 | Self::DPdyFine { result_id, .. } 8498 | Self::FwidthFine { result_id, .. } 8499 | Self::DPdxCoarse { result_id, .. } 8500 | Self::DPdyCoarse { result_id, .. } 8501 | Self::FwidthCoarse { result_id, .. } 8502 | Self::AtomicLoad { result_id, .. } 8503 | Self::AtomicExchange { result_id, .. } 8504 | Self::AtomicCompareExchange { result_id, .. } 8505 | Self::AtomicCompareExchangeWeak { result_id, .. } 8506 | Self::AtomicIIncrement { result_id, .. } 8507 | Self::AtomicIDecrement { result_id, .. } 8508 | Self::AtomicIAdd { result_id, .. } 8509 | Self::AtomicISub { result_id, .. } 8510 | Self::AtomicSMin { result_id, .. } 8511 | Self::AtomicUMin { result_id, .. } 8512 | Self::AtomicSMax { result_id, .. } 8513 | Self::AtomicUMax { result_id, .. } 8514 | Self::AtomicAnd { result_id, .. } 8515 | Self::AtomicOr { result_id, .. } 8516 | Self::AtomicXor { result_id, .. } 8517 | Self::Phi { result_id, .. } 8518 | Self::Label { result_id, .. } 8519 | Self::GroupAsyncCopy { result_id, .. } 8520 | Self::GroupAll { result_id, .. } 8521 | Self::GroupAny { result_id, .. } 8522 | Self::GroupBroadcast { result_id, .. } 8523 | Self::GroupIAdd { result_id, .. } 8524 | Self::GroupFAdd { result_id, .. } 8525 | Self::GroupFMin { result_id, .. } 8526 | Self::GroupUMin { result_id, .. } 8527 | Self::GroupSMin { result_id, .. } 8528 | Self::GroupFMax { result_id, .. } 8529 | Self::GroupUMax { result_id, .. } 8530 | Self::GroupSMax { result_id, .. } 8531 | Self::ReadPipe { result_id, .. } 8532 | Self::WritePipe { result_id, .. } 8533 | Self::ReservedReadPipe { result_id, .. } 8534 | Self::ReservedWritePipe { result_id, .. } 8535 | Self::ReserveReadPipePackets { result_id, .. } 8536 | Self::ReserveWritePipePackets { result_id, .. } 8537 | Self::IsValidReserveId { result_id, .. } 8538 | Self::GetNumPipePackets { result_id, .. } 8539 | Self::GetMaxPipePackets { result_id, .. } 8540 | Self::GroupReserveReadPipePackets { result_id, .. } 8541 | Self::GroupReserveWritePipePackets { result_id, .. } 8542 | Self::EnqueueMarker { result_id, .. } 8543 | Self::EnqueueKernel { result_id, .. } 8544 | Self::GetKernelNDrangeSubGroupCount { result_id, .. } 8545 | Self::GetKernelNDrangeMaxSubGroupSize { result_id, .. } 8546 | Self::GetKernelWorkGroupSize { result_id, .. } 8547 | Self::GetKernelPreferredWorkGroupSizeMultiple { result_id, .. } 8548 | Self::CreateUserEvent { result_id, .. } 8549 | Self::IsValidEvent { result_id, .. } 8550 | Self::GetDefaultQueue { result_id, .. } 8551 | Self::BuildNDRange { result_id, .. } 8552 | Self::ImageSparseSampleImplicitLod { result_id, .. } 8553 | Self::ImageSparseSampleExplicitLod { result_id, .. } 8554 | Self::ImageSparseSampleDrefImplicitLod { result_id, .. } 8555 | Self::ImageSparseSampleDrefExplicitLod { result_id, .. } 8556 | Self::ImageSparseSampleProjImplicitLod { result_id, .. } 8557 | Self::ImageSparseSampleProjExplicitLod { result_id, .. } 8558 | Self::ImageSparseSampleProjDrefImplicitLod { result_id, .. } 8559 | Self::ImageSparseSampleProjDrefExplicitLod { result_id, .. } 8560 | Self::ImageSparseFetch { result_id, .. } 8561 | Self::ImageSparseGather { result_id, .. } 8562 | Self::ImageSparseDrefGather { result_id, .. } 8563 | Self::ImageSparseTexelsResident { result_id, .. } 8564 | Self::AtomicFlagTestAndSet { result_id, .. } 8565 | Self::ImageSparseRead { result_id, .. } 8566 | Self::SizeOf { result_id, .. } 8567 | Self::TypePipeStorage { result_id, .. } 8568 | Self::ConstantPipeStorage { result_id, .. } 8569 | Self::CreatePipeFromPipeStorage { result_id, .. } 8570 | Self::GetKernelLocalSizeForSubgroupCount { result_id, .. } 8571 | Self::GetKernelMaxNumSubgroups { result_id, .. } 8572 | Self::TypeNamedBarrier { result_id, .. } 8573 | Self::NamedBarrierInitialize { result_id, .. } 8574 | Self::GroupNonUniformElect { result_id, .. } 8575 | Self::GroupNonUniformAll { result_id, .. } 8576 | Self::GroupNonUniformAny { result_id, .. } 8577 | Self::GroupNonUniformAllEqual { result_id, .. } 8578 | Self::GroupNonUniformBroadcast { result_id, .. } 8579 | Self::GroupNonUniformBroadcastFirst { result_id, .. } 8580 | Self::GroupNonUniformBallot { result_id, .. } 8581 | Self::GroupNonUniformInverseBallot { result_id, .. } 8582 | Self::GroupNonUniformBallotBitExtract { result_id, .. } 8583 | Self::GroupNonUniformBallotBitCount { result_id, .. } 8584 | Self::GroupNonUniformBallotFindLSB { result_id, .. } 8585 | Self::GroupNonUniformBallotFindMSB { result_id, .. } 8586 | Self::GroupNonUniformShuffle { result_id, .. } 8587 | Self::GroupNonUniformShuffleXor { result_id, .. } 8588 | Self::GroupNonUniformShuffleUp { result_id, .. } 8589 | Self::GroupNonUniformShuffleDown { result_id, .. } 8590 | Self::GroupNonUniformIAdd { result_id, .. } 8591 | Self::GroupNonUniformFAdd { result_id, .. } 8592 | Self::GroupNonUniformIMul { result_id, .. } 8593 | Self::GroupNonUniformFMul { result_id, .. } 8594 | Self::GroupNonUniformSMin { result_id, .. } 8595 | Self::GroupNonUniformUMin { result_id, .. } 8596 | Self::GroupNonUniformFMin { result_id, .. } 8597 | Self::GroupNonUniformSMax { result_id, .. } 8598 | Self::GroupNonUniformUMax { result_id, .. } 8599 | Self::GroupNonUniformFMax { result_id, .. } 8600 | Self::GroupNonUniformBitwiseAnd { result_id, .. } 8601 | Self::GroupNonUniformBitwiseOr { result_id, .. } 8602 | Self::GroupNonUniformBitwiseXor { result_id, .. } 8603 | Self::GroupNonUniformLogicalAnd { result_id, .. } 8604 | Self::GroupNonUniformLogicalOr { result_id, .. } 8605 | Self::GroupNonUniformLogicalXor { result_id, .. } 8606 | Self::GroupNonUniformQuadBroadcast { result_id, .. } 8607 | Self::GroupNonUniformQuadSwap { result_id, .. } 8608 | Self::CopyLogical { result_id, .. } 8609 | Self::PtrEqual { result_id, .. } 8610 | Self::PtrNotEqual { result_id, .. } 8611 | Self::PtrDiff { result_id, .. } 8612 | Self::SubgroupBallotKHR { result_id, .. } 8613 | Self::SubgroupFirstInvocationKHR { result_id, .. } 8614 | Self::SubgroupAllKHR { result_id, .. } 8615 | Self::SubgroupAnyKHR { result_id, .. } 8616 | Self::SubgroupAllEqualKHR { result_id, .. } 8617 | Self::SubgroupReadInvocationKHR { result_id, .. } 8618 | Self::ConvertUToAccelerationStructureKHR { result_id, .. } 8619 | Self::SDot { result_id, .. } 8620 | Self::UDot { result_id, .. } 8621 | Self::SUDot { result_id, .. } 8622 | Self::SDotAccSat { result_id, .. } 8623 | Self::UDotAccSat { result_id, .. } 8624 | Self::SUDotAccSat { result_id, .. } 8625 | Self::TypeRayQueryKHR { result_id, .. } 8626 | Self::RayQueryProceedKHR { result_id, .. } 8627 | Self::RayQueryGetIntersectionTypeKHR { result_id, .. } 8628 | Self::GroupIAddNonUniformAMD { result_id, .. } 8629 | Self::GroupFAddNonUniformAMD { result_id, .. } 8630 | Self::GroupFMinNonUniformAMD { result_id, .. } 8631 | Self::GroupUMinNonUniformAMD { result_id, .. } 8632 | Self::GroupSMinNonUniformAMD { result_id, .. } 8633 | Self::GroupFMaxNonUniformAMD { result_id, .. } 8634 | Self::GroupUMaxNonUniformAMD { result_id, .. } 8635 | Self::GroupSMaxNonUniformAMD { result_id, .. } 8636 | Self::FragmentMaskFetchAMD { result_id, .. } 8637 | Self::FragmentFetchAMD { result_id, .. } 8638 | Self::ReadClockKHR { result_id, .. } 8639 | Self::ImageSampleFootprintNV { result_id, .. } 8640 | Self::GroupNonUniformPartitionNV { result_id, .. } 8641 | Self::ReportIntersectionKHR { result_id, .. } 8642 | Self::TypeAccelerationStructureKHR { result_id, .. } 8643 | Self::TypeCooperativeMatrixNV { result_id, .. } 8644 | Self::CooperativeMatrixLoadNV { result_id, .. } 8645 | Self::CooperativeMatrixMulAddNV { result_id, .. } 8646 | Self::CooperativeMatrixLengthNV { result_id, .. } 8647 | Self::IsHelperInvocationEXT { result_id, .. } 8648 | Self::ConvertUToImageNV { result_id, .. } 8649 | Self::ConvertUToSamplerNV { result_id, .. } 8650 | Self::ConvertImageToUNV { result_id, .. } 8651 | Self::ConvertSamplerToUNV { result_id, .. } 8652 | Self::ConvertUToSampledImageNV { result_id, .. } 8653 | Self::ConvertSampledImageToUNV { result_id, .. } 8654 | Self::SubgroupShuffleINTEL { result_id, .. } 8655 | Self::SubgroupShuffleDownINTEL { result_id, .. } 8656 | Self::SubgroupShuffleUpINTEL { result_id, .. } 8657 | Self::SubgroupShuffleXorINTEL { result_id, .. } 8658 | Self::SubgroupBlockReadINTEL { result_id, .. } 8659 | Self::SubgroupImageBlockReadINTEL { result_id, .. } 8660 | Self::SubgroupImageMediaBlockReadINTEL { result_id, .. } 8661 | Self::UCountLeadingZerosINTEL { result_id, .. } 8662 | Self::UCountTrailingZerosINTEL { result_id, .. } 8663 | Self::AbsISubINTEL { result_id, .. } 8664 | Self::AbsUSubINTEL { result_id, .. } 8665 | Self::IAddSatINTEL { result_id, .. } 8666 | Self::UAddSatINTEL { result_id, .. } 8667 | Self::IAverageINTEL { result_id, .. } 8668 | Self::UAverageINTEL { result_id, .. } 8669 | Self::IAverageRoundedINTEL { result_id, .. } 8670 | Self::UAverageRoundedINTEL { result_id, .. } 8671 | Self::ISubSatINTEL { result_id, .. } 8672 | Self::USubSatINTEL { result_id, .. } 8673 | Self::IMul32x16INTEL { result_id, .. } 8674 | Self::UMul32x16INTEL { result_id, .. } 8675 | Self::ConstantFunctionPointerINTEL { result_id, .. } 8676 | Self::FunctionPointerCallINTEL { result_id, .. } 8677 | Self::AsmTargetINTEL { result_id, .. } 8678 | Self::AsmINTEL { result_id, .. } 8679 | Self::AsmCallINTEL { result_id, .. } 8680 | Self::AtomicFMinEXT { result_id, .. } 8681 | Self::AtomicFMaxEXT { result_id, .. } 8682 | Self::ExpectKHR { result_id, .. } 8683 | Self::VmeImageINTEL { result_id, .. } 8684 | Self::TypeVmeImageINTEL { result_id, .. } 8685 | Self::TypeAvcImePayloadINTEL { result_id, .. } 8686 | Self::TypeAvcRefPayloadINTEL { result_id, .. } 8687 | Self::TypeAvcSicPayloadINTEL { result_id, .. } 8688 | Self::TypeAvcMcePayloadINTEL { result_id, .. } 8689 | Self::TypeAvcMceResultINTEL { result_id, .. } 8690 | Self::TypeAvcImeResultINTEL { result_id, .. } 8691 | Self::TypeAvcImeResultSingleReferenceStreamoutINTEL { result_id, .. } 8692 | Self::TypeAvcImeResultDualReferenceStreamoutINTEL { result_id, .. } 8693 | Self::TypeAvcImeSingleReferenceStreaminINTEL { result_id, .. } 8694 | Self::TypeAvcImeDualReferenceStreaminINTEL { result_id, .. } 8695 | Self::TypeAvcRefResultINTEL { result_id, .. } 8696 | Self::TypeAvcSicResultINTEL { result_id, .. } 8697 | Self::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { 8698 result_id, .. 8699 } 8700 | Self::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { result_id, .. } 8701 | Self::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { result_id, .. } 8702 | Self::SubgroupAvcMceSetInterShapePenaltyINTEL { result_id, .. } 8703 | Self::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { result_id, .. } 8704 | Self::SubgroupAvcMceSetInterDirectionPenaltyINTEL { result_id, .. } 8705 | Self::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { result_id, .. } 8706 | Self::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { result_id, .. } 8707 | Self::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { result_id, .. } 8708 | Self::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { result_id, .. } 8709 | Self::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { result_id, .. } 8710 | Self::SubgroupAvcMceSetMotionVectorCostFunctionINTEL { result_id, .. } 8711 | Self::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { result_id, .. } 8712 | Self::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { result_id, .. } 8713 | Self::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { result_id, .. } 8714 | Self::SubgroupAvcMceSetAcOnlyHaarINTEL { result_id, .. } 8715 | Self::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { result_id, .. } 8716 | Self::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { 8717 result_id, 8718 .. 8719 } 8720 | Self::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { 8721 result_id, 8722 .. 8723 } 8724 | Self::SubgroupAvcMceConvertToImePayloadINTEL { result_id, .. } 8725 | Self::SubgroupAvcMceConvertToImeResultINTEL { result_id, .. } 8726 | Self::SubgroupAvcMceConvertToRefPayloadINTEL { result_id, .. } 8727 | Self::SubgroupAvcMceConvertToRefResultINTEL { result_id, .. } 8728 | Self::SubgroupAvcMceConvertToSicPayloadINTEL { result_id, .. } 8729 | Self::SubgroupAvcMceConvertToSicResultINTEL { result_id, .. } 8730 | Self::SubgroupAvcMceGetMotionVectorsINTEL { result_id, .. } 8731 | Self::SubgroupAvcMceGetInterDistortionsINTEL { result_id, .. } 8732 | Self::SubgroupAvcMceGetBestInterDistortionsINTEL { result_id, .. } 8733 | Self::SubgroupAvcMceGetInterMajorShapeINTEL { result_id, .. } 8734 | Self::SubgroupAvcMceGetInterMinorShapeINTEL { result_id, .. } 8735 | Self::SubgroupAvcMceGetInterDirectionsINTEL { result_id, .. } 8736 | Self::SubgroupAvcMceGetInterMotionVectorCountINTEL { result_id, .. } 8737 | Self::SubgroupAvcMceGetInterReferenceIdsINTEL { result_id, .. } 8738 | Self::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { 8739 result_id, 8740 .. 8741 } 8742 | Self::SubgroupAvcImeInitializeINTEL { result_id, .. } 8743 | Self::SubgroupAvcImeSetSingleReferenceINTEL { result_id, .. } 8744 | Self::SubgroupAvcImeSetDualReferenceINTEL { result_id, .. } 8745 | Self::SubgroupAvcImeRefWindowSizeINTEL { result_id, .. } 8746 | Self::SubgroupAvcImeAdjustRefOffsetINTEL { result_id, .. } 8747 | Self::SubgroupAvcImeConvertToMcePayloadINTEL { result_id, .. } 8748 | Self::SubgroupAvcImeSetMaxMotionVectorCountINTEL { result_id, .. } 8749 | Self::SubgroupAvcImeSetUnidirectionalMixDisableINTEL { result_id, .. } 8750 | Self::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { result_id, .. } 8751 | Self::SubgroupAvcImeSetWeightedSadINTEL { result_id, .. } 8752 | Self::SubgroupAvcImeEvaluateWithSingleReferenceINTEL { result_id, .. } 8753 | Self::SubgroupAvcImeEvaluateWithDualReferenceINTEL { result_id, .. } 8754 | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { result_id, .. } 8755 | Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { result_id, .. } 8756 | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { result_id, .. } 8757 | Self::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { result_id, .. } 8758 | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { 8759 result_id, .. 8760 } 8761 | Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { result_id, .. } 8762 | Self::SubgroupAvcImeConvertToMceResultINTEL { result_id, .. } 8763 | Self::SubgroupAvcImeGetSingleReferenceStreaminINTEL { result_id, .. } 8764 | Self::SubgroupAvcImeGetDualReferenceStreaminINTEL { result_id, .. } 8765 | Self::SubgroupAvcImeStripSingleReferenceStreamoutINTEL { result_id, .. } 8766 | Self::SubgroupAvcImeStripDualReferenceStreamoutINTEL { result_id, .. } 8767 | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { 8768 result_id, 8769 .. 8770 } 8771 | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { 8772 result_id, 8773 .. 8774 } 8775 | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { 8776 result_id, 8777 .. 8778 } 8779 | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { 8780 result_id, 8781 .. 8782 } 8783 | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { 8784 result_id, 8785 .. 8786 } 8787 | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { 8788 result_id, 8789 .. 8790 } 8791 | Self::SubgroupAvcImeGetBorderReachedINTEL { result_id, .. } 8792 | Self::SubgroupAvcImeGetTruncatedSearchIndicationINTEL { result_id, .. } 8793 | Self::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { 8794 result_id, .. 8795 } 8796 | Self::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { 8797 result_id, .. 8798 } 8799 | Self::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { result_id, .. } 8800 | Self::SubgroupAvcFmeInitializeINTEL { result_id, .. } 8801 | Self::SubgroupAvcBmeInitializeINTEL { result_id, .. } 8802 | Self::SubgroupAvcRefConvertToMcePayloadINTEL { result_id, .. } 8803 | Self::SubgroupAvcRefSetBidirectionalMixDisableINTEL { result_id, .. } 8804 | Self::SubgroupAvcRefSetBilinearFilterEnableINTEL { result_id, .. } 8805 | Self::SubgroupAvcRefEvaluateWithSingleReferenceINTEL { result_id, .. } 8806 | Self::SubgroupAvcRefEvaluateWithDualReferenceINTEL { result_id, .. } 8807 | Self::SubgroupAvcRefEvaluateWithMultiReferenceINTEL { result_id, .. } 8808 | Self::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { result_id, .. } 8809 | Self::SubgroupAvcRefConvertToMceResultINTEL { result_id, .. } 8810 | Self::SubgroupAvcSicInitializeINTEL { result_id, .. } 8811 | Self::SubgroupAvcSicConfigureSkcINTEL { result_id, .. } 8812 | Self::SubgroupAvcSicConfigureIpeLumaINTEL { result_id, .. } 8813 | Self::SubgroupAvcSicConfigureIpeLumaChromaINTEL { result_id, .. } 8814 | Self::SubgroupAvcSicGetMotionVectorMaskINTEL { result_id, .. } 8815 | Self::SubgroupAvcSicConvertToMcePayloadINTEL { result_id, .. } 8816 | Self::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { result_id, .. } 8817 | Self::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { result_id, .. } 8818 | Self::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { result_id, .. } 8819 | Self::SubgroupAvcSicSetBilinearFilterEnableINTEL { result_id, .. } 8820 | Self::SubgroupAvcSicSetSkcForwardTransformEnableINTEL { result_id, .. } 8821 | Self::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { result_id, .. } 8822 | Self::SubgroupAvcSicEvaluateIpeINTEL { result_id, .. } 8823 | Self::SubgroupAvcSicEvaluateWithSingleReferenceINTEL { result_id, .. } 8824 | Self::SubgroupAvcSicEvaluateWithDualReferenceINTEL { result_id, .. } 8825 | Self::SubgroupAvcSicEvaluateWithMultiReferenceINTEL { result_id, .. } 8826 | Self::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { result_id, .. } 8827 | Self::SubgroupAvcSicConvertToMceResultINTEL { result_id, .. } 8828 | Self::SubgroupAvcSicGetIpeLumaShapeINTEL { result_id, .. } 8829 | Self::SubgroupAvcSicGetBestIpeLumaDistortionINTEL { result_id, .. } 8830 | Self::SubgroupAvcSicGetBestIpeChromaDistortionINTEL { result_id, .. } 8831 | Self::SubgroupAvcSicGetPackedIpeLumaModesINTEL { result_id, .. } 8832 | Self::SubgroupAvcSicGetIpeChromaModeINTEL { result_id, .. } 8833 | Self::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { result_id, .. } 8834 | Self::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { result_id, .. } 8835 | Self::SubgroupAvcSicGetInterRawSadsINTEL { result_id, .. } 8836 | Self::VariableLengthArrayINTEL { result_id, .. } 8837 | Self::SaveMemoryINTEL { result_id, .. } 8838 | Self::ArbitraryFloatSinCosPiINTEL { result_id, .. } 8839 | Self::ArbitraryFloatCastINTEL { result_id, .. } 8840 | Self::ArbitraryFloatCastFromIntINTEL { result_id, .. } 8841 | Self::ArbitraryFloatCastToIntINTEL { result_id, .. } 8842 | Self::ArbitraryFloatAddINTEL { result_id, .. } 8843 | Self::ArbitraryFloatSubINTEL { result_id, .. } 8844 | Self::ArbitraryFloatMulINTEL { result_id, .. } 8845 | Self::ArbitraryFloatDivINTEL { result_id, .. } 8846 | Self::ArbitraryFloatGTINTEL { result_id, .. } 8847 | Self::ArbitraryFloatGEINTEL { result_id, .. } 8848 | Self::ArbitraryFloatLTINTEL { result_id, .. } 8849 | Self::ArbitraryFloatLEINTEL { result_id, .. } 8850 | Self::ArbitraryFloatEQINTEL { result_id, .. } 8851 | Self::ArbitraryFloatRecipINTEL { result_id, .. } 8852 | Self::ArbitraryFloatRSqrtINTEL { result_id, .. } 8853 | Self::ArbitraryFloatCbrtINTEL { result_id, .. } 8854 | Self::ArbitraryFloatHypotINTEL { result_id, .. } 8855 | Self::ArbitraryFloatSqrtINTEL { result_id, .. } 8856 | Self::ArbitraryFloatLogINTEL { result_id, .. } 8857 | Self::ArbitraryFloatLog2INTEL { result_id, .. } 8858 | Self::ArbitraryFloatLog10INTEL { result_id, .. } 8859 | Self::ArbitraryFloatLog1pINTEL { result_id, .. } 8860 | Self::ArbitraryFloatExpINTEL { result_id, .. } 8861 | Self::ArbitraryFloatExp2INTEL { result_id, .. } 8862 | Self::ArbitraryFloatExp10INTEL { result_id, .. } 8863 | Self::ArbitraryFloatExpm1INTEL { result_id, .. } 8864 | Self::ArbitraryFloatSinINTEL { result_id, .. } 8865 | Self::ArbitraryFloatCosINTEL { result_id, .. } 8866 | Self::ArbitraryFloatSinCosINTEL { result_id, .. } 8867 | Self::ArbitraryFloatSinPiINTEL { result_id, .. } 8868 | Self::ArbitraryFloatCosPiINTEL { result_id, .. } 8869 | Self::ArbitraryFloatASinINTEL { result_id, .. } 8870 | Self::ArbitraryFloatASinPiINTEL { result_id, .. } 8871 | Self::ArbitraryFloatACosINTEL { result_id, .. } 8872 | Self::ArbitraryFloatACosPiINTEL { result_id, .. } 8873 | Self::ArbitraryFloatATanINTEL { result_id, .. } 8874 | Self::ArbitraryFloatATanPiINTEL { result_id, .. } 8875 | Self::ArbitraryFloatATan2INTEL { result_id, .. } 8876 | Self::ArbitraryFloatPowINTEL { result_id, .. } 8877 | Self::ArbitraryFloatPowRINTEL { result_id, .. } 8878 | Self::ArbitraryFloatPowNINTEL { result_id, .. } 8879 | Self::FixedSqrtINTEL { result_id, .. } 8880 | Self::FixedRecipINTEL { result_id, .. } 8881 | Self::FixedRsqrtINTEL { result_id, .. } 8882 | Self::FixedSinINTEL { result_id, .. } 8883 | Self::FixedCosINTEL { result_id, .. } 8884 | Self::FixedSinCosINTEL { result_id, .. } 8885 | Self::FixedSinPiINTEL { result_id, .. } 8886 | Self::FixedCosPiINTEL { result_id, .. } 8887 | Self::FixedSinCosPiINTEL { result_id, .. } 8888 | Self::FixedLogINTEL { result_id, .. } 8889 | Self::FixedExpINTEL { result_id, .. } 8890 | Self::PtrCastToCrossWorkgroupINTEL { result_id, .. } 8891 | Self::CrossWorkgroupCastToPtrINTEL { result_id, .. } 8892 | Self::ReadPipeBlockingINTEL { result_id, .. } 8893 | Self::WritePipeBlockingINTEL { result_id, .. } 8894 | Self::FPGARegINTEL { result_id, .. } 8895 | Self::RayQueryGetRayTMinKHR { result_id, .. } 8896 | Self::RayQueryGetRayFlagsKHR { result_id, .. } 8897 | Self::RayQueryGetIntersectionTKHR { result_id, .. } 8898 | Self::RayQueryGetIntersectionInstanceCustomIndexKHR { result_id, .. } 8899 | Self::RayQueryGetIntersectionInstanceIdKHR { result_id, .. } 8900 | Self::RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { 8901 result_id, 8902 .. 8903 } 8904 | Self::RayQueryGetIntersectionGeometryIndexKHR { result_id, .. } 8905 | Self::RayQueryGetIntersectionPrimitiveIndexKHR { result_id, .. } 8906 | Self::RayQueryGetIntersectionBarycentricsKHR { result_id, .. } 8907 | Self::RayQueryGetIntersectionFrontFaceKHR { result_id, .. } 8908 | Self::RayQueryGetIntersectionCandidateAABBOpaqueKHR { result_id, .. } 8909 | Self::RayQueryGetIntersectionObjectRayDirectionKHR { result_id, .. } 8910 | Self::RayQueryGetIntersectionObjectRayOriginKHR { result_id, .. } 8911 | Self::RayQueryGetWorldRayDirectionKHR { result_id, .. } 8912 | Self::RayQueryGetWorldRayOriginKHR { result_id, .. } 8913 | Self::RayQueryGetIntersectionObjectToWorldKHR { result_id, .. } 8914 | Self::RayQueryGetIntersectionWorldToObjectKHR { result_id, .. } 8915 | Self::AtomicFAddEXT { result_id, .. } 8916 | Self::TypeBufferSurfaceINTEL { result_id, .. } => Some(*result_id), 8917 _ => None, 8918 } 8919 } 8920 } 8921 #[derive(Clone, Debug, PartialEq, Eq)] 8922 #[doc = "An instruction that is used as the operand of the `SpecConstantOp` instruction."] 8923 pub enum SpecConstantInstruction { 8924 AccessChain { 8925 base: Id, 8926 indexes: Vec<Id>, 8927 }, 8928 InBoundsAccessChain { 8929 base: Id, 8930 indexes: Vec<Id>, 8931 }, 8932 PtrAccessChain { 8933 base: Id, 8934 element: Id, 8935 indexes: Vec<Id>, 8936 }, 8937 InBoundsPtrAccessChain { 8938 base: Id, 8939 element: Id, 8940 indexes: Vec<Id>, 8941 }, 8942 VectorShuffle { 8943 vector_1: Id, 8944 vector_2: Id, 8945 components: Vec<u32>, 8946 }, 8947 CompositeExtract { 8948 composite: Id, 8949 indexes: Vec<u32>, 8950 }, 8951 CompositeInsert { 8952 object: Id, 8953 composite: Id, 8954 indexes: Vec<u32>, 8955 }, 8956 ConvertFToU { 8957 float_value: Id, 8958 }, 8959 ConvertFToS { 8960 float_value: Id, 8961 }, 8962 ConvertSToF { 8963 signed_value: Id, 8964 }, 8965 ConvertUToF { 8966 unsigned_value: Id, 8967 }, 8968 UConvert { 8969 unsigned_value: Id, 8970 }, 8971 SConvert { 8972 signed_value: Id, 8973 }, 8974 FConvert { 8975 float_value: Id, 8976 }, 8977 QuantizeToF16 { 8978 value: Id, 8979 }, 8980 ConvertPtrToU { 8981 pointer: Id, 8982 }, 8983 ConvertUToPtr { 8984 integer_value: Id, 8985 }, 8986 PtrCastToGeneric { 8987 pointer: Id, 8988 }, 8989 GenericCastToPtr { 8990 pointer: Id, 8991 }, 8992 Bitcast { 8993 operand: Id, 8994 }, 8995 SNegate { 8996 operand: Id, 8997 }, 8998 FNegate { 8999 operand: Id, 9000 }, 9001 IAdd { 9002 operand1: Id, 9003 operand2: Id, 9004 }, 9005 FAdd { 9006 operand1: Id, 9007 operand2: Id, 9008 }, 9009 ISub { 9010 operand1: Id, 9011 operand2: Id, 9012 }, 9013 FSub { 9014 operand1: Id, 9015 operand2: Id, 9016 }, 9017 IMul { 9018 operand1: Id, 9019 operand2: Id, 9020 }, 9021 FMul { 9022 operand1: Id, 9023 operand2: Id, 9024 }, 9025 UDiv { 9026 operand1: Id, 9027 operand2: Id, 9028 }, 9029 SDiv { 9030 operand1: Id, 9031 operand2: Id, 9032 }, 9033 FDiv { 9034 operand1: Id, 9035 operand2: Id, 9036 }, 9037 UMod { 9038 operand1: Id, 9039 operand2: Id, 9040 }, 9041 SRem { 9042 operand1: Id, 9043 operand2: Id, 9044 }, 9045 SMod { 9046 operand1: Id, 9047 operand2: Id, 9048 }, 9049 FRem { 9050 operand1: Id, 9051 operand2: Id, 9052 }, 9053 FMod { 9054 operand1: Id, 9055 operand2: Id, 9056 }, 9057 LogicalEqual { 9058 operand1: Id, 9059 operand2: Id, 9060 }, 9061 LogicalNotEqual { 9062 operand1: Id, 9063 operand2: Id, 9064 }, 9065 LogicalOr { 9066 operand1: Id, 9067 operand2: Id, 9068 }, 9069 LogicalAnd { 9070 operand1: Id, 9071 operand2: Id, 9072 }, 9073 LogicalNot { 9074 operand: Id, 9075 }, 9076 Select { 9077 condition: Id, 9078 object_1: Id, 9079 object_2: Id, 9080 }, 9081 IEqual { 9082 operand1: Id, 9083 operand2: Id, 9084 }, 9085 INotEqual { 9086 operand1: Id, 9087 operand2: Id, 9088 }, 9089 UGreaterThan { 9090 operand1: Id, 9091 operand2: Id, 9092 }, 9093 SGreaterThan { 9094 operand1: Id, 9095 operand2: Id, 9096 }, 9097 UGreaterThanEqual { 9098 operand1: Id, 9099 operand2: Id, 9100 }, 9101 SGreaterThanEqual { 9102 operand1: Id, 9103 operand2: Id, 9104 }, 9105 ULessThan { 9106 operand1: Id, 9107 operand2: Id, 9108 }, 9109 SLessThan { 9110 operand1: Id, 9111 operand2: Id, 9112 }, 9113 ULessThanEqual { 9114 operand1: Id, 9115 operand2: Id, 9116 }, 9117 SLessThanEqual { 9118 operand1: Id, 9119 operand2: Id, 9120 }, 9121 ShiftRightLogical { 9122 base: Id, 9123 shift: Id, 9124 }, 9125 ShiftRightArithmetic { 9126 base: Id, 9127 shift: Id, 9128 }, 9129 ShiftLeftLogical { 9130 base: Id, 9131 shift: Id, 9132 }, 9133 BitwiseOr { 9134 operand1: Id, 9135 operand2: Id, 9136 }, 9137 BitwiseXor { 9138 operand1: Id, 9139 operand2: Id, 9140 }, 9141 BitwiseAnd { 9142 operand1: Id, 9143 operand2: Id, 9144 }, 9145 Not { 9146 operand: Id, 9147 }, 9148 } 9149 impl SpecConstantInstruction { 9150 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError>9151 fn parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError> { 9152 let opcode = (reader.next_u32()? & 0xffff) as u16; 9153 Ok(match opcode { 9154 65u16 => Self::AccessChain { 9155 base: Id(reader.next_u32()?), 9156 indexes: { 9157 let mut vec = Vec::new(); 9158 while !reader.is_empty() { 9159 vec.push(Id(reader.next_u32()?)); 9160 } 9161 vec 9162 }, 9163 }, 9164 66u16 => Self::InBoundsAccessChain { 9165 base: Id(reader.next_u32()?), 9166 indexes: { 9167 let mut vec = Vec::new(); 9168 while !reader.is_empty() { 9169 vec.push(Id(reader.next_u32()?)); 9170 } 9171 vec 9172 }, 9173 }, 9174 67u16 => Self::PtrAccessChain { 9175 base: Id(reader.next_u32()?), 9176 element: Id(reader.next_u32()?), 9177 indexes: { 9178 let mut vec = Vec::new(); 9179 while !reader.is_empty() { 9180 vec.push(Id(reader.next_u32()?)); 9181 } 9182 vec 9183 }, 9184 }, 9185 70u16 => Self::InBoundsPtrAccessChain { 9186 base: Id(reader.next_u32()?), 9187 element: Id(reader.next_u32()?), 9188 indexes: { 9189 let mut vec = Vec::new(); 9190 while !reader.is_empty() { 9191 vec.push(Id(reader.next_u32()?)); 9192 } 9193 vec 9194 }, 9195 }, 9196 79u16 => Self::VectorShuffle { 9197 vector_1: Id(reader.next_u32()?), 9198 vector_2: Id(reader.next_u32()?), 9199 components: { 9200 let mut vec = Vec::new(); 9201 while !reader.is_empty() { 9202 vec.push(reader.next_u32()?); 9203 } 9204 vec 9205 }, 9206 }, 9207 81u16 => Self::CompositeExtract { 9208 composite: Id(reader.next_u32()?), 9209 indexes: { 9210 let mut vec = Vec::new(); 9211 while !reader.is_empty() { 9212 vec.push(reader.next_u32()?); 9213 } 9214 vec 9215 }, 9216 }, 9217 82u16 => Self::CompositeInsert { 9218 object: Id(reader.next_u32()?), 9219 composite: Id(reader.next_u32()?), 9220 indexes: { 9221 let mut vec = Vec::new(); 9222 while !reader.is_empty() { 9223 vec.push(reader.next_u32()?); 9224 } 9225 vec 9226 }, 9227 }, 9228 109u16 => Self::ConvertFToU { 9229 float_value: Id(reader.next_u32()?), 9230 }, 9231 110u16 => Self::ConvertFToS { 9232 float_value: Id(reader.next_u32()?), 9233 }, 9234 111u16 => Self::ConvertSToF { 9235 signed_value: Id(reader.next_u32()?), 9236 }, 9237 112u16 => Self::ConvertUToF { 9238 unsigned_value: Id(reader.next_u32()?), 9239 }, 9240 113u16 => Self::UConvert { 9241 unsigned_value: Id(reader.next_u32()?), 9242 }, 9243 114u16 => Self::SConvert { 9244 signed_value: Id(reader.next_u32()?), 9245 }, 9246 115u16 => Self::FConvert { 9247 float_value: Id(reader.next_u32()?), 9248 }, 9249 116u16 => Self::QuantizeToF16 { 9250 value: Id(reader.next_u32()?), 9251 }, 9252 117u16 => Self::ConvertPtrToU { 9253 pointer: Id(reader.next_u32()?), 9254 }, 9255 120u16 => Self::ConvertUToPtr { 9256 integer_value: Id(reader.next_u32()?), 9257 }, 9258 121u16 => Self::PtrCastToGeneric { 9259 pointer: Id(reader.next_u32()?), 9260 }, 9261 122u16 => Self::GenericCastToPtr { 9262 pointer: Id(reader.next_u32()?), 9263 }, 9264 124u16 => Self::Bitcast { 9265 operand: Id(reader.next_u32()?), 9266 }, 9267 126u16 => Self::SNegate { 9268 operand: Id(reader.next_u32()?), 9269 }, 9270 127u16 => Self::FNegate { 9271 operand: Id(reader.next_u32()?), 9272 }, 9273 128u16 => Self::IAdd { 9274 operand1: Id(reader.next_u32()?), 9275 operand2: Id(reader.next_u32()?), 9276 }, 9277 129u16 => Self::FAdd { 9278 operand1: Id(reader.next_u32()?), 9279 operand2: Id(reader.next_u32()?), 9280 }, 9281 130u16 => Self::ISub { 9282 operand1: Id(reader.next_u32()?), 9283 operand2: Id(reader.next_u32()?), 9284 }, 9285 131u16 => Self::FSub { 9286 operand1: Id(reader.next_u32()?), 9287 operand2: Id(reader.next_u32()?), 9288 }, 9289 132u16 => Self::IMul { 9290 operand1: Id(reader.next_u32()?), 9291 operand2: Id(reader.next_u32()?), 9292 }, 9293 133u16 => Self::FMul { 9294 operand1: Id(reader.next_u32()?), 9295 operand2: Id(reader.next_u32()?), 9296 }, 9297 134u16 => Self::UDiv { 9298 operand1: Id(reader.next_u32()?), 9299 operand2: Id(reader.next_u32()?), 9300 }, 9301 135u16 => Self::SDiv { 9302 operand1: Id(reader.next_u32()?), 9303 operand2: Id(reader.next_u32()?), 9304 }, 9305 136u16 => Self::FDiv { 9306 operand1: Id(reader.next_u32()?), 9307 operand2: Id(reader.next_u32()?), 9308 }, 9309 137u16 => Self::UMod { 9310 operand1: Id(reader.next_u32()?), 9311 operand2: Id(reader.next_u32()?), 9312 }, 9313 138u16 => Self::SRem { 9314 operand1: Id(reader.next_u32()?), 9315 operand2: Id(reader.next_u32()?), 9316 }, 9317 139u16 => Self::SMod { 9318 operand1: Id(reader.next_u32()?), 9319 operand2: Id(reader.next_u32()?), 9320 }, 9321 140u16 => Self::FRem { 9322 operand1: Id(reader.next_u32()?), 9323 operand2: Id(reader.next_u32()?), 9324 }, 9325 141u16 => Self::FMod { 9326 operand1: Id(reader.next_u32()?), 9327 operand2: Id(reader.next_u32()?), 9328 }, 9329 164u16 => Self::LogicalEqual { 9330 operand1: Id(reader.next_u32()?), 9331 operand2: Id(reader.next_u32()?), 9332 }, 9333 165u16 => Self::LogicalNotEqual { 9334 operand1: Id(reader.next_u32()?), 9335 operand2: Id(reader.next_u32()?), 9336 }, 9337 166u16 => Self::LogicalOr { 9338 operand1: Id(reader.next_u32()?), 9339 operand2: Id(reader.next_u32()?), 9340 }, 9341 167u16 => Self::LogicalAnd { 9342 operand1: Id(reader.next_u32()?), 9343 operand2: Id(reader.next_u32()?), 9344 }, 9345 168u16 => Self::LogicalNot { 9346 operand: Id(reader.next_u32()?), 9347 }, 9348 169u16 => Self::Select { 9349 condition: Id(reader.next_u32()?), 9350 object_1: Id(reader.next_u32()?), 9351 object_2: Id(reader.next_u32()?), 9352 }, 9353 170u16 => Self::IEqual { 9354 operand1: Id(reader.next_u32()?), 9355 operand2: Id(reader.next_u32()?), 9356 }, 9357 171u16 => Self::INotEqual { 9358 operand1: Id(reader.next_u32()?), 9359 operand2: Id(reader.next_u32()?), 9360 }, 9361 172u16 => Self::UGreaterThan { 9362 operand1: Id(reader.next_u32()?), 9363 operand2: Id(reader.next_u32()?), 9364 }, 9365 173u16 => Self::SGreaterThan { 9366 operand1: Id(reader.next_u32()?), 9367 operand2: Id(reader.next_u32()?), 9368 }, 9369 174u16 => Self::UGreaterThanEqual { 9370 operand1: Id(reader.next_u32()?), 9371 operand2: Id(reader.next_u32()?), 9372 }, 9373 175u16 => Self::SGreaterThanEqual { 9374 operand1: Id(reader.next_u32()?), 9375 operand2: Id(reader.next_u32()?), 9376 }, 9377 176u16 => Self::ULessThan { 9378 operand1: Id(reader.next_u32()?), 9379 operand2: Id(reader.next_u32()?), 9380 }, 9381 177u16 => Self::SLessThan { 9382 operand1: Id(reader.next_u32()?), 9383 operand2: Id(reader.next_u32()?), 9384 }, 9385 178u16 => Self::ULessThanEqual { 9386 operand1: Id(reader.next_u32()?), 9387 operand2: Id(reader.next_u32()?), 9388 }, 9389 179u16 => Self::SLessThanEqual { 9390 operand1: Id(reader.next_u32()?), 9391 operand2: Id(reader.next_u32()?), 9392 }, 9393 194u16 => Self::ShiftRightLogical { 9394 base: Id(reader.next_u32()?), 9395 shift: Id(reader.next_u32()?), 9396 }, 9397 195u16 => Self::ShiftRightArithmetic { 9398 base: Id(reader.next_u32()?), 9399 shift: Id(reader.next_u32()?), 9400 }, 9401 196u16 => Self::ShiftLeftLogical { 9402 base: Id(reader.next_u32()?), 9403 shift: Id(reader.next_u32()?), 9404 }, 9405 197u16 => Self::BitwiseOr { 9406 operand1: Id(reader.next_u32()?), 9407 operand2: Id(reader.next_u32()?), 9408 }, 9409 198u16 => Self::BitwiseXor { 9410 operand1: Id(reader.next_u32()?), 9411 operand2: Id(reader.next_u32()?), 9412 }, 9413 199u16 => Self::BitwiseAnd { 9414 operand1: Id(reader.next_u32()?), 9415 operand2: Id(reader.next_u32()?), 9416 }, 9417 200u16 => Self::Not { 9418 operand: Id(reader.next_u32()?), 9419 }, 9420 opcode => return Err(reader.map_err(ParseErrors::UnknownSpecConstantOpcode(opcode))), 9421 }) 9422 } 9423 } 9424 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9425 #[allow(non_camel_case_types)] 9426 pub struct ImageOperands { 9427 pub bias: Option<Id>, 9428 pub lod: Option<Id>, 9429 pub grad: Option<(Id, Id)>, 9430 pub const_offset: Option<Id>, 9431 pub offset: Option<Id>, 9432 pub const_offsets: Option<Id>, 9433 pub sample: Option<Id>, 9434 pub min_lod: Option<Id>, 9435 pub make_texel_available: Option<Id>, 9436 pub make_texel_visible: Option<Id>, 9437 pub non_private_texel: bool, 9438 pub volatile_texel: bool, 9439 pub sign_extend: bool, 9440 pub zero_extend: bool, 9441 pub nontemporal: bool, 9442 pub offsets: Option<Id>, 9443 } 9444 impl ImageOperands { 9445 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ImageOperands, ParseError>9446 fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageOperands, ParseError> { 9447 let value = reader.next_u32()?; 9448 Ok(Self { 9449 bias: if value & 1u32 != 0 { 9450 Some(Id(reader.next_u32()?)) 9451 } else { 9452 None 9453 }, 9454 lod: if value & 2u32 != 0 { 9455 Some(Id(reader.next_u32()?)) 9456 } else { 9457 None 9458 }, 9459 grad: if value & 4u32 != 0 { 9460 Some((Id(reader.next_u32()?), Id(reader.next_u32()?))) 9461 } else { 9462 None 9463 }, 9464 const_offset: if value & 8u32 != 0 { 9465 Some(Id(reader.next_u32()?)) 9466 } else { 9467 None 9468 }, 9469 offset: if value & 16u32 != 0 { 9470 Some(Id(reader.next_u32()?)) 9471 } else { 9472 None 9473 }, 9474 const_offsets: if value & 32u32 != 0 { 9475 Some(Id(reader.next_u32()?)) 9476 } else { 9477 None 9478 }, 9479 sample: if value & 64u32 != 0 { 9480 Some(Id(reader.next_u32()?)) 9481 } else { 9482 None 9483 }, 9484 min_lod: if value & 128u32 != 0 { 9485 Some(Id(reader.next_u32()?)) 9486 } else { 9487 None 9488 }, 9489 make_texel_available: if value & 256u32 != 0 { 9490 Some(Id(reader.next_u32()?)) 9491 } else { 9492 None 9493 }, 9494 make_texel_visible: if value & 512u32 != 0 { 9495 Some(Id(reader.next_u32()?)) 9496 } else { 9497 None 9498 }, 9499 non_private_texel: value & 1024u32 != 0, 9500 volatile_texel: value & 2048u32 != 0, 9501 sign_extend: value & 4096u32 != 0, 9502 zero_extend: value & 8192u32 != 0, 9503 nontemporal: value & 16384u32 != 0, 9504 offsets: if value & 65536u32 != 0 { 9505 Some(Id(reader.next_u32()?)) 9506 } else { 9507 None 9508 }, 9509 }) 9510 } 9511 } 9512 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9513 #[allow(non_camel_case_types)] 9514 pub struct FPFastMathMode { 9515 pub not_nan: bool, 9516 pub not_inf: bool, 9517 pub nsz: bool, 9518 pub allow_recip: bool, 9519 pub fast: bool, 9520 pub allow_contract_fast_intel: bool, 9521 pub allow_reassoc_intel: bool, 9522 } 9523 impl FPFastMathMode { 9524 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FPFastMathMode, ParseError>9525 fn parse(reader: &mut InstructionReader<'_>) -> Result<FPFastMathMode, ParseError> { 9526 let value = reader.next_u32()?; 9527 Ok(Self { 9528 not_nan: value & 1u32 != 0, 9529 not_inf: value & 2u32 != 0, 9530 nsz: value & 4u32 != 0, 9531 allow_recip: value & 8u32 != 0, 9532 fast: value & 16u32 != 0, 9533 allow_contract_fast_intel: value & 65536u32 != 0, 9534 allow_reassoc_intel: value & 131072u32 != 0, 9535 }) 9536 } 9537 } 9538 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9539 #[allow(non_camel_case_types)] 9540 pub struct SelectionControl { 9541 pub flatten: bool, 9542 pub dont_flatten: bool, 9543 } 9544 impl SelectionControl { 9545 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<SelectionControl, ParseError>9546 fn parse(reader: &mut InstructionReader<'_>) -> Result<SelectionControl, ParseError> { 9547 let value = reader.next_u32()?; 9548 Ok(Self { 9549 flatten: value & 1u32 != 0, 9550 dont_flatten: value & 2u32 != 0, 9551 }) 9552 } 9553 } 9554 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9555 #[allow(non_camel_case_types)] 9556 pub struct LoopControl { 9557 pub unroll: bool, 9558 pub dont_unroll: bool, 9559 pub dependency_infinite: bool, 9560 pub dependency_length: Option<u32>, 9561 pub min_iterations: Option<u32>, 9562 pub max_iterations: Option<u32>, 9563 pub iteration_multiple: Option<u32>, 9564 pub peel_count: Option<u32>, 9565 pub partial_count: Option<u32>, 9566 pub initiation_interval_intel: Option<u32>, 9567 pub max_concurrency_intel: Option<u32>, 9568 pub dependency_array_intel: Option<u32>, 9569 pub pipeline_enable_intel: Option<u32>, 9570 pub loop_coalesce_intel: Option<u32>, 9571 pub max_interleaving_intel: Option<u32>, 9572 pub speculated_iterations_intel: Option<u32>, 9573 pub no_fusion_intel: Option<u32>, 9574 } 9575 impl LoopControl { 9576 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<LoopControl, ParseError>9577 fn parse(reader: &mut InstructionReader<'_>) -> Result<LoopControl, ParseError> { 9578 let value = reader.next_u32()?; 9579 Ok(Self { 9580 unroll: value & 1u32 != 0, 9581 dont_unroll: value & 2u32 != 0, 9582 dependency_infinite: value & 4u32 != 0, 9583 dependency_length: if value & 8u32 != 0 { 9584 Some(reader.next_u32()?) 9585 } else { 9586 None 9587 }, 9588 min_iterations: if value & 16u32 != 0 { 9589 Some(reader.next_u32()?) 9590 } else { 9591 None 9592 }, 9593 max_iterations: if value & 32u32 != 0 { 9594 Some(reader.next_u32()?) 9595 } else { 9596 None 9597 }, 9598 iteration_multiple: if value & 64u32 != 0 { 9599 Some(reader.next_u32()?) 9600 } else { 9601 None 9602 }, 9603 peel_count: if value & 128u32 != 0 { 9604 Some(reader.next_u32()?) 9605 } else { 9606 None 9607 }, 9608 partial_count: if value & 256u32 != 0 { 9609 Some(reader.next_u32()?) 9610 } else { 9611 None 9612 }, 9613 initiation_interval_intel: if value & 65536u32 != 0 { 9614 Some(reader.next_u32()?) 9615 } else { 9616 None 9617 }, 9618 max_concurrency_intel: if value & 131072u32 != 0 { 9619 Some(reader.next_u32()?) 9620 } else { 9621 None 9622 }, 9623 dependency_array_intel: if value & 262144u32 != 0 { 9624 Some(reader.next_u32()?) 9625 } else { 9626 None 9627 }, 9628 pipeline_enable_intel: if value & 524288u32 != 0 { 9629 Some(reader.next_u32()?) 9630 } else { 9631 None 9632 }, 9633 loop_coalesce_intel: if value & 1048576u32 != 0 { 9634 Some(reader.next_u32()?) 9635 } else { 9636 None 9637 }, 9638 max_interleaving_intel: if value & 2097152u32 != 0 { 9639 Some(reader.next_u32()?) 9640 } else { 9641 None 9642 }, 9643 speculated_iterations_intel: if value & 4194304u32 != 0 { 9644 Some(reader.next_u32()?) 9645 } else { 9646 None 9647 }, 9648 no_fusion_intel: if value & 8388608u32 != 0 { 9649 Some(reader.next_u32()?) 9650 } else { 9651 None 9652 }, 9653 }) 9654 } 9655 } 9656 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9657 #[allow(non_camel_case_types)] 9658 pub struct FunctionControl { 9659 pub inline: bool, 9660 pub dont_inline: bool, 9661 pub pure: bool, 9662 pub constant: bool, 9663 pub opt_none_intel: bool, 9664 } 9665 impl FunctionControl { 9666 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FunctionControl, ParseError>9667 fn parse(reader: &mut InstructionReader<'_>) -> Result<FunctionControl, ParseError> { 9668 let value = reader.next_u32()?; 9669 Ok(Self { 9670 inline: value & 1u32 != 0, 9671 dont_inline: value & 2u32 != 0, 9672 pure: value & 4u32 != 0, 9673 constant: value & 8u32 != 0, 9674 opt_none_intel: value & 65536u32 != 0, 9675 }) 9676 } 9677 } 9678 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9679 #[allow(non_camel_case_types)] 9680 pub struct MemorySemantics { 9681 pub acquire: bool, 9682 pub release: bool, 9683 pub acquire_release: bool, 9684 pub sequentially_consistent: bool, 9685 pub uniform_memory: bool, 9686 pub subgroup_memory: bool, 9687 pub workgroup_memory: bool, 9688 pub cross_workgroup_memory: bool, 9689 pub atomic_counter_memory: bool, 9690 pub image_memory: bool, 9691 pub output_memory: bool, 9692 pub make_available: bool, 9693 pub make_visible: bool, 9694 pub volatile: bool, 9695 } 9696 impl MemorySemantics { 9697 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<MemorySemantics, ParseError>9698 fn parse(reader: &mut InstructionReader<'_>) -> Result<MemorySemantics, ParseError> { 9699 let value = reader.next_u32()?; 9700 Ok(Self { 9701 acquire: value & 2u32 != 0, 9702 release: value & 4u32 != 0, 9703 acquire_release: value & 8u32 != 0, 9704 sequentially_consistent: value & 16u32 != 0, 9705 uniform_memory: value & 64u32 != 0, 9706 subgroup_memory: value & 128u32 != 0, 9707 workgroup_memory: value & 256u32 != 0, 9708 cross_workgroup_memory: value & 512u32 != 0, 9709 atomic_counter_memory: value & 1024u32 != 0, 9710 image_memory: value & 2048u32 != 0, 9711 output_memory: value & 4096u32 != 0, 9712 make_available: value & 8192u32 != 0, 9713 make_visible: value & 16384u32 != 0, 9714 volatile: value & 32768u32 != 0, 9715 }) 9716 } 9717 } 9718 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9719 #[allow(non_camel_case_types)] 9720 pub struct MemoryAccess { 9721 pub volatile: bool, 9722 pub aligned: Option<u32>, 9723 pub nontemporal: bool, 9724 pub make_pointer_available: Option<Id>, 9725 pub make_pointer_visible: Option<Id>, 9726 pub non_private_pointer: bool, 9727 } 9728 impl MemoryAccess { 9729 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<MemoryAccess, ParseError>9730 fn parse(reader: &mut InstructionReader<'_>) -> Result<MemoryAccess, ParseError> { 9731 let value = reader.next_u32()?; 9732 Ok(Self { 9733 volatile: value & 1u32 != 0, 9734 aligned: if value & 2u32 != 0 { 9735 Some(reader.next_u32()?) 9736 } else { 9737 None 9738 }, 9739 nontemporal: value & 4u32 != 0, 9740 make_pointer_available: if value & 8u32 != 0 { 9741 Some(Id(reader.next_u32()?)) 9742 } else { 9743 None 9744 }, 9745 make_pointer_visible: if value & 16u32 != 0 { 9746 Some(Id(reader.next_u32()?)) 9747 } else { 9748 None 9749 }, 9750 non_private_pointer: value & 32u32 != 0, 9751 }) 9752 } 9753 } 9754 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9755 #[allow(non_camel_case_types)] 9756 pub struct KernelProfilingInfo { 9757 pub cmd_exec_time: bool, 9758 } 9759 impl KernelProfilingInfo { 9760 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<KernelProfilingInfo, ParseError>9761 fn parse(reader: &mut InstructionReader<'_>) -> Result<KernelProfilingInfo, ParseError> { 9762 let value = reader.next_u32()?; 9763 Ok(Self { 9764 cmd_exec_time: value & 1u32 != 0, 9765 }) 9766 } 9767 } 9768 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9769 #[allow(non_camel_case_types)] 9770 pub struct RayFlags { 9771 pub opaque_khr: bool, 9772 pub no_opaque_khr: bool, 9773 pub terminate_on_first_hit_khr: bool, 9774 pub skip_closest_hit_shader_khr: bool, 9775 pub cull_back_facing_triangles_khr: bool, 9776 pub cull_front_facing_triangles_khr: bool, 9777 pub cull_opaque_khr: bool, 9778 pub cull_no_opaque_khr: bool, 9779 pub skip_triangles_khr: bool, 9780 pub skip_aab_bs_khr: bool, 9781 } 9782 impl RayFlags { 9783 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<RayFlags, ParseError>9784 fn parse(reader: &mut InstructionReader<'_>) -> Result<RayFlags, ParseError> { 9785 let value = reader.next_u32()?; 9786 Ok(Self { 9787 opaque_khr: value & 1u32 != 0, 9788 no_opaque_khr: value & 2u32 != 0, 9789 terminate_on_first_hit_khr: value & 4u32 != 0, 9790 skip_closest_hit_shader_khr: value & 8u32 != 0, 9791 cull_back_facing_triangles_khr: value & 16u32 != 0, 9792 cull_front_facing_triangles_khr: value & 32u32 != 0, 9793 cull_opaque_khr: value & 64u32 != 0, 9794 cull_no_opaque_khr: value & 128u32 != 0, 9795 skip_triangles_khr: value & 256u32 != 0, 9796 skip_aab_bs_khr: value & 512u32 != 0, 9797 }) 9798 } 9799 } 9800 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9801 #[allow(non_camel_case_types)] 9802 pub struct FragmentShadingRate { 9803 pub vertical2_pixels: bool, 9804 pub vertical4_pixels: bool, 9805 pub horizontal2_pixels: bool, 9806 pub horizontal4_pixels: bool, 9807 } 9808 impl FragmentShadingRate { 9809 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FragmentShadingRate, ParseError>9810 fn parse(reader: &mut InstructionReader<'_>) -> Result<FragmentShadingRate, ParseError> { 9811 let value = reader.next_u32()?; 9812 Ok(Self { 9813 vertical2_pixels: value & 1u32 != 0, 9814 vertical4_pixels: value & 2u32 != 0, 9815 horizontal2_pixels: value & 4u32 != 0, 9816 horizontal4_pixels: value & 8u32 != 0, 9817 }) 9818 } 9819 } 9820 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9821 #[allow(non_camel_case_types)] 9822 pub enum SourceLanguage { 9823 Unknown, 9824 ESSL, 9825 GLSL, 9826 OpenCL_C, 9827 OpenCL_CPP, 9828 HLSL, 9829 CPP_for_OpenCL, 9830 } 9831 impl SourceLanguage { 9832 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<SourceLanguage, ParseError>9833 fn parse(reader: &mut InstructionReader<'_>) -> Result<SourceLanguage, ParseError> { 9834 Ok(match reader.next_u32()? { 9835 0u32 => Self::Unknown, 9836 1u32 => Self::ESSL, 9837 2u32 => Self::GLSL, 9838 3u32 => Self::OpenCL_C, 9839 4u32 => Self::OpenCL_CPP, 9840 5u32 => Self::HLSL, 9841 6u32 => Self::CPP_for_OpenCL, 9842 value => { 9843 return Err(reader.map_err(ParseErrors::UnknownEnumerant("SourceLanguage", value))) 9844 } 9845 }) 9846 } 9847 } 9848 #[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] 9849 #[allow(non_camel_case_types)] 9850 pub enum ExecutionModel { 9851 Vertex, 9852 TessellationControl, 9853 TessellationEvaluation, 9854 Geometry, 9855 Fragment, 9856 GLCompute, 9857 Kernel, 9858 TaskNV, 9859 MeshNV, 9860 RayGenerationKHR, 9861 IntersectionKHR, 9862 AnyHitKHR, 9863 ClosestHitKHR, 9864 MissKHR, 9865 CallableKHR, 9866 } 9867 impl ExecutionModel { 9868 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionModel, ParseError>9869 fn parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionModel, ParseError> { 9870 Ok(match reader.next_u32()? { 9871 0u32 => Self::Vertex, 9872 1u32 => Self::TessellationControl, 9873 2u32 => Self::TessellationEvaluation, 9874 3u32 => Self::Geometry, 9875 4u32 => Self::Fragment, 9876 5u32 => Self::GLCompute, 9877 6u32 => Self::Kernel, 9878 5267u32 => Self::TaskNV, 9879 5268u32 => Self::MeshNV, 9880 5313u32 => Self::RayGenerationKHR, 9881 5314u32 => Self::IntersectionKHR, 9882 5315u32 => Self::AnyHitKHR, 9883 5316u32 => Self::ClosestHitKHR, 9884 5317u32 => Self::MissKHR, 9885 5318u32 => Self::CallableKHR, 9886 value => { 9887 return Err(reader.map_err(ParseErrors::UnknownEnumerant("ExecutionModel", value))) 9888 } 9889 }) 9890 } 9891 } 9892 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9893 #[allow(non_camel_case_types)] 9894 pub enum AddressingModel { 9895 Logical, 9896 Physical32, 9897 Physical64, 9898 PhysicalStorageBuffer64, 9899 } 9900 impl AddressingModel { 9901 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<AddressingModel, ParseError>9902 fn parse(reader: &mut InstructionReader<'_>) -> Result<AddressingModel, ParseError> { 9903 Ok(match reader.next_u32()? { 9904 0u32 => Self::Logical, 9905 1u32 => Self::Physical32, 9906 2u32 => Self::Physical64, 9907 5348u32 => Self::PhysicalStorageBuffer64, 9908 value => { 9909 return Err(reader.map_err(ParseErrors::UnknownEnumerant("AddressingModel", value))) 9910 } 9911 }) 9912 } 9913 } 9914 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9915 #[allow(non_camel_case_types)] 9916 pub enum MemoryModel { 9917 Simple, 9918 GLSL450, 9919 OpenCL, 9920 Vulkan, 9921 } 9922 impl MemoryModel { 9923 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<MemoryModel, ParseError>9924 fn parse(reader: &mut InstructionReader<'_>) -> Result<MemoryModel, ParseError> { 9925 Ok(match reader.next_u32()? { 9926 0u32 => Self::Simple, 9927 1u32 => Self::GLSL450, 9928 2u32 => Self::OpenCL, 9929 3u32 => Self::Vulkan, 9930 value => { 9931 return Err(reader.map_err(ParseErrors::UnknownEnumerant("MemoryModel", value))) 9932 } 9933 }) 9934 } 9935 } 9936 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 9937 #[allow(non_camel_case_types)] 9938 pub enum ExecutionMode { 9939 Invocations { 9940 number_of_invocation_invocations: u32, 9941 }, 9942 SpacingEqual, 9943 SpacingFractionalEven, 9944 SpacingFractionalOdd, 9945 VertexOrderCw, 9946 VertexOrderCcw, 9947 PixelCenterInteger, 9948 OriginUpperLeft, 9949 OriginLowerLeft, 9950 EarlyFragmentTests, 9951 PointMode, 9952 Xfb, 9953 DepthReplacing, 9954 DepthGreater, 9955 DepthLess, 9956 DepthUnchanged, 9957 LocalSize { 9958 x_size: u32, 9959 y_size: u32, 9960 z_size: u32, 9961 }, 9962 LocalSizeHint { 9963 x_size: u32, 9964 y_size: u32, 9965 z_size: u32, 9966 }, 9967 InputPoints, 9968 InputLines, 9969 InputLinesAdjacency, 9970 Triangles, 9971 InputTrianglesAdjacency, 9972 Quads, 9973 Isolines, 9974 OutputVertices { 9975 vertex_count: u32, 9976 }, 9977 OutputPoints, 9978 OutputLineStrip, 9979 OutputTriangleStrip, 9980 VecTypeHint { 9981 vector_type: u32, 9982 }, 9983 ContractionOff, 9984 Initializer, 9985 Finalizer, 9986 SubgroupSize { 9987 subgroup_size: u32, 9988 }, 9989 SubgroupsPerWorkgroup { 9990 subgroups_per_workgroup: u32, 9991 }, 9992 SubgroupsPerWorkgroupId { 9993 subgroups_per_workgroup: Id, 9994 }, 9995 LocalSizeId { 9996 x_size: Id, 9997 y_size: Id, 9998 z_size: Id, 9999 }, 10000 LocalSizeHintId { 10001 x_size_hint: Id, 10002 y_size_hint: Id, 10003 z_size_hint: Id, 10004 }, 10005 SubgroupUniformControlFlowKHR, 10006 PostDepthCoverage, 10007 DenormPreserve { 10008 target_width: u32, 10009 }, 10010 DenormFlushToZero { 10011 target_width: u32, 10012 }, 10013 SignedZeroInfNanPreserve { 10014 target_width: u32, 10015 }, 10016 RoundingModeRTE { 10017 target_width: u32, 10018 }, 10019 RoundingModeRTZ { 10020 target_width: u32, 10021 }, 10022 StencilRefReplacingEXT, 10023 OutputLinesNV, 10024 OutputPrimitivesNV { 10025 primitive_count: u32, 10026 }, 10027 DerivativeGroupQuadsNV, 10028 DerivativeGroupLinearNV, 10029 OutputTrianglesNV, 10030 PixelInterlockOrderedEXT, 10031 PixelInterlockUnorderedEXT, 10032 SampleInterlockOrderedEXT, 10033 SampleInterlockUnorderedEXT, 10034 ShadingRateInterlockOrderedEXT, 10035 ShadingRateInterlockUnorderedEXT, 10036 SharedLocalMemorySizeINTEL { 10037 size: u32, 10038 }, 10039 RoundingModeRTPINTEL { 10040 target_width: u32, 10041 }, 10042 RoundingModeRTNINTEL { 10043 target_width: u32, 10044 }, 10045 FloatingPointModeALTINTEL { 10046 target_width: u32, 10047 }, 10048 FloatingPointModeIEEEINTEL { 10049 target_width: u32, 10050 }, 10051 MaxWorkgroupSizeINTEL { 10052 max_x_size: u32, 10053 max_y_size: u32, 10054 max_z_size: u32, 10055 }, 10056 MaxWorkDimINTEL { 10057 max_dimensions: u32, 10058 }, 10059 NoGlobalOffsetINTEL, 10060 NumSIMDWorkitemsINTEL { 10061 vector_width: u32, 10062 }, 10063 SchedulerTargetFmaxMhzINTEL { 10064 target_fmax: u32, 10065 }, 10066 } 10067 impl ExecutionMode { 10068 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionMode, ParseError>10069 fn parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionMode, ParseError> { 10070 Ok(match reader.next_u32()? { 10071 0u32 => Self::Invocations { 10072 number_of_invocation_invocations: reader.next_u32()?, 10073 }, 10074 1u32 => Self::SpacingEqual, 10075 2u32 => Self::SpacingFractionalEven, 10076 3u32 => Self::SpacingFractionalOdd, 10077 4u32 => Self::VertexOrderCw, 10078 5u32 => Self::VertexOrderCcw, 10079 6u32 => Self::PixelCenterInteger, 10080 7u32 => Self::OriginUpperLeft, 10081 8u32 => Self::OriginLowerLeft, 10082 9u32 => Self::EarlyFragmentTests, 10083 10u32 => Self::PointMode, 10084 11u32 => Self::Xfb, 10085 12u32 => Self::DepthReplacing, 10086 14u32 => Self::DepthGreater, 10087 15u32 => Self::DepthLess, 10088 16u32 => Self::DepthUnchanged, 10089 17u32 => Self::LocalSize { 10090 x_size: reader.next_u32()?, 10091 y_size: reader.next_u32()?, 10092 z_size: reader.next_u32()?, 10093 }, 10094 18u32 => Self::LocalSizeHint { 10095 x_size: reader.next_u32()?, 10096 y_size: reader.next_u32()?, 10097 z_size: reader.next_u32()?, 10098 }, 10099 19u32 => Self::InputPoints, 10100 20u32 => Self::InputLines, 10101 21u32 => Self::InputLinesAdjacency, 10102 22u32 => Self::Triangles, 10103 23u32 => Self::InputTrianglesAdjacency, 10104 24u32 => Self::Quads, 10105 25u32 => Self::Isolines, 10106 26u32 => Self::OutputVertices { 10107 vertex_count: reader.next_u32()?, 10108 }, 10109 27u32 => Self::OutputPoints, 10110 28u32 => Self::OutputLineStrip, 10111 29u32 => Self::OutputTriangleStrip, 10112 30u32 => Self::VecTypeHint { 10113 vector_type: reader.next_u32()?, 10114 }, 10115 31u32 => Self::ContractionOff, 10116 33u32 => Self::Initializer, 10117 34u32 => Self::Finalizer, 10118 35u32 => Self::SubgroupSize { 10119 subgroup_size: reader.next_u32()?, 10120 }, 10121 36u32 => Self::SubgroupsPerWorkgroup { 10122 subgroups_per_workgroup: reader.next_u32()?, 10123 }, 10124 37u32 => Self::SubgroupsPerWorkgroupId { 10125 subgroups_per_workgroup: Id(reader.next_u32()?), 10126 }, 10127 38u32 => Self::LocalSizeId { 10128 x_size: Id(reader.next_u32()?), 10129 y_size: Id(reader.next_u32()?), 10130 z_size: Id(reader.next_u32()?), 10131 }, 10132 39u32 => Self::LocalSizeHintId { 10133 x_size_hint: Id(reader.next_u32()?), 10134 y_size_hint: Id(reader.next_u32()?), 10135 z_size_hint: Id(reader.next_u32()?), 10136 }, 10137 4421u32 => Self::SubgroupUniformControlFlowKHR, 10138 4446u32 => Self::PostDepthCoverage, 10139 4459u32 => Self::DenormPreserve { 10140 target_width: reader.next_u32()?, 10141 }, 10142 4460u32 => Self::DenormFlushToZero { 10143 target_width: reader.next_u32()?, 10144 }, 10145 4461u32 => Self::SignedZeroInfNanPreserve { 10146 target_width: reader.next_u32()?, 10147 }, 10148 4462u32 => Self::RoundingModeRTE { 10149 target_width: reader.next_u32()?, 10150 }, 10151 4463u32 => Self::RoundingModeRTZ { 10152 target_width: reader.next_u32()?, 10153 }, 10154 5027u32 => Self::StencilRefReplacingEXT, 10155 5269u32 => Self::OutputLinesNV, 10156 5270u32 => Self::OutputPrimitivesNV { 10157 primitive_count: reader.next_u32()?, 10158 }, 10159 5289u32 => Self::DerivativeGroupQuadsNV, 10160 5290u32 => Self::DerivativeGroupLinearNV, 10161 5298u32 => Self::OutputTrianglesNV, 10162 5366u32 => Self::PixelInterlockOrderedEXT, 10163 5367u32 => Self::PixelInterlockUnorderedEXT, 10164 5368u32 => Self::SampleInterlockOrderedEXT, 10165 5369u32 => Self::SampleInterlockUnorderedEXT, 10166 5370u32 => Self::ShadingRateInterlockOrderedEXT, 10167 5371u32 => Self::ShadingRateInterlockUnorderedEXT, 10168 5618u32 => Self::SharedLocalMemorySizeINTEL { 10169 size: reader.next_u32()?, 10170 }, 10171 5620u32 => Self::RoundingModeRTPINTEL { 10172 target_width: reader.next_u32()?, 10173 }, 10174 5621u32 => Self::RoundingModeRTNINTEL { 10175 target_width: reader.next_u32()?, 10176 }, 10177 5622u32 => Self::FloatingPointModeALTINTEL { 10178 target_width: reader.next_u32()?, 10179 }, 10180 5623u32 => Self::FloatingPointModeIEEEINTEL { 10181 target_width: reader.next_u32()?, 10182 }, 10183 5893u32 => Self::MaxWorkgroupSizeINTEL { 10184 max_x_size: reader.next_u32()?, 10185 max_y_size: reader.next_u32()?, 10186 max_z_size: reader.next_u32()?, 10187 }, 10188 5894u32 => Self::MaxWorkDimINTEL { 10189 max_dimensions: reader.next_u32()?, 10190 }, 10191 5895u32 => Self::NoGlobalOffsetINTEL, 10192 5896u32 => Self::NumSIMDWorkitemsINTEL { 10193 vector_width: reader.next_u32()?, 10194 }, 10195 5903u32 => Self::SchedulerTargetFmaxMhzINTEL { 10196 target_fmax: reader.next_u32()?, 10197 }, 10198 value => { 10199 return Err(reader.map_err(ParseErrors::UnknownEnumerant("ExecutionMode", value))) 10200 } 10201 }) 10202 } 10203 } 10204 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10205 #[allow(non_camel_case_types)] 10206 pub enum StorageClass { 10207 UniformConstant, 10208 Input, 10209 Uniform, 10210 Output, 10211 Workgroup, 10212 CrossWorkgroup, 10213 Private, 10214 Function, 10215 Generic, 10216 PushConstant, 10217 AtomicCounter, 10218 Image, 10219 StorageBuffer, 10220 CallableDataKHR, 10221 IncomingCallableDataKHR, 10222 RayPayloadKHR, 10223 HitAttributeKHR, 10224 IncomingRayPayloadKHR, 10225 ShaderRecordBufferKHR, 10226 PhysicalStorageBuffer, 10227 CodeSectionINTEL, 10228 DeviceOnlyINTEL, 10229 HostOnlyINTEL, 10230 } 10231 impl StorageClass { 10232 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<StorageClass, ParseError>10233 fn parse(reader: &mut InstructionReader<'_>) -> Result<StorageClass, ParseError> { 10234 Ok(match reader.next_u32()? { 10235 0u32 => Self::UniformConstant, 10236 1u32 => Self::Input, 10237 2u32 => Self::Uniform, 10238 3u32 => Self::Output, 10239 4u32 => Self::Workgroup, 10240 5u32 => Self::CrossWorkgroup, 10241 6u32 => Self::Private, 10242 7u32 => Self::Function, 10243 8u32 => Self::Generic, 10244 9u32 => Self::PushConstant, 10245 10u32 => Self::AtomicCounter, 10246 11u32 => Self::Image, 10247 12u32 => Self::StorageBuffer, 10248 5328u32 => Self::CallableDataKHR, 10249 5329u32 => Self::IncomingCallableDataKHR, 10250 5338u32 => Self::RayPayloadKHR, 10251 5339u32 => Self::HitAttributeKHR, 10252 5342u32 => Self::IncomingRayPayloadKHR, 10253 5343u32 => Self::ShaderRecordBufferKHR, 10254 5349u32 => Self::PhysicalStorageBuffer, 10255 5605u32 => Self::CodeSectionINTEL, 10256 5936u32 => Self::DeviceOnlyINTEL, 10257 5937u32 => Self::HostOnlyINTEL, 10258 value => { 10259 return Err(reader.map_err(ParseErrors::UnknownEnumerant("StorageClass", value))) 10260 } 10261 }) 10262 } 10263 } 10264 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10265 #[allow(non_camel_case_types)] 10266 pub enum Dim { 10267 Dim1D, 10268 Dim2D, 10269 Dim3D, 10270 Cube, 10271 Rect, 10272 Buffer, 10273 SubpassData, 10274 } 10275 impl Dim { 10276 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Dim, ParseError>10277 fn parse(reader: &mut InstructionReader<'_>) -> Result<Dim, ParseError> { 10278 Ok(match reader.next_u32()? { 10279 0u32 => Self::Dim1D, 10280 1u32 => Self::Dim2D, 10281 2u32 => Self::Dim3D, 10282 3u32 => Self::Cube, 10283 4u32 => Self::Rect, 10284 5u32 => Self::Buffer, 10285 6u32 => Self::SubpassData, 10286 value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Dim", value))), 10287 }) 10288 } 10289 } 10290 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10291 #[allow(non_camel_case_types)] 10292 pub enum SamplerAddressingMode { 10293 None, 10294 ClampToEdge, 10295 Clamp, 10296 Repeat, 10297 RepeatMirrored, 10298 } 10299 impl SamplerAddressingMode { 10300 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<SamplerAddressingMode, ParseError>10301 fn parse(reader: &mut InstructionReader<'_>) -> Result<SamplerAddressingMode, ParseError> { 10302 Ok(match reader.next_u32()? { 10303 0u32 => Self::None, 10304 1u32 => Self::ClampToEdge, 10305 2u32 => Self::Clamp, 10306 3u32 => Self::Repeat, 10307 4u32 => Self::RepeatMirrored, 10308 value => { 10309 return Err(reader.map_err(ParseErrors::UnknownEnumerant( 10310 "SamplerAddressingMode", 10311 value, 10312 ))) 10313 } 10314 }) 10315 } 10316 } 10317 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10318 #[allow(non_camel_case_types)] 10319 pub enum SamplerFilterMode { 10320 Nearest, 10321 Linear, 10322 } 10323 impl SamplerFilterMode { 10324 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<SamplerFilterMode, ParseError>10325 fn parse(reader: &mut InstructionReader<'_>) -> Result<SamplerFilterMode, ParseError> { 10326 Ok(match reader.next_u32()? { 10327 0u32 => Self::Nearest, 10328 1u32 => Self::Linear, 10329 value => { 10330 return Err( 10331 reader.map_err(ParseErrors::UnknownEnumerant("SamplerFilterMode", value)) 10332 ) 10333 } 10334 }) 10335 } 10336 } 10337 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10338 #[allow(non_camel_case_types)] 10339 pub enum ImageFormat { 10340 Unknown, 10341 Rgba32f, 10342 Rgba16f, 10343 R32f, 10344 Rgba8, 10345 Rgba8Snorm, 10346 Rg32f, 10347 Rg16f, 10348 R11fG11fB10f, 10349 R16f, 10350 Rgba16, 10351 Rgb10A2, 10352 Rg16, 10353 Rg8, 10354 R16, 10355 R8, 10356 Rgba16Snorm, 10357 Rg16Snorm, 10358 Rg8Snorm, 10359 R16Snorm, 10360 R8Snorm, 10361 Rgba32i, 10362 Rgba16i, 10363 Rgba8i, 10364 R32i, 10365 Rg32i, 10366 Rg16i, 10367 Rg8i, 10368 R16i, 10369 R8i, 10370 Rgba32ui, 10371 Rgba16ui, 10372 Rgba8ui, 10373 R32ui, 10374 Rgb10a2ui, 10375 Rg32ui, 10376 Rg16ui, 10377 Rg8ui, 10378 R16ui, 10379 R8ui, 10380 R64ui, 10381 R64i, 10382 } 10383 impl ImageFormat { 10384 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ImageFormat, ParseError>10385 fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageFormat, ParseError> { 10386 Ok(match reader.next_u32()? { 10387 0u32 => Self::Unknown, 10388 1u32 => Self::Rgba32f, 10389 2u32 => Self::Rgba16f, 10390 3u32 => Self::R32f, 10391 4u32 => Self::Rgba8, 10392 5u32 => Self::Rgba8Snorm, 10393 6u32 => Self::Rg32f, 10394 7u32 => Self::Rg16f, 10395 8u32 => Self::R11fG11fB10f, 10396 9u32 => Self::R16f, 10397 10u32 => Self::Rgba16, 10398 11u32 => Self::Rgb10A2, 10399 12u32 => Self::Rg16, 10400 13u32 => Self::Rg8, 10401 14u32 => Self::R16, 10402 15u32 => Self::R8, 10403 16u32 => Self::Rgba16Snorm, 10404 17u32 => Self::Rg16Snorm, 10405 18u32 => Self::Rg8Snorm, 10406 19u32 => Self::R16Snorm, 10407 20u32 => Self::R8Snorm, 10408 21u32 => Self::Rgba32i, 10409 22u32 => Self::Rgba16i, 10410 23u32 => Self::Rgba8i, 10411 24u32 => Self::R32i, 10412 25u32 => Self::Rg32i, 10413 26u32 => Self::Rg16i, 10414 27u32 => Self::Rg8i, 10415 28u32 => Self::R16i, 10416 29u32 => Self::R8i, 10417 30u32 => Self::Rgba32ui, 10418 31u32 => Self::Rgba16ui, 10419 32u32 => Self::Rgba8ui, 10420 33u32 => Self::R32ui, 10421 34u32 => Self::Rgb10a2ui, 10422 35u32 => Self::Rg32ui, 10423 36u32 => Self::Rg16ui, 10424 37u32 => Self::Rg8ui, 10425 38u32 => Self::R16ui, 10426 39u32 => Self::R8ui, 10427 40u32 => Self::R64ui, 10428 41u32 => Self::R64i, 10429 value => { 10430 return Err(reader.map_err(ParseErrors::UnknownEnumerant("ImageFormat", value))) 10431 } 10432 }) 10433 } 10434 } 10435 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10436 #[allow(non_camel_case_types)] 10437 pub enum ImageChannelOrder { 10438 R, 10439 A, 10440 RG, 10441 RA, 10442 RGB, 10443 RGBA, 10444 BGRA, 10445 ARGB, 10446 Intensity, 10447 Luminance, 10448 Rx, 10449 RGx, 10450 RGBx, 10451 Depth, 10452 DepthStencil, 10453 sRGB, 10454 sRGBx, 10455 sRGBA, 10456 sBGRA, 10457 ABGR, 10458 } 10459 impl ImageChannelOrder { 10460 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelOrder, ParseError>10461 fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelOrder, ParseError> { 10462 Ok(match reader.next_u32()? { 10463 0u32 => Self::R, 10464 1u32 => Self::A, 10465 2u32 => Self::RG, 10466 3u32 => Self::RA, 10467 4u32 => Self::RGB, 10468 5u32 => Self::RGBA, 10469 6u32 => Self::BGRA, 10470 7u32 => Self::ARGB, 10471 8u32 => Self::Intensity, 10472 9u32 => Self::Luminance, 10473 10u32 => Self::Rx, 10474 11u32 => Self::RGx, 10475 12u32 => Self::RGBx, 10476 13u32 => Self::Depth, 10477 14u32 => Self::DepthStencil, 10478 15u32 => Self::sRGB, 10479 16u32 => Self::sRGBx, 10480 17u32 => Self::sRGBA, 10481 18u32 => Self::sBGRA, 10482 19u32 => Self::ABGR, 10483 value => { 10484 return Err( 10485 reader.map_err(ParseErrors::UnknownEnumerant("ImageChannelOrder", value)) 10486 ) 10487 } 10488 }) 10489 } 10490 } 10491 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10492 #[allow(non_camel_case_types)] 10493 pub enum ImageChannelDataType { 10494 SnormInt8, 10495 SnormInt16, 10496 UnormInt8, 10497 UnormInt16, 10498 UnormShort565, 10499 UnormShort555, 10500 UnormInt101010, 10501 SignedInt8, 10502 SignedInt16, 10503 SignedInt32, 10504 UnsignedInt8, 10505 UnsignedInt16, 10506 UnsignedInt32, 10507 HalfFloat, 10508 Float, 10509 UnormInt24, 10510 UnormInt101010_2, 10511 } 10512 impl ImageChannelDataType { 10513 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelDataType, ParseError>10514 fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelDataType, ParseError> { 10515 Ok(match reader.next_u32()? { 10516 0u32 => Self::SnormInt8, 10517 1u32 => Self::SnormInt16, 10518 2u32 => Self::UnormInt8, 10519 3u32 => Self::UnormInt16, 10520 4u32 => Self::UnormShort565, 10521 5u32 => Self::UnormShort555, 10522 6u32 => Self::UnormInt101010, 10523 7u32 => Self::SignedInt8, 10524 8u32 => Self::SignedInt16, 10525 9u32 => Self::SignedInt32, 10526 10u32 => Self::UnsignedInt8, 10527 11u32 => Self::UnsignedInt16, 10528 12u32 => Self::UnsignedInt32, 10529 13u32 => Self::HalfFloat, 10530 14u32 => Self::Float, 10531 15u32 => Self::UnormInt24, 10532 16u32 => Self::UnormInt101010_2, 10533 value => { 10534 return Err( 10535 reader.map_err(ParseErrors::UnknownEnumerant("ImageChannelDataType", value)) 10536 ) 10537 } 10538 }) 10539 } 10540 } 10541 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10542 #[allow(non_camel_case_types)] 10543 pub enum FPRoundingMode { 10544 RTE, 10545 RTZ, 10546 RTP, 10547 RTN, 10548 } 10549 impl FPRoundingMode { 10550 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FPRoundingMode, ParseError>10551 fn parse(reader: &mut InstructionReader<'_>) -> Result<FPRoundingMode, ParseError> { 10552 Ok(match reader.next_u32()? { 10553 0u32 => Self::RTE, 10554 1u32 => Self::RTZ, 10555 2u32 => Self::RTP, 10556 3u32 => Self::RTN, 10557 value => { 10558 return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPRoundingMode", value))) 10559 } 10560 }) 10561 } 10562 } 10563 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10564 #[allow(non_camel_case_types)] 10565 pub enum FPDenormMode { 10566 Preserve, 10567 FlushToZero, 10568 } 10569 impl FPDenormMode { 10570 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FPDenormMode, ParseError>10571 fn parse(reader: &mut InstructionReader<'_>) -> Result<FPDenormMode, ParseError> { 10572 Ok(match reader.next_u32()? { 10573 0u32 => Self::Preserve, 10574 1u32 => Self::FlushToZero, 10575 value => { 10576 return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPDenormMode", value))) 10577 } 10578 }) 10579 } 10580 } 10581 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10582 #[allow(non_camel_case_types)] 10583 pub enum QuantizationModes { 10584 TRN, 10585 TRN_ZERO, 10586 RND, 10587 RND_ZERO, 10588 RND_INF, 10589 RND_MIN_INF, 10590 RND_CONV, 10591 RND_CONV_ODD, 10592 } 10593 impl QuantizationModes { 10594 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<QuantizationModes, ParseError>10595 fn parse(reader: &mut InstructionReader<'_>) -> Result<QuantizationModes, ParseError> { 10596 Ok(match reader.next_u32()? { 10597 0u32 => Self::TRN, 10598 1u32 => Self::TRN_ZERO, 10599 2u32 => Self::RND, 10600 3u32 => Self::RND_ZERO, 10601 4u32 => Self::RND_INF, 10602 5u32 => Self::RND_MIN_INF, 10603 6u32 => Self::RND_CONV, 10604 7u32 => Self::RND_CONV_ODD, 10605 value => { 10606 return Err( 10607 reader.map_err(ParseErrors::UnknownEnumerant("QuantizationModes", value)) 10608 ) 10609 } 10610 }) 10611 } 10612 } 10613 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10614 #[allow(non_camel_case_types)] 10615 pub enum FPOperationMode { 10616 IEEE, 10617 ALT, 10618 } 10619 impl FPOperationMode { 10620 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FPOperationMode, ParseError>10621 fn parse(reader: &mut InstructionReader<'_>) -> Result<FPOperationMode, ParseError> { 10622 Ok(match reader.next_u32()? { 10623 0u32 => Self::IEEE, 10624 1u32 => Self::ALT, 10625 value => { 10626 return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPOperationMode", value))) 10627 } 10628 }) 10629 } 10630 } 10631 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10632 #[allow(non_camel_case_types)] 10633 pub enum OverflowModes { 10634 WRAP, 10635 SAT, 10636 SAT_ZERO, 10637 SAT_SYM, 10638 } 10639 impl OverflowModes { 10640 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<OverflowModes, ParseError>10641 fn parse(reader: &mut InstructionReader<'_>) -> Result<OverflowModes, ParseError> { 10642 Ok(match reader.next_u32()? { 10643 0u32 => Self::WRAP, 10644 1u32 => Self::SAT, 10645 2u32 => Self::SAT_ZERO, 10646 3u32 => Self::SAT_SYM, 10647 value => { 10648 return Err(reader.map_err(ParseErrors::UnknownEnumerant("OverflowModes", value))) 10649 } 10650 }) 10651 } 10652 } 10653 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10654 #[allow(non_camel_case_types)] 10655 pub enum LinkageType { 10656 Export, 10657 Import, 10658 LinkOnceODR, 10659 } 10660 impl LinkageType { 10661 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<LinkageType, ParseError>10662 fn parse(reader: &mut InstructionReader<'_>) -> Result<LinkageType, ParseError> { 10663 Ok(match reader.next_u32()? { 10664 0u32 => Self::Export, 10665 1u32 => Self::Import, 10666 2u32 => Self::LinkOnceODR, 10667 value => { 10668 return Err(reader.map_err(ParseErrors::UnknownEnumerant("LinkageType", value))) 10669 } 10670 }) 10671 } 10672 } 10673 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10674 #[allow(non_camel_case_types)] 10675 pub enum AccessQualifier { 10676 ReadOnly, 10677 WriteOnly, 10678 ReadWrite, 10679 } 10680 impl AccessQualifier { 10681 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<AccessQualifier, ParseError>10682 fn parse(reader: &mut InstructionReader<'_>) -> Result<AccessQualifier, ParseError> { 10683 Ok(match reader.next_u32()? { 10684 0u32 => Self::ReadOnly, 10685 1u32 => Self::WriteOnly, 10686 2u32 => Self::ReadWrite, 10687 value => { 10688 return Err(reader.map_err(ParseErrors::UnknownEnumerant("AccessQualifier", value))) 10689 } 10690 }) 10691 } 10692 } 10693 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 10694 #[allow(non_camel_case_types)] 10695 pub enum FunctionParameterAttribute { 10696 Zext, 10697 Sext, 10698 ByVal, 10699 Sret, 10700 NoAlias, 10701 NoCapture, 10702 NoWrite, 10703 NoReadWrite, 10704 } 10705 impl FunctionParameterAttribute { 10706 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<FunctionParameterAttribute, ParseError>10707 fn parse(reader: &mut InstructionReader<'_>) -> Result<FunctionParameterAttribute, ParseError> { 10708 Ok(match reader.next_u32()? { 10709 0u32 => Self::Zext, 10710 1u32 => Self::Sext, 10711 2u32 => Self::ByVal, 10712 3u32 => Self::Sret, 10713 4u32 => Self::NoAlias, 10714 5u32 => Self::NoCapture, 10715 6u32 => Self::NoWrite, 10716 7u32 => Self::NoReadWrite, 10717 value => { 10718 return Err(reader.map_err(ParseErrors::UnknownEnumerant( 10719 "FunctionParameterAttribute", 10720 value, 10721 ))) 10722 } 10723 }) 10724 } 10725 } 10726 #[derive(Clone, Debug, PartialEq, Eq)] 10727 #[allow(non_camel_case_types)] 10728 pub enum Decoration { 10729 RelaxedPrecision, 10730 SpecId { 10731 specialization_constant_id: u32, 10732 }, 10733 Block, 10734 BufferBlock, 10735 RowMajor, 10736 ColMajor, 10737 ArrayStride { 10738 array_stride: u32, 10739 }, 10740 MatrixStride { 10741 matrix_stride: u32, 10742 }, 10743 GLSLShared, 10744 GLSLPacked, 10745 CPacked, 10746 BuiltIn { 10747 built_in: BuiltIn, 10748 }, 10749 NoPerspective, 10750 Flat, 10751 Patch, 10752 Centroid, 10753 Sample, 10754 Invariant, 10755 Restrict, 10756 Aliased, 10757 Volatile, 10758 Constant, 10759 Coherent, 10760 NonWritable, 10761 NonReadable, 10762 Uniform, 10763 UniformId { 10764 execution: Id, 10765 }, 10766 SaturatedConversion, 10767 Stream { 10768 stream_number: u32, 10769 }, 10770 Location { 10771 location: u32, 10772 }, 10773 Component { 10774 component: u32, 10775 }, 10776 Index { 10777 index: u32, 10778 }, 10779 Binding { 10780 binding_point: u32, 10781 }, 10782 DescriptorSet { 10783 descriptor_set: u32, 10784 }, 10785 Offset { 10786 byte_offset: u32, 10787 }, 10788 XfbBuffer { 10789 xfb_buffer_number: u32, 10790 }, 10791 XfbStride { 10792 xfb_stride: u32, 10793 }, 10794 FuncParamAttr { 10795 function_parameter_attribute: FunctionParameterAttribute, 10796 }, 10797 FPRoundingMode { 10798 floating_point_rounding_mode: FPRoundingMode, 10799 }, 10800 FPFastMathMode { 10801 fast_math_mode: FPFastMathMode, 10802 }, 10803 LinkageAttributes { 10804 name: String, 10805 linkage_type: LinkageType, 10806 }, 10807 NoContraction, 10808 InputAttachmentIndex { 10809 attachment_index: u32, 10810 }, 10811 Alignment { 10812 alignment: u32, 10813 }, 10814 MaxByteOffset { 10815 max_byte_offset: u32, 10816 }, 10817 AlignmentId { 10818 alignment: Id, 10819 }, 10820 MaxByteOffsetId { 10821 max_byte_offset: Id, 10822 }, 10823 NoSignedWrap, 10824 NoUnsignedWrap, 10825 ExplicitInterpAMD, 10826 OverrideCoverageNV, 10827 PassthroughNV, 10828 ViewportRelativeNV, 10829 SecondaryViewportRelativeNV { 10830 offset: u32, 10831 }, 10832 PerPrimitiveNV, 10833 PerViewNV, 10834 PerTaskNV, 10835 PerVertexKHR, 10836 NonUniform, 10837 RestrictPointer, 10838 AliasedPointer, 10839 BindlessSamplerNV, 10840 BindlessImageNV, 10841 BoundSamplerNV, 10842 BoundImageNV, 10843 SIMTCallINTEL { 10844 n: u32, 10845 }, 10846 ReferencedIndirectlyINTEL, 10847 ClobberINTEL { 10848 register: String, 10849 }, 10850 SideEffectsINTEL, 10851 VectorComputeVariableINTEL, 10852 FuncParamIOKindINTEL { 10853 kind: u32, 10854 }, 10855 VectorComputeFunctionINTEL, 10856 StackCallINTEL, 10857 GlobalVariableOffsetINTEL { 10858 offset: u32, 10859 }, 10860 CounterBuffer { 10861 counter_buffer: Id, 10862 }, 10863 UserSemantic { 10864 semantic: String, 10865 }, 10866 UserTypeGOOGLE { 10867 user_type: String, 10868 }, 10869 FunctionRoundingModeINTEL { 10870 target_width: u32, 10871 fp_rounding_mode: FPRoundingMode, 10872 }, 10873 FunctionDenormModeINTEL { 10874 target_width: u32, 10875 fp_denorm_mode: FPDenormMode, 10876 }, 10877 RegisterINTEL, 10878 MemoryINTEL { 10879 memory_type: String, 10880 }, 10881 NumbanksINTEL { 10882 banks: u32, 10883 }, 10884 BankwidthINTEL { 10885 bank_width: u32, 10886 }, 10887 MaxPrivateCopiesINTEL { 10888 maximum_copies: u32, 10889 }, 10890 SinglepumpINTEL, 10891 DoublepumpINTEL, 10892 MaxReplicatesINTEL { 10893 maximum_replicates: u32, 10894 }, 10895 SimpleDualPortINTEL, 10896 MergeINTEL { 10897 merge_key: String, 10898 merge_type: String, 10899 }, 10900 BankBitsINTEL { 10901 bank_bits: u32, 10902 }, 10903 ForcePow2DepthINTEL { 10904 force_key: u32, 10905 }, 10906 BurstCoalesceINTEL, 10907 CacheSizeINTEL { 10908 cache_size_in_bytes: u32, 10909 }, 10910 DontStaticallyCoalesceINTEL, 10911 PrefetchINTEL { 10912 prefetcher_size_in_bytes: u32, 10913 }, 10914 StallEnableINTEL, 10915 FuseLoopsInFunctionINTEL, 10916 BufferLocationINTEL { 10917 buffer_location_id: u32, 10918 }, 10919 IOPipeStorageINTEL { 10920 io_pipe_id: u32, 10921 }, 10922 FunctionFloatingPointModeINTEL { 10923 target_width: u32, 10924 fp_operation_mode: FPOperationMode, 10925 }, 10926 SingleElementVectorINTEL, 10927 VectorComputeCallableFunctionINTEL, 10928 MediaBlockIOINTEL, 10929 } 10930 impl Decoration { 10931 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Decoration, ParseError>10932 fn parse(reader: &mut InstructionReader<'_>) -> Result<Decoration, ParseError> { 10933 Ok(match reader.next_u32()? { 10934 0u32 => Self::RelaxedPrecision, 10935 1u32 => Self::SpecId { 10936 specialization_constant_id: reader.next_u32()?, 10937 }, 10938 2u32 => Self::Block, 10939 3u32 => Self::BufferBlock, 10940 4u32 => Self::RowMajor, 10941 5u32 => Self::ColMajor, 10942 6u32 => Self::ArrayStride { 10943 array_stride: reader.next_u32()?, 10944 }, 10945 7u32 => Self::MatrixStride { 10946 matrix_stride: reader.next_u32()?, 10947 }, 10948 8u32 => Self::GLSLShared, 10949 9u32 => Self::GLSLPacked, 10950 10u32 => Self::CPacked, 10951 11u32 => Self::BuiltIn { 10952 built_in: BuiltIn::parse(reader)?, 10953 }, 10954 13u32 => Self::NoPerspective, 10955 14u32 => Self::Flat, 10956 15u32 => Self::Patch, 10957 16u32 => Self::Centroid, 10958 17u32 => Self::Sample, 10959 18u32 => Self::Invariant, 10960 19u32 => Self::Restrict, 10961 20u32 => Self::Aliased, 10962 21u32 => Self::Volatile, 10963 22u32 => Self::Constant, 10964 23u32 => Self::Coherent, 10965 24u32 => Self::NonWritable, 10966 25u32 => Self::NonReadable, 10967 26u32 => Self::Uniform, 10968 27u32 => Self::UniformId { 10969 execution: Id(reader.next_u32()?), 10970 }, 10971 28u32 => Self::SaturatedConversion, 10972 29u32 => Self::Stream { 10973 stream_number: reader.next_u32()?, 10974 }, 10975 30u32 => Self::Location { 10976 location: reader.next_u32()?, 10977 }, 10978 31u32 => Self::Component { 10979 component: reader.next_u32()?, 10980 }, 10981 32u32 => Self::Index { 10982 index: reader.next_u32()?, 10983 }, 10984 33u32 => Self::Binding { 10985 binding_point: reader.next_u32()?, 10986 }, 10987 34u32 => Self::DescriptorSet { 10988 descriptor_set: reader.next_u32()?, 10989 }, 10990 35u32 => Self::Offset { 10991 byte_offset: reader.next_u32()?, 10992 }, 10993 36u32 => Self::XfbBuffer { 10994 xfb_buffer_number: reader.next_u32()?, 10995 }, 10996 37u32 => Self::XfbStride { 10997 xfb_stride: reader.next_u32()?, 10998 }, 10999 38u32 => Self::FuncParamAttr { 11000 function_parameter_attribute: FunctionParameterAttribute::parse(reader)?, 11001 }, 11002 39u32 => Self::FPRoundingMode { 11003 floating_point_rounding_mode: FPRoundingMode::parse(reader)?, 11004 }, 11005 40u32 => Self::FPFastMathMode { 11006 fast_math_mode: FPFastMathMode::parse(reader)?, 11007 }, 11008 41u32 => Self::LinkageAttributes { 11009 name: reader.next_string()?, 11010 linkage_type: LinkageType::parse(reader)?, 11011 }, 11012 42u32 => Self::NoContraction, 11013 43u32 => Self::InputAttachmentIndex { 11014 attachment_index: reader.next_u32()?, 11015 }, 11016 44u32 => Self::Alignment { 11017 alignment: reader.next_u32()?, 11018 }, 11019 45u32 => Self::MaxByteOffset { 11020 max_byte_offset: reader.next_u32()?, 11021 }, 11022 46u32 => Self::AlignmentId { 11023 alignment: Id(reader.next_u32()?), 11024 }, 11025 47u32 => Self::MaxByteOffsetId { 11026 max_byte_offset: Id(reader.next_u32()?), 11027 }, 11028 4469u32 => Self::NoSignedWrap, 11029 4470u32 => Self::NoUnsignedWrap, 11030 4999u32 => Self::ExplicitInterpAMD, 11031 5248u32 => Self::OverrideCoverageNV, 11032 5250u32 => Self::PassthroughNV, 11033 5252u32 => Self::ViewportRelativeNV, 11034 5256u32 => Self::SecondaryViewportRelativeNV { 11035 offset: reader.next_u32()?, 11036 }, 11037 5271u32 => Self::PerPrimitiveNV, 11038 5272u32 => Self::PerViewNV, 11039 5273u32 => Self::PerTaskNV, 11040 5285u32 => Self::PerVertexKHR, 11041 5300u32 => Self::NonUniform, 11042 5355u32 => Self::RestrictPointer, 11043 5356u32 => Self::AliasedPointer, 11044 5398u32 => Self::BindlessSamplerNV, 11045 5399u32 => Self::BindlessImageNV, 11046 5400u32 => Self::BoundSamplerNV, 11047 5401u32 => Self::BoundImageNV, 11048 5599u32 => Self::SIMTCallINTEL { 11049 n: reader.next_u32()?, 11050 }, 11051 5602u32 => Self::ReferencedIndirectlyINTEL, 11052 5607u32 => Self::ClobberINTEL { 11053 register: reader.next_string()?, 11054 }, 11055 5608u32 => Self::SideEffectsINTEL, 11056 5624u32 => Self::VectorComputeVariableINTEL, 11057 5625u32 => Self::FuncParamIOKindINTEL { 11058 kind: reader.next_u32()?, 11059 }, 11060 5626u32 => Self::VectorComputeFunctionINTEL, 11061 5627u32 => Self::StackCallINTEL, 11062 5628u32 => Self::GlobalVariableOffsetINTEL { 11063 offset: reader.next_u32()?, 11064 }, 11065 5634u32 => Self::CounterBuffer { 11066 counter_buffer: Id(reader.next_u32()?), 11067 }, 11068 5635u32 => Self::UserSemantic { 11069 semantic: reader.next_string()?, 11070 }, 11071 5636u32 => Self::UserTypeGOOGLE { 11072 user_type: reader.next_string()?, 11073 }, 11074 5822u32 => Self::FunctionRoundingModeINTEL { 11075 target_width: reader.next_u32()?, 11076 fp_rounding_mode: FPRoundingMode::parse(reader)?, 11077 }, 11078 5823u32 => Self::FunctionDenormModeINTEL { 11079 target_width: reader.next_u32()?, 11080 fp_denorm_mode: FPDenormMode::parse(reader)?, 11081 }, 11082 5825u32 => Self::RegisterINTEL, 11083 5826u32 => Self::MemoryINTEL { 11084 memory_type: reader.next_string()?, 11085 }, 11086 5827u32 => Self::NumbanksINTEL { 11087 banks: reader.next_u32()?, 11088 }, 11089 5828u32 => Self::BankwidthINTEL { 11090 bank_width: reader.next_u32()?, 11091 }, 11092 5829u32 => Self::MaxPrivateCopiesINTEL { 11093 maximum_copies: reader.next_u32()?, 11094 }, 11095 5830u32 => Self::SinglepumpINTEL, 11096 5831u32 => Self::DoublepumpINTEL, 11097 5832u32 => Self::MaxReplicatesINTEL { 11098 maximum_replicates: reader.next_u32()?, 11099 }, 11100 5833u32 => Self::SimpleDualPortINTEL, 11101 5834u32 => Self::MergeINTEL { 11102 merge_key: reader.next_string()?, 11103 merge_type: reader.next_string()?, 11104 }, 11105 5835u32 => Self::BankBitsINTEL { 11106 bank_bits: reader.next_u32()?, 11107 }, 11108 5836u32 => Self::ForcePow2DepthINTEL { 11109 force_key: reader.next_u32()?, 11110 }, 11111 5899u32 => Self::BurstCoalesceINTEL, 11112 5900u32 => Self::CacheSizeINTEL { 11113 cache_size_in_bytes: reader.next_u32()?, 11114 }, 11115 5901u32 => Self::DontStaticallyCoalesceINTEL, 11116 5902u32 => Self::PrefetchINTEL { 11117 prefetcher_size_in_bytes: reader.next_u32()?, 11118 }, 11119 5905u32 => Self::StallEnableINTEL, 11120 5907u32 => Self::FuseLoopsInFunctionINTEL, 11121 5921u32 => Self::BufferLocationINTEL { 11122 buffer_location_id: reader.next_u32()?, 11123 }, 11124 5944u32 => Self::IOPipeStorageINTEL { 11125 io_pipe_id: reader.next_u32()?, 11126 }, 11127 6080u32 => Self::FunctionFloatingPointModeINTEL { 11128 target_width: reader.next_u32()?, 11129 fp_operation_mode: FPOperationMode::parse(reader)?, 11130 }, 11131 6085u32 => Self::SingleElementVectorINTEL, 11132 6087u32 => Self::VectorComputeCallableFunctionINTEL, 11133 6140u32 => Self::MediaBlockIOINTEL, 11134 value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Decoration", value))), 11135 }) 11136 } 11137 } 11138 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11139 #[allow(non_camel_case_types)] 11140 pub enum BuiltIn { 11141 Position, 11142 PointSize, 11143 ClipDistance, 11144 CullDistance, 11145 VertexId, 11146 InstanceId, 11147 PrimitiveId, 11148 InvocationId, 11149 Layer, 11150 ViewportIndex, 11151 TessLevelOuter, 11152 TessLevelInner, 11153 TessCoord, 11154 PatchVertices, 11155 FragCoord, 11156 PointCoord, 11157 FrontFacing, 11158 SampleId, 11159 SamplePosition, 11160 SampleMask, 11161 FragDepth, 11162 HelperInvocation, 11163 NumWorkgroups, 11164 WorkgroupSize, 11165 WorkgroupId, 11166 LocalInvocationId, 11167 GlobalInvocationId, 11168 LocalInvocationIndex, 11169 WorkDim, 11170 GlobalSize, 11171 EnqueuedWorkgroupSize, 11172 GlobalOffset, 11173 GlobalLinearId, 11174 SubgroupSize, 11175 SubgroupMaxSize, 11176 NumSubgroups, 11177 NumEnqueuedSubgroups, 11178 SubgroupId, 11179 SubgroupLocalInvocationId, 11180 VertexIndex, 11181 InstanceIndex, 11182 SubgroupEqMask, 11183 SubgroupGeMask, 11184 SubgroupGtMask, 11185 SubgroupLeMask, 11186 SubgroupLtMask, 11187 BaseVertex, 11188 BaseInstance, 11189 DrawIndex, 11190 PrimitiveShadingRateKHR, 11191 DeviceIndex, 11192 ViewIndex, 11193 ShadingRateKHR, 11194 BaryCoordNoPerspAMD, 11195 BaryCoordNoPerspCentroidAMD, 11196 BaryCoordNoPerspSampleAMD, 11197 BaryCoordSmoothAMD, 11198 BaryCoordSmoothCentroidAMD, 11199 BaryCoordSmoothSampleAMD, 11200 BaryCoordPullModelAMD, 11201 FragStencilRefEXT, 11202 ViewportMaskNV, 11203 SecondaryPositionNV, 11204 SecondaryViewportMaskNV, 11205 PositionPerViewNV, 11206 ViewportMaskPerViewNV, 11207 FullyCoveredEXT, 11208 TaskCountNV, 11209 PrimitiveCountNV, 11210 PrimitiveIndicesNV, 11211 ClipDistancePerViewNV, 11212 CullDistancePerViewNV, 11213 LayerPerViewNV, 11214 MeshViewCountNV, 11215 MeshViewIndicesNV, 11216 BaryCoordKHR, 11217 BaryCoordNoPerspKHR, 11218 FragSizeEXT, 11219 FragInvocationCountEXT, 11220 LaunchIdKHR, 11221 LaunchSizeKHR, 11222 WorldRayOriginKHR, 11223 WorldRayDirectionKHR, 11224 ObjectRayOriginKHR, 11225 ObjectRayDirectionKHR, 11226 RayTminKHR, 11227 RayTmaxKHR, 11228 InstanceCustomIndexKHR, 11229 ObjectToWorldKHR, 11230 WorldToObjectKHR, 11231 HitTNV, 11232 HitKindKHR, 11233 CurrentRayTimeNV, 11234 IncomingRayFlagsKHR, 11235 RayGeometryIndexKHR, 11236 WarpsPerSMNV, 11237 SMCountNV, 11238 WarpIDNV, 11239 SMIDNV, 11240 } 11241 impl BuiltIn { 11242 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<BuiltIn, ParseError>11243 fn parse(reader: &mut InstructionReader<'_>) -> Result<BuiltIn, ParseError> { 11244 Ok(match reader.next_u32()? { 11245 0u32 => Self::Position, 11246 1u32 => Self::PointSize, 11247 3u32 => Self::ClipDistance, 11248 4u32 => Self::CullDistance, 11249 5u32 => Self::VertexId, 11250 6u32 => Self::InstanceId, 11251 7u32 => Self::PrimitiveId, 11252 8u32 => Self::InvocationId, 11253 9u32 => Self::Layer, 11254 10u32 => Self::ViewportIndex, 11255 11u32 => Self::TessLevelOuter, 11256 12u32 => Self::TessLevelInner, 11257 13u32 => Self::TessCoord, 11258 14u32 => Self::PatchVertices, 11259 15u32 => Self::FragCoord, 11260 16u32 => Self::PointCoord, 11261 17u32 => Self::FrontFacing, 11262 18u32 => Self::SampleId, 11263 19u32 => Self::SamplePosition, 11264 20u32 => Self::SampleMask, 11265 22u32 => Self::FragDepth, 11266 23u32 => Self::HelperInvocation, 11267 24u32 => Self::NumWorkgroups, 11268 25u32 => Self::WorkgroupSize, 11269 26u32 => Self::WorkgroupId, 11270 27u32 => Self::LocalInvocationId, 11271 28u32 => Self::GlobalInvocationId, 11272 29u32 => Self::LocalInvocationIndex, 11273 30u32 => Self::WorkDim, 11274 31u32 => Self::GlobalSize, 11275 32u32 => Self::EnqueuedWorkgroupSize, 11276 33u32 => Self::GlobalOffset, 11277 34u32 => Self::GlobalLinearId, 11278 36u32 => Self::SubgroupSize, 11279 37u32 => Self::SubgroupMaxSize, 11280 38u32 => Self::NumSubgroups, 11281 39u32 => Self::NumEnqueuedSubgroups, 11282 40u32 => Self::SubgroupId, 11283 41u32 => Self::SubgroupLocalInvocationId, 11284 42u32 => Self::VertexIndex, 11285 43u32 => Self::InstanceIndex, 11286 4416u32 => Self::SubgroupEqMask, 11287 4417u32 => Self::SubgroupGeMask, 11288 4418u32 => Self::SubgroupGtMask, 11289 4419u32 => Self::SubgroupLeMask, 11290 4420u32 => Self::SubgroupLtMask, 11291 4424u32 => Self::BaseVertex, 11292 4425u32 => Self::BaseInstance, 11293 4426u32 => Self::DrawIndex, 11294 4432u32 => Self::PrimitiveShadingRateKHR, 11295 4438u32 => Self::DeviceIndex, 11296 4440u32 => Self::ViewIndex, 11297 4444u32 => Self::ShadingRateKHR, 11298 4992u32 => Self::BaryCoordNoPerspAMD, 11299 4993u32 => Self::BaryCoordNoPerspCentroidAMD, 11300 4994u32 => Self::BaryCoordNoPerspSampleAMD, 11301 4995u32 => Self::BaryCoordSmoothAMD, 11302 4996u32 => Self::BaryCoordSmoothCentroidAMD, 11303 4997u32 => Self::BaryCoordSmoothSampleAMD, 11304 4998u32 => Self::BaryCoordPullModelAMD, 11305 5014u32 => Self::FragStencilRefEXT, 11306 5253u32 => Self::ViewportMaskNV, 11307 5257u32 => Self::SecondaryPositionNV, 11308 5258u32 => Self::SecondaryViewportMaskNV, 11309 5261u32 => Self::PositionPerViewNV, 11310 5262u32 => Self::ViewportMaskPerViewNV, 11311 5264u32 => Self::FullyCoveredEXT, 11312 5274u32 => Self::TaskCountNV, 11313 5275u32 => Self::PrimitiveCountNV, 11314 5276u32 => Self::PrimitiveIndicesNV, 11315 5277u32 => Self::ClipDistancePerViewNV, 11316 5278u32 => Self::CullDistancePerViewNV, 11317 5279u32 => Self::LayerPerViewNV, 11318 5280u32 => Self::MeshViewCountNV, 11319 5281u32 => Self::MeshViewIndicesNV, 11320 5286u32 => Self::BaryCoordKHR, 11321 5287u32 => Self::BaryCoordNoPerspKHR, 11322 5292u32 => Self::FragSizeEXT, 11323 5293u32 => Self::FragInvocationCountEXT, 11324 5319u32 => Self::LaunchIdKHR, 11325 5320u32 => Self::LaunchSizeKHR, 11326 5321u32 => Self::WorldRayOriginKHR, 11327 5322u32 => Self::WorldRayDirectionKHR, 11328 5323u32 => Self::ObjectRayOriginKHR, 11329 5324u32 => Self::ObjectRayDirectionKHR, 11330 5325u32 => Self::RayTminKHR, 11331 5326u32 => Self::RayTmaxKHR, 11332 5327u32 => Self::InstanceCustomIndexKHR, 11333 5330u32 => Self::ObjectToWorldKHR, 11334 5331u32 => Self::WorldToObjectKHR, 11335 5332u32 => Self::HitTNV, 11336 5333u32 => Self::HitKindKHR, 11337 5334u32 => Self::CurrentRayTimeNV, 11338 5351u32 => Self::IncomingRayFlagsKHR, 11339 5352u32 => Self::RayGeometryIndexKHR, 11340 5374u32 => Self::WarpsPerSMNV, 11341 5375u32 => Self::SMCountNV, 11342 5376u32 => Self::WarpIDNV, 11343 5377u32 => Self::SMIDNV, 11344 value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("BuiltIn", value))), 11345 }) 11346 } 11347 } 11348 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11349 #[allow(non_camel_case_types)] 11350 pub enum Scope { 11351 CrossDevice, 11352 Device, 11353 Workgroup, 11354 Subgroup, 11355 Invocation, 11356 QueueFamily, 11357 ShaderCallKHR, 11358 } 11359 impl Scope { 11360 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Scope, ParseError>11361 fn parse(reader: &mut InstructionReader<'_>) -> Result<Scope, ParseError> { 11362 Ok(match reader.next_u32()? { 11363 0u32 => Self::CrossDevice, 11364 1u32 => Self::Device, 11365 2u32 => Self::Workgroup, 11366 3u32 => Self::Subgroup, 11367 4u32 => Self::Invocation, 11368 5u32 => Self::QueueFamily, 11369 6u32 => Self::ShaderCallKHR, 11370 value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Scope", value))), 11371 }) 11372 } 11373 } 11374 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11375 #[allow(non_camel_case_types)] 11376 pub enum GroupOperation { 11377 Reduce, 11378 InclusiveScan, 11379 ExclusiveScan, 11380 ClusteredReduce, 11381 PartitionedReduceNV, 11382 PartitionedInclusiveScanNV, 11383 PartitionedExclusiveScanNV, 11384 } 11385 impl GroupOperation { 11386 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<GroupOperation, ParseError>11387 fn parse(reader: &mut InstructionReader<'_>) -> Result<GroupOperation, ParseError> { 11388 Ok(match reader.next_u32()? { 11389 0u32 => Self::Reduce, 11390 1u32 => Self::InclusiveScan, 11391 2u32 => Self::ExclusiveScan, 11392 3u32 => Self::ClusteredReduce, 11393 6u32 => Self::PartitionedReduceNV, 11394 7u32 => Self::PartitionedInclusiveScanNV, 11395 8u32 => Self::PartitionedExclusiveScanNV, 11396 value => { 11397 return Err(reader.map_err(ParseErrors::UnknownEnumerant("GroupOperation", value))) 11398 } 11399 }) 11400 } 11401 } 11402 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11403 #[allow(non_camel_case_types)] 11404 pub enum KernelEnqueueFlags { 11405 NoWait, 11406 WaitKernel, 11407 WaitWorkGroup, 11408 } 11409 impl KernelEnqueueFlags { 11410 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<KernelEnqueueFlags, ParseError>11411 fn parse(reader: &mut InstructionReader<'_>) -> Result<KernelEnqueueFlags, ParseError> { 11412 Ok(match reader.next_u32()? { 11413 0u32 => Self::NoWait, 11414 1u32 => Self::WaitKernel, 11415 2u32 => Self::WaitWorkGroup, 11416 value => { 11417 return Err( 11418 reader.map_err(ParseErrors::UnknownEnumerant("KernelEnqueueFlags", value)) 11419 ) 11420 } 11421 }) 11422 } 11423 } 11424 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11425 #[allow(non_camel_case_types)] 11426 pub enum Capability { 11427 Matrix, 11428 Shader, 11429 Geometry, 11430 Tessellation, 11431 Addresses, 11432 Linkage, 11433 Kernel, 11434 Vector16, 11435 Float16Buffer, 11436 Float16, 11437 Float64, 11438 Int64, 11439 Int64Atomics, 11440 ImageBasic, 11441 ImageReadWrite, 11442 ImageMipmap, 11443 Pipes, 11444 Groups, 11445 DeviceEnqueue, 11446 LiteralSampler, 11447 AtomicStorage, 11448 Int16, 11449 TessellationPointSize, 11450 GeometryPointSize, 11451 ImageGatherExtended, 11452 StorageImageMultisample, 11453 UniformBufferArrayDynamicIndexing, 11454 SampledImageArrayDynamicIndexing, 11455 StorageBufferArrayDynamicIndexing, 11456 StorageImageArrayDynamicIndexing, 11457 ClipDistance, 11458 CullDistance, 11459 ImageCubeArray, 11460 SampleRateShading, 11461 ImageRect, 11462 SampledRect, 11463 GenericPointer, 11464 Int8, 11465 InputAttachment, 11466 SparseResidency, 11467 MinLod, 11468 Sampled1D, 11469 Image1D, 11470 SampledCubeArray, 11471 SampledBuffer, 11472 ImageBuffer, 11473 ImageMSArray, 11474 StorageImageExtendedFormats, 11475 ImageQuery, 11476 DerivativeControl, 11477 InterpolationFunction, 11478 TransformFeedback, 11479 GeometryStreams, 11480 StorageImageReadWithoutFormat, 11481 StorageImageWriteWithoutFormat, 11482 MultiViewport, 11483 SubgroupDispatch, 11484 NamedBarrier, 11485 PipeStorage, 11486 GroupNonUniform, 11487 GroupNonUniformVote, 11488 GroupNonUniformArithmetic, 11489 GroupNonUniformBallot, 11490 GroupNonUniformShuffle, 11491 GroupNonUniformShuffleRelative, 11492 GroupNonUniformClustered, 11493 GroupNonUniformQuad, 11494 ShaderLayer, 11495 ShaderViewportIndex, 11496 UniformDecoration, 11497 FragmentShadingRateKHR, 11498 SubgroupBallotKHR, 11499 DrawParameters, 11500 WorkgroupMemoryExplicitLayoutKHR, 11501 WorkgroupMemoryExplicitLayout8BitAccessKHR, 11502 WorkgroupMemoryExplicitLayout16BitAccessKHR, 11503 SubgroupVoteKHR, 11504 StorageBuffer16BitAccess, 11505 UniformAndStorageBuffer16BitAccess, 11506 StoragePushConstant16, 11507 StorageInputOutput16, 11508 DeviceGroup, 11509 MultiView, 11510 VariablePointersStorageBuffer, 11511 VariablePointers, 11512 AtomicStorageOps, 11513 SampleMaskPostDepthCoverage, 11514 StorageBuffer8BitAccess, 11515 UniformAndStorageBuffer8BitAccess, 11516 StoragePushConstant8, 11517 DenormPreserve, 11518 DenormFlushToZero, 11519 SignedZeroInfNanPreserve, 11520 RoundingModeRTE, 11521 RoundingModeRTZ, 11522 RayQueryProvisionalKHR, 11523 RayQueryKHR, 11524 RayTraversalPrimitiveCullingKHR, 11525 RayTracingKHR, 11526 Float16ImageAMD, 11527 ImageGatherBiasLodAMD, 11528 FragmentMaskAMD, 11529 StencilExportEXT, 11530 ImageReadWriteLodAMD, 11531 Int64ImageEXT, 11532 ShaderClockKHR, 11533 SampleMaskOverrideCoverageNV, 11534 GeometryShaderPassthroughNV, 11535 ShaderViewportIndexLayerEXT, 11536 ShaderViewportMaskNV, 11537 ShaderStereoViewNV, 11538 PerViewAttributesNV, 11539 FragmentFullyCoveredEXT, 11540 MeshShadingNV, 11541 ImageFootprintNV, 11542 FragmentBarycentricKHR, 11543 ComputeDerivativeGroupQuadsNV, 11544 FragmentDensityEXT, 11545 GroupNonUniformPartitionedNV, 11546 ShaderNonUniform, 11547 RuntimeDescriptorArray, 11548 InputAttachmentArrayDynamicIndexing, 11549 UniformTexelBufferArrayDynamicIndexing, 11550 StorageTexelBufferArrayDynamicIndexing, 11551 UniformBufferArrayNonUniformIndexing, 11552 SampledImageArrayNonUniformIndexing, 11553 StorageBufferArrayNonUniformIndexing, 11554 StorageImageArrayNonUniformIndexing, 11555 InputAttachmentArrayNonUniformIndexing, 11556 UniformTexelBufferArrayNonUniformIndexing, 11557 StorageTexelBufferArrayNonUniformIndexing, 11558 RayTracingNV, 11559 RayTracingMotionBlurNV, 11560 VulkanMemoryModel, 11561 VulkanMemoryModelDeviceScope, 11562 PhysicalStorageBufferAddresses, 11563 ComputeDerivativeGroupLinearNV, 11564 RayTracingProvisionalKHR, 11565 CooperativeMatrixNV, 11566 FragmentShaderSampleInterlockEXT, 11567 FragmentShaderShadingRateInterlockEXT, 11568 ShaderSMBuiltinsNV, 11569 FragmentShaderPixelInterlockEXT, 11570 DemoteToHelperInvocation, 11571 BindlessTextureNV, 11572 SubgroupShuffleINTEL, 11573 SubgroupBufferBlockIOINTEL, 11574 SubgroupImageBlockIOINTEL, 11575 SubgroupImageMediaBlockIOINTEL, 11576 RoundToInfinityINTEL, 11577 FloatingPointModeINTEL, 11578 IntegerFunctions2INTEL, 11579 FunctionPointersINTEL, 11580 IndirectReferencesINTEL, 11581 AsmINTEL, 11582 AtomicFloat32MinMaxEXT, 11583 AtomicFloat64MinMaxEXT, 11584 AtomicFloat16MinMaxEXT, 11585 VectorComputeINTEL, 11586 VectorAnyINTEL, 11587 ExpectAssumeKHR, 11588 SubgroupAvcMotionEstimationINTEL, 11589 SubgroupAvcMotionEstimationIntraINTEL, 11590 SubgroupAvcMotionEstimationChromaINTEL, 11591 VariableLengthArrayINTEL, 11592 FunctionFloatControlINTEL, 11593 FPGAMemoryAttributesINTEL, 11594 FPFastMathModeINTEL, 11595 ArbitraryPrecisionIntegersINTEL, 11596 ArbitraryPrecisionFloatingPointINTEL, 11597 UnstructuredLoopControlsINTEL, 11598 FPGALoopControlsINTEL, 11599 KernelAttributesINTEL, 11600 FPGAKernelAttributesINTEL, 11601 FPGAMemoryAccessesINTEL, 11602 FPGAClusterAttributesINTEL, 11603 LoopFuseINTEL, 11604 FPGABufferLocationINTEL, 11605 ArbitraryPrecisionFixedPointINTEL, 11606 USMStorageClassesINTEL, 11607 IOPipesINTEL, 11608 BlockingPipesINTEL, 11609 FPGARegINTEL, 11610 DotProductInputAll, 11611 DotProductInput4x8Bit, 11612 DotProductInput4x8BitPacked, 11613 DotProduct, 11614 BitInstructions, 11615 AtomicFloat32AddEXT, 11616 AtomicFloat64AddEXT, 11617 LongConstantCompositeINTEL, 11618 OptNoneINTEL, 11619 AtomicFloat16AddEXT, 11620 DebugInfoModuleINTEL, 11621 } 11622 impl Capability { 11623 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<Capability, ParseError>11624 fn parse(reader: &mut InstructionReader<'_>) -> Result<Capability, ParseError> { 11625 Ok(match reader.next_u32()? { 11626 0u32 => Self::Matrix, 11627 1u32 => Self::Shader, 11628 2u32 => Self::Geometry, 11629 3u32 => Self::Tessellation, 11630 4u32 => Self::Addresses, 11631 5u32 => Self::Linkage, 11632 6u32 => Self::Kernel, 11633 7u32 => Self::Vector16, 11634 8u32 => Self::Float16Buffer, 11635 9u32 => Self::Float16, 11636 10u32 => Self::Float64, 11637 11u32 => Self::Int64, 11638 12u32 => Self::Int64Atomics, 11639 13u32 => Self::ImageBasic, 11640 14u32 => Self::ImageReadWrite, 11641 15u32 => Self::ImageMipmap, 11642 17u32 => Self::Pipes, 11643 18u32 => Self::Groups, 11644 19u32 => Self::DeviceEnqueue, 11645 20u32 => Self::LiteralSampler, 11646 21u32 => Self::AtomicStorage, 11647 22u32 => Self::Int16, 11648 23u32 => Self::TessellationPointSize, 11649 24u32 => Self::GeometryPointSize, 11650 25u32 => Self::ImageGatherExtended, 11651 27u32 => Self::StorageImageMultisample, 11652 28u32 => Self::UniformBufferArrayDynamicIndexing, 11653 29u32 => Self::SampledImageArrayDynamicIndexing, 11654 30u32 => Self::StorageBufferArrayDynamicIndexing, 11655 31u32 => Self::StorageImageArrayDynamicIndexing, 11656 32u32 => Self::ClipDistance, 11657 33u32 => Self::CullDistance, 11658 34u32 => Self::ImageCubeArray, 11659 35u32 => Self::SampleRateShading, 11660 36u32 => Self::ImageRect, 11661 37u32 => Self::SampledRect, 11662 38u32 => Self::GenericPointer, 11663 39u32 => Self::Int8, 11664 40u32 => Self::InputAttachment, 11665 41u32 => Self::SparseResidency, 11666 42u32 => Self::MinLod, 11667 43u32 => Self::Sampled1D, 11668 44u32 => Self::Image1D, 11669 45u32 => Self::SampledCubeArray, 11670 46u32 => Self::SampledBuffer, 11671 47u32 => Self::ImageBuffer, 11672 48u32 => Self::ImageMSArray, 11673 49u32 => Self::StorageImageExtendedFormats, 11674 50u32 => Self::ImageQuery, 11675 51u32 => Self::DerivativeControl, 11676 52u32 => Self::InterpolationFunction, 11677 53u32 => Self::TransformFeedback, 11678 54u32 => Self::GeometryStreams, 11679 55u32 => Self::StorageImageReadWithoutFormat, 11680 56u32 => Self::StorageImageWriteWithoutFormat, 11681 57u32 => Self::MultiViewport, 11682 58u32 => Self::SubgroupDispatch, 11683 59u32 => Self::NamedBarrier, 11684 60u32 => Self::PipeStorage, 11685 61u32 => Self::GroupNonUniform, 11686 62u32 => Self::GroupNonUniformVote, 11687 63u32 => Self::GroupNonUniformArithmetic, 11688 64u32 => Self::GroupNonUniformBallot, 11689 65u32 => Self::GroupNonUniformShuffle, 11690 66u32 => Self::GroupNonUniformShuffleRelative, 11691 67u32 => Self::GroupNonUniformClustered, 11692 68u32 => Self::GroupNonUniformQuad, 11693 69u32 => Self::ShaderLayer, 11694 70u32 => Self::ShaderViewportIndex, 11695 71u32 => Self::UniformDecoration, 11696 4422u32 => Self::FragmentShadingRateKHR, 11697 4423u32 => Self::SubgroupBallotKHR, 11698 4427u32 => Self::DrawParameters, 11699 4428u32 => Self::WorkgroupMemoryExplicitLayoutKHR, 11700 4429u32 => Self::WorkgroupMemoryExplicitLayout8BitAccessKHR, 11701 4430u32 => Self::WorkgroupMemoryExplicitLayout16BitAccessKHR, 11702 4431u32 => Self::SubgroupVoteKHR, 11703 4433u32 => Self::StorageBuffer16BitAccess, 11704 4434u32 => Self::UniformAndStorageBuffer16BitAccess, 11705 4435u32 => Self::StoragePushConstant16, 11706 4436u32 => Self::StorageInputOutput16, 11707 4437u32 => Self::DeviceGroup, 11708 4439u32 => Self::MultiView, 11709 4441u32 => Self::VariablePointersStorageBuffer, 11710 4442u32 => Self::VariablePointers, 11711 4445u32 => Self::AtomicStorageOps, 11712 4447u32 => Self::SampleMaskPostDepthCoverage, 11713 4448u32 => Self::StorageBuffer8BitAccess, 11714 4449u32 => Self::UniformAndStorageBuffer8BitAccess, 11715 4450u32 => Self::StoragePushConstant8, 11716 4464u32 => Self::DenormPreserve, 11717 4465u32 => Self::DenormFlushToZero, 11718 4466u32 => Self::SignedZeroInfNanPreserve, 11719 4467u32 => Self::RoundingModeRTE, 11720 4468u32 => Self::RoundingModeRTZ, 11721 4471u32 => Self::RayQueryProvisionalKHR, 11722 4472u32 => Self::RayQueryKHR, 11723 4478u32 => Self::RayTraversalPrimitiveCullingKHR, 11724 4479u32 => Self::RayTracingKHR, 11725 5008u32 => Self::Float16ImageAMD, 11726 5009u32 => Self::ImageGatherBiasLodAMD, 11727 5010u32 => Self::FragmentMaskAMD, 11728 5013u32 => Self::StencilExportEXT, 11729 5015u32 => Self::ImageReadWriteLodAMD, 11730 5016u32 => Self::Int64ImageEXT, 11731 5055u32 => Self::ShaderClockKHR, 11732 5249u32 => Self::SampleMaskOverrideCoverageNV, 11733 5251u32 => Self::GeometryShaderPassthroughNV, 11734 5254u32 => Self::ShaderViewportIndexLayerEXT, 11735 5255u32 => Self::ShaderViewportMaskNV, 11736 5259u32 => Self::ShaderStereoViewNV, 11737 5260u32 => Self::PerViewAttributesNV, 11738 5265u32 => Self::FragmentFullyCoveredEXT, 11739 5266u32 => Self::MeshShadingNV, 11740 5282u32 => Self::ImageFootprintNV, 11741 5284u32 => Self::FragmentBarycentricKHR, 11742 5288u32 => Self::ComputeDerivativeGroupQuadsNV, 11743 5291u32 => Self::FragmentDensityEXT, 11744 5297u32 => Self::GroupNonUniformPartitionedNV, 11745 5301u32 => Self::ShaderNonUniform, 11746 5302u32 => Self::RuntimeDescriptorArray, 11747 5303u32 => Self::InputAttachmentArrayDynamicIndexing, 11748 5304u32 => Self::UniformTexelBufferArrayDynamicIndexing, 11749 5305u32 => Self::StorageTexelBufferArrayDynamicIndexing, 11750 5306u32 => Self::UniformBufferArrayNonUniformIndexing, 11751 5307u32 => Self::SampledImageArrayNonUniformIndexing, 11752 5308u32 => Self::StorageBufferArrayNonUniformIndexing, 11753 5309u32 => Self::StorageImageArrayNonUniformIndexing, 11754 5310u32 => Self::InputAttachmentArrayNonUniformIndexing, 11755 5311u32 => Self::UniformTexelBufferArrayNonUniformIndexing, 11756 5312u32 => Self::StorageTexelBufferArrayNonUniformIndexing, 11757 5340u32 => Self::RayTracingNV, 11758 5341u32 => Self::RayTracingMotionBlurNV, 11759 5345u32 => Self::VulkanMemoryModel, 11760 5346u32 => Self::VulkanMemoryModelDeviceScope, 11761 5347u32 => Self::PhysicalStorageBufferAddresses, 11762 5350u32 => Self::ComputeDerivativeGroupLinearNV, 11763 5353u32 => Self::RayTracingProvisionalKHR, 11764 5357u32 => Self::CooperativeMatrixNV, 11765 5363u32 => Self::FragmentShaderSampleInterlockEXT, 11766 5372u32 => Self::FragmentShaderShadingRateInterlockEXT, 11767 5373u32 => Self::ShaderSMBuiltinsNV, 11768 5378u32 => Self::FragmentShaderPixelInterlockEXT, 11769 5379u32 => Self::DemoteToHelperInvocation, 11770 5390u32 => Self::BindlessTextureNV, 11771 5568u32 => Self::SubgroupShuffleINTEL, 11772 5569u32 => Self::SubgroupBufferBlockIOINTEL, 11773 5570u32 => Self::SubgroupImageBlockIOINTEL, 11774 5579u32 => Self::SubgroupImageMediaBlockIOINTEL, 11775 5582u32 => Self::RoundToInfinityINTEL, 11776 5583u32 => Self::FloatingPointModeINTEL, 11777 5584u32 => Self::IntegerFunctions2INTEL, 11778 5603u32 => Self::FunctionPointersINTEL, 11779 5604u32 => Self::IndirectReferencesINTEL, 11780 5606u32 => Self::AsmINTEL, 11781 5612u32 => Self::AtomicFloat32MinMaxEXT, 11782 5613u32 => Self::AtomicFloat64MinMaxEXT, 11783 5616u32 => Self::AtomicFloat16MinMaxEXT, 11784 5617u32 => Self::VectorComputeINTEL, 11785 5619u32 => Self::VectorAnyINTEL, 11786 5629u32 => Self::ExpectAssumeKHR, 11787 5696u32 => Self::SubgroupAvcMotionEstimationINTEL, 11788 5697u32 => Self::SubgroupAvcMotionEstimationIntraINTEL, 11789 5698u32 => Self::SubgroupAvcMotionEstimationChromaINTEL, 11790 5817u32 => Self::VariableLengthArrayINTEL, 11791 5821u32 => Self::FunctionFloatControlINTEL, 11792 5824u32 => Self::FPGAMemoryAttributesINTEL, 11793 5837u32 => Self::FPFastMathModeINTEL, 11794 5844u32 => Self::ArbitraryPrecisionIntegersINTEL, 11795 5845u32 => Self::ArbitraryPrecisionFloatingPointINTEL, 11796 5886u32 => Self::UnstructuredLoopControlsINTEL, 11797 5888u32 => Self::FPGALoopControlsINTEL, 11798 5892u32 => Self::KernelAttributesINTEL, 11799 5897u32 => Self::FPGAKernelAttributesINTEL, 11800 5898u32 => Self::FPGAMemoryAccessesINTEL, 11801 5904u32 => Self::FPGAClusterAttributesINTEL, 11802 5906u32 => Self::LoopFuseINTEL, 11803 5920u32 => Self::FPGABufferLocationINTEL, 11804 5922u32 => Self::ArbitraryPrecisionFixedPointINTEL, 11805 5935u32 => Self::USMStorageClassesINTEL, 11806 5943u32 => Self::IOPipesINTEL, 11807 5945u32 => Self::BlockingPipesINTEL, 11808 5948u32 => Self::FPGARegINTEL, 11809 6016u32 => Self::DotProductInputAll, 11810 6017u32 => Self::DotProductInput4x8Bit, 11811 6018u32 => Self::DotProductInput4x8BitPacked, 11812 6019u32 => Self::DotProduct, 11813 6025u32 => Self::BitInstructions, 11814 6033u32 => Self::AtomicFloat32AddEXT, 11815 6034u32 => Self::AtomicFloat64AddEXT, 11816 6089u32 => Self::LongConstantCompositeINTEL, 11817 6094u32 => Self::OptNoneINTEL, 11818 6095u32 => Self::AtomicFloat16AddEXT, 11819 6114u32 => Self::DebugInfoModuleINTEL, 11820 value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Capability", value))), 11821 }) 11822 } 11823 } 11824 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11825 #[allow(non_camel_case_types)] 11826 pub enum RayQueryIntersection { 11827 RayQueryCandidateIntersectionKHR, 11828 RayQueryCommittedIntersectionKHR, 11829 } 11830 impl RayQueryIntersection { 11831 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<RayQueryIntersection, ParseError>11832 fn parse(reader: &mut InstructionReader<'_>) -> Result<RayQueryIntersection, ParseError> { 11833 Ok(match reader.next_u32()? { 11834 0u32 => Self::RayQueryCandidateIntersectionKHR, 11835 1u32 => Self::RayQueryCommittedIntersectionKHR, 11836 value => { 11837 return Err( 11838 reader.map_err(ParseErrors::UnknownEnumerant("RayQueryIntersection", value)) 11839 ) 11840 } 11841 }) 11842 } 11843 } 11844 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11845 #[allow(non_camel_case_types)] 11846 pub enum RayQueryCommittedIntersectionType { 11847 RayQueryCommittedIntersectionNoneKHR, 11848 RayQueryCommittedIntersectionTriangleKHR, 11849 RayQueryCommittedIntersectionGeneratedKHR, 11850 } 11851 impl RayQueryCommittedIntersectionType { 11852 #[allow(dead_code)] parse( reader: &mut InstructionReader<'_>, ) -> Result<RayQueryCommittedIntersectionType, ParseError>11853 fn parse( 11854 reader: &mut InstructionReader<'_>, 11855 ) -> Result<RayQueryCommittedIntersectionType, ParseError> { 11856 Ok(match reader.next_u32()? { 11857 0u32 => Self::RayQueryCommittedIntersectionNoneKHR, 11858 1u32 => Self::RayQueryCommittedIntersectionTriangleKHR, 11859 2u32 => Self::RayQueryCommittedIntersectionGeneratedKHR, 11860 value => { 11861 return Err(reader.map_err(ParseErrors::UnknownEnumerant( 11862 "RayQueryCommittedIntersectionType", 11863 value, 11864 ))) 11865 } 11866 }) 11867 } 11868 } 11869 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11870 #[allow(non_camel_case_types)] 11871 pub enum RayQueryCandidateIntersectionType { 11872 RayQueryCandidateIntersectionTriangleKHR, 11873 RayQueryCandidateIntersectionAABBKHR, 11874 } 11875 impl RayQueryCandidateIntersectionType { 11876 #[allow(dead_code)] parse( reader: &mut InstructionReader<'_>, ) -> Result<RayQueryCandidateIntersectionType, ParseError>11877 fn parse( 11878 reader: &mut InstructionReader<'_>, 11879 ) -> Result<RayQueryCandidateIntersectionType, ParseError> { 11880 Ok(match reader.next_u32()? { 11881 0u32 => Self::RayQueryCandidateIntersectionTriangleKHR, 11882 1u32 => Self::RayQueryCandidateIntersectionAABBKHR, 11883 value => { 11884 return Err(reader.map_err(ParseErrors::UnknownEnumerant( 11885 "RayQueryCandidateIntersectionType", 11886 value, 11887 ))) 11888 } 11889 }) 11890 } 11891 } 11892 #[derive(Clone, Copy, Debug, PartialEq, Eq)] 11893 #[allow(non_camel_case_types)] 11894 pub enum PackedVectorFormat { 11895 PackedVectorFormat4x8Bit, 11896 } 11897 impl PackedVectorFormat { 11898 #[allow(dead_code)] parse(reader: &mut InstructionReader<'_>) -> Result<PackedVectorFormat, ParseError>11899 fn parse(reader: &mut InstructionReader<'_>) -> Result<PackedVectorFormat, ParseError> { 11900 Ok(match reader.next_u32()? { 11901 0u32 => Self::PackedVectorFormat4x8Bit, 11902 value => { 11903 return Err( 11904 reader.map_err(ParseErrors::UnknownEnumerant("PackedVectorFormat", value)) 11905 ) 11906 } 11907 }) 11908 } 11909 } 11910