rspirv/sr/
autogen_ops.rs

1// AUTOMATICALLY GENERATED from the SPIR-V JSON grammar:
2//   external/spirv.core.grammar.json.
3// DO NOT MODIFY!
4
5use crate::sr::{module::Jump, storage::Token, Type};
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub enum Branch {
8    Phi {
9        variable_parent: Vec<(spirv::Word, spirv::Word)>,
10    },
11    LoopMerge {
12        merge_block: spirv::Word,
13        continue_target: spirv::Word,
14        loop_control: spirv::LoopControl,
15    },
16    SelectionMerge {
17        merge_block: spirv::Word,
18        selection_control: spirv::SelectionControl,
19    },
20    Label,
21    Branch {
22        target_label: spirv::Word,
23    },
24    BranchConditional {
25        condition: spirv::Word,
26        true_label: spirv::Word,
27        false_label: spirv::Word,
28        branch_weights: Vec<u32>,
29    },
30    Switch {
31        selector: spirv::Word,
32        default: spirv::Word,
33        target: Vec<(u32, Jump)>,
34    },
35    Kill,
36    Return,
37    ReturnValue {
38        value: spirv::Word,
39    },
40    Unreachable,
41    LifetimeStart {
42        pointer: spirv::Word,
43        size: u32,
44    },
45    LifetimeStop {
46        pointer: spirv::Word,
47        size: u32,
48    },
49    TerminateInvocation,
50    DemoteToHelperInvocation,
51}
52#[derive(Clone, Debug, Eq, PartialEq)]
53#[allow(clippy::upper_case_acronyms)]
54pub enum Terminator {
55    Branch(Branch),
56    IgnoreIntersectionKHR,
57    TerminateRayKHR,
58    EmitMeshTasksEXT {
59        group_count_x: spirv::Word,
60        group_count_y: spirv::Word,
61        group_count_z: spirv::Word,
62        payload: Option<spirv::Word>,
63    },
64}
65#[derive(Clone, Debug, Eq, PartialEq)]
66#[allow(clippy::upper_case_acronyms)]
67pub enum Op {
68    Nop,
69    Undef,
70    SourceContinued {
71        continued_source: String,
72    },
73    Source {
74        source_language: spirv::SourceLanguage,
75        version: u32,
76        file: Option<spirv::Word>,
77        source: Option<String>,
78    },
79    SourceExtension {
80        extension: String,
81    },
82    Name {
83        target: spirv::Word,
84        name: String,
85    },
86    MemberName {
87        ty: Token<Type>,
88        member: u32,
89        name: String,
90    },
91    String {
92        string: String,
93    },
94    Line {
95        file: spirv::Word,
96        line: u32,
97        column: u32,
98    },
99    Variable {
100        storage_class: spirv::StorageClass,
101        initializer: Option<spirv::Word>,
102    },
103    ImageTexelPointer {
104        image: spirv::Word,
105        coordinate: spirv::Word,
106        sample: spirv::Word,
107    },
108    Load {
109        pointer: spirv::Word,
110        memory_access: Option<spirv::MemoryAccess>,
111    },
112    Store {
113        pointer: spirv::Word,
114        object: spirv::Word,
115        memory_access: Option<spirv::MemoryAccess>,
116    },
117    CopyMemory {
118        target: spirv::Word,
119        source: spirv::Word,
120        memory_access: Option<spirv::MemoryAccess>,
121        memory_access_2: Option<spirv::MemoryAccess>,
122    },
123    CopyMemorySized {
124        target: spirv::Word,
125        source: spirv::Word,
126        size: spirv::Word,
127        memory_access: Option<spirv::MemoryAccess>,
128        memory_access_2: Option<spirv::MemoryAccess>,
129    },
130    AccessChain {
131        base: spirv::Word,
132        indexes: Vec<spirv::Word>,
133    },
134    InBoundsAccessChain {
135        base: spirv::Word,
136        indexes: Vec<spirv::Word>,
137    },
138    PtrAccessChain {
139        base: spirv::Word,
140        element: spirv::Word,
141        indexes: Vec<spirv::Word>,
142    },
143    ArrayLength {
144        structure: spirv::Word,
145        array_member: u32,
146    },
147    GenericPtrMemSemantics {
148        pointer: spirv::Word,
149    },
150    InBoundsPtrAccessChain {
151        base: spirv::Word,
152        element: spirv::Word,
153        indexes: Vec<spirv::Word>,
154    },
155    Decorate {
156        target: spirv::Word,
157        decoration: spirv::Decoration,
158    },
159    MemberDecorate {
160        structure_type: Token<Type>,
161        member: u32,
162        decoration: spirv::Decoration,
163    },
164    DecorationGroup,
165    GroupDecorate {
166        decoration_group: spirv::Word,
167        targets: Vec<spirv::Word>,
168    },
169    GroupMemberDecorate {
170        decoration_group: spirv::Word,
171        targets: Vec<(Jump, u32)>,
172    },
173    VectorExtractDynamic {
174        vector: spirv::Word,
175        index: spirv::Word,
176    },
177    VectorInsertDynamic {
178        vector: spirv::Word,
179        component: spirv::Word,
180        index: spirv::Word,
181    },
182    VectorShuffle {
183        vector_1: spirv::Word,
184        vector_2: spirv::Word,
185        components: Vec<u32>,
186    },
187    CompositeConstruct {
188        constituents: Vec<spirv::Word>,
189    },
190    CompositeExtract {
191        composite: spirv::Word,
192        indexes: Vec<u32>,
193    },
194    CompositeInsert {
195        object: spirv::Word,
196        composite: spirv::Word,
197        indexes: Vec<u32>,
198    },
199    CopyObject {
200        operand: spirv::Word,
201    },
202    Transpose {
203        matrix: spirv::Word,
204    },
205    SampledImage {
206        image: spirv::Word,
207        sampler: spirv::Word,
208    },
209    ImageSampleImplicitLod {
210        sampled_image: spirv::Word,
211        coordinate: spirv::Word,
212        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
213    },
214    ImageSampleExplicitLod {
215        sampled_image: spirv::Word,
216        coordinate: spirv::Word,
217        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
218    },
219    ImageSampleDrefImplicitLod {
220        sampled_image: spirv::Word,
221        coordinate: spirv::Word,
222        d_ref: spirv::Word,
223        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
224    },
225    ImageSampleDrefExplicitLod {
226        sampled_image: spirv::Word,
227        coordinate: spirv::Word,
228        d_ref: spirv::Word,
229        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
230    },
231    ImageSampleProjImplicitLod {
232        sampled_image: spirv::Word,
233        coordinate: spirv::Word,
234        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
235    },
236    ImageSampleProjExplicitLod {
237        sampled_image: spirv::Word,
238        coordinate: spirv::Word,
239        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
240    },
241    ImageSampleProjDrefImplicitLod {
242        sampled_image: spirv::Word,
243        coordinate: spirv::Word,
244        d_ref: spirv::Word,
245        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
246    },
247    ImageSampleProjDrefExplicitLod {
248        sampled_image: spirv::Word,
249        coordinate: spirv::Word,
250        d_ref: spirv::Word,
251        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
252    },
253    ImageFetch {
254        image: spirv::Word,
255        coordinate: spirv::Word,
256        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
257    },
258    ImageGather {
259        sampled_image: spirv::Word,
260        coordinate: spirv::Word,
261        component: spirv::Word,
262        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
263    },
264    ImageDrefGather {
265        sampled_image: spirv::Word,
266        coordinate: spirv::Word,
267        d_ref: spirv::Word,
268        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
269    },
270    ImageRead {
271        image: spirv::Word,
272        coordinate: spirv::Word,
273        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
274    },
275    ImageWrite {
276        image: spirv::Word,
277        coordinate: spirv::Word,
278        texel: spirv::Word,
279        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
280    },
281    Image {
282        sampled_image: spirv::Word,
283    },
284    ImageQueryFormat {
285        image: spirv::Word,
286    },
287    ImageQueryOrder {
288        image: spirv::Word,
289    },
290    ImageQuerySizeLod {
291        image: spirv::Word,
292        level_of_detail: spirv::Word,
293    },
294    ImageQuerySize {
295        image: spirv::Word,
296    },
297    ImageQueryLod {
298        sampled_image: spirv::Word,
299        coordinate: spirv::Word,
300    },
301    ImageQueryLevels {
302        image: spirv::Word,
303    },
304    ImageQuerySamples {
305        image: spirv::Word,
306    },
307    ConvertFToU {
308        float_value: spirv::Word,
309    },
310    ConvertFToS {
311        float_value: spirv::Word,
312    },
313    ConvertSToF {
314        signed_value: spirv::Word,
315    },
316    ConvertUToF {
317        unsigned_value: spirv::Word,
318    },
319    UConvert {
320        unsigned_value: spirv::Word,
321    },
322    SConvert {
323        signed_value: spirv::Word,
324    },
325    FConvert {
326        float_value: spirv::Word,
327    },
328    QuantizeToF16 {
329        value: spirv::Word,
330    },
331    ConvertPtrToU {
332        pointer: spirv::Word,
333    },
334    SatConvertSToU {
335        signed_value: spirv::Word,
336    },
337    SatConvertUToS {
338        unsigned_value: spirv::Word,
339    },
340    ConvertUToPtr {
341        integer_value: spirv::Word,
342    },
343    PtrCastToGeneric {
344        pointer: spirv::Word,
345    },
346    GenericCastToPtr {
347        pointer: spirv::Word,
348    },
349    GenericCastToPtrExplicit {
350        pointer: spirv::Word,
351        storage: spirv::StorageClass,
352    },
353    Bitcast {
354        operand: spirv::Word,
355    },
356    SNegate {
357        operand: spirv::Word,
358    },
359    FNegate {
360        operand: spirv::Word,
361    },
362    IAdd {
363        operand_1: spirv::Word,
364        operand_2: spirv::Word,
365    },
366    FAdd {
367        operand_1: spirv::Word,
368        operand_2: spirv::Word,
369    },
370    ISub {
371        operand_1: spirv::Word,
372        operand_2: spirv::Word,
373    },
374    FSub {
375        operand_1: spirv::Word,
376        operand_2: spirv::Word,
377    },
378    IMul {
379        operand_1: spirv::Word,
380        operand_2: spirv::Word,
381    },
382    FMul {
383        operand_1: spirv::Word,
384        operand_2: spirv::Word,
385    },
386    UDiv {
387        operand_1: spirv::Word,
388        operand_2: spirv::Word,
389    },
390    SDiv {
391        operand_1: spirv::Word,
392        operand_2: spirv::Word,
393    },
394    FDiv {
395        operand_1: spirv::Word,
396        operand_2: spirv::Word,
397    },
398    UMod {
399        operand_1: spirv::Word,
400        operand_2: spirv::Word,
401    },
402    SRem {
403        operand_1: spirv::Word,
404        operand_2: spirv::Word,
405    },
406    SMod {
407        operand_1: spirv::Word,
408        operand_2: spirv::Word,
409    },
410    FRem {
411        operand_1: spirv::Word,
412        operand_2: spirv::Word,
413    },
414    FMod {
415        operand_1: spirv::Word,
416        operand_2: spirv::Word,
417    },
418    VectorTimesScalar {
419        vector: spirv::Word,
420        scalar: spirv::Word,
421    },
422    MatrixTimesScalar {
423        matrix: spirv::Word,
424        scalar: spirv::Word,
425    },
426    VectorTimesMatrix {
427        vector: spirv::Word,
428        matrix: spirv::Word,
429    },
430    MatrixTimesVector {
431        matrix: spirv::Word,
432        vector: spirv::Word,
433    },
434    MatrixTimesMatrix {
435        left_matrix: spirv::Word,
436        right_matrix: spirv::Word,
437    },
438    OuterProduct {
439        vector_1: spirv::Word,
440        vector_2: spirv::Word,
441    },
442    Dot {
443        vector_1: spirv::Word,
444        vector_2: spirv::Word,
445    },
446    IAddCarry {
447        operand_1: spirv::Word,
448        operand_2: spirv::Word,
449    },
450    ISubBorrow {
451        operand_1: spirv::Word,
452        operand_2: spirv::Word,
453    },
454    UMulExtended {
455        operand_1: spirv::Word,
456        operand_2: spirv::Word,
457    },
458    SMulExtended {
459        operand_1: spirv::Word,
460        operand_2: spirv::Word,
461    },
462    Any {
463        vector: spirv::Word,
464    },
465    All {
466        vector: spirv::Word,
467    },
468    IsNan {
469        x: spirv::Word,
470    },
471    IsInf {
472        x: spirv::Word,
473    },
474    IsFinite {
475        x: spirv::Word,
476    },
477    IsNormal {
478        x: spirv::Word,
479    },
480    SignBitSet {
481        x: spirv::Word,
482    },
483    LessOrGreater {
484        x: spirv::Word,
485        y: spirv::Word,
486    },
487    Ordered {
488        x: spirv::Word,
489        y: spirv::Word,
490    },
491    Unordered {
492        x: spirv::Word,
493        y: spirv::Word,
494    },
495    LogicalEqual {
496        operand_1: spirv::Word,
497        operand_2: spirv::Word,
498    },
499    LogicalNotEqual {
500        operand_1: spirv::Word,
501        operand_2: spirv::Word,
502    },
503    LogicalOr {
504        operand_1: spirv::Word,
505        operand_2: spirv::Word,
506    },
507    LogicalAnd {
508        operand_1: spirv::Word,
509        operand_2: spirv::Word,
510    },
511    LogicalNot {
512        operand: spirv::Word,
513    },
514    Select {
515        condition: spirv::Word,
516        object_1: spirv::Word,
517        object_2: spirv::Word,
518    },
519    IEqual {
520        operand_1: spirv::Word,
521        operand_2: spirv::Word,
522    },
523    INotEqual {
524        operand_1: spirv::Word,
525        operand_2: spirv::Word,
526    },
527    UGreaterThan {
528        operand_1: spirv::Word,
529        operand_2: spirv::Word,
530    },
531    SGreaterThan {
532        operand_1: spirv::Word,
533        operand_2: spirv::Word,
534    },
535    UGreaterThanEqual {
536        operand_1: spirv::Word,
537        operand_2: spirv::Word,
538    },
539    SGreaterThanEqual {
540        operand_1: spirv::Word,
541        operand_2: spirv::Word,
542    },
543    ULessThan {
544        operand_1: spirv::Word,
545        operand_2: spirv::Word,
546    },
547    SLessThan {
548        operand_1: spirv::Word,
549        operand_2: spirv::Word,
550    },
551    ULessThanEqual {
552        operand_1: spirv::Word,
553        operand_2: spirv::Word,
554    },
555    SLessThanEqual {
556        operand_1: spirv::Word,
557        operand_2: spirv::Word,
558    },
559    FOrdEqual {
560        operand_1: spirv::Word,
561        operand_2: spirv::Word,
562    },
563    FUnordEqual {
564        operand_1: spirv::Word,
565        operand_2: spirv::Word,
566    },
567    FOrdNotEqual {
568        operand_1: spirv::Word,
569        operand_2: spirv::Word,
570    },
571    FUnordNotEqual {
572        operand_1: spirv::Word,
573        operand_2: spirv::Word,
574    },
575    FOrdLessThan {
576        operand_1: spirv::Word,
577        operand_2: spirv::Word,
578    },
579    FUnordLessThan {
580        operand_1: spirv::Word,
581        operand_2: spirv::Word,
582    },
583    FOrdGreaterThan {
584        operand_1: spirv::Word,
585        operand_2: spirv::Word,
586    },
587    FUnordGreaterThan {
588        operand_1: spirv::Word,
589        operand_2: spirv::Word,
590    },
591    FOrdLessThanEqual {
592        operand_1: spirv::Word,
593        operand_2: spirv::Word,
594    },
595    FUnordLessThanEqual {
596        operand_1: spirv::Word,
597        operand_2: spirv::Word,
598    },
599    FOrdGreaterThanEqual {
600        operand_1: spirv::Word,
601        operand_2: spirv::Word,
602    },
603    FUnordGreaterThanEqual {
604        operand_1: spirv::Word,
605        operand_2: spirv::Word,
606    },
607    ShiftRightLogical {
608        base: spirv::Word,
609        shift: spirv::Word,
610    },
611    ShiftRightArithmetic {
612        base: spirv::Word,
613        shift: spirv::Word,
614    },
615    ShiftLeftLogical {
616        base: spirv::Word,
617        shift: spirv::Word,
618    },
619    BitwiseOr {
620        operand_1: spirv::Word,
621        operand_2: spirv::Word,
622    },
623    BitwiseXor {
624        operand_1: spirv::Word,
625        operand_2: spirv::Word,
626    },
627    BitwiseAnd {
628        operand_1: spirv::Word,
629        operand_2: spirv::Word,
630    },
631    Not {
632        operand: spirv::Word,
633    },
634    BitFieldInsert {
635        base: spirv::Word,
636        insert: spirv::Word,
637        offset: spirv::Word,
638        count: spirv::Word,
639    },
640    BitFieldSExtract {
641        base: spirv::Word,
642        offset: spirv::Word,
643        count: spirv::Word,
644    },
645    BitFieldUExtract {
646        base: spirv::Word,
647        offset: spirv::Word,
648        count: spirv::Word,
649    },
650    BitReverse {
651        base: spirv::Word,
652    },
653    BitCount {
654        base: spirv::Word,
655    },
656    DPdx {
657        p: spirv::Word,
658    },
659    DPdy {
660        p: spirv::Word,
661    },
662    Fwidth {
663        p: spirv::Word,
664    },
665    DPdxFine {
666        p: spirv::Word,
667    },
668    DPdyFine {
669        p: spirv::Word,
670    },
671    FwidthFine {
672        p: spirv::Word,
673    },
674    DPdxCoarse {
675        p: spirv::Word,
676    },
677    DPdyCoarse {
678        p: spirv::Word,
679    },
680    FwidthCoarse {
681        p: spirv::Word,
682    },
683    EmitVertex,
684    EndPrimitive,
685    EmitStreamVertex {
686        stream: spirv::Word,
687    },
688    EndStreamPrimitive {
689        stream: spirv::Word,
690    },
691    ControlBarrier {
692        execution: spirv::Word,
693        memory: spirv::Word,
694        semantics: spirv::Word,
695    },
696    MemoryBarrier {
697        memory: spirv::Word,
698        semantics: spirv::Word,
699    },
700    AtomicLoad {
701        pointer: spirv::Word,
702        memory: spirv::Word,
703        semantics: spirv::Word,
704    },
705    AtomicStore {
706        pointer: spirv::Word,
707        memory: spirv::Word,
708        semantics: spirv::Word,
709        value: spirv::Word,
710    },
711    AtomicExchange {
712        pointer: spirv::Word,
713        memory: spirv::Word,
714        semantics: spirv::Word,
715        value: spirv::Word,
716    },
717    AtomicCompareExchange {
718        pointer: spirv::Word,
719        memory: spirv::Word,
720        equal: spirv::Word,
721        unequal: spirv::Word,
722        value: spirv::Word,
723        comparator: spirv::Word,
724    },
725    AtomicCompareExchangeWeak {
726        pointer: spirv::Word,
727        memory: spirv::Word,
728        equal: spirv::Word,
729        unequal: spirv::Word,
730        value: spirv::Word,
731        comparator: spirv::Word,
732    },
733    AtomicIIncrement {
734        pointer: spirv::Word,
735        memory: spirv::Word,
736        semantics: spirv::Word,
737    },
738    AtomicIDecrement {
739        pointer: spirv::Word,
740        memory: spirv::Word,
741        semantics: spirv::Word,
742    },
743    AtomicIAdd {
744        pointer: spirv::Word,
745        memory: spirv::Word,
746        semantics: spirv::Word,
747        value: spirv::Word,
748    },
749    AtomicISub {
750        pointer: spirv::Word,
751        memory: spirv::Word,
752        semantics: spirv::Word,
753        value: spirv::Word,
754    },
755    AtomicSMin {
756        pointer: spirv::Word,
757        memory: spirv::Word,
758        semantics: spirv::Word,
759        value: spirv::Word,
760    },
761    AtomicUMin {
762        pointer: spirv::Word,
763        memory: spirv::Word,
764        semantics: spirv::Word,
765        value: spirv::Word,
766    },
767    AtomicSMax {
768        pointer: spirv::Word,
769        memory: spirv::Word,
770        semantics: spirv::Word,
771        value: spirv::Word,
772    },
773    AtomicUMax {
774        pointer: spirv::Word,
775        memory: spirv::Word,
776        semantics: spirv::Word,
777        value: spirv::Word,
778    },
779    AtomicAnd {
780        pointer: spirv::Word,
781        memory: spirv::Word,
782        semantics: spirv::Word,
783        value: spirv::Word,
784    },
785    AtomicOr {
786        pointer: spirv::Word,
787        memory: spirv::Word,
788        semantics: spirv::Word,
789        value: spirv::Word,
790    },
791    AtomicXor {
792        pointer: spirv::Word,
793        memory: spirv::Word,
794        semantics: spirv::Word,
795        value: spirv::Word,
796    },
797    GroupAsyncCopy {
798        execution: spirv::Word,
799        destination: spirv::Word,
800        source: spirv::Word,
801        num_elements: spirv::Word,
802        stride: spirv::Word,
803        event: spirv::Word,
804    },
805    GroupWaitEvents {
806        execution: spirv::Word,
807        num_events: spirv::Word,
808        events_list: spirv::Word,
809    },
810    GroupAll {
811        execution: spirv::Word,
812        predicate: spirv::Word,
813    },
814    GroupAny {
815        execution: spirv::Word,
816        predicate: spirv::Word,
817    },
818    GroupBroadcast {
819        execution: spirv::Word,
820        value: spirv::Word,
821        local_id: spirv::Word,
822    },
823    GroupIAdd {
824        execution: spirv::Word,
825        operation: spirv::GroupOperation,
826        x: spirv::Word,
827    },
828    GroupFAdd {
829        execution: spirv::Word,
830        operation: spirv::GroupOperation,
831        x: spirv::Word,
832    },
833    GroupFMin {
834        execution: spirv::Word,
835        operation: spirv::GroupOperation,
836        x: spirv::Word,
837    },
838    GroupUMin {
839        execution: spirv::Word,
840        operation: spirv::GroupOperation,
841        x: spirv::Word,
842    },
843    GroupSMin {
844        execution: spirv::Word,
845        operation: spirv::GroupOperation,
846        x: spirv::Word,
847    },
848    GroupFMax {
849        execution: spirv::Word,
850        operation: spirv::GroupOperation,
851        x: spirv::Word,
852    },
853    GroupUMax {
854        execution: spirv::Word,
855        operation: spirv::GroupOperation,
856        x: spirv::Word,
857    },
858    GroupSMax {
859        execution: spirv::Word,
860        operation: spirv::GroupOperation,
861        x: spirv::Word,
862    },
863    ReadPipe {
864        pipe: spirv::Word,
865        pointer: spirv::Word,
866        packet_size: spirv::Word,
867        packet_alignment: spirv::Word,
868    },
869    WritePipe {
870        pipe: spirv::Word,
871        pointer: spirv::Word,
872        packet_size: spirv::Word,
873        packet_alignment: spirv::Word,
874    },
875    ReservedReadPipe {
876        pipe: spirv::Word,
877        reserve_id: spirv::Word,
878        index: spirv::Word,
879        pointer: spirv::Word,
880        packet_size: spirv::Word,
881        packet_alignment: spirv::Word,
882    },
883    ReservedWritePipe {
884        pipe: spirv::Word,
885        reserve_id: spirv::Word,
886        index: spirv::Word,
887        pointer: spirv::Word,
888        packet_size: spirv::Word,
889        packet_alignment: spirv::Word,
890    },
891    ReserveReadPipePackets {
892        pipe: spirv::Word,
893        num_packets: spirv::Word,
894        packet_size: spirv::Word,
895        packet_alignment: spirv::Word,
896    },
897    ReserveWritePipePackets {
898        pipe: spirv::Word,
899        num_packets: spirv::Word,
900        packet_size: spirv::Word,
901        packet_alignment: spirv::Word,
902    },
903    CommitReadPipe {
904        pipe: spirv::Word,
905        reserve_id: spirv::Word,
906        packet_size: spirv::Word,
907        packet_alignment: spirv::Word,
908    },
909    CommitWritePipe {
910        pipe: spirv::Word,
911        reserve_id: spirv::Word,
912        packet_size: spirv::Word,
913        packet_alignment: spirv::Word,
914    },
915    IsValidReserveId {
916        reserve_id: spirv::Word,
917    },
918    GetNumPipePackets {
919        pipe: spirv::Word,
920        packet_size: spirv::Word,
921        packet_alignment: spirv::Word,
922    },
923    GetMaxPipePackets {
924        pipe: spirv::Word,
925        packet_size: spirv::Word,
926        packet_alignment: spirv::Word,
927    },
928    GroupReserveReadPipePackets {
929        execution: spirv::Word,
930        pipe: spirv::Word,
931        num_packets: spirv::Word,
932        packet_size: spirv::Word,
933        packet_alignment: spirv::Word,
934    },
935    GroupReserveWritePipePackets {
936        execution: spirv::Word,
937        pipe: spirv::Word,
938        num_packets: spirv::Word,
939        packet_size: spirv::Word,
940        packet_alignment: spirv::Word,
941    },
942    GroupCommitReadPipe {
943        execution: spirv::Word,
944        pipe: spirv::Word,
945        reserve_id: spirv::Word,
946        packet_size: spirv::Word,
947        packet_alignment: spirv::Word,
948    },
949    GroupCommitWritePipe {
950        execution: spirv::Word,
951        pipe: spirv::Word,
952        reserve_id: spirv::Word,
953        packet_size: spirv::Word,
954        packet_alignment: spirv::Word,
955    },
956    EnqueueMarker {
957        queue: spirv::Word,
958        num_events: spirv::Word,
959        wait_events: spirv::Word,
960        ret_event: spirv::Word,
961    },
962    EnqueueKernel {
963        queue: spirv::Word,
964        flags: spirv::Word,
965        nd_range: spirv::Word,
966        num_events: spirv::Word,
967        wait_events: spirv::Word,
968        ret_event: spirv::Word,
969        invoke: spirv::Word,
970        param: spirv::Word,
971        param_size: spirv::Word,
972        param_align: spirv::Word,
973        local_size: Vec<spirv::Word>,
974    },
975    GetKernelNDrangeSubGroupCount {
976        nd_range: spirv::Word,
977        invoke: spirv::Word,
978        param: spirv::Word,
979        param_size: spirv::Word,
980        param_align: spirv::Word,
981    },
982    GetKernelNDrangeMaxSubGroupSize {
983        nd_range: spirv::Word,
984        invoke: spirv::Word,
985        param: spirv::Word,
986        param_size: spirv::Word,
987        param_align: spirv::Word,
988    },
989    GetKernelWorkGroupSize {
990        invoke: spirv::Word,
991        param: spirv::Word,
992        param_size: spirv::Word,
993        param_align: spirv::Word,
994    },
995    GetKernelPreferredWorkGroupSizeMultiple {
996        invoke: spirv::Word,
997        param: spirv::Word,
998        param_size: spirv::Word,
999        param_align: spirv::Word,
1000    },
1001    RetainEvent {
1002        event: spirv::Word,
1003    },
1004    ReleaseEvent {
1005        event: spirv::Word,
1006    },
1007    CreateUserEvent,
1008    IsValidEvent {
1009        event: spirv::Word,
1010    },
1011    SetUserEventStatus {
1012        event: spirv::Word,
1013        status: spirv::Word,
1014    },
1015    CaptureEventProfilingInfo {
1016        event: spirv::Word,
1017        profiling_info: spirv::Word,
1018        value: spirv::Word,
1019    },
1020    GetDefaultQueue,
1021    BuildNDRange {
1022        global_work_size: spirv::Word,
1023        local_work_size: spirv::Word,
1024        global_work_offset: spirv::Word,
1025    },
1026    ImageSparseSampleImplicitLod {
1027        sampled_image: spirv::Word,
1028        coordinate: spirv::Word,
1029        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1030    },
1031    ImageSparseSampleExplicitLod {
1032        sampled_image: spirv::Word,
1033        coordinate: spirv::Word,
1034        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
1035    },
1036    ImageSparseSampleDrefImplicitLod {
1037        sampled_image: spirv::Word,
1038        coordinate: spirv::Word,
1039        d_ref: spirv::Word,
1040        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1041    },
1042    ImageSparseSampleDrefExplicitLod {
1043        sampled_image: spirv::Word,
1044        coordinate: spirv::Word,
1045        d_ref: spirv::Word,
1046        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
1047    },
1048    ImageSparseSampleProjImplicitLod {
1049        sampled_image: spirv::Word,
1050        coordinate: spirv::Word,
1051        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1052    },
1053    ImageSparseSampleProjExplicitLod {
1054        sampled_image: spirv::Word,
1055        coordinate: spirv::Word,
1056        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
1057    },
1058    ImageSparseSampleProjDrefImplicitLod {
1059        sampled_image: spirv::Word,
1060        coordinate: spirv::Word,
1061        d_ref: spirv::Word,
1062        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1063    },
1064    ImageSparseSampleProjDrefExplicitLod {
1065        sampled_image: spirv::Word,
1066        coordinate: spirv::Word,
1067        d_ref: spirv::Word,
1068        image_operands: (spirv::ImageOperands, Vec<spirv::Word>),
1069    },
1070    ImageSparseFetch {
1071        image: spirv::Word,
1072        coordinate: spirv::Word,
1073        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1074    },
1075    ImageSparseGather {
1076        sampled_image: spirv::Word,
1077        coordinate: spirv::Word,
1078        component: spirv::Word,
1079        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1080    },
1081    ImageSparseDrefGather {
1082        sampled_image: spirv::Word,
1083        coordinate: spirv::Word,
1084        d_ref: spirv::Word,
1085        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1086    },
1087    ImageSparseTexelsResident {
1088        resident_code: spirv::Word,
1089    },
1090    NoLine,
1091    AtomicFlagTestAndSet {
1092        pointer: spirv::Word,
1093        memory: spirv::Word,
1094        semantics: spirv::Word,
1095    },
1096    AtomicFlagClear {
1097        pointer: spirv::Word,
1098        memory: spirv::Word,
1099        semantics: spirv::Word,
1100    },
1101    ImageSparseRead {
1102        image: spirv::Word,
1103        coordinate: spirv::Word,
1104        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1105    },
1106    SizeOf {
1107        pointer: spirv::Word,
1108    },
1109    ConstantPipeStorage {
1110        packet_size: u32,
1111        packet_alignment: u32,
1112        capacity: u32,
1113    },
1114    CreatePipeFromPipeStorage {
1115        pipe_storage: spirv::Word,
1116    },
1117    GetKernelLocalSizeForSubgroupCount {
1118        subgroup_count: spirv::Word,
1119        invoke: spirv::Word,
1120        param: spirv::Word,
1121        param_size: spirv::Word,
1122        param_align: spirv::Word,
1123    },
1124    GetKernelMaxNumSubgroups {
1125        invoke: spirv::Word,
1126        param: spirv::Word,
1127        param_size: spirv::Word,
1128        param_align: spirv::Word,
1129    },
1130    NamedBarrierInitialize {
1131        subgroup_count: spirv::Word,
1132    },
1133    MemoryNamedBarrier {
1134        named_barrier: spirv::Word,
1135        memory: spirv::Word,
1136        semantics: spirv::Word,
1137    },
1138    ModuleProcessed {
1139        process: String,
1140    },
1141    DecorateId {
1142        target: spirv::Word,
1143        decoration: spirv::Decoration,
1144    },
1145    GroupNonUniformElect {
1146        execution: spirv::Word,
1147    },
1148    GroupNonUniformAll {
1149        execution: spirv::Word,
1150        predicate: spirv::Word,
1151    },
1152    GroupNonUniformAny {
1153        execution: spirv::Word,
1154        predicate: spirv::Word,
1155    },
1156    GroupNonUniformAllEqual {
1157        execution: spirv::Word,
1158        value: spirv::Word,
1159    },
1160    GroupNonUniformBroadcast {
1161        execution: spirv::Word,
1162        value: spirv::Word,
1163        id: spirv::Word,
1164    },
1165    GroupNonUniformBroadcastFirst {
1166        execution: spirv::Word,
1167        value: spirv::Word,
1168    },
1169    GroupNonUniformBallot {
1170        execution: spirv::Word,
1171        predicate: spirv::Word,
1172    },
1173    GroupNonUniformInverseBallot {
1174        execution: spirv::Word,
1175        value: spirv::Word,
1176    },
1177    GroupNonUniformBallotBitExtract {
1178        execution: spirv::Word,
1179        value: spirv::Word,
1180        index: spirv::Word,
1181    },
1182    GroupNonUniformBallotBitCount {
1183        execution: spirv::Word,
1184        operation: spirv::GroupOperation,
1185        value: spirv::Word,
1186    },
1187    GroupNonUniformBallotFindLSB {
1188        execution: spirv::Word,
1189        value: spirv::Word,
1190    },
1191    GroupNonUniformBallotFindMSB {
1192        execution: spirv::Word,
1193        value: spirv::Word,
1194    },
1195    GroupNonUniformShuffle {
1196        execution: spirv::Word,
1197        value: spirv::Word,
1198        id: spirv::Word,
1199    },
1200    GroupNonUniformShuffleXor {
1201        execution: spirv::Word,
1202        value: spirv::Word,
1203        mask: spirv::Word,
1204    },
1205    GroupNonUniformShuffleUp {
1206        execution: spirv::Word,
1207        value: spirv::Word,
1208        delta: spirv::Word,
1209    },
1210    GroupNonUniformShuffleDown {
1211        execution: spirv::Word,
1212        value: spirv::Word,
1213        delta: spirv::Word,
1214    },
1215    GroupNonUniformIAdd {
1216        execution: spirv::Word,
1217        operation: spirv::GroupOperation,
1218        value: spirv::Word,
1219        cluster_size: Option<spirv::Word>,
1220    },
1221    GroupNonUniformFAdd {
1222        execution: spirv::Word,
1223        operation: spirv::GroupOperation,
1224        value: spirv::Word,
1225        cluster_size: Option<spirv::Word>,
1226    },
1227    GroupNonUniformIMul {
1228        execution: spirv::Word,
1229        operation: spirv::GroupOperation,
1230        value: spirv::Word,
1231        cluster_size: Option<spirv::Word>,
1232    },
1233    GroupNonUniformFMul {
1234        execution: spirv::Word,
1235        operation: spirv::GroupOperation,
1236        value: spirv::Word,
1237        cluster_size: Option<spirv::Word>,
1238    },
1239    GroupNonUniformSMin {
1240        execution: spirv::Word,
1241        operation: spirv::GroupOperation,
1242        value: spirv::Word,
1243        cluster_size: Option<spirv::Word>,
1244    },
1245    GroupNonUniformUMin {
1246        execution: spirv::Word,
1247        operation: spirv::GroupOperation,
1248        value: spirv::Word,
1249        cluster_size: Option<spirv::Word>,
1250    },
1251    GroupNonUniformFMin {
1252        execution: spirv::Word,
1253        operation: spirv::GroupOperation,
1254        value: spirv::Word,
1255        cluster_size: Option<spirv::Word>,
1256    },
1257    GroupNonUniformSMax {
1258        execution: spirv::Word,
1259        operation: spirv::GroupOperation,
1260        value: spirv::Word,
1261        cluster_size: Option<spirv::Word>,
1262    },
1263    GroupNonUniformUMax {
1264        execution: spirv::Word,
1265        operation: spirv::GroupOperation,
1266        value: spirv::Word,
1267        cluster_size: Option<spirv::Word>,
1268    },
1269    GroupNonUniformFMax {
1270        execution: spirv::Word,
1271        operation: spirv::GroupOperation,
1272        value: spirv::Word,
1273        cluster_size: Option<spirv::Word>,
1274    },
1275    GroupNonUniformBitwiseAnd {
1276        execution: spirv::Word,
1277        operation: spirv::GroupOperation,
1278        value: spirv::Word,
1279        cluster_size: Option<spirv::Word>,
1280    },
1281    GroupNonUniformBitwiseOr {
1282        execution: spirv::Word,
1283        operation: spirv::GroupOperation,
1284        value: spirv::Word,
1285        cluster_size: Option<spirv::Word>,
1286    },
1287    GroupNonUniformBitwiseXor {
1288        execution: spirv::Word,
1289        operation: spirv::GroupOperation,
1290        value: spirv::Word,
1291        cluster_size: Option<spirv::Word>,
1292    },
1293    GroupNonUniformLogicalAnd {
1294        execution: spirv::Word,
1295        operation: spirv::GroupOperation,
1296        value: spirv::Word,
1297        cluster_size: Option<spirv::Word>,
1298    },
1299    GroupNonUniformLogicalOr {
1300        execution: spirv::Word,
1301        operation: spirv::GroupOperation,
1302        value: spirv::Word,
1303        cluster_size: Option<spirv::Word>,
1304    },
1305    GroupNonUniformLogicalXor {
1306        execution: spirv::Word,
1307        operation: spirv::GroupOperation,
1308        value: spirv::Word,
1309        cluster_size: Option<spirv::Word>,
1310    },
1311    GroupNonUniformQuadBroadcast {
1312        execution: spirv::Word,
1313        value: spirv::Word,
1314        index: spirv::Word,
1315    },
1316    GroupNonUniformQuadSwap {
1317        execution: spirv::Word,
1318        value: spirv::Word,
1319        direction: spirv::Word,
1320    },
1321    CopyLogical {
1322        operand: spirv::Word,
1323    },
1324    PtrEqual {
1325        operand_1: spirv::Word,
1326        operand_2: spirv::Word,
1327    },
1328    PtrNotEqual {
1329        operand_1: spirv::Word,
1330        operand_2: spirv::Word,
1331    },
1332    PtrDiff {
1333        operand_1: spirv::Word,
1334        operand_2: spirv::Word,
1335    },
1336    ColorAttachmentReadEXT {
1337        attachment: spirv::Word,
1338        sample: Option<spirv::Word>,
1339    },
1340    DepthAttachmentReadEXT {
1341        sample: Option<spirv::Word>,
1342    },
1343    StencilAttachmentReadEXT {
1344        sample: Option<spirv::Word>,
1345    },
1346    SubgroupBallotKHR {
1347        predicate: spirv::Word,
1348    },
1349    SubgroupFirstInvocationKHR {
1350        value: spirv::Word,
1351    },
1352    SubgroupAllKHR {
1353        predicate: spirv::Word,
1354    },
1355    SubgroupAnyKHR {
1356        predicate: spirv::Word,
1357    },
1358    SubgroupAllEqualKHR {
1359        predicate: spirv::Word,
1360    },
1361    GroupNonUniformRotateKHR {
1362        execution: spirv::Word,
1363        value: spirv::Word,
1364        delta: spirv::Word,
1365        cluster_size: Option<spirv::Word>,
1366    },
1367    SubgroupReadInvocationKHR {
1368        value: spirv::Word,
1369        index: spirv::Word,
1370    },
1371    TraceRayKHR {
1372        accel: spirv::Word,
1373        ray_flags: spirv::Word,
1374        cull_mask: spirv::Word,
1375        sbt_offset: spirv::Word,
1376        sbt_stride: spirv::Word,
1377        miss_index: spirv::Word,
1378        ray_origin: spirv::Word,
1379        ray_tmin: spirv::Word,
1380        ray_direction: spirv::Word,
1381        ray_tmax: spirv::Word,
1382        payload: spirv::Word,
1383    },
1384    ExecuteCallableKHR {
1385        sbt_index: spirv::Word,
1386        callable_data: spirv::Word,
1387    },
1388    ConvertUToAccelerationStructureKHR {
1389        accel: spirv::Word,
1390    },
1391    SDot {
1392        vector_1: spirv::Word,
1393        vector_2: spirv::Word,
1394        packed_vector_format: Option<spirv::PackedVectorFormat>,
1395    },
1396    UDot {
1397        vector_1: spirv::Word,
1398        vector_2: spirv::Word,
1399        packed_vector_format: Option<spirv::PackedVectorFormat>,
1400    },
1401    SUDot {
1402        vector_1: spirv::Word,
1403        vector_2: spirv::Word,
1404        packed_vector_format: Option<spirv::PackedVectorFormat>,
1405    },
1406    SDotAccSat {
1407        vector_1: spirv::Word,
1408        vector_2: spirv::Word,
1409        accumulator: spirv::Word,
1410        packed_vector_format: Option<spirv::PackedVectorFormat>,
1411    },
1412    UDotAccSat {
1413        vector_1: spirv::Word,
1414        vector_2: spirv::Word,
1415        accumulator: spirv::Word,
1416        packed_vector_format: Option<spirv::PackedVectorFormat>,
1417    },
1418    SUDotAccSat {
1419        vector_1: spirv::Word,
1420        vector_2: spirv::Word,
1421        accumulator: spirv::Word,
1422        packed_vector_format: Option<spirv::PackedVectorFormat>,
1423    },
1424    CooperativeMatrixLoadKHR {
1425        pointer: spirv::Word,
1426        memory_layout: spirv::Word,
1427        stride: Option<spirv::Word>,
1428        memory_operand: Option<spirv::MemoryAccess>,
1429    },
1430    CooperativeMatrixStoreKHR {
1431        pointer: spirv::Word,
1432        object: spirv::Word,
1433        memory_layout: spirv::Word,
1434        stride: Option<spirv::Word>,
1435        memory_operand: Option<spirv::MemoryAccess>,
1436    },
1437    CooperativeMatrixMulAddKHR {
1438        a: spirv::Word,
1439        b: spirv::Word,
1440        c: spirv::Word,
1441        cooperative_matrix_operands: Option<spirv::CooperativeMatrixOperands>,
1442    },
1443    CooperativeMatrixLengthKHR {
1444        ty: Token<Type>,
1445    },
1446    RayQueryInitializeKHR {
1447        ray_query: spirv::Word,
1448        accel: spirv::Word,
1449        ray_flags: spirv::Word,
1450        cull_mask: spirv::Word,
1451        ray_origin: spirv::Word,
1452        ray_t_min: spirv::Word,
1453        ray_direction: spirv::Word,
1454        ray_t_max: spirv::Word,
1455    },
1456    RayQueryTerminateKHR {
1457        ray_query: spirv::Word,
1458    },
1459    RayQueryGenerateIntersectionKHR {
1460        ray_query: spirv::Word,
1461        hit_t: spirv::Word,
1462    },
1463    RayQueryConfirmIntersectionKHR {
1464        ray_query: spirv::Word,
1465    },
1466    RayQueryProceedKHR {
1467        ray_query: spirv::Word,
1468    },
1469    RayQueryGetIntersectionTypeKHR {
1470        ray_query: spirv::Word,
1471        intersection: spirv::Word,
1472    },
1473    ImageSampleWeightedQCOM {
1474        texture: spirv::Word,
1475        coordinates: spirv::Word,
1476        weights: spirv::Word,
1477    },
1478    ImageBoxFilterQCOM {
1479        texture: spirv::Word,
1480        coordinates: spirv::Word,
1481        box_size: spirv::Word,
1482    },
1483    ImageBlockMatchSSDQCOM {
1484        target: spirv::Word,
1485        target_coordinates: spirv::Word,
1486        reference: spirv::Word,
1487        reference_coordinates: spirv::Word,
1488        block_size: spirv::Word,
1489    },
1490    ImageBlockMatchSADQCOM {
1491        target: spirv::Word,
1492        target_coordinates: spirv::Word,
1493        reference: spirv::Word,
1494        reference_coordinates: spirv::Word,
1495        block_size: spirv::Word,
1496    },
1497    GroupIAddNonUniformAMD {
1498        execution: spirv::Word,
1499        operation: spirv::GroupOperation,
1500        x: spirv::Word,
1501    },
1502    GroupFAddNonUniformAMD {
1503        execution: spirv::Word,
1504        operation: spirv::GroupOperation,
1505        x: spirv::Word,
1506    },
1507    GroupFMinNonUniformAMD {
1508        execution: spirv::Word,
1509        operation: spirv::GroupOperation,
1510        x: spirv::Word,
1511    },
1512    GroupUMinNonUniformAMD {
1513        execution: spirv::Word,
1514        operation: spirv::GroupOperation,
1515        x: spirv::Word,
1516    },
1517    GroupSMinNonUniformAMD {
1518        execution: spirv::Word,
1519        operation: spirv::GroupOperation,
1520        x: spirv::Word,
1521    },
1522    GroupFMaxNonUniformAMD {
1523        execution: spirv::Word,
1524        operation: spirv::GroupOperation,
1525        x: spirv::Word,
1526    },
1527    GroupUMaxNonUniformAMD {
1528        execution: spirv::Word,
1529        operation: spirv::GroupOperation,
1530        x: spirv::Word,
1531    },
1532    GroupSMaxNonUniformAMD {
1533        execution: spirv::Word,
1534        operation: spirv::GroupOperation,
1535        x: spirv::Word,
1536    },
1537    FragmentMaskFetchAMD {
1538        image: spirv::Word,
1539        coordinate: spirv::Word,
1540    },
1541    FragmentFetchAMD {
1542        image: spirv::Word,
1543        coordinate: spirv::Word,
1544        fragment_index: spirv::Word,
1545    },
1546    ReadClockKHR {
1547        scope: spirv::Word,
1548    },
1549    FinalizeNodePayloadsAMDX {
1550        payload_array: spirv::Word,
1551    },
1552    FinishWritingNodePayloadAMDX {
1553        payload: spirv::Word,
1554    },
1555    InitializeNodePayloadsAMDX {
1556        payload_array: spirv::Word,
1557        visibility: spirv::Word,
1558        payload_count: spirv::Word,
1559        node_index: spirv::Word,
1560    },
1561    HitObjectRecordHitMotionNV {
1562        hit_object: spirv::Word,
1563        acceleration_structure: spirv::Word,
1564        instance_id: spirv::Word,
1565        primitive_id: spirv::Word,
1566        geometry_index: spirv::Word,
1567        hit_kind: spirv::Word,
1568        sbt_record_offset: spirv::Word,
1569        sbt_record_stride: spirv::Word,
1570        origin: spirv::Word,
1571        t_min: spirv::Word,
1572        direction: spirv::Word,
1573        t_max: spirv::Word,
1574        current_time: spirv::Word,
1575        hit_object_attributes: spirv::Word,
1576    },
1577    HitObjectRecordHitWithIndexMotionNV {
1578        hit_object: spirv::Word,
1579        acceleration_structure: spirv::Word,
1580        instance_id: spirv::Word,
1581        primitive_id: spirv::Word,
1582        geometry_index: spirv::Word,
1583        hit_kind: spirv::Word,
1584        sbt_record_index: spirv::Word,
1585        origin: spirv::Word,
1586        t_min: spirv::Word,
1587        direction: spirv::Word,
1588        t_max: spirv::Word,
1589        current_time: spirv::Word,
1590        hit_object_attributes: spirv::Word,
1591    },
1592    HitObjectRecordMissMotionNV {
1593        hit_object: spirv::Word,
1594        sbt_index: spirv::Word,
1595        origin: spirv::Word,
1596        t_min: spirv::Word,
1597        direction: spirv::Word,
1598        t_max: spirv::Word,
1599        current_time: spirv::Word,
1600    },
1601    HitObjectGetWorldToObjectNV {
1602        hit_object: spirv::Word,
1603    },
1604    HitObjectGetObjectToWorldNV {
1605        hit_object: spirv::Word,
1606    },
1607    HitObjectGetObjectRayDirectionNV {
1608        hit_object: spirv::Word,
1609    },
1610    HitObjectGetObjectRayOriginNV {
1611        hit_object: spirv::Word,
1612    },
1613    HitObjectTraceRayMotionNV {
1614        hit_object: spirv::Word,
1615        acceleration_structure: spirv::Word,
1616        ray_flags: spirv::Word,
1617        cullmask: spirv::Word,
1618        sbt_record_offset: spirv::Word,
1619        sbt_record_stride: spirv::Word,
1620        miss_index: spirv::Word,
1621        origin: spirv::Word,
1622        t_min: spirv::Word,
1623        direction: spirv::Word,
1624        t_max: spirv::Word,
1625        time: spirv::Word,
1626        payload: spirv::Word,
1627    },
1628    HitObjectGetShaderRecordBufferHandleNV {
1629        hit_object: spirv::Word,
1630    },
1631    HitObjectGetShaderBindingTableRecordIndexNV {
1632        hit_object: spirv::Word,
1633    },
1634    HitObjectRecordEmptyNV {
1635        hit_object: spirv::Word,
1636    },
1637    HitObjectTraceRayNV {
1638        hit_object: spirv::Word,
1639        acceleration_structure: spirv::Word,
1640        ray_flags: spirv::Word,
1641        cullmask: spirv::Word,
1642        sbt_record_offset: spirv::Word,
1643        sbt_record_stride: spirv::Word,
1644        miss_index: spirv::Word,
1645        origin: spirv::Word,
1646        t_min: spirv::Word,
1647        direction: spirv::Word,
1648        t_max: spirv::Word,
1649        payload: spirv::Word,
1650    },
1651    HitObjectRecordHitNV {
1652        hit_object: spirv::Word,
1653        acceleration_structure: spirv::Word,
1654        instance_id: spirv::Word,
1655        primitive_id: spirv::Word,
1656        geometry_index: spirv::Word,
1657        hit_kind: spirv::Word,
1658        sbt_record_offset: spirv::Word,
1659        sbt_record_stride: spirv::Word,
1660        origin: spirv::Word,
1661        t_min: spirv::Word,
1662        direction: spirv::Word,
1663        t_max: spirv::Word,
1664        hit_object_attributes: spirv::Word,
1665    },
1666    HitObjectRecordHitWithIndexNV {
1667        hit_object: spirv::Word,
1668        acceleration_structure: spirv::Word,
1669        instance_id: spirv::Word,
1670        primitive_id: spirv::Word,
1671        geometry_index: spirv::Word,
1672        hit_kind: spirv::Word,
1673        sbt_record_index: spirv::Word,
1674        origin: spirv::Word,
1675        t_min: spirv::Word,
1676        direction: spirv::Word,
1677        t_max: spirv::Word,
1678        hit_object_attributes: spirv::Word,
1679    },
1680    HitObjectRecordMissNV {
1681        hit_object: spirv::Word,
1682        sbt_index: spirv::Word,
1683        origin: spirv::Word,
1684        t_min: spirv::Word,
1685        direction: spirv::Word,
1686        t_max: spirv::Word,
1687    },
1688    HitObjectExecuteShaderNV {
1689        hit_object: spirv::Word,
1690        payload: spirv::Word,
1691    },
1692    HitObjectGetCurrentTimeNV {
1693        hit_object: spirv::Word,
1694    },
1695    HitObjectGetAttributesNV {
1696        hit_object: spirv::Word,
1697        hit_object_attribute: spirv::Word,
1698    },
1699    HitObjectGetHitKindNV {
1700        hit_object: spirv::Word,
1701    },
1702    HitObjectGetPrimitiveIndexNV {
1703        hit_object: spirv::Word,
1704    },
1705    HitObjectGetGeometryIndexNV {
1706        hit_object: spirv::Word,
1707    },
1708    HitObjectGetInstanceIdNV {
1709        hit_object: spirv::Word,
1710    },
1711    HitObjectGetInstanceCustomIndexNV {
1712        hit_object: spirv::Word,
1713    },
1714    HitObjectGetWorldRayDirectionNV {
1715        hit_object: spirv::Word,
1716    },
1717    HitObjectGetWorldRayOriginNV {
1718        hit_object: spirv::Word,
1719    },
1720    HitObjectGetRayTMaxNV {
1721        hit_object: spirv::Word,
1722    },
1723    HitObjectGetRayTMinNV {
1724        hit_object: spirv::Word,
1725    },
1726    HitObjectIsEmptyNV {
1727        hit_object: spirv::Word,
1728    },
1729    HitObjectIsHitNV {
1730        hit_object: spirv::Word,
1731    },
1732    HitObjectIsMissNV {
1733        hit_object: spirv::Word,
1734    },
1735    ReorderThreadWithHitObjectNV {
1736        hit_object: spirv::Word,
1737        hint: Option<spirv::Word>,
1738        bits: Option<spirv::Word>,
1739    },
1740    ReorderThreadWithHintNV {
1741        hint: spirv::Word,
1742        bits: spirv::Word,
1743    },
1744    ImageSampleFootprintNV {
1745        sampled_image: spirv::Word,
1746        coordinate: spirv::Word,
1747        granularity: spirv::Word,
1748        coarse: spirv::Word,
1749        image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1750    },
1751    SetMeshOutputsEXT {
1752        vertex_count: spirv::Word,
1753        primitive_count: spirv::Word,
1754    },
1755    GroupNonUniformPartitionNV {
1756        value: spirv::Word,
1757    },
1758    WritePackedPrimitiveIndices4x8NV {
1759        index_offset: spirv::Word,
1760        packed_indices: spirv::Word,
1761    },
1762    FetchMicroTriangleVertexPositionNV {
1763        accel: spirv::Word,
1764        instance_id: spirv::Word,
1765        geometry_index: spirv::Word,
1766        primitive_index: spirv::Word,
1767        barycentric: spirv::Word,
1768    },
1769    FetchMicroTriangleVertexBarycentricNV {
1770        accel: spirv::Word,
1771        instance_id: spirv::Word,
1772        geometry_index: spirv::Word,
1773        primitive_index: spirv::Word,
1774        barycentric: spirv::Word,
1775    },
1776    ReportIntersectionKHR {
1777        hit: spirv::Word,
1778        hit_kind: spirv::Word,
1779    },
1780    IgnoreIntersectionNV,
1781    TerminateRayNV,
1782    TraceNV {
1783        accel: spirv::Word,
1784        ray_flags: spirv::Word,
1785        cull_mask: spirv::Word,
1786        sbt_offset: spirv::Word,
1787        sbt_stride: spirv::Word,
1788        miss_index: spirv::Word,
1789        ray_origin: spirv::Word,
1790        ray_tmin: spirv::Word,
1791        ray_direction: spirv::Word,
1792        ray_tmax: spirv::Word,
1793        payload_id: spirv::Word,
1794    },
1795    TraceMotionNV {
1796        accel: spirv::Word,
1797        ray_flags: spirv::Word,
1798        cull_mask: spirv::Word,
1799        sbt_offset: spirv::Word,
1800        sbt_stride: spirv::Word,
1801        miss_index: spirv::Word,
1802        ray_origin: spirv::Word,
1803        ray_tmin: spirv::Word,
1804        ray_direction: spirv::Word,
1805        ray_tmax: spirv::Word,
1806        time: spirv::Word,
1807        payload_id: spirv::Word,
1808    },
1809    TraceRayMotionNV {
1810        accel: spirv::Word,
1811        ray_flags: spirv::Word,
1812        cull_mask: spirv::Word,
1813        sbt_offset: spirv::Word,
1814        sbt_stride: spirv::Word,
1815        miss_index: spirv::Word,
1816        ray_origin: spirv::Word,
1817        ray_tmin: spirv::Word,
1818        ray_direction: spirv::Word,
1819        ray_tmax: spirv::Word,
1820        time: spirv::Word,
1821        payload: spirv::Word,
1822    },
1823    RayQueryGetIntersectionTriangleVertexPositionsKHR {
1824        ray_query: spirv::Word,
1825        intersection: spirv::Word,
1826    },
1827    ExecuteCallableNV {
1828        sbt_index: spirv::Word,
1829        callable_data_id: spirv::Word,
1830    },
1831    CooperativeMatrixLoadNV {
1832        pointer: spirv::Word,
1833        stride: spirv::Word,
1834        column_major: spirv::Word,
1835        memory_access: Option<spirv::MemoryAccess>,
1836    },
1837    CooperativeMatrixStoreNV {
1838        pointer: spirv::Word,
1839        object: spirv::Word,
1840        stride: spirv::Word,
1841        column_major: spirv::Word,
1842        memory_access: Option<spirv::MemoryAccess>,
1843    },
1844    CooperativeMatrixMulAddNV {
1845        a: spirv::Word,
1846        b: spirv::Word,
1847        c: spirv::Word,
1848    },
1849    CooperativeMatrixLengthNV {
1850        ty: Token<Type>,
1851    },
1852    BeginInvocationInterlockEXT,
1853    EndInvocationInterlockEXT,
1854    IsHelperInvocationEXT,
1855    ConvertUToImageNV {
1856        operand: spirv::Word,
1857    },
1858    ConvertUToSamplerNV {
1859        operand: spirv::Word,
1860    },
1861    ConvertImageToUNV {
1862        operand: spirv::Word,
1863    },
1864    ConvertSamplerToUNV {
1865        operand: spirv::Word,
1866    },
1867    ConvertUToSampledImageNV {
1868        operand: spirv::Word,
1869    },
1870    ConvertSampledImageToUNV {
1871        operand: spirv::Word,
1872    },
1873    SamplerImageAddressingModeNV {
1874        bit_width: u32,
1875    },
1876    SubgroupShuffleINTEL {
1877        data: spirv::Word,
1878        invocation_id: spirv::Word,
1879    },
1880    SubgroupShuffleDownINTEL {
1881        current: spirv::Word,
1882        next: spirv::Word,
1883        delta: spirv::Word,
1884    },
1885    SubgroupShuffleUpINTEL {
1886        previous: spirv::Word,
1887        current: spirv::Word,
1888        delta: spirv::Word,
1889    },
1890    SubgroupShuffleXorINTEL {
1891        data: spirv::Word,
1892        value: spirv::Word,
1893    },
1894    SubgroupBlockReadINTEL {
1895        ptr: spirv::Word,
1896    },
1897    SubgroupBlockWriteINTEL {
1898        ptr: spirv::Word,
1899        data: spirv::Word,
1900    },
1901    SubgroupImageBlockReadINTEL {
1902        image: spirv::Word,
1903        coordinate: spirv::Word,
1904    },
1905    SubgroupImageBlockWriteINTEL {
1906        image: spirv::Word,
1907        coordinate: spirv::Word,
1908        data: spirv::Word,
1909    },
1910    SubgroupImageMediaBlockReadINTEL {
1911        image: spirv::Word,
1912        coordinate: spirv::Word,
1913        width: spirv::Word,
1914        height: spirv::Word,
1915    },
1916    SubgroupImageMediaBlockWriteINTEL {
1917        image: spirv::Word,
1918        coordinate: spirv::Word,
1919        width: spirv::Word,
1920        height: spirv::Word,
1921        data: spirv::Word,
1922    },
1923    UCountLeadingZerosINTEL {
1924        operand: spirv::Word,
1925    },
1926    UCountTrailingZerosINTEL {
1927        operand: spirv::Word,
1928    },
1929    AbsISubINTEL {
1930        operand_1: spirv::Word,
1931        operand_2: spirv::Word,
1932    },
1933    AbsUSubINTEL {
1934        operand_1: spirv::Word,
1935        operand_2: spirv::Word,
1936    },
1937    IAddSatINTEL {
1938        operand_1: spirv::Word,
1939        operand_2: spirv::Word,
1940    },
1941    UAddSatINTEL {
1942        operand_1: spirv::Word,
1943        operand_2: spirv::Word,
1944    },
1945    IAverageINTEL {
1946        operand_1: spirv::Word,
1947        operand_2: spirv::Word,
1948    },
1949    UAverageINTEL {
1950        operand_1: spirv::Word,
1951        operand_2: spirv::Word,
1952    },
1953    IAverageRoundedINTEL {
1954        operand_1: spirv::Word,
1955        operand_2: spirv::Word,
1956    },
1957    UAverageRoundedINTEL {
1958        operand_1: spirv::Word,
1959        operand_2: spirv::Word,
1960    },
1961    ISubSatINTEL {
1962        operand_1: spirv::Word,
1963        operand_2: spirv::Word,
1964    },
1965    USubSatINTEL {
1966        operand_1: spirv::Word,
1967        operand_2: spirv::Word,
1968    },
1969    IMul32x16INTEL {
1970        operand_1: spirv::Word,
1971        operand_2: spirv::Word,
1972    },
1973    UMul32x16INTEL {
1974        operand_1: spirv::Word,
1975        operand_2: spirv::Word,
1976    },
1977    ConstantFunctionPointerINTEL {
1978        function: spirv::Word,
1979    },
1980    FunctionPointerCallINTEL {
1981        operand_1: Vec<spirv::Word>,
1982    },
1983    AsmTargetINTEL {
1984        asm_target: String,
1985    },
1986    AsmINTEL {
1987        asm_type: spirv::Word,
1988        target: spirv::Word,
1989        asm_instructions: String,
1990        constraints: String,
1991    },
1992    AsmCallINTEL {
1993        asm: spirv::Word,
1994        argument_0: Vec<spirv::Word>,
1995    },
1996    AtomicFMinEXT {
1997        pointer: spirv::Word,
1998        memory: spirv::Word,
1999        semantics: spirv::Word,
2000        value: spirv::Word,
2001    },
2002    AtomicFMaxEXT {
2003        pointer: spirv::Word,
2004        memory: spirv::Word,
2005        semantics: spirv::Word,
2006        value: spirv::Word,
2007    },
2008    AssumeTrueKHR {
2009        condition: spirv::Word,
2010    },
2011    ExpectKHR {
2012        value: spirv::Word,
2013        expected_value: spirv::Word,
2014    },
2015    DecorateString {
2016        target: spirv::Word,
2017        decoration: spirv::Decoration,
2018    },
2019    MemberDecorateString {
2020        struct_type: Token<Type>,
2021        member: u32,
2022        decoration: spirv::Decoration,
2023    },
2024    VmeImageINTEL {
2025        image_type: Token<Type>,
2026        sampler: spirv::Word,
2027    },
2028    TypeVmeImageINTEL {
2029        image_type: Token<Type>,
2030    },
2031    TypeAvcImePayloadINTEL,
2032    TypeAvcRefPayloadINTEL,
2033    TypeAvcSicPayloadINTEL,
2034    TypeAvcMcePayloadINTEL,
2035    TypeAvcMceResultINTEL,
2036    TypeAvcImeResultINTEL,
2037    TypeAvcImeResultSingleReferenceStreamoutINTEL,
2038    TypeAvcImeResultDualReferenceStreamoutINTEL,
2039    TypeAvcImeSingleReferenceStreaminINTEL,
2040    TypeAvcImeDualReferenceStreaminINTEL,
2041    TypeAvcRefResultINTEL,
2042    TypeAvcSicResultINTEL,
2043    SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL {
2044        slice_type: Token<Type>,
2045        qp: spirv::Word,
2046    },
2047    SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL {
2048        reference_base_penalty: spirv::Word,
2049        payload: spirv::Word,
2050    },
2051    SubgroupAvcMceGetDefaultInterShapePenaltyINTEL {
2052        slice_type: Token<Type>,
2053        qp: spirv::Word,
2054    },
2055    SubgroupAvcMceSetInterShapePenaltyINTEL {
2056        packed_shape_penalty: spirv::Word,
2057        payload: spirv::Word,
2058    },
2059    SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL {
2060        slice_type: Token<Type>,
2061        qp: spirv::Word,
2062    },
2063    SubgroupAvcMceSetInterDirectionPenaltyINTEL {
2064        direction_cost: spirv::Word,
2065        payload: spirv::Word,
2066    },
2067    SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL {
2068        slice_type: Token<Type>,
2069        qp: spirv::Word,
2070    },
2071    SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL {
2072        slice_type: Token<Type>,
2073        qp: spirv::Word,
2074    },
2075    SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL,
2076    SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL,
2077    SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL,
2078    SubgroupAvcMceSetMotionVectorCostFunctionINTEL {
2079        packed_cost_center_delta: spirv::Word,
2080        packed_cost_table: spirv::Word,
2081        cost_precision: spirv::Word,
2082        payload: spirv::Word,
2083    },
2084    SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL {
2085        slice_type: Token<Type>,
2086        qp: spirv::Word,
2087    },
2088    SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL,
2089    SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL,
2090    SubgroupAvcMceSetAcOnlyHaarINTEL {
2091        payload: spirv::Word,
2092    },
2093    SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL {
2094        source_field_polarity: spirv::Word,
2095        payload: spirv::Word,
2096    },
2097    SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL {
2098        reference_field_polarity: spirv::Word,
2099        payload: spirv::Word,
2100    },
2101    SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL {
2102        forward_reference_field_polarity: spirv::Word,
2103        backward_reference_field_polarity: spirv::Word,
2104        payload: spirv::Word,
2105    },
2106    SubgroupAvcMceConvertToImePayloadINTEL {
2107        payload: spirv::Word,
2108    },
2109    SubgroupAvcMceConvertToImeResultINTEL {
2110        payload: spirv::Word,
2111    },
2112    SubgroupAvcMceConvertToRefPayloadINTEL {
2113        payload: spirv::Word,
2114    },
2115    SubgroupAvcMceConvertToRefResultINTEL {
2116        payload: spirv::Word,
2117    },
2118    SubgroupAvcMceConvertToSicPayloadINTEL {
2119        payload: spirv::Word,
2120    },
2121    SubgroupAvcMceConvertToSicResultINTEL {
2122        payload: spirv::Word,
2123    },
2124    SubgroupAvcMceGetMotionVectorsINTEL {
2125        payload: spirv::Word,
2126    },
2127    SubgroupAvcMceGetInterDistortionsINTEL {
2128        payload: spirv::Word,
2129    },
2130    SubgroupAvcMceGetBestInterDistortionsINTEL {
2131        payload: spirv::Word,
2132    },
2133    SubgroupAvcMceGetInterMajorShapeINTEL {
2134        payload: spirv::Word,
2135    },
2136    SubgroupAvcMceGetInterMinorShapeINTEL {
2137        payload: spirv::Word,
2138    },
2139    SubgroupAvcMceGetInterDirectionsINTEL {
2140        payload: spirv::Word,
2141    },
2142    SubgroupAvcMceGetInterMotionVectorCountINTEL {
2143        payload: spirv::Word,
2144    },
2145    SubgroupAvcMceGetInterReferenceIdsINTEL {
2146        payload: spirv::Word,
2147    },
2148    SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL {
2149        packed_reference_ids: spirv::Word,
2150        packed_reference_parameter_field_polarities: spirv::Word,
2151        payload: spirv::Word,
2152    },
2153    SubgroupAvcImeInitializeINTEL {
2154        src_coord: spirv::Word,
2155        partition_mask: spirv::Word,
2156        sad_adjustment: spirv::Word,
2157    },
2158    SubgroupAvcImeSetSingleReferenceINTEL {
2159        ref_offset: spirv::Word,
2160        search_window_config: spirv::Word,
2161        payload: spirv::Word,
2162    },
2163    SubgroupAvcImeSetDualReferenceINTEL {
2164        fwd_ref_offset: spirv::Word,
2165        bwd_ref_offset: spirv::Word,
2166        id_search_window_config: spirv::Word,
2167        payload: spirv::Word,
2168    },
2169    SubgroupAvcImeRefWindowSizeINTEL {
2170        search_window_config: spirv::Word,
2171        dual_ref: spirv::Word,
2172    },
2173    SubgroupAvcImeAdjustRefOffsetINTEL {
2174        ref_offset: spirv::Word,
2175        src_coord: spirv::Word,
2176        ref_window_size: spirv::Word,
2177        image_size: spirv::Word,
2178    },
2179    SubgroupAvcImeConvertToMcePayloadINTEL {
2180        payload: spirv::Word,
2181    },
2182    SubgroupAvcImeSetMaxMotionVectorCountINTEL {
2183        max_motion_vector_count: spirv::Word,
2184        payload: spirv::Word,
2185    },
2186    SubgroupAvcImeSetUnidirectionalMixDisableINTEL {
2187        payload: spirv::Word,
2188    },
2189    SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL {
2190        threshold: spirv::Word,
2191        payload: spirv::Word,
2192    },
2193    SubgroupAvcImeSetWeightedSadINTEL {
2194        packed_sad_weights: spirv::Word,
2195        payload: spirv::Word,
2196    },
2197    SubgroupAvcImeEvaluateWithSingleReferenceINTEL {
2198        src_image: spirv::Word,
2199        ref_image: spirv::Word,
2200        payload: spirv::Word,
2201    },
2202    SubgroupAvcImeEvaluateWithDualReferenceINTEL {
2203        src_image: spirv::Word,
2204        fwd_ref_image: spirv::Word,
2205        bwd_ref_image: spirv::Word,
2206        payload: spirv::Word,
2207    },
2208    SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL {
2209        src_image: spirv::Word,
2210        ref_image: spirv::Word,
2211        payload: spirv::Word,
2212        streamin_components: spirv::Word,
2213    },
2214    SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL {
2215        src_image: spirv::Word,
2216        fwd_ref_image: spirv::Word,
2217        bwd_ref_image: spirv::Word,
2218        payload: spirv::Word,
2219        streamin_components: spirv::Word,
2220    },
2221    SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL {
2222        src_image: spirv::Word,
2223        ref_image: spirv::Word,
2224        payload: spirv::Word,
2225    },
2226    SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL {
2227        src_image: spirv::Word,
2228        fwd_ref_image: spirv::Word,
2229        bwd_ref_image: spirv::Word,
2230        payload: spirv::Word,
2231    },
2232    SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL {
2233        src_image: spirv::Word,
2234        ref_image: spirv::Word,
2235        payload: spirv::Word,
2236        streamin_components: spirv::Word,
2237    },
2238    SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL {
2239        src_image: spirv::Word,
2240        fwd_ref_image: spirv::Word,
2241        bwd_ref_image: spirv::Word,
2242        payload: spirv::Word,
2243        streamin_components: spirv::Word,
2244    },
2245    SubgroupAvcImeConvertToMceResultINTEL {
2246        payload: spirv::Word,
2247    },
2248    SubgroupAvcImeGetSingleReferenceStreaminINTEL {
2249        payload: spirv::Word,
2250    },
2251    SubgroupAvcImeGetDualReferenceStreaminINTEL {
2252        payload: spirv::Word,
2253    },
2254    SubgroupAvcImeStripSingleReferenceStreamoutINTEL {
2255        payload: spirv::Word,
2256    },
2257    SubgroupAvcImeStripDualReferenceStreamoutINTEL {
2258        payload: spirv::Word,
2259    },
2260    SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL {
2261        payload: spirv::Word,
2262        major_shape: spirv::Word,
2263    },
2264    SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL {
2265        payload: spirv::Word,
2266        major_shape: spirv::Word,
2267    },
2268    SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL {
2269        payload: spirv::Word,
2270        major_shape: spirv::Word,
2271    },
2272    SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL {
2273        payload: spirv::Word,
2274        major_shape: spirv::Word,
2275        direction: spirv::Word,
2276    },
2277    SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL {
2278        payload: spirv::Word,
2279        major_shape: spirv::Word,
2280        direction: spirv::Word,
2281    },
2282    SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL {
2283        payload: spirv::Word,
2284        major_shape: spirv::Word,
2285        direction: spirv::Word,
2286    },
2287    SubgroupAvcImeGetBorderReachedINTEL {
2288        image_select: spirv::Word,
2289        payload: spirv::Word,
2290    },
2291    SubgroupAvcImeGetTruncatedSearchIndicationINTEL {
2292        payload: spirv::Word,
2293    },
2294    SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL {
2295        payload: spirv::Word,
2296    },
2297    SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL {
2298        payload: spirv::Word,
2299    },
2300    SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL {
2301        payload: spirv::Word,
2302    },
2303    SubgroupAvcFmeInitializeINTEL {
2304        src_coord: spirv::Word,
2305        motion_vectors: spirv::Word,
2306        major_shapes: spirv::Word,
2307        minor_shapes: spirv::Word,
2308        direction: spirv::Word,
2309        pixel_resolution: spirv::Word,
2310        sad_adjustment: spirv::Word,
2311    },
2312    SubgroupAvcBmeInitializeINTEL {
2313        src_coord: spirv::Word,
2314        motion_vectors: spirv::Word,
2315        major_shapes: spirv::Word,
2316        minor_shapes: spirv::Word,
2317        direction: spirv::Word,
2318        pixel_resolution: spirv::Word,
2319        bidirectional_weight: spirv::Word,
2320        sad_adjustment: spirv::Word,
2321    },
2322    SubgroupAvcRefConvertToMcePayloadINTEL {
2323        payload: spirv::Word,
2324    },
2325    SubgroupAvcRefSetBidirectionalMixDisableINTEL {
2326        payload: spirv::Word,
2327    },
2328    SubgroupAvcRefSetBilinearFilterEnableINTEL {
2329        payload: spirv::Word,
2330    },
2331    SubgroupAvcRefEvaluateWithSingleReferenceINTEL {
2332        src_image: spirv::Word,
2333        ref_image: spirv::Word,
2334        payload: spirv::Word,
2335    },
2336    SubgroupAvcRefEvaluateWithDualReferenceINTEL {
2337        src_image: spirv::Word,
2338        fwd_ref_image: spirv::Word,
2339        bwd_ref_image: spirv::Word,
2340        payload: spirv::Word,
2341    },
2342    SubgroupAvcRefEvaluateWithMultiReferenceINTEL {
2343        src_image: spirv::Word,
2344        packed_reference_ids: spirv::Word,
2345        payload: spirv::Word,
2346    },
2347    SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL {
2348        src_image: spirv::Word,
2349        packed_reference_ids: spirv::Word,
2350        packed_reference_field_polarities: spirv::Word,
2351        payload: spirv::Word,
2352    },
2353    SubgroupAvcRefConvertToMceResultINTEL {
2354        payload: spirv::Word,
2355    },
2356    SubgroupAvcSicInitializeINTEL {
2357        src_coord: spirv::Word,
2358    },
2359    SubgroupAvcSicConfigureSkcINTEL {
2360        skip_block_partition_type: Token<Type>,
2361        skip_motion_vector_mask: spirv::Word,
2362        motion_vectors: spirv::Word,
2363        bidirectional_weight: spirv::Word,
2364        sad_adjustment: spirv::Word,
2365        payload: spirv::Word,
2366    },
2367    SubgroupAvcSicConfigureIpeLumaINTEL {
2368        luma_intra_partition_mask: spirv::Word,
2369        intra_neighbour_availabilty: spirv::Word,
2370        left_edge_luma_pixels: spirv::Word,
2371        upper_left_corner_luma_pixel: spirv::Word,
2372        upper_edge_luma_pixels: spirv::Word,
2373        upper_right_edge_luma_pixels: spirv::Word,
2374        sad_adjustment: spirv::Word,
2375        payload: spirv::Word,
2376    },
2377    SubgroupAvcSicConfigureIpeLumaChromaINTEL {
2378        luma_intra_partition_mask: spirv::Word,
2379        intra_neighbour_availabilty: spirv::Word,
2380        left_edge_luma_pixels: spirv::Word,
2381        upper_left_corner_luma_pixel: spirv::Word,
2382        upper_edge_luma_pixels: spirv::Word,
2383        upper_right_edge_luma_pixels: spirv::Word,
2384        left_edge_chroma_pixels: spirv::Word,
2385        upper_left_corner_chroma_pixel: spirv::Word,
2386        upper_edge_chroma_pixels: spirv::Word,
2387        sad_adjustment: spirv::Word,
2388        payload: spirv::Word,
2389    },
2390    SubgroupAvcSicGetMotionVectorMaskINTEL {
2391        skip_block_partition_type: Token<Type>,
2392        direction: spirv::Word,
2393    },
2394    SubgroupAvcSicConvertToMcePayloadINTEL {
2395        payload: spirv::Word,
2396    },
2397    SubgroupAvcSicSetIntraLumaShapePenaltyINTEL {
2398        packed_shape_penalty: spirv::Word,
2399        payload: spirv::Word,
2400    },
2401    SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL {
2402        luma_mode_penalty: spirv::Word,
2403        luma_packed_neighbor_modes: spirv::Word,
2404        luma_packed_non_dc_penalty: spirv::Word,
2405        payload: spirv::Word,
2406    },
2407    SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL {
2408        chroma_mode_base_penalty: spirv::Word,
2409        payload: spirv::Word,
2410    },
2411    SubgroupAvcSicSetBilinearFilterEnableINTEL {
2412        payload: spirv::Word,
2413    },
2414    SubgroupAvcSicSetSkcForwardTransformEnableINTEL {
2415        packed_sad_coefficients: spirv::Word,
2416        payload: spirv::Word,
2417    },
2418    SubgroupAvcSicSetBlockBasedRawSkipSadINTEL {
2419        block_based_skip_type: Token<Type>,
2420        payload: spirv::Word,
2421    },
2422    SubgroupAvcSicEvaluateIpeINTEL {
2423        src_image: spirv::Word,
2424        payload: spirv::Word,
2425    },
2426    SubgroupAvcSicEvaluateWithSingleReferenceINTEL {
2427        src_image: spirv::Word,
2428        ref_image: spirv::Word,
2429        payload: spirv::Word,
2430    },
2431    SubgroupAvcSicEvaluateWithDualReferenceINTEL {
2432        src_image: spirv::Word,
2433        fwd_ref_image: spirv::Word,
2434        bwd_ref_image: spirv::Word,
2435        payload: spirv::Word,
2436    },
2437    SubgroupAvcSicEvaluateWithMultiReferenceINTEL {
2438        src_image: spirv::Word,
2439        packed_reference_ids: spirv::Word,
2440        payload: spirv::Word,
2441    },
2442    SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL {
2443        src_image: spirv::Word,
2444        packed_reference_ids: spirv::Word,
2445        packed_reference_field_polarities: spirv::Word,
2446        payload: spirv::Word,
2447    },
2448    SubgroupAvcSicConvertToMceResultINTEL {
2449        payload: spirv::Word,
2450    },
2451    SubgroupAvcSicGetIpeLumaShapeINTEL {
2452        payload: spirv::Word,
2453    },
2454    SubgroupAvcSicGetBestIpeLumaDistortionINTEL {
2455        payload: spirv::Word,
2456    },
2457    SubgroupAvcSicGetBestIpeChromaDistortionINTEL {
2458        payload: spirv::Word,
2459    },
2460    SubgroupAvcSicGetPackedIpeLumaModesINTEL {
2461        payload: spirv::Word,
2462    },
2463    SubgroupAvcSicGetIpeChromaModeINTEL {
2464        payload: spirv::Word,
2465    },
2466    SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL {
2467        payload: spirv::Word,
2468    },
2469    SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL {
2470        payload: spirv::Word,
2471    },
2472    SubgroupAvcSicGetInterRawSadsINTEL {
2473        payload: spirv::Word,
2474    },
2475    VariableLengthArrayINTEL {
2476        lenght: spirv::Word,
2477    },
2478    SaveMemoryINTEL,
2479    RestoreMemoryINTEL {
2480        ptr: spirv::Word,
2481    },
2482    ArbitraryFloatSinCosPiINTEL {
2483        a: spirv::Word,
2484        m1: u32,
2485        mout: u32,
2486        from_sign: u32,
2487        enable_subnormals: u32,
2488        rounding_mode: u32,
2489        rounding_accuracy: u32,
2490    },
2491    ArbitraryFloatCastINTEL {
2492        a: spirv::Word,
2493        m1: u32,
2494        mout: u32,
2495        enable_subnormals: u32,
2496        rounding_mode: u32,
2497        rounding_accuracy: u32,
2498    },
2499    ArbitraryFloatCastFromIntINTEL {
2500        a: spirv::Word,
2501        mout: u32,
2502        from_sign: u32,
2503        enable_subnormals: u32,
2504        rounding_mode: u32,
2505        rounding_accuracy: u32,
2506    },
2507    ArbitraryFloatCastToIntINTEL {
2508        a: spirv::Word,
2509        m1: u32,
2510        enable_subnormals: u32,
2511        rounding_mode: u32,
2512        rounding_accuracy: u32,
2513    },
2514    ArbitraryFloatAddINTEL {
2515        a: spirv::Word,
2516        m1: u32,
2517        b: spirv::Word,
2518        m2: u32,
2519        mout: u32,
2520        enable_subnormals: u32,
2521        rounding_mode: u32,
2522        rounding_accuracy: u32,
2523    },
2524    ArbitraryFloatSubINTEL {
2525        a: spirv::Word,
2526        m1: u32,
2527        b: spirv::Word,
2528        m2: u32,
2529        mout: u32,
2530        enable_subnormals: u32,
2531        rounding_mode: u32,
2532        rounding_accuracy: u32,
2533    },
2534    ArbitraryFloatMulINTEL {
2535        a: spirv::Word,
2536        m1: u32,
2537        b: spirv::Word,
2538        m2: u32,
2539        mout: u32,
2540        enable_subnormals: u32,
2541        rounding_mode: u32,
2542        rounding_accuracy: u32,
2543    },
2544    ArbitraryFloatDivINTEL {
2545        a: spirv::Word,
2546        m1: u32,
2547        b: spirv::Word,
2548        m2: u32,
2549        mout: u32,
2550        enable_subnormals: u32,
2551        rounding_mode: u32,
2552        rounding_accuracy: u32,
2553    },
2554    ArbitraryFloatGTINTEL {
2555        a: spirv::Word,
2556        m1: u32,
2557        b: spirv::Word,
2558        m2: u32,
2559    },
2560    ArbitraryFloatGEINTEL {
2561        a: spirv::Word,
2562        m1: u32,
2563        b: spirv::Word,
2564        m2: u32,
2565    },
2566    ArbitraryFloatLTINTEL {
2567        a: spirv::Word,
2568        m1: u32,
2569        b: spirv::Word,
2570        m2: u32,
2571    },
2572    ArbitraryFloatLEINTEL {
2573        a: spirv::Word,
2574        m1: u32,
2575        b: spirv::Word,
2576        m2: u32,
2577    },
2578    ArbitraryFloatEQINTEL {
2579        a: spirv::Word,
2580        m1: u32,
2581        b: spirv::Word,
2582        m2: u32,
2583    },
2584    ArbitraryFloatRecipINTEL {
2585        a: spirv::Word,
2586        m1: u32,
2587        mout: u32,
2588        enable_subnormals: u32,
2589        rounding_mode: u32,
2590        rounding_accuracy: u32,
2591    },
2592    ArbitraryFloatRSqrtINTEL {
2593        a: spirv::Word,
2594        m1: u32,
2595        mout: u32,
2596        enable_subnormals: u32,
2597        rounding_mode: u32,
2598        rounding_accuracy: u32,
2599    },
2600    ArbitraryFloatCbrtINTEL {
2601        a: spirv::Word,
2602        m1: u32,
2603        mout: u32,
2604        enable_subnormals: u32,
2605        rounding_mode: u32,
2606        rounding_accuracy: u32,
2607    },
2608    ArbitraryFloatHypotINTEL {
2609        a: spirv::Word,
2610        m1: u32,
2611        b: spirv::Word,
2612        m2: u32,
2613        mout: u32,
2614        enable_subnormals: u32,
2615        rounding_mode: u32,
2616        rounding_accuracy: u32,
2617    },
2618    ArbitraryFloatSqrtINTEL {
2619        a: spirv::Word,
2620        m1: u32,
2621        mout: u32,
2622        enable_subnormals: u32,
2623        rounding_mode: u32,
2624        rounding_accuracy: u32,
2625    },
2626    ArbitraryFloatLogINTEL {
2627        a: spirv::Word,
2628        m1: u32,
2629        mout: u32,
2630        enable_subnormals: u32,
2631        rounding_mode: u32,
2632        rounding_accuracy: u32,
2633    },
2634    ArbitraryFloatLog2INTEL {
2635        a: spirv::Word,
2636        m1: u32,
2637        mout: u32,
2638        enable_subnormals: u32,
2639        rounding_mode: u32,
2640        rounding_accuracy: u32,
2641    },
2642    ArbitraryFloatLog10INTEL {
2643        a: spirv::Word,
2644        m1: u32,
2645        mout: u32,
2646        enable_subnormals: u32,
2647        rounding_mode: u32,
2648        rounding_accuracy: u32,
2649    },
2650    ArbitraryFloatLog1pINTEL {
2651        a: spirv::Word,
2652        m1: u32,
2653        mout: u32,
2654        enable_subnormals: u32,
2655        rounding_mode: u32,
2656        rounding_accuracy: u32,
2657    },
2658    ArbitraryFloatExpINTEL {
2659        a: spirv::Word,
2660        m1: u32,
2661        mout: u32,
2662        enable_subnormals: u32,
2663        rounding_mode: u32,
2664        rounding_accuracy: u32,
2665    },
2666    ArbitraryFloatExp2INTEL {
2667        a: spirv::Word,
2668        m1: u32,
2669        mout: u32,
2670        enable_subnormals: u32,
2671        rounding_mode: u32,
2672        rounding_accuracy: u32,
2673    },
2674    ArbitraryFloatExp10INTEL {
2675        a: spirv::Word,
2676        m1: u32,
2677        mout: u32,
2678        enable_subnormals: u32,
2679        rounding_mode: u32,
2680        rounding_accuracy: u32,
2681    },
2682    ArbitraryFloatExpm1INTEL {
2683        a: spirv::Word,
2684        m1: u32,
2685        mout: u32,
2686        enable_subnormals: u32,
2687        rounding_mode: u32,
2688        rounding_accuracy: u32,
2689    },
2690    ArbitraryFloatSinINTEL {
2691        a: spirv::Word,
2692        m1: u32,
2693        mout: u32,
2694        enable_subnormals: u32,
2695        rounding_mode: u32,
2696        rounding_accuracy: u32,
2697    },
2698    ArbitraryFloatCosINTEL {
2699        a: spirv::Word,
2700        m1: u32,
2701        mout: u32,
2702        enable_subnormals: u32,
2703        rounding_mode: u32,
2704        rounding_accuracy: u32,
2705    },
2706    ArbitraryFloatSinCosINTEL {
2707        a: spirv::Word,
2708        m1: u32,
2709        mout: u32,
2710        enable_subnormals: u32,
2711        rounding_mode: u32,
2712        rounding_accuracy: u32,
2713    },
2714    ArbitraryFloatSinPiINTEL {
2715        a: spirv::Word,
2716        m1: u32,
2717        mout: u32,
2718        enable_subnormals: u32,
2719        rounding_mode: u32,
2720        rounding_accuracy: u32,
2721    },
2722    ArbitraryFloatCosPiINTEL {
2723        a: spirv::Word,
2724        m1: u32,
2725        mout: u32,
2726        enable_subnormals: u32,
2727        rounding_mode: u32,
2728        rounding_accuracy: u32,
2729    },
2730    ArbitraryFloatASinINTEL {
2731        a: spirv::Word,
2732        m1: u32,
2733        mout: u32,
2734        enable_subnormals: u32,
2735        rounding_mode: u32,
2736        rounding_accuracy: u32,
2737    },
2738    ArbitraryFloatASinPiINTEL {
2739        a: spirv::Word,
2740        m1: u32,
2741        mout: u32,
2742        enable_subnormals: u32,
2743        rounding_mode: u32,
2744        rounding_accuracy: u32,
2745    },
2746    ArbitraryFloatACosINTEL {
2747        a: spirv::Word,
2748        m1: u32,
2749        mout: u32,
2750        enable_subnormals: u32,
2751        rounding_mode: u32,
2752        rounding_accuracy: u32,
2753    },
2754    ArbitraryFloatACosPiINTEL {
2755        a: spirv::Word,
2756        m1: u32,
2757        mout: u32,
2758        enable_subnormals: u32,
2759        rounding_mode: u32,
2760        rounding_accuracy: u32,
2761    },
2762    ArbitraryFloatATanINTEL {
2763        a: spirv::Word,
2764        m1: u32,
2765        mout: u32,
2766        enable_subnormals: u32,
2767        rounding_mode: u32,
2768        rounding_accuracy: u32,
2769    },
2770    ArbitraryFloatATanPiINTEL {
2771        a: spirv::Word,
2772        m1: u32,
2773        mout: u32,
2774        enable_subnormals: u32,
2775        rounding_mode: u32,
2776        rounding_accuracy: u32,
2777    },
2778    ArbitraryFloatATan2INTEL {
2779        a: spirv::Word,
2780        m1: u32,
2781        b: spirv::Word,
2782        m2: u32,
2783        mout: u32,
2784        enable_subnormals: u32,
2785        rounding_mode: u32,
2786        rounding_accuracy: u32,
2787    },
2788    ArbitraryFloatPowINTEL {
2789        a: spirv::Word,
2790        m1: u32,
2791        b: spirv::Word,
2792        m2: u32,
2793        mout: u32,
2794        enable_subnormals: u32,
2795        rounding_mode: u32,
2796        rounding_accuracy: u32,
2797    },
2798    ArbitraryFloatPowRINTEL {
2799        a: spirv::Word,
2800        m1: u32,
2801        b: spirv::Word,
2802        m2: u32,
2803        mout: u32,
2804        enable_subnormals: u32,
2805        rounding_mode: u32,
2806        rounding_accuracy: u32,
2807    },
2808    ArbitraryFloatPowNINTEL {
2809        a: spirv::Word,
2810        m1: u32,
2811        b: spirv::Word,
2812        mout: u32,
2813        enable_subnormals: u32,
2814        rounding_mode: u32,
2815        rounding_accuracy: u32,
2816    },
2817    LoopControlINTEL {
2818        loop_control_parameters: Vec<u32>,
2819    },
2820    AliasDomainDeclINTEL {
2821        name: Option<spirv::Word>,
2822    },
2823    AliasScopeDeclINTEL {
2824        alias_domain: spirv::Word,
2825        name: Option<spirv::Word>,
2826    },
2827    AliasScopeListDeclINTEL {
2828        alias_scope1_alias_scope2: Vec<spirv::Word>,
2829    },
2830    FixedSqrtINTEL {
2831        input_type: Token<Type>,
2832        input: spirv::Word,
2833        s: u32,
2834        i: u32,
2835        r_i: u32,
2836        q: u32,
2837        o: u32,
2838    },
2839    FixedRecipINTEL {
2840        input_type: Token<Type>,
2841        input: spirv::Word,
2842        s: u32,
2843        i: u32,
2844        r_i: u32,
2845        q: u32,
2846        o: u32,
2847    },
2848    FixedRsqrtINTEL {
2849        input_type: Token<Type>,
2850        input: spirv::Word,
2851        s: u32,
2852        i: u32,
2853        r_i: u32,
2854        q: u32,
2855        o: u32,
2856    },
2857    FixedSinINTEL {
2858        input_type: Token<Type>,
2859        input: spirv::Word,
2860        s: u32,
2861        i: u32,
2862        r_i: u32,
2863        q: u32,
2864        o: u32,
2865    },
2866    FixedCosINTEL {
2867        input_type: Token<Type>,
2868        input: spirv::Word,
2869        s: u32,
2870        i: u32,
2871        r_i: u32,
2872        q: u32,
2873        o: u32,
2874    },
2875    FixedSinCosINTEL {
2876        input_type: Token<Type>,
2877        input: spirv::Word,
2878        s: u32,
2879        i: u32,
2880        r_i: u32,
2881        q: u32,
2882        o: u32,
2883    },
2884    FixedSinPiINTEL {
2885        input_type: Token<Type>,
2886        input: spirv::Word,
2887        s: u32,
2888        i: u32,
2889        r_i: u32,
2890        q: u32,
2891        o: u32,
2892    },
2893    FixedCosPiINTEL {
2894        input_type: Token<Type>,
2895        input: spirv::Word,
2896        s: u32,
2897        i: u32,
2898        r_i: u32,
2899        q: u32,
2900        o: u32,
2901    },
2902    FixedSinCosPiINTEL {
2903        input_type: Token<Type>,
2904        input: spirv::Word,
2905        s: u32,
2906        i: u32,
2907        r_i: u32,
2908        q: u32,
2909        o: u32,
2910    },
2911    FixedLogINTEL {
2912        input_type: Token<Type>,
2913        input: spirv::Word,
2914        s: u32,
2915        i: u32,
2916        r_i: u32,
2917        q: u32,
2918        o: u32,
2919    },
2920    FixedExpINTEL {
2921        input_type: Token<Type>,
2922        input: spirv::Word,
2923        s: u32,
2924        i: u32,
2925        r_i: u32,
2926        q: u32,
2927        o: u32,
2928    },
2929    PtrCastToCrossWorkgroupINTEL {
2930        pointer: spirv::Word,
2931    },
2932    CrossWorkgroupCastToPtrINTEL {
2933        pointer: spirv::Word,
2934    },
2935    ReadPipeBlockingINTEL {
2936        packet_size: spirv::Word,
2937        packet_alignment: spirv::Word,
2938    },
2939    WritePipeBlockingINTEL {
2940        packet_size: spirv::Word,
2941        packet_alignment: spirv::Word,
2942    },
2943    FPGARegINTEL {
2944        result: spirv::Word,
2945        input: spirv::Word,
2946    },
2947    RayQueryGetRayTMinKHR {
2948        ray_query: spirv::Word,
2949    },
2950    RayQueryGetRayFlagsKHR {
2951        ray_query: spirv::Word,
2952    },
2953    RayQueryGetIntersectionTKHR {
2954        ray_query: spirv::Word,
2955        intersection: spirv::Word,
2956    },
2957    RayQueryGetIntersectionInstanceCustomIndexKHR {
2958        ray_query: spirv::Word,
2959        intersection: spirv::Word,
2960    },
2961    RayQueryGetIntersectionInstanceIdKHR {
2962        ray_query: spirv::Word,
2963        intersection: spirv::Word,
2964    },
2965    RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR {
2966        ray_query: spirv::Word,
2967        intersection: spirv::Word,
2968    },
2969    RayQueryGetIntersectionGeometryIndexKHR {
2970        ray_query: spirv::Word,
2971        intersection: spirv::Word,
2972    },
2973    RayQueryGetIntersectionPrimitiveIndexKHR {
2974        ray_query: spirv::Word,
2975        intersection: spirv::Word,
2976    },
2977    RayQueryGetIntersectionBarycentricsKHR {
2978        ray_query: spirv::Word,
2979        intersection: spirv::Word,
2980    },
2981    RayQueryGetIntersectionFrontFaceKHR {
2982        ray_query: spirv::Word,
2983        intersection: spirv::Word,
2984    },
2985    RayQueryGetIntersectionCandidateAABBOpaqueKHR {
2986        ray_query: spirv::Word,
2987    },
2988    RayQueryGetIntersectionObjectRayDirectionKHR {
2989        ray_query: spirv::Word,
2990        intersection: spirv::Word,
2991    },
2992    RayQueryGetIntersectionObjectRayOriginKHR {
2993        ray_query: spirv::Word,
2994        intersection: spirv::Word,
2995    },
2996    RayQueryGetWorldRayDirectionKHR {
2997        ray_query: spirv::Word,
2998    },
2999    RayQueryGetWorldRayOriginKHR {
3000        ray_query: spirv::Word,
3001    },
3002    RayQueryGetIntersectionObjectToWorldKHR {
3003        ray_query: spirv::Word,
3004        intersection: spirv::Word,
3005    },
3006    RayQueryGetIntersectionWorldToObjectKHR {
3007        ray_query: spirv::Word,
3008        intersection: spirv::Word,
3009    },
3010    AtomicFAddEXT {
3011        pointer: spirv::Word,
3012        memory: spirv::Word,
3013        semantics: spirv::Word,
3014        value: spirv::Word,
3015    },
3016    ConvertFToBF16INTEL {
3017        float_value: spirv::Word,
3018    },
3019    ConvertBF16ToFINTEL {
3020        b_float16_value: spirv::Word,
3021    },
3022    ControlBarrierArriveINTEL {
3023        execution: spirv::Word,
3024        memory: spirv::Word,
3025        semantics: spirv::Word,
3026    },
3027    ControlBarrierWaitINTEL {
3028        execution: spirv::Word,
3029        memory: spirv::Word,
3030        semantics: spirv::Word,
3031    },
3032    GroupIMulKHR {
3033        execution: spirv::Word,
3034        operation: spirv::GroupOperation,
3035        x: spirv::Word,
3036    },
3037    GroupFMulKHR {
3038        execution: spirv::Word,
3039        operation: spirv::GroupOperation,
3040        x: spirv::Word,
3041    },
3042    GroupBitwiseAndKHR {
3043        execution: spirv::Word,
3044        operation: spirv::GroupOperation,
3045        x: spirv::Word,
3046    },
3047    GroupBitwiseOrKHR {
3048        execution: spirv::Word,
3049        operation: spirv::GroupOperation,
3050        x: spirv::Word,
3051    },
3052    GroupBitwiseXorKHR {
3053        execution: spirv::Word,
3054        operation: spirv::GroupOperation,
3055        x: spirv::Word,
3056    },
3057    GroupLogicalAndKHR {
3058        execution: spirv::Word,
3059        operation: spirv::GroupOperation,
3060        x: spirv::Word,
3061    },
3062    GroupLogicalOrKHR {
3063        execution: spirv::Word,
3064        operation: spirv::GroupOperation,
3065        x: spirv::Word,
3066    },
3067    GroupLogicalXorKHR {
3068        execution: spirv::Word,
3069        operation: spirv::GroupOperation,
3070        x: spirv::Word,
3071    },
3072}