1use crate::sr::{module::Jump, storage::Token, Constant, 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 invocation_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 invocation_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 TensorReadARM {
1347 tensor: spirv::Word,
1348 coordinates: spirv::Word,
1349 tensor_operands: Option<spirv::TensorOperands>,
1350 },
1351 TensorWriteARM {
1352 tensor: spirv::Word,
1353 coordinates: spirv::Word,
1354 object: spirv::Word,
1355 tensor_operands: Option<spirv::TensorOperands>,
1356 },
1357 TensorQuerySizeARM {
1358 tensor: spirv::Word,
1359 dimension: spirv::Word,
1360 },
1361 GraphConstantARM {
1362 graph_constant_id: u32,
1363 },
1364 GraphEntryPointARM {
1365 graph: spirv::Word,
1366 name: String,
1367 interface: Vec<spirv::Word>,
1368 },
1369 GraphARM,
1370 GraphInputARM {
1371 input_index: spirv::Word,
1372 element_index: Vec<spirv::Word>,
1373 },
1374 GraphSetOutputARM {
1375 value: spirv::Word,
1376 output_index: spirv::Word,
1377 element_index: Vec<spirv::Word>,
1378 },
1379 GraphEndARM,
1380 UntypedVariableKHR {
1381 storage_class: spirv::StorageClass,
1382 data_type: Option<Token<Type>>,
1383 initializer: Option<spirv::Word>,
1384 },
1385 UntypedAccessChainKHR {
1386 base_type: Token<Type>,
1387 base: spirv::Word,
1388 indexes: Vec<spirv::Word>,
1389 },
1390 UntypedInBoundsAccessChainKHR {
1391 base_type: Token<Type>,
1392 base: spirv::Word,
1393 indexes: Vec<spirv::Word>,
1394 },
1395 SubgroupBallotKHR {
1396 predicate: spirv::Word,
1397 },
1398 SubgroupFirstInvocationKHR {
1399 value: spirv::Word,
1400 },
1401 UntypedPtrAccessChainKHR {
1402 base_type: Token<Type>,
1403 base: spirv::Word,
1404 element: spirv::Word,
1405 indexes: Vec<spirv::Word>,
1406 },
1407 UntypedInBoundsPtrAccessChainKHR {
1408 base_type: Token<Type>,
1409 base: spirv::Word,
1410 element: spirv::Word,
1411 indexes: Vec<spirv::Word>,
1412 },
1413 UntypedArrayLengthKHR {
1414 structure: spirv::Word,
1415 pointer: spirv::Word,
1416 array_member: u32,
1417 },
1418 UntypedPrefetchKHR {
1419 pointer_type: Token<Type>,
1420 num_bytes: spirv::Word,
1421 rw: Option<spirv::Word>,
1422 locality: Option<spirv::Word>,
1423 cache_type: Option<Token<Type>>,
1424 },
1425 FmaKHR {
1426 operand_1: spirv::Word,
1427 operand_2: spirv::Word,
1428 operand_3: spirv::Word,
1429 },
1430 SubgroupAllKHR {
1431 predicate: spirv::Word,
1432 },
1433 SubgroupAnyKHR {
1434 predicate: spirv::Word,
1435 },
1436 SubgroupAllEqualKHR {
1437 predicate: spirv::Word,
1438 },
1439 GroupNonUniformRotateKHR {
1440 execution: spirv::Word,
1441 value: spirv::Word,
1442 delta: spirv::Word,
1443 cluster_size: Option<spirv::Word>,
1444 },
1445 SubgroupReadInvocationKHR {
1446 value: spirv::Word,
1447 index: spirv::Word,
1448 },
1449 UntypedGroupAsyncCopyKHR {
1450 execution: spirv::Word,
1451 destination: spirv::Word,
1452 source: spirv::Word,
1453 element_num_bytes: spirv::Word,
1454 num_elements: spirv::Word,
1455 stride: spirv::Word,
1456 event: spirv::Word,
1457 destination_memory_operands: Option<spirv::MemoryAccess>,
1458 source_memory_operands: Option<spirv::MemoryAccess>,
1459 },
1460 TraceRayKHR {
1461 accel: spirv::Word,
1462 ray_flags: spirv::Word,
1463 cull_mask: spirv::Word,
1464 sbt_offset: spirv::Word,
1465 sbt_stride: spirv::Word,
1466 miss_index: spirv::Word,
1467 ray_origin: spirv::Word,
1468 ray_tmin: spirv::Word,
1469 ray_direction: spirv::Word,
1470 ray_tmax: spirv::Word,
1471 payload: spirv::Word,
1472 },
1473 ExecuteCallableKHR {
1474 sbt_index: spirv::Word,
1475 callable_data: spirv::Word,
1476 },
1477 ConvertUToAccelerationStructureKHR {
1478 accel: spirv::Word,
1479 },
1480 SDot {
1481 vector_1: spirv::Word,
1482 vector_2: spirv::Word,
1483 packed_vector_format: Option<spirv::PackedVectorFormat>,
1484 },
1485 UDot {
1486 vector_1: spirv::Word,
1487 vector_2: spirv::Word,
1488 packed_vector_format: Option<spirv::PackedVectorFormat>,
1489 },
1490 SUDot {
1491 vector_1: spirv::Word,
1492 vector_2: spirv::Word,
1493 packed_vector_format: Option<spirv::PackedVectorFormat>,
1494 },
1495 SDotAccSat {
1496 vector_1: spirv::Word,
1497 vector_2: spirv::Word,
1498 accumulator: spirv::Word,
1499 packed_vector_format: Option<spirv::PackedVectorFormat>,
1500 },
1501 UDotAccSat {
1502 vector_1: spirv::Word,
1503 vector_2: spirv::Word,
1504 accumulator: spirv::Word,
1505 packed_vector_format: Option<spirv::PackedVectorFormat>,
1506 },
1507 SUDotAccSat {
1508 vector_1: spirv::Word,
1509 vector_2: spirv::Word,
1510 accumulator: spirv::Word,
1511 packed_vector_format: Option<spirv::PackedVectorFormat>,
1512 },
1513 CooperativeMatrixLoadKHR {
1514 pointer: spirv::Word,
1515 memory_layout: spirv::Word,
1516 stride: Option<spirv::Word>,
1517 memory_operand: Option<spirv::MemoryAccess>,
1518 },
1519 CooperativeMatrixStoreKHR {
1520 pointer: spirv::Word,
1521 object: spirv::Word,
1522 memory_layout: spirv::Word,
1523 stride: Option<spirv::Word>,
1524 memory_operand: Option<spirv::MemoryAccess>,
1525 },
1526 CooperativeMatrixMulAddKHR {
1527 a: spirv::Word,
1528 b: spirv::Word,
1529 c: spirv::Word,
1530 cooperative_matrix_operands: Option<spirv::CooperativeMatrixOperands>,
1531 },
1532 CooperativeMatrixLengthKHR {
1533 ty: Token<Type>,
1534 },
1535 CompositeConstructReplicateEXT {
1536 value: spirv::Word,
1537 },
1538 RayQueryInitializeKHR {
1539 ray_query: spirv::Word,
1540 accel: spirv::Word,
1541 ray_flags: spirv::Word,
1542 cull_mask: spirv::Word,
1543 ray_origin: spirv::Word,
1544 ray_t_min: spirv::Word,
1545 ray_direction: spirv::Word,
1546 ray_t_max: spirv::Word,
1547 },
1548 RayQueryTerminateKHR {
1549 ray_query: spirv::Word,
1550 },
1551 RayQueryGenerateIntersectionKHR {
1552 ray_query: spirv::Word,
1553 hit_t: spirv::Word,
1554 },
1555 RayQueryConfirmIntersectionKHR {
1556 ray_query: spirv::Word,
1557 },
1558 RayQueryProceedKHR {
1559 ray_query: spirv::Word,
1560 },
1561 RayQueryGetIntersectionTypeKHR {
1562 ray_query: spirv::Word,
1563 intersection: spirv::Word,
1564 },
1565 ImageSampleWeightedQCOM {
1566 texture: spirv::Word,
1567 coordinates: spirv::Word,
1568 weights: spirv::Word,
1569 },
1570 ImageBoxFilterQCOM {
1571 texture: spirv::Word,
1572 coordinates: spirv::Word,
1573 box_size: spirv::Word,
1574 },
1575 ImageBlockMatchSSDQCOM {
1576 target: spirv::Word,
1577 target_coordinates: spirv::Word,
1578 reference: spirv::Word,
1579 reference_coordinates: spirv::Word,
1580 block_size: spirv::Word,
1581 },
1582 ImageBlockMatchSADQCOM {
1583 target: spirv::Word,
1584 target_coordinates: spirv::Word,
1585 reference: spirv::Word,
1586 reference_coordinates: spirv::Word,
1587 block_size: spirv::Word,
1588 },
1589 BitCastArrayQCOM {
1590 source_array: spirv::Word,
1591 },
1592 ImageBlockMatchWindowSSDQCOM {
1593 target_sampled_image: spirv::Word,
1594 target_coordinates: spirv::Word,
1595 reference_sampled_image: spirv::Word,
1596 reference_coordinates: spirv::Word,
1597 block_size: spirv::Word,
1598 },
1599 ImageBlockMatchWindowSADQCOM {
1600 target_sampled_image: spirv::Word,
1601 target_coordinates: spirv::Word,
1602 reference_sampled_image: spirv::Word,
1603 reference_coordinates: spirv::Word,
1604 block_size: spirv::Word,
1605 },
1606 ImageBlockMatchGatherSSDQCOM {
1607 target_sampled_image: spirv::Word,
1608 target_coordinates: spirv::Word,
1609 reference_sampled_image: spirv::Word,
1610 reference_coordinates: spirv::Word,
1611 block_size: spirv::Word,
1612 },
1613 ImageBlockMatchGatherSADQCOM {
1614 target_sampled_image: spirv::Word,
1615 target_coordinates: spirv::Word,
1616 reference_sampled_image: spirv::Word,
1617 reference_coordinates: spirv::Word,
1618 block_size: spirv::Word,
1619 },
1620 CompositeConstructCoopMatQCOM {
1621 source_array: spirv::Word,
1622 },
1623 CompositeExtractCoopMatQCOM {
1624 source_cooperative_matrix: spirv::Word,
1625 },
1626 ExtractSubArrayQCOM {
1627 source_array: spirv::Word,
1628 index: spirv::Word,
1629 },
1630 GroupIAddNonUniformAMD {
1631 execution: spirv::Word,
1632 operation: spirv::GroupOperation,
1633 x: spirv::Word,
1634 },
1635 GroupFAddNonUniformAMD {
1636 execution: spirv::Word,
1637 operation: spirv::GroupOperation,
1638 x: spirv::Word,
1639 },
1640 GroupFMinNonUniformAMD {
1641 execution: spirv::Word,
1642 operation: spirv::GroupOperation,
1643 x: spirv::Word,
1644 },
1645 GroupUMinNonUniformAMD {
1646 execution: spirv::Word,
1647 operation: spirv::GroupOperation,
1648 x: spirv::Word,
1649 },
1650 GroupSMinNonUniformAMD {
1651 execution: spirv::Word,
1652 operation: spirv::GroupOperation,
1653 x: spirv::Word,
1654 },
1655 GroupFMaxNonUniformAMD {
1656 execution: spirv::Word,
1657 operation: spirv::GroupOperation,
1658 x: spirv::Word,
1659 },
1660 GroupUMaxNonUniformAMD {
1661 execution: spirv::Word,
1662 operation: spirv::GroupOperation,
1663 x: spirv::Word,
1664 },
1665 GroupSMaxNonUniformAMD {
1666 execution: spirv::Word,
1667 operation: spirv::GroupOperation,
1668 x: spirv::Word,
1669 },
1670 FragmentMaskFetchAMD {
1671 image: spirv::Word,
1672 coordinate: spirv::Word,
1673 },
1674 FragmentFetchAMD {
1675 image: spirv::Word,
1676 coordinate: spirv::Word,
1677 fragment_index: spirv::Word,
1678 },
1679 ReadClockKHR {
1680 scope: spirv::Word,
1681 },
1682 AllocateNodePayloadsAMDX {
1683 visibility: spirv::Word,
1684 payload_count: spirv::Word,
1685 node_index: spirv::Word,
1686 },
1687 EnqueueNodePayloadsAMDX {
1688 payload_array: spirv::Word,
1689 },
1690 FinishWritingNodePayloadAMDX {
1691 payload: spirv::Word,
1692 },
1693 NodePayloadArrayLengthAMDX {
1694 payload_array: spirv::Word,
1695 },
1696 IsNodePayloadValidAMDX {
1697 payload_type: spirv::Word,
1698 node_index: spirv::Word,
1699 },
1700 ConstantStringAMDX {
1701 literal_string: String,
1702 },
1703 SpecConstantStringAMDX {
1704 literal_string: String,
1705 },
1706 GroupNonUniformQuadAllKHR {
1707 predicate: spirv::Word,
1708 },
1709 GroupNonUniformQuadAnyKHR {
1710 predicate: spirv::Word,
1711 },
1712 BufferPointerEXT {
1713 buffer: spirv::Word,
1714 },
1715 UntypedImageTexelPointerEXT {
1716 image_type: spirv::Word,
1717 image: spirv::Word,
1718 coordinate: spirv::Word,
1719 sample: spirv::Word,
1720 },
1721 MemberDecorateIdEXT {
1722 structure_type: Token<Type>,
1723 member: u32,
1724 decoration: spirv::Decoration,
1725 },
1726 HitObjectRecordHitMotionNV {
1727 hit_object: spirv::Word,
1728 acceleration_structure: spirv::Word,
1729 instance_id: spirv::Word,
1730 primitive_id: spirv::Word,
1731 geometry_index: spirv::Word,
1732 hit_kind: spirv::Word,
1733 sbt_record_offset: spirv::Word,
1734 sbt_record_stride: spirv::Word,
1735 origin: spirv::Word,
1736 t_min: spirv::Word,
1737 direction: spirv::Word,
1738 t_max: spirv::Word,
1739 current_time: spirv::Word,
1740 hit_object_attributes: spirv::Word,
1741 },
1742 HitObjectRecordHitWithIndexMotionNV {
1743 hit_object: spirv::Word,
1744 acceleration_structure: spirv::Word,
1745 instance_id: spirv::Word,
1746 primitive_id: spirv::Word,
1747 geometry_index: spirv::Word,
1748 hit_kind: spirv::Word,
1749 sbt_record_index: spirv::Word,
1750 origin: spirv::Word,
1751 t_min: spirv::Word,
1752 direction: spirv::Word,
1753 t_max: spirv::Word,
1754 current_time: spirv::Word,
1755 hit_object_attributes: spirv::Word,
1756 },
1757 HitObjectRecordMissMotionNV {
1758 hit_object: spirv::Word,
1759 sbt_index: spirv::Word,
1760 origin: spirv::Word,
1761 t_min: spirv::Word,
1762 direction: spirv::Word,
1763 t_max: spirv::Word,
1764 current_time: spirv::Word,
1765 },
1766 HitObjectGetWorldToObjectNV {
1767 hit_object: spirv::Word,
1768 },
1769 HitObjectGetObjectToWorldNV {
1770 hit_object: spirv::Word,
1771 },
1772 HitObjectGetObjectRayDirectionNV {
1773 hit_object: spirv::Word,
1774 },
1775 HitObjectGetObjectRayOriginNV {
1776 hit_object: spirv::Word,
1777 },
1778 HitObjectTraceRayMotionNV {
1779 hit_object: spirv::Word,
1780 acceleration_structure: spirv::Word,
1781 ray_flags: spirv::Word,
1782 cullmask: spirv::Word,
1783 sbt_record_offset: spirv::Word,
1784 sbt_record_stride: spirv::Word,
1785 miss_index: spirv::Word,
1786 origin: spirv::Word,
1787 t_min: spirv::Word,
1788 direction: spirv::Word,
1789 t_max: spirv::Word,
1790 time: spirv::Word,
1791 payload: spirv::Word,
1792 },
1793 HitObjectGetShaderRecordBufferHandleNV {
1794 hit_object: spirv::Word,
1795 },
1796 HitObjectGetShaderBindingTableRecordIndexNV {
1797 hit_object: spirv::Word,
1798 },
1799 HitObjectRecordEmptyNV {
1800 hit_object: spirv::Word,
1801 },
1802 HitObjectTraceRayNV {
1803 hit_object: spirv::Word,
1804 acceleration_structure: spirv::Word,
1805 ray_flags: spirv::Word,
1806 cullmask: spirv::Word,
1807 sbt_record_offset: spirv::Word,
1808 sbt_record_stride: spirv::Word,
1809 miss_index: spirv::Word,
1810 origin: spirv::Word,
1811 t_min: spirv::Word,
1812 direction: spirv::Word,
1813 t_max: spirv::Word,
1814 payload: spirv::Word,
1815 },
1816 HitObjectRecordHitNV {
1817 hit_object: spirv::Word,
1818 acceleration_structure: spirv::Word,
1819 instance_id: spirv::Word,
1820 primitive_id: spirv::Word,
1821 geometry_index: spirv::Word,
1822 hit_kind: spirv::Word,
1823 sbt_record_offset: spirv::Word,
1824 sbt_record_stride: spirv::Word,
1825 origin: spirv::Word,
1826 t_min: spirv::Word,
1827 direction: spirv::Word,
1828 t_max: spirv::Word,
1829 hit_object_attributes: spirv::Word,
1830 },
1831 HitObjectRecordHitWithIndexNV {
1832 hit_object: spirv::Word,
1833 acceleration_structure: spirv::Word,
1834 instance_id: spirv::Word,
1835 primitive_id: spirv::Word,
1836 geometry_index: spirv::Word,
1837 hit_kind: spirv::Word,
1838 sbt_record_index: spirv::Word,
1839 origin: spirv::Word,
1840 t_min: spirv::Word,
1841 direction: spirv::Word,
1842 t_max: spirv::Word,
1843 hit_object_attributes: spirv::Word,
1844 },
1845 HitObjectRecordMissNV {
1846 hit_object: spirv::Word,
1847 sbt_index: spirv::Word,
1848 origin: spirv::Word,
1849 t_min: spirv::Word,
1850 direction: spirv::Word,
1851 t_max: spirv::Word,
1852 },
1853 HitObjectExecuteShaderNV {
1854 hit_object: spirv::Word,
1855 payload: spirv::Word,
1856 },
1857 HitObjectGetCurrentTimeNV {
1858 hit_object: spirv::Word,
1859 },
1860 HitObjectGetAttributesNV {
1861 hit_object: spirv::Word,
1862 hit_object_attribute: spirv::Word,
1863 },
1864 HitObjectGetHitKindNV {
1865 hit_object: spirv::Word,
1866 },
1867 HitObjectGetPrimitiveIndexNV {
1868 hit_object: spirv::Word,
1869 },
1870 HitObjectGetGeometryIndexNV {
1871 hit_object: spirv::Word,
1872 },
1873 HitObjectGetInstanceIdNV {
1874 hit_object: spirv::Word,
1875 },
1876 HitObjectGetInstanceCustomIndexNV {
1877 hit_object: spirv::Word,
1878 },
1879 HitObjectGetWorldRayDirectionNV {
1880 hit_object: spirv::Word,
1881 },
1882 HitObjectGetWorldRayOriginNV {
1883 hit_object: spirv::Word,
1884 },
1885 HitObjectGetRayTMaxNV {
1886 hit_object: spirv::Word,
1887 },
1888 HitObjectGetRayTMinNV {
1889 hit_object: spirv::Word,
1890 },
1891 HitObjectIsEmptyNV {
1892 hit_object: spirv::Word,
1893 },
1894 HitObjectIsHitNV {
1895 hit_object: spirv::Word,
1896 },
1897 HitObjectIsMissNV {
1898 hit_object: spirv::Word,
1899 },
1900 ReorderThreadWithHitObjectNV {
1901 hit_object: spirv::Word,
1902 hint: Option<spirv::Word>,
1903 bits: Option<spirv::Word>,
1904 },
1905 ReorderThreadWithHintNV {
1906 hint: spirv::Word,
1907 bits: spirv::Word,
1908 },
1909 ImageSampleFootprintNV {
1910 sampled_image: spirv::Word,
1911 coordinate: spirv::Word,
1912 granularity: spirv::Word,
1913 coarse: spirv::Word,
1914 image_operands: Option<(spirv::ImageOperands, Vec<spirv::Word>)>,
1915 },
1916 CooperativeVectorMatrixMulNV {
1917 input: spirv::Word,
1918 input_interpretation: spirv::Word,
1919 matrix: spirv::Word,
1920 matrix_offset: spirv::Word,
1921 matrix_interpretation: spirv::Word,
1922 m: spirv::Word,
1923 k: spirv::Word,
1924 memory_layout: spirv::Word,
1925 transpose: spirv::Word,
1926 matrix_stride: Option<spirv::Word>,
1927 cooperative_matrix_operands: Option<spirv::CooperativeMatrixOperands>,
1928 },
1929 CooperativeVectorOuterProductAccumulateNV {
1930 pointer: spirv::Word,
1931 offset: spirv::Word,
1932 a: spirv::Word,
1933 b: spirv::Word,
1934 memory_layout: spirv::Word,
1935 matrix_interpretation: spirv::Word,
1936 matrix_stride: Option<spirv::Word>,
1937 },
1938 CooperativeVectorReduceSumAccumulateNV {
1939 pointer: spirv::Word,
1940 offset: spirv::Word,
1941 v: spirv::Word,
1942 },
1943 CooperativeVectorMatrixMulAddNV {
1944 input: spirv::Word,
1945 input_interpretation: spirv::Word,
1946 matrix: spirv::Word,
1947 matrix_offset: spirv::Word,
1948 matrix_interpretation: spirv::Word,
1949 bias: spirv::Word,
1950 bias_offset: spirv::Word,
1951 bias_interpretation: spirv::Word,
1952 m: spirv::Word,
1953 k: spirv::Word,
1954 memory_layout: spirv::Word,
1955 transpose: spirv::Word,
1956 matrix_stride: Option<spirv::Word>,
1957 cooperative_matrix_operands: Option<spirv::CooperativeMatrixOperands>,
1958 },
1959 CooperativeMatrixConvertNV {
1960 matrix: spirv::Word,
1961 },
1962 SetMeshOutputsEXT {
1963 vertex_count: spirv::Word,
1964 primitive_count: spirv::Word,
1965 },
1966 GroupNonUniformPartitionEXT {
1967 value: spirv::Word,
1968 },
1969 WritePackedPrimitiveIndices4x8NV {
1970 index_offset: spirv::Word,
1971 packed_indices: spirv::Word,
1972 },
1973 FetchMicroTriangleVertexPositionNV {
1974 accel: spirv::Word,
1975 instance_id: spirv::Word,
1976 geometry_index: spirv::Word,
1977 primitive_index: spirv::Word,
1978 barycentric: spirv::Word,
1979 },
1980 FetchMicroTriangleVertexBarycentricNV {
1981 accel: spirv::Word,
1982 instance_id: spirv::Word,
1983 geometry_index: spirv::Word,
1984 primitive_index: spirv::Word,
1985 barycentric: spirv::Word,
1986 },
1987 CooperativeVectorLoadNV {
1988 pointer: spirv::Word,
1989 offset: spirv::Word,
1990 memory_access: Option<spirv::MemoryAccess>,
1991 },
1992 CooperativeVectorStoreNV {
1993 pointer: spirv::Word,
1994 offset: spirv::Word,
1995 object: spirv::Word,
1996 memory_access: Option<spirv::MemoryAccess>,
1997 },
1998 HitObjectRecordFromQueryEXT {
1999 hit_object: spirv::Word,
2000 ray_query: spirv::Word,
2001 sbt_record_index: spirv::Word,
2002 hit_object_attributes: spirv::Word,
2003 },
2004 HitObjectRecordMissEXT {
2005 hit_object: spirv::Word,
2006 ray_flags: spirv::Word,
2007 miss_index: spirv::Word,
2008 ray_origin: spirv::Word,
2009 ray_tmin: spirv::Word,
2010 ray_direction: spirv::Word,
2011 ray_tmax: spirv::Word,
2012 },
2013 HitObjectRecordMissMotionEXT {
2014 hit_object: spirv::Word,
2015 ray_flags: spirv::Word,
2016 miss_index: spirv::Word,
2017 ray_origin: spirv::Word,
2018 ray_tmin: spirv::Word,
2019 ray_direction: spirv::Word,
2020 ray_tmax: spirv::Word,
2021 current_time: spirv::Word,
2022 },
2023 HitObjectGetIntersectionTriangleVertexPositionsEXT {
2024 hit_object: spirv::Word,
2025 },
2026 HitObjectGetRayFlagsEXT {
2027 hit_object: spirv::Word,
2028 },
2029 HitObjectSetShaderBindingTableRecordIndexEXT {
2030 hit_object: spirv::Word,
2031 sbt_record_index: spirv::Word,
2032 },
2033 HitObjectReorderExecuteShaderEXT {
2034 hit_object: spirv::Word,
2035 payload: spirv::Word,
2036 hint: Option<spirv::Word>,
2037 bits: Option<spirv::Word>,
2038 },
2039 HitObjectTraceReorderExecuteEXT {
2040 hit_object: spirv::Word,
2041 acceleration_structure: spirv::Word,
2042 ray_flags: spirv::Word,
2043 cull_mask: spirv::Word,
2044 sbt_offset: spirv::Word,
2045 sbt_stride: spirv::Word,
2046 miss_index: spirv::Word,
2047 ray_origin: spirv::Word,
2048 ray_tmin: spirv::Word,
2049 ray_direction: spirv::Word,
2050 ray_tmax: spirv::Word,
2051 payload: spirv::Word,
2052 hint: Option<spirv::Word>,
2053 bits: Option<spirv::Word>,
2054 },
2055 HitObjectTraceMotionReorderExecuteEXT {
2056 hit_object: spirv::Word,
2057 acceleration_structure: spirv::Word,
2058 ray_flags: spirv::Word,
2059 cull_mask: spirv::Word,
2060 sbt_offset: spirv::Word,
2061 sbt_stride: spirv::Word,
2062 miss_index: spirv::Word,
2063 ray_origin: spirv::Word,
2064 ray_tmin: spirv::Word,
2065 ray_direction: spirv::Word,
2066 ray_tmax: spirv::Word,
2067 current_time: spirv::Word,
2068 payload: spirv::Word,
2069 hint: Option<spirv::Word>,
2070 bits: Option<spirv::Word>,
2071 },
2072 ReorderThreadWithHintEXT {
2073 hint: spirv::Word,
2074 bits: spirv::Word,
2075 },
2076 ReorderThreadWithHitObjectEXT {
2077 hit_object: spirv::Word,
2078 hint: Option<spirv::Word>,
2079 bits: Option<spirv::Word>,
2080 },
2081 HitObjectTraceRayEXT {
2082 hit_object: spirv::Word,
2083 acceleration_structure: spirv::Word,
2084 ray_flags: spirv::Word,
2085 cull_mask: spirv::Word,
2086 sbt_offset: spirv::Word,
2087 sbt_stride: spirv::Word,
2088 miss_index: spirv::Word,
2089 ray_origin: spirv::Word,
2090 ray_tmin: spirv::Word,
2091 ray_direction: spirv::Word,
2092 ray_tmax: spirv::Word,
2093 payload: spirv::Word,
2094 },
2095 HitObjectTraceRayMotionEXT {
2096 hit_object: spirv::Word,
2097 acceleration_structure: spirv::Word,
2098 ray_flags: spirv::Word,
2099 cull_mask: spirv::Word,
2100 sbt_offset: spirv::Word,
2101 sbt_stride: spirv::Word,
2102 miss_index: spirv::Word,
2103 ray_origin: spirv::Word,
2104 ray_tmin: spirv::Word,
2105 ray_direction: spirv::Word,
2106 ray_tmax: spirv::Word,
2107 current_time: spirv::Word,
2108 payload: spirv::Word,
2109 },
2110 HitObjectRecordEmptyEXT {
2111 hit_object: spirv::Word,
2112 },
2113 HitObjectExecuteShaderEXT {
2114 hit_object: spirv::Word,
2115 payload: spirv::Word,
2116 },
2117 HitObjectGetCurrentTimeEXT {
2118 hit_object: spirv::Word,
2119 },
2120 HitObjectGetAttributesEXT {
2121 hit_object: spirv::Word,
2122 hit_object_attribute: spirv::Word,
2123 },
2124 HitObjectGetHitKindEXT {
2125 hit_object: spirv::Word,
2126 },
2127 HitObjectGetPrimitiveIndexEXT {
2128 hit_object: spirv::Word,
2129 },
2130 HitObjectGetGeometryIndexEXT {
2131 hit_object: spirv::Word,
2132 },
2133 HitObjectGetInstanceIdEXT {
2134 hit_object: spirv::Word,
2135 },
2136 HitObjectGetInstanceCustomIndexEXT {
2137 hit_object: spirv::Word,
2138 },
2139 HitObjectGetObjectRayOriginEXT {
2140 hit_object: spirv::Word,
2141 },
2142 HitObjectGetObjectRayDirectionEXT {
2143 hit_object: spirv::Word,
2144 },
2145 HitObjectGetWorldRayDirectionEXT {
2146 hit_object: spirv::Word,
2147 },
2148 HitObjectGetWorldRayOriginEXT {
2149 hit_object: spirv::Word,
2150 },
2151 HitObjectGetObjectToWorldEXT {
2152 hit_object: spirv::Word,
2153 },
2154 HitObjectGetWorldToObjectEXT {
2155 hit_object: spirv::Word,
2156 },
2157 HitObjectGetRayTMaxEXT {
2158 hit_object: spirv::Word,
2159 },
2160 ReportIntersectionKHR {
2161 hit: spirv::Word,
2162 hit_kind: spirv::Word,
2163 },
2164 IgnoreIntersectionNV,
2165 TerminateRayNV,
2166 TraceNV {
2167 accel: spirv::Word,
2168 ray_flags: spirv::Word,
2169 cull_mask: spirv::Word,
2170 sbt_offset: spirv::Word,
2171 sbt_stride: spirv::Word,
2172 miss_index: spirv::Word,
2173 ray_origin: spirv::Word,
2174 ray_tmin: spirv::Word,
2175 ray_direction: spirv::Word,
2176 ray_tmax: spirv::Word,
2177 payload_id: spirv::Word,
2178 },
2179 TraceMotionNV {
2180 accel: spirv::Word,
2181 ray_flags: spirv::Word,
2182 cull_mask: spirv::Word,
2183 sbt_offset: spirv::Word,
2184 sbt_stride: spirv::Word,
2185 miss_index: spirv::Word,
2186 ray_origin: spirv::Word,
2187 ray_tmin: spirv::Word,
2188 ray_direction: spirv::Word,
2189 ray_tmax: spirv::Word,
2190 time: spirv::Word,
2191 payload_id: spirv::Word,
2192 },
2193 TraceRayMotionNV {
2194 accel: spirv::Word,
2195 ray_flags: spirv::Word,
2196 cull_mask: spirv::Word,
2197 sbt_offset: spirv::Word,
2198 sbt_stride: spirv::Word,
2199 miss_index: spirv::Word,
2200 ray_origin: spirv::Word,
2201 ray_tmin: spirv::Word,
2202 ray_direction: spirv::Word,
2203 ray_tmax: spirv::Word,
2204 time: spirv::Word,
2205 payload: spirv::Word,
2206 },
2207 RayQueryGetIntersectionTriangleVertexPositionsKHR {
2208 ray_query: spirv::Word,
2209 intersection: spirv::Word,
2210 },
2211 ExecuteCallableNV {
2212 sbt_index: spirv::Word,
2213 callable_data_id: spirv::Word,
2214 },
2215 RayQueryGetIntersectionClusterIdNV {
2216 ray_query: spirv::Word,
2217 intersection: spirv::Word,
2218 },
2219 HitObjectGetClusterIdNV {
2220 hit_object: spirv::Word,
2221 },
2222 HitObjectGetRayTMinEXT {
2223 hit_object: spirv::Word,
2224 },
2225 HitObjectGetShaderBindingTableRecordIndexEXT {
2226 hit_object: spirv::Word,
2227 },
2228 HitObjectGetShaderRecordBufferHandleEXT {
2229 hit_object: spirv::Word,
2230 },
2231 HitObjectIsEmptyEXT {
2232 hit_object: spirv::Word,
2233 },
2234 HitObjectIsHitEXT {
2235 hit_object: spirv::Word,
2236 },
2237 HitObjectIsMissEXT {
2238 hit_object: spirv::Word,
2239 },
2240 CooperativeMatrixLoadNV {
2241 pointer: spirv::Word,
2242 stride: spirv::Word,
2243 column_major: spirv::Word,
2244 memory_access: Option<spirv::MemoryAccess>,
2245 },
2246 CooperativeMatrixStoreNV {
2247 pointer: spirv::Word,
2248 object: spirv::Word,
2249 stride: spirv::Word,
2250 column_major: spirv::Word,
2251 memory_access: Option<spirv::MemoryAccess>,
2252 },
2253 CooperativeMatrixMulAddNV {
2254 a: spirv::Word,
2255 b: spirv::Word,
2256 c: spirv::Word,
2257 },
2258 CooperativeMatrixLengthNV {
2259 ty: Token<Type>,
2260 },
2261 BeginInvocationInterlockEXT,
2262 EndInvocationInterlockEXT,
2263 CooperativeMatrixReduceNV {
2264 matrix: spirv::Word,
2265 reduce: spirv::CooperativeMatrixReduce,
2266 combine_func: spirv::Word,
2267 },
2268 CooperativeMatrixLoadTensorNV {
2269 pointer: spirv::Word,
2270 object: spirv::Word,
2271 tensor_layout: spirv::Word,
2272 memory_operand: spirv::MemoryAccess,
2273 tensor_addressing_operands: spirv::TensorAddressingOperands,
2274 },
2275 CooperativeMatrixStoreTensorNV {
2276 pointer: spirv::Word,
2277 object: spirv::Word,
2278 tensor_layout: spirv::Word,
2279 memory_operand: spirv::MemoryAccess,
2280 tensor_addressing_operands: spirv::TensorAddressingOperands,
2281 },
2282 CreateTensorLayoutNV,
2283 TensorLayoutSetDimensionNV {
2284 tensor_layout: spirv::Word,
2285 dim: Vec<spirv::Word>,
2286 },
2287 TensorLayoutSetStrideNV {
2288 tensor_layout: spirv::Word,
2289 stride: Vec<spirv::Word>,
2290 },
2291 TensorLayoutSliceNV {
2292 tensor_layout: spirv::Word,
2293 operands: Vec<spirv::Word>,
2294 },
2295 TensorLayoutSetClampValueNV {
2296 tensor_layout: spirv::Word,
2297 value: spirv::Word,
2298 },
2299 CreateTensorViewNV,
2300 TensorViewSetDimensionNV {
2301 tensor_view: spirv::Word,
2302 dim: Vec<spirv::Word>,
2303 },
2304 TensorViewSetStrideNV {
2305 tensor_view: spirv::Word,
2306 stride: Vec<spirv::Word>,
2307 },
2308 IsHelperInvocationEXT,
2309 TensorViewSetClipNV {
2310 tensor_view: spirv::Word,
2311 clip_row_offset: spirv::Word,
2312 clip_row_span: spirv::Word,
2313 clip_col_offset: spirv::Word,
2314 clip_col_span: spirv::Word,
2315 },
2316 TensorLayoutSetBlockSizeNV {
2317 tensor_layout: spirv::Word,
2318 block_size: Vec<spirv::Word>,
2319 },
2320 CooperativeMatrixTransposeNV {
2321 matrix: spirv::Word,
2322 },
2323 ConvertUToImageNV {
2324 operand: spirv::Word,
2325 },
2326 ConvertUToSamplerNV {
2327 operand: spirv::Word,
2328 },
2329 ConvertImageToUNV {
2330 operand: spirv::Word,
2331 },
2332 ConvertSamplerToUNV {
2333 operand: spirv::Word,
2334 },
2335 ConvertUToSampledImageNV {
2336 operand: spirv::Word,
2337 },
2338 ConvertSampledImageToUNV {
2339 operand: spirv::Word,
2340 },
2341 SamplerImageAddressingModeNV {
2342 bit_width: u32,
2343 },
2344 RawAccessChainNV {
2345 base: spirv::Word,
2346 byte_stride: spirv::Word,
2347 element_index: spirv::Word,
2348 byte_offset: spirv::Word,
2349 raw_access_chain_operands: Option<spirv::RawAccessChainOperands>,
2350 },
2351 RayQueryGetIntersectionSpherePositionNV {
2352 ray_query: spirv::Word,
2353 intersection: spirv::Word,
2354 },
2355 RayQueryGetIntersectionSphereRadiusNV {
2356 ray_query: spirv::Word,
2357 intersection: spirv::Word,
2358 },
2359 RayQueryGetIntersectionLSSPositionsNV {
2360 ray_query: spirv::Word,
2361 intersection: spirv::Word,
2362 },
2363 RayQueryGetIntersectionLSSRadiiNV {
2364 ray_query: spirv::Word,
2365 intersection: spirv::Word,
2366 },
2367 RayQueryGetIntersectionLSSHitValueNV {
2368 ray_query: spirv::Word,
2369 intersection: spirv::Word,
2370 },
2371 HitObjectGetSpherePositionNV {
2372 hit_object: spirv::Word,
2373 },
2374 HitObjectGetSphereRadiusNV {
2375 hit_object: spirv::Word,
2376 },
2377 HitObjectGetLSSPositionsNV {
2378 hit_object: spirv::Word,
2379 },
2380 HitObjectGetLSSRadiiNV {
2381 hit_object: spirv::Word,
2382 },
2383 HitObjectIsSphereHitNV {
2384 hit_object: spirv::Word,
2385 },
2386 HitObjectIsLSSHitNV {
2387 hit_object: spirv::Word,
2388 },
2389 RayQueryIsSphereHitNV {
2390 ray_query: spirv::Word,
2391 intersection: spirv::Word,
2392 },
2393 RayQueryIsLSSHitNV {
2394 ray_query: spirv::Word,
2395 intersection: spirv::Word,
2396 },
2397 SubgroupShuffleINTEL {
2398 data: spirv::Word,
2399 invocation_id: spirv::Word,
2400 },
2401 SubgroupShuffleDownINTEL {
2402 current: spirv::Word,
2403 next: spirv::Word,
2404 delta: spirv::Word,
2405 },
2406 SubgroupShuffleUpINTEL {
2407 previous: spirv::Word,
2408 current: spirv::Word,
2409 delta: spirv::Word,
2410 },
2411 SubgroupShuffleXorINTEL {
2412 data: spirv::Word,
2413 value: spirv::Word,
2414 },
2415 SubgroupBlockReadINTEL {
2416 ptr: spirv::Word,
2417 },
2418 SubgroupBlockWriteINTEL {
2419 ptr: spirv::Word,
2420 data: spirv::Word,
2421 },
2422 SubgroupImageBlockReadINTEL {
2423 image: spirv::Word,
2424 coordinate: spirv::Word,
2425 },
2426 SubgroupImageBlockWriteINTEL {
2427 image: spirv::Word,
2428 coordinate: spirv::Word,
2429 data: spirv::Word,
2430 },
2431 SubgroupImageMediaBlockReadINTEL {
2432 image: spirv::Word,
2433 coordinate: spirv::Word,
2434 width: spirv::Word,
2435 height: spirv::Word,
2436 },
2437 SubgroupImageMediaBlockWriteINTEL {
2438 image: spirv::Word,
2439 coordinate: spirv::Word,
2440 width: spirv::Word,
2441 height: spirv::Word,
2442 data: spirv::Word,
2443 },
2444 UCountLeadingZerosINTEL {
2445 operand: spirv::Word,
2446 },
2447 UCountTrailingZerosINTEL {
2448 operand: spirv::Word,
2449 },
2450 AbsISubINTEL {
2451 operand_1: spirv::Word,
2452 operand_2: spirv::Word,
2453 },
2454 AbsUSubINTEL {
2455 operand_1: spirv::Word,
2456 operand_2: spirv::Word,
2457 },
2458 IAddSatINTEL {
2459 operand_1: spirv::Word,
2460 operand_2: spirv::Word,
2461 },
2462 UAddSatINTEL {
2463 operand_1: spirv::Word,
2464 operand_2: spirv::Word,
2465 },
2466 IAverageINTEL {
2467 operand_1: spirv::Word,
2468 operand_2: spirv::Word,
2469 },
2470 UAverageINTEL {
2471 operand_1: spirv::Word,
2472 operand_2: spirv::Word,
2473 },
2474 IAverageRoundedINTEL {
2475 operand_1: spirv::Word,
2476 operand_2: spirv::Word,
2477 },
2478 UAverageRoundedINTEL {
2479 operand_1: spirv::Word,
2480 operand_2: spirv::Word,
2481 },
2482 ISubSatINTEL {
2483 operand_1: spirv::Word,
2484 operand_2: spirv::Word,
2485 },
2486 USubSatINTEL {
2487 operand_1: spirv::Word,
2488 operand_2: spirv::Word,
2489 },
2490 IMul32x16INTEL {
2491 operand_1: spirv::Word,
2492 operand_2: spirv::Word,
2493 },
2494 UMul32x16INTEL {
2495 operand_1: spirv::Word,
2496 operand_2: spirv::Word,
2497 },
2498 ConstantFunctionPointerINTEL {
2499 function: spirv::Word,
2500 },
2501 FunctionPointerCallINTEL {
2502 operand_1: Vec<spirv::Word>,
2503 },
2504 AsmTargetINTEL {
2505 asm_target: String,
2506 },
2507 AsmINTEL {
2508 asm_type: spirv::Word,
2509 target: spirv::Word,
2510 asm_instructions: String,
2511 constraints: String,
2512 },
2513 AsmCallINTEL {
2514 asm: spirv::Word,
2515 argument: Vec<spirv::Word>,
2516 },
2517 AtomicFMinEXT {
2518 pointer: spirv::Word,
2519 memory: spirv::Word,
2520 semantics: spirv::Word,
2521 value: spirv::Word,
2522 },
2523 AtomicFMaxEXT {
2524 pointer: spirv::Word,
2525 memory: spirv::Word,
2526 semantics: spirv::Word,
2527 value: spirv::Word,
2528 },
2529 AssumeTrueKHR {
2530 condition: spirv::Word,
2531 },
2532 ExpectKHR {
2533 value: spirv::Word,
2534 expected_value: spirv::Word,
2535 },
2536 DecorateString {
2537 target: spirv::Word,
2538 decoration: spirv::Decoration,
2539 },
2540 MemberDecorateString {
2541 struct_type: Token<Type>,
2542 member: u32,
2543 decoration: spirv::Decoration,
2544 },
2545 VmeImageINTEL {
2546 image_type: Token<Type>,
2547 sampler: spirv::Word,
2548 },
2549 TypeVmeImageINTEL {
2550 image_type: Token<Type>,
2551 },
2552 TypeAvcImePayloadINTEL,
2553 TypeAvcRefPayloadINTEL,
2554 TypeAvcSicPayloadINTEL,
2555 TypeAvcMcePayloadINTEL,
2556 TypeAvcMceResultINTEL,
2557 TypeAvcImeResultINTEL,
2558 TypeAvcImeResultSingleReferenceStreamoutINTEL,
2559 TypeAvcImeResultDualReferenceStreamoutINTEL,
2560 TypeAvcImeSingleReferenceStreaminINTEL,
2561 TypeAvcImeDualReferenceStreaminINTEL,
2562 TypeAvcRefResultINTEL,
2563 TypeAvcSicResultINTEL,
2564 SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL {
2565 slice_type: Token<Type>,
2566 qp: spirv::Word,
2567 },
2568 SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL {
2569 reference_base_penalty: spirv::Word,
2570 payload: spirv::Word,
2571 },
2572 SubgroupAvcMceGetDefaultInterShapePenaltyINTEL {
2573 slice_type: Token<Type>,
2574 qp: spirv::Word,
2575 },
2576 SubgroupAvcMceSetInterShapePenaltyINTEL {
2577 packed_shape_penalty: spirv::Word,
2578 payload: spirv::Word,
2579 },
2580 SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL {
2581 slice_type: Token<Type>,
2582 qp: spirv::Word,
2583 },
2584 SubgroupAvcMceSetInterDirectionPenaltyINTEL {
2585 direction_cost: spirv::Word,
2586 payload: spirv::Word,
2587 },
2588 SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL {
2589 slice_type: Token<Type>,
2590 qp: spirv::Word,
2591 },
2592 SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL {
2593 slice_type: Token<Type>,
2594 qp: spirv::Word,
2595 },
2596 SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL,
2597 SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL,
2598 SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL,
2599 SubgroupAvcMceSetMotionVectorCostFunctionINTEL {
2600 packed_cost_center_delta: spirv::Word,
2601 packed_cost_table: spirv::Word,
2602 cost_precision: spirv::Word,
2603 payload: spirv::Word,
2604 },
2605 SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL {
2606 slice_type: Token<Type>,
2607 qp: spirv::Word,
2608 },
2609 SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL,
2610 SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL,
2611 SubgroupAvcMceSetAcOnlyHaarINTEL {
2612 payload: spirv::Word,
2613 },
2614 SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL {
2615 source_field_polarity: spirv::Word,
2616 payload: spirv::Word,
2617 },
2618 SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL {
2619 reference_field_polarity: spirv::Word,
2620 payload: spirv::Word,
2621 },
2622 SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL {
2623 forward_reference_field_polarity: spirv::Word,
2624 backward_reference_field_polarity: spirv::Word,
2625 payload: spirv::Word,
2626 },
2627 SubgroupAvcMceConvertToImePayloadINTEL {
2628 payload: spirv::Word,
2629 },
2630 SubgroupAvcMceConvertToImeResultINTEL {
2631 payload: spirv::Word,
2632 },
2633 SubgroupAvcMceConvertToRefPayloadINTEL {
2634 payload: spirv::Word,
2635 },
2636 SubgroupAvcMceConvertToRefResultINTEL {
2637 payload: spirv::Word,
2638 },
2639 SubgroupAvcMceConvertToSicPayloadINTEL {
2640 payload: spirv::Word,
2641 },
2642 SubgroupAvcMceConvertToSicResultINTEL {
2643 payload: spirv::Word,
2644 },
2645 SubgroupAvcMceGetMotionVectorsINTEL {
2646 payload: spirv::Word,
2647 },
2648 SubgroupAvcMceGetInterDistortionsINTEL {
2649 payload: spirv::Word,
2650 },
2651 SubgroupAvcMceGetBestInterDistortionsINTEL {
2652 payload: spirv::Word,
2653 },
2654 SubgroupAvcMceGetInterMajorShapeINTEL {
2655 payload: spirv::Word,
2656 },
2657 SubgroupAvcMceGetInterMinorShapeINTEL {
2658 payload: spirv::Word,
2659 },
2660 SubgroupAvcMceGetInterDirectionsINTEL {
2661 payload: spirv::Word,
2662 },
2663 SubgroupAvcMceGetInterMotionVectorCountINTEL {
2664 payload: spirv::Word,
2665 },
2666 SubgroupAvcMceGetInterReferenceIdsINTEL {
2667 payload: spirv::Word,
2668 },
2669 SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL {
2670 packed_reference_ids: spirv::Word,
2671 packed_reference_parameter_field_polarities: spirv::Word,
2672 payload: spirv::Word,
2673 },
2674 SubgroupAvcImeInitializeINTEL {
2675 src_coord: spirv::Word,
2676 partition_mask: spirv::Word,
2677 sad_adjustment: spirv::Word,
2678 },
2679 SubgroupAvcImeSetSingleReferenceINTEL {
2680 ref_offset: spirv::Word,
2681 search_window_config: spirv::Word,
2682 payload: spirv::Word,
2683 },
2684 SubgroupAvcImeSetDualReferenceINTEL {
2685 fwd_ref_offset: spirv::Word,
2686 bwd_ref_offset: spirv::Word,
2687 search_window_config: spirv::Word,
2688 payload: spirv::Word,
2689 },
2690 SubgroupAvcImeRefWindowSizeINTEL {
2691 search_window_config: spirv::Word,
2692 dual_ref: spirv::Word,
2693 },
2694 SubgroupAvcImeAdjustRefOffsetINTEL {
2695 ref_offset: spirv::Word,
2696 src_coord: spirv::Word,
2697 ref_window_size: spirv::Word,
2698 image_size: spirv::Word,
2699 },
2700 SubgroupAvcImeConvertToMcePayloadINTEL {
2701 payload: spirv::Word,
2702 },
2703 SubgroupAvcImeSetMaxMotionVectorCountINTEL {
2704 max_motion_vector_count: spirv::Word,
2705 payload: spirv::Word,
2706 },
2707 SubgroupAvcImeSetUnidirectionalMixDisableINTEL {
2708 payload: spirv::Word,
2709 },
2710 SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL {
2711 threshold: spirv::Word,
2712 payload: spirv::Word,
2713 },
2714 SubgroupAvcImeSetWeightedSadINTEL {
2715 packed_sad_weights: spirv::Word,
2716 payload: spirv::Word,
2717 },
2718 SubgroupAvcImeEvaluateWithSingleReferenceINTEL {
2719 src_image: spirv::Word,
2720 ref_image: spirv::Word,
2721 payload: spirv::Word,
2722 },
2723 SubgroupAvcImeEvaluateWithDualReferenceINTEL {
2724 src_image: spirv::Word,
2725 fwd_ref_image: spirv::Word,
2726 bwd_ref_image: spirv::Word,
2727 payload: spirv::Word,
2728 },
2729 SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL {
2730 src_image: spirv::Word,
2731 ref_image: spirv::Word,
2732 payload: spirv::Word,
2733 streamin_components: spirv::Word,
2734 },
2735 SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL {
2736 src_image: spirv::Word,
2737 fwd_ref_image: spirv::Word,
2738 bwd_ref_image: spirv::Word,
2739 payload: spirv::Word,
2740 streamin_components: spirv::Word,
2741 },
2742 SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL {
2743 src_image: spirv::Word,
2744 ref_image: spirv::Word,
2745 payload: spirv::Word,
2746 },
2747 SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL {
2748 src_image: spirv::Word,
2749 fwd_ref_image: spirv::Word,
2750 bwd_ref_image: spirv::Word,
2751 payload: spirv::Word,
2752 },
2753 SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL {
2754 src_image: spirv::Word,
2755 ref_image: spirv::Word,
2756 payload: spirv::Word,
2757 streamin_components: spirv::Word,
2758 },
2759 SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL {
2760 src_image: spirv::Word,
2761 fwd_ref_image: spirv::Word,
2762 bwd_ref_image: spirv::Word,
2763 payload: spirv::Word,
2764 streamin_components: spirv::Word,
2765 },
2766 SubgroupAvcImeConvertToMceResultINTEL {
2767 payload: spirv::Word,
2768 },
2769 SubgroupAvcImeGetSingleReferenceStreaminINTEL {
2770 payload: spirv::Word,
2771 },
2772 SubgroupAvcImeGetDualReferenceStreaminINTEL {
2773 payload: spirv::Word,
2774 },
2775 SubgroupAvcImeStripSingleReferenceStreamoutINTEL {
2776 payload: spirv::Word,
2777 },
2778 SubgroupAvcImeStripDualReferenceStreamoutINTEL {
2779 payload: spirv::Word,
2780 },
2781 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL {
2782 payload: spirv::Word,
2783 major_shape: spirv::Word,
2784 },
2785 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL {
2786 payload: spirv::Word,
2787 major_shape: spirv::Word,
2788 },
2789 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL {
2790 payload: spirv::Word,
2791 major_shape: spirv::Word,
2792 },
2793 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL {
2794 payload: spirv::Word,
2795 major_shape: spirv::Word,
2796 direction: spirv::Word,
2797 },
2798 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL {
2799 payload: spirv::Word,
2800 major_shape: spirv::Word,
2801 direction: spirv::Word,
2802 },
2803 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL {
2804 payload: spirv::Word,
2805 major_shape: spirv::Word,
2806 direction: spirv::Word,
2807 },
2808 SubgroupAvcImeGetBorderReachedINTEL {
2809 image_select: spirv::Word,
2810 payload: spirv::Word,
2811 },
2812 SubgroupAvcImeGetTruncatedSearchIndicationINTEL {
2813 payload: spirv::Word,
2814 },
2815 SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL {
2816 payload: spirv::Word,
2817 },
2818 SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL {
2819 payload: spirv::Word,
2820 },
2821 SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL {
2822 payload: spirv::Word,
2823 },
2824 SubgroupAvcFmeInitializeINTEL {
2825 src_coord: spirv::Word,
2826 motion_vectors: spirv::Word,
2827 major_shapes: spirv::Word,
2828 minor_shapes: spirv::Word,
2829 direction: spirv::Word,
2830 pixel_resolution: spirv::Word,
2831 sad_adjustment: spirv::Word,
2832 },
2833 SubgroupAvcBmeInitializeINTEL {
2834 src_coord: spirv::Word,
2835 motion_vectors: spirv::Word,
2836 major_shapes: spirv::Word,
2837 minor_shapes: spirv::Word,
2838 direction: spirv::Word,
2839 pixel_resolution: spirv::Word,
2840 bidirectional_weight: spirv::Word,
2841 sad_adjustment: spirv::Word,
2842 },
2843 SubgroupAvcRefConvertToMcePayloadINTEL {
2844 payload: spirv::Word,
2845 },
2846 SubgroupAvcRefSetBidirectionalMixDisableINTEL {
2847 payload: spirv::Word,
2848 },
2849 SubgroupAvcRefSetBilinearFilterEnableINTEL {
2850 payload: spirv::Word,
2851 },
2852 SubgroupAvcRefEvaluateWithSingleReferenceINTEL {
2853 src_image: spirv::Word,
2854 ref_image: spirv::Word,
2855 payload: spirv::Word,
2856 },
2857 SubgroupAvcRefEvaluateWithDualReferenceINTEL {
2858 src_image: spirv::Word,
2859 fwd_ref_image: spirv::Word,
2860 bwd_ref_image: spirv::Word,
2861 payload: spirv::Word,
2862 },
2863 SubgroupAvcRefEvaluateWithMultiReferenceINTEL {
2864 src_image: spirv::Word,
2865 packed_reference_ids: spirv::Word,
2866 payload: spirv::Word,
2867 },
2868 SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL {
2869 src_image: spirv::Word,
2870 packed_reference_ids: spirv::Word,
2871 packed_reference_field_polarities: spirv::Word,
2872 payload: spirv::Word,
2873 },
2874 SubgroupAvcRefConvertToMceResultINTEL {
2875 payload: spirv::Word,
2876 },
2877 SubgroupAvcSicInitializeINTEL {
2878 src_coord: spirv::Word,
2879 },
2880 SubgroupAvcSicConfigureSkcINTEL {
2881 skip_block_partition_type: Token<Type>,
2882 skip_motion_vector_mask: spirv::Word,
2883 motion_vectors: spirv::Word,
2884 bidirectional_weight: spirv::Word,
2885 sad_adjustment: spirv::Word,
2886 payload: spirv::Word,
2887 },
2888 SubgroupAvcSicConfigureIpeLumaINTEL {
2889 luma_intra_partition_mask: spirv::Word,
2890 intra_neighbour_availabilty: spirv::Word,
2891 left_edge_luma_pixels: spirv::Word,
2892 upper_left_corner_luma_pixel: spirv::Word,
2893 upper_edge_luma_pixels: spirv::Word,
2894 upper_right_edge_luma_pixels: spirv::Word,
2895 sad_adjustment: spirv::Word,
2896 payload: spirv::Word,
2897 },
2898 SubgroupAvcSicConfigureIpeLumaChromaINTEL {
2899 luma_intra_partition_mask: spirv::Word,
2900 intra_neighbour_availabilty: spirv::Word,
2901 left_edge_luma_pixels: spirv::Word,
2902 upper_left_corner_luma_pixel: spirv::Word,
2903 upper_edge_luma_pixels: spirv::Word,
2904 upper_right_edge_luma_pixels: spirv::Word,
2905 left_edge_chroma_pixels: spirv::Word,
2906 upper_left_corner_chroma_pixel: spirv::Word,
2907 upper_edge_chroma_pixels: spirv::Word,
2908 sad_adjustment: spirv::Word,
2909 payload: spirv::Word,
2910 },
2911 SubgroupAvcSicGetMotionVectorMaskINTEL {
2912 skip_block_partition_type: Token<Type>,
2913 direction: spirv::Word,
2914 },
2915 SubgroupAvcSicConvertToMcePayloadINTEL {
2916 payload: spirv::Word,
2917 },
2918 SubgroupAvcSicSetIntraLumaShapePenaltyINTEL {
2919 packed_shape_penalty: spirv::Word,
2920 payload: spirv::Word,
2921 },
2922 SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL {
2923 luma_mode_penalty: spirv::Word,
2924 luma_packed_neighbor_modes: spirv::Word,
2925 luma_packed_non_dc_penalty: spirv::Word,
2926 payload: spirv::Word,
2927 },
2928 SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL {
2929 chroma_mode_base_penalty: spirv::Word,
2930 payload: spirv::Word,
2931 },
2932 SubgroupAvcSicSetBilinearFilterEnableINTEL {
2933 payload: spirv::Word,
2934 },
2935 SubgroupAvcSicSetSkcForwardTransformEnableINTEL {
2936 packed_sad_coefficients: spirv::Word,
2937 payload: spirv::Word,
2938 },
2939 SubgroupAvcSicSetBlockBasedRawSkipSadINTEL {
2940 block_based_skip_type: Token<Type>,
2941 payload: spirv::Word,
2942 },
2943 SubgroupAvcSicEvaluateIpeINTEL {
2944 src_image: spirv::Word,
2945 payload: spirv::Word,
2946 },
2947 SubgroupAvcSicEvaluateWithSingleReferenceINTEL {
2948 src_image: spirv::Word,
2949 ref_image: spirv::Word,
2950 payload: spirv::Word,
2951 },
2952 SubgroupAvcSicEvaluateWithDualReferenceINTEL {
2953 src_image: spirv::Word,
2954 fwd_ref_image: spirv::Word,
2955 bwd_ref_image: spirv::Word,
2956 payload: spirv::Word,
2957 },
2958 SubgroupAvcSicEvaluateWithMultiReferenceINTEL {
2959 src_image: spirv::Word,
2960 packed_reference_ids: spirv::Word,
2961 payload: spirv::Word,
2962 },
2963 SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL {
2964 src_image: spirv::Word,
2965 packed_reference_ids: spirv::Word,
2966 packed_reference_field_polarities: spirv::Word,
2967 payload: spirv::Word,
2968 },
2969 SubgroupAvcSicConvertToMceResultINTEL {
2970 payload: spirv::Word,
2971 },
2972 SubgroupAvcSicGetIpeLumaShapeINTEL {
2973 payload: spirv::Word,
2974 },
2975 SubgroupAvcSicGetBestIpeLumaDistortionINTEL {
2976 payload: spirv::Word,
2977 },
2978 SubgroupAvcSicGetBestIpeChromaDistortionINTEL {
2979 payload: spirv::Word,
2980 },
2981 SubgroupAvcSicGetPackedIpeLumaModesINTEL {
2982 payload: spirv::Word,
2983 },
2984 SubgroupAvcSicGetIpeChromaModeINTEL {
2985 payload: spirv::Word,
2986 },
2987 SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL {
2988 payload: spirv::Word,
2989 },
2990 SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL {
2991 payload: spirv::Word,
2992 },
2993 SubgroupAvcSicGetInterRawSadsINTEL {
2994 payload: spirv::Word,
2995 },
2996 VariableLengthArrayINTEL {
2997 length: Token<Constant>,
2998 },
2999 SaveMemoryINTEL,
3000 RestoreMemoryINTEL {
3001 ptr: spirv::Word,
3002 },
3003 ArbitraryFloatSinCosPiALTERA {
3004 a: spirv::Word,
3005 ma: u32,
3006 m_result: u32,
3007 subnormal: u32,
3008 rounding: u32,
3009 rounding_accuracy: u32,
3010 },
3011 ArbitraryFloatCastALTERA {
3012 a: spirv::Word,
3013 ma: u32,
3014 mresult: u32,
3015 subnormal: u32,
3016 rounding: u32,
3017 accuracy: u32,
3018 },
3019 ArbitraryFloatCastFromIntALTERA {
3020 a: spirv::Word,
3021 mresult: u32,
3022 from_sign: u32,
3023 subnormal: u32,
3024 rounding: u32,
3025 accuracy: u32,
3026 },
3027 ArbitraryFloatCastToIntALTERA {
3028 a: spirv::Word,
3029 ma: u32,
3030 to_sign: u32,
3031 subnormal: u32,
3032 rounding: u32,
3033 accuracy: u32,
3034 },
3035 ArbitraryFloatAddALTERA {
3036 a: spirv::Word,
3037 ma: u32,
3038 b: spirv::Word,
3039 mb: u32,
3040 m_result: u32,
3041 subnormal: u32,
3042 rounding: u32,
3043 accuracy: u32,
3044 },
3045 ArbitraryFloatSubALTERA {
3046 a: spirv::Word,
3047 ma: u32,
3048 b: spirv::Word,
3049 mb: u32,
3050 mresult: u32,
3051 subnormal: u32,
3052 rounding: u32,
3053 accuracy: u32,
3054 },
3055 ArbitraryFloatMulALTERA {
3056 a: spirv::Word,
3057 ma: u32,
3058 b: spirv::Word,
3059 mb: u32,
3060 mresult: u32,
3061 subnormal: u32,
3062 rounding: u32,
3063 accuracy: u32,
3064 },
3065 ArbitraryFloatDivALTERA {
3066 a: spirv::Word,
3067 ma: u32,
3068 b: spirv::Word,
3069 mb: u32,
3070 mresult: u32,
3071 subnormal: u32,
3072 rounding: u32,
3073 accuracy: u32,
3074 },
3075 ArbitraryFloatGTALTERA {
3076 a: spirv::Word,
3077 ma: u32,
3078 b: spirv::Word,
3079 mb: u32,
3080 },
3081 ArbitraryFloatGEALTERA {
3082 a: spirv::Word,
3083 ma: u32,
3084 b: spirv::Word,
3085 mb: u32,
3086 },
3087 ArbitraryFloatLTALTERA {
3088 a: spirv::Word,
3089 ma: u32,
3090 b: spirv::Word,
3091 mb: u32,
3092 },
3093 ArbitraryFloatLEALTERA {
3094 a: spirv::Word,
3095 ma: u32,
3096 b: spirv::Word,
3097 mb: u32,
3098 },
3099 ArbitraryFloatEQALTERA {
3100 a: spirv::Word,
3101 ma: u32,
3102 b: spirv::Word,
3103 mb: u32,
3104 },
3105 ArbitraryFloatRecipALTERA {
3106 a: spirv::Word,
3107 ma: u32,
3108 mresult: u32,
3109 subnormal: u32,
3110 rounding: u32,
3111 accuracy: u32,
3112 },
3113 ArbitraryFloatRSqrtALTERA {
3114 a: spirv::Word,
3115 ma: u32,
3116 mresult: u32,
3117 subnormal: u32,
3118 rounding: u32,
3119 accuracy: u32,
3120 },
3121 ArbitraryFloatCbrtALTERA {
3122 a: spirv::Word,
3123 ma: u32,
3124 mresult: u32,
3125 subnormal: u32,
3126 rounding: u32,
3127 accuracy: u32,
3128 },
3129 ArbitraryFloatHypotALTERA {
3130 a: spirv::Word,
3131 ma: u32,
3132 b: spirv::Word,
3133 mb: u32,
3134 mresult: u32,
3135 subnormal: u32,
3136 rounding: u32,
3137 accuracy: u32,
3138 },
3139 ArbitraryFloatSqrtALTERA {
3140 a: spirv::Word,
3141 ma: u32,
3142 mresult: u32,
3143 subnormal: u32,
3144 rounding: u32,
3145 accuracy: u32,
3146 },
3147 ArbitraryFloatLogINTEL {
3148 a: spirv::Word,
3149 ma: u32,
3150 mresult: u32,
3151 subnormal: u32,
3152 rounding: u32,
3153 accuracy: u32,
3154 },
3155 ArbitraryFloatLog2INTEL {
3156 a: spirv::Word,
3157 ma: u32,
3158 mresult: u32,
3159 subnormal: u32,
3160 rounding: u32,
3161 accuracy: u32,
3162 },
3163 ArbitraryFloatLog10INTEL {
3164 a: spirv::Word,
3165 ma: u32,
3166 mresult: u32,
3167 subnormal: u32,
3168 rounding: u32,
3169 accuracy: u32,
3170 },
3171 ArbitraryFloatLog1pINTEL {
3172 a: spirv::Word,
3173 ma: u32,
3174 mresult: u32,
3175 subnormal: u32,
3176 rounding: u32,
3177 accuracy: u32,
3178 },
3179 ArbitraryFloatExpINTEL {
3180 a: spirv::Word,
3181 ma: u32,
3182 mresult: u32,
3183 subnormal: u32,
3184 rounding: u32,
3185 accuracy: u32,
3186 },
3187 ArbitraryFloatExp2INTEL {
3188 a: spirv::Word,
3189 ma: u32,
3190 mresult: u32,
3191 subnormal: u32,
3192 rounding: u32,
3193 accuracy: u32,
3194 },
3195 ArbitraryFloatExp10INTEL {
3196 a: spirv::Word,
3197 ma: u32,
3198 mresult: u32,
3199 subnormal: u32,
3200 rounding: u32,
3201 accuracy: u32,
3202 },
3203 ArbitraryFloatExpm1INTEL {
3204 a: spirv::Word,
3205 ma: u32,
3206 mresult: u32,
3207 subnormal: u32,
3208 rounding: u32,
3209 accuracy: u32,
3210 },
3211 ArbitraryFloatSinINTEL {
3212 a: spirv::Word,
3213 ma: u32,
3214 mresult: u32,
3215 subnormal: u32,
3216 rounding: u32,
3217 accuracy: u32,
3218 },
3219 ArbitraryFloatCosINTEL {
3220 a: spirv::Word,
3221 ma: u32,
3222 mresult: u32,
3223 subnormal: u32,
3224 rounding: u32,
3225 accuracy: u32,
3226 },
3227 ArbitraryFloatSinCosINTEL {
3228 a: spirv::Word,
3229 ma: u32,
3230 mresult: u32,
3231 subnormal: u32,
3232 rounding: u32,
3233 accuracy: u32,
3234 },
3235 ArbitraryFloatSinPiINTEL {
3236 a: spirv::Word,
3237 ma: u32,
3238 mresult: u32,
3239 subnormal: u32,
3240 rounding: u32,
3241 accuracy: u32,
3242 },
3243 ArbitraryFloatCosPiINTEL {
3244 a: spirv::Word,
3245 ma: u32,
3246 mresult: u32,
3247 subnormal: u32,
3248 rounding: u32,
3249 accuracy: u32,
3250 },
3251 ArbitraryFloatASinINTEL {
3252 a: spirv::Word,
3253 ma: u32,
3254 mresult: u32,
3255 subnormal: u32,
3256 rounding: u32,
3257 accuracy: u32,
3258 },
3259 ArbitraryFloatASinPiINTEL {
3260 a: spirv::Word,
3261 ma: u32,
3262 mresult: u32,
3263 subnormal: u32,
3264 rounding: u32,
3265 accuracy: u32,
3266 },
3267 ArbitraryFloatACosINTEL {
3268 a: spirv::Word,
3269 m1: u32,
3270 mout: u32,
3271 enable_subnormals: u32,
3272 rounding_mode: u32,
3273 rounding_accuracy: u32,
3274 },
3275 ArbitraryFloatACosPiINTEL {
3276 a: spirv::Word,
3277 ma: u32,
3278 mresult: u32,
3279 subnormal: u32,
3280 rounding: u32,
3281 accuracy: u32,
3282 },
3283 ArbitraryFloatATanINTEL {
3284 a: spirv::Word,
3285 ma: u32,
3286 mresult: u32,
3287 subnormal: u32,
3288 rounding: u32,
3289 accuracy: u32,
3290 },
3291 ArbitraryFloatATanPiINTEL {
3292 a: spirv::Word,
3293 ma: u32,
3294 mresult: u32,
3295 subnormal: u32,
3296 rounding: u32,
3297 accuracy: u32,
3298 },
3299 ArbitraryFloatATan2INTEL {
3300 a: spirv::Word,
3301 ma: u32,
3302 b: spirv::Word,
3303 mb: u32,
3304 mresult: u32,
3305 subnormal: u32,
3306 rounding: u32,
3307 accuracy: u32,
3308 },
3309 ArbitraryFloatPowINTEL {
3310 a: spirv::Word,
3311 ma: u32,
3312 b: spirv::Word,
3313 mb: u32,
3314 mresult: u32,
3315 subnormal: u32,
3316 rounding: u32,
3317 accuracy: u32,
3318 },
3319 ArbitraryFloatPowRINTEL {
3320 a: spirv::Word,
3321 ma: u32,
3322 b: spirv::Word,
3323 mb: u32,
3324 mresult: u32,
3325 subnormal: u32,
3326 rounding: u32,
3327 accuracy: u32,
3328 },
3329 ArbitraryFloatPowNINTEL {
3330 a: spirv::Word,
3331 ma: u32,
3332 b: spirv::Word,
3333 sign_of_b: u32,
3334 mresult: u32,
3335 subnormal: u32,
3336 rounding: u32,
3337 accuracy: u32,
3338 },
3339 LoopControlINTEL {
3340 loop_control_parameters: Vec<u32>,
3341 },
3342 AliasDomainDeclINTEL {
3343 name: Option<spirv::Word>,
3344 },
3345 AliasScopeDeclINTEL {
3346 alias_domain: spirv::Word,
3347 name: Option<spirv::Word>,
3348 },
3349 AliasScopeListDeclINTEL {
3350 alias_scope_1_alias_scope_2: Vec<spirv::Word>,
3351 },
3352 FixedSqrtALTERA {
3353 input: spirv::Word,
3354 s: u32,
3355 i: u32,
3356 r_i: u32,
3357 q: u32,
3358 o: u32,
3359 },
3360 FixedRecipALTERA {
3361 input: spirv::Word,
3362 s: u32,
3363 i: u32,
3364 r_i: u32,
3365 q: u32,
3366 o: u32,
3367 },
3368 FixedRsqrtALTERA {
3369 input: spirv::Word,
3370 s: u32,
3371 i: u32,
3372 r_i: u32,
3373 q: u32,
3374 o: u32,
3375 },
3376 FixedSinALTERA {
3377 input: spirv::Word,
3378 s: u32,
3379 i: u32,
3380 r_i: u32,
3381 q: u32,
3382 o: u32,
3383 },
3384 FixedCosALTERA {
3385 input: spirv::Word,
3386 s: u32,
3387 i: u32,
3388 r_i: u32,
3389 q: u32,
3390 o: u32,
3391 },
3392 FixedSinCosALTERA {
3393 input: spirv::Word,
3394 s: u32,
3395 i: u32,
3396 r_i: u32,
3397 q: u32,
3398 o: u32,
3399 },
3400 FixedSinPiALTERA {
3401 input: spirv::Word,
3402 s: u32,
3403 i: u32,
3404 r_i: u32,
3405 q: u32,
3406 o: u32,
3407 },
3408 FixedCosPiALTERA {
3409 input: spirv::Word,
3410 s: u32,
3411 i: u32,
3412 r_i: u32,
3413 q: u32,
3414 o: u32,
3415 },
3416 FixedSinCosPiALTERA {
3417 input: spirv::Word,
3418 s: u32,
3419 i: u32,
3420 r_i: u32,
3421 q: u32,
3422 o: u32,
3423 },
3424 FixedLogALTERA {
3425 input: spirv::Word,
3426 s: u32,
3427 i: u32,
3428 r_i: u32,
3429 q: u32,
3430 o: u32,
3431 },
3432 FixedExpALTERA {
3433 input: spirv::Word,
3434 s: u32,
3435 i: u32,
3436 r_i: u32,
3437 q: u32,
3438 o: u32,
3439 },
3440 PtrCastToCrossWorkgroupALTERA {
3441 pointer: spirv::Word,
3442 },
3443 CrossWorkgroupCastToPtrALTERA {
3444 pointer: spirv::Word,
3445 },
3446 ReadPipeBlockingALTERA {
3447 packet_size: spirv::Word,
3448 packet_alignment: spirv::Word,
3449 },
3450 WritePipeBlockingALTERA {
3451 packet_size: spirv::Word,
3452 packet_alignment: spirv::Word,
3453 },
3454 FPGARegALTERA {
3455 input: spirv::Word,
3456 },
3457 RayQueryGetRayTMinKHR {
3458 ray_query: spirv::Word,
3459 },
3460 RayQueryGetRayFlagsKHR {
3461 ray_query: spirv::Word,
3462 },
3463 RayQueryGetIntersectionTKHR {
3464 ray_query: spirv::Word,
3465 intersection: spirv::Word,
3466 },
3467 RayQueryGetIntersectionInstanceCustomIndexKHR {
3468 ray_query: spirv::Word,
3469 intersection: spirv::Word,
3470 },
3471 RayQueryGetIntersectionInstanceIdKHR {
3472 ray_query: spirv::Word,
3473 intersection: spirv::Word,
3474 },
3475 RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR {
3476 ray_query: spirv::Word,
3477 intersection: spirv::Word,
3478 },
3479 RayQueryGetIntersectionGeometryIndexKHR {
3480 ray_query: spirv::Word,
3481 intersection: spirv::Word,
3482 },
3483 RayQueryGetIntersectionPrimitiveIndexKHR {
3484 ray_query: spirv::Word,
3485 intersection: spirv::Word,
3486 },
3487 RayQueryGetIntersectionBarycentricsKHR {
3488 ray_query: spirv::Word,
3489 intersection: spirv::Word,
3490 },
3491 RayQueryGetIntersectionFrontFaceKHR {
3492 ray_query: spirv::Word,
3493 intersection: spirv::Word,
3494 },
3495 RayQueryGetIntersectionCandidateAABBOpaqueKHR {
3496 ray_query: spirv::Word,
3497 },
3498 RayQueryGetIntersectionObjectRayDirectionKHR {
3499 ray_query: spirv::Word,
3500 intersection: spirv::Word,
3501 },
3502 RayQueryGetIntersectionObjectRayOriginKHR {
3503 ray_query: spirv::Word,
3504 intersection: spirv::Word,
3505 },
3506 RayQueryGetWorldRayDirectionKHR {
3507 ray_query: spirv::Word,
3508 },
3509 RayQueryGetWorldRayOriginKHR {
3510 ray_query: spirv::Word,
3511 },
3512 RayQueryGetIntersectionObjectToWorldKHR {
3513 ray_query: spirv::Word,
3514 intersection: spirv::Word,
3515 },
3516 RayQueryGetIntersectionWorldToObjectKHR {
3517 ray_query: spirv::Word,
3518 intersection: spirv::Word,
3519 },
3520 AtomicFAddEXT {
3521 pointer: spirv::Word,
3522 memory: spirv::Word,
3523 semantics: spirv::Word,
3524 value: spirv::Word,
3525 },
3526 CompositeConstructContinuedINTEL {
3527 constituents: Vec<spirv::Word>,
3528 },
3529 ConvertFToBF16INTEL {
3530 float_value: spirv::Word,
3531 },
3532 ConvertBF16ToFINTEL {
3533 b_float16_value: spirv::Word,
3534 },
3535 ControlBarrierArriveINTEL {
3536 execution: spirv::Word,
3537 memory: spirv::Word,
3538 semantics: spirv::Word,
3539 },
3540 ControlBarrierWaitINTEL {
3541 execution: spirv::Word,
3542 memory: spirv::Word,
3543 semantics: spirv::Word,
3544 },
3545 ArithmeticFenceEXT {
3546 target: spirv::Word,
3547 },
3548 TaskSequenceCreateALTERA {
3549 function: spirv::Word,
3550 pipelined: u32,
3551 use_stall_enable_clusters: u32,
3552 get_capacity: u32,
3553 async_capacity: u32,
3554 },
3555 TaskSequenceAsyncALTERA {
3556 sequence: spirv::Word,
3557 arguments: Vec<spirv::Word>,
3558 },
3559 TaskSequenceGetALTERA {
3560 sequence: spirv::Word,
3561 },
3562 TaskSequenceReleaseALTERA {
3563 sequence: spirv::Word,
3564 },
3565 TypeTaskSequenceALTERA,
3566 SubgroupBlockPrefetchINTEL {
3567 ptr: spirv::Word,
3568 num_bytes: spirv::Word,
3569 memory_access: Option<spirv::MemoryAccess>,
3570 },
3571 Subgroup2DBlockLoadINTEL {
3572 element_size: spirv::Word,
3573 block_width: spirv::Word,
3574 block_height: spirv::Word,
3575 block_count: spirv::Word,
3576 src_base_pointer: spirv::Word,
3577 memory_width: spirv::Word,
3578 memory_height: spirv::Word,
3579 memory_pitch: spirv::Word,
3580 coordinate: spirv::Word,
3581 dst_pointer: spirv::Word,
3582 },
3583 Subgroup2DBlockLoadTransformINTEL {
3584 element_size: spirv::Word,
3585 block_width: spirv::Word,
3586 block_height: spirv::Word,
3587 block_count: spirv::Word,
3588 src_base_pointer: spirv::Word,
3589 memory_width: spirv::Word,
3590 memory_height: spirv::Word,
3591 memory_pitch: spirv::Word,
3592 coordinate: spirv::Word,
3593 dst_pointer: spirv::Word,
3594 },
3595 Subgroup2DBlockLoadTransposeINTEL {
3596 element_size: spirv::Word,
3597 block_width: spirv::Word,
3598 block_height: spirv::Word,
3599 block_count: spirv::Word,
3600 src_base_pointer: spirv::Word,
3601 memory_width: spirv::Word,
3602 memory_height: spirv::Word,
3603 memory_pitch: spirv::Word,
3604 coordinate: spirv::Word,
3605 dst_pointer: spirv::Word,
3606 },
3607 Subgroup2DBlockPrefetchINTEL {
3608 element_size: spirv::Word,
3609 block_width: spirv::Word,
3610 block_height: spirv::Word,
3611 block_count: spirv::Word,
3612 src_base_pointer: spirv::Word,
3613 memory_width: spirv::Word,
3614 memory_height: spirv::Word,
3615 memory_pitch: spirv::Word,
3616 coordinate: spirv::Word,
3617 },
3618 Subgroup2DBlockStoreINTEL {
3619 element_size: spirv::Word,
3620 block_width: spirv::Word,
3621 block_height: spirv::Word,
3622 block_count: spirv::Word,
3623 src_pointer: spirv::Word,
3624 dst_base_pointer: spirv::Word,
3625 memory_width: spirv::Word,
3626 memory_height: spirv::Word,
3627 memory_pitch: spirv::Word,
3628 coordinate: spirv::Word,
3629 },
3630 SubgroupMatrixMultiplyAccumulateINTEL {
3631 k_dim: spirv::Word,
3632 matrix_a: spirv::Word,
3633 matrix_b: spirv::Word,
3634 matrix_c: spirv::Word,
3635 matrix_multiply_accumulate_operands: Option<spirv::MatrixMultiplyAccumulateOperands>,
3636 },
3637 BitwiseFunctionINTEL {
3638 a: spirv::Word,
3639 b: spirv::Word,
3640 c: spirv::Word,
3641 lut_index: spirv::Word,
3642 },
3643 UntypedVariableLengthArrayINTEL {
3644 element_type: Token<Type>,
3645 length: Token<Constant>,
3646 },
3647 ConditionalCopyObjectINTEL {
3648 condition_0_operand_0_condition_1_operand_1: Vec<spirv::Word>,
3649 },
3650 GroupIMulKHR {
3651 execution: spirv::Word,
3652 operation: spirv::GroupOperation,
3653 x: spirv::Word,
3654 },
3655 GroupFMulKHR {
3656 execution: spirv::Word,
3657 operation: spirv::GroupOperation,
3658 x: spirv::Word,
3659 },
3660 GroupBitwiseAndKHR {
3661 execution: spirv::Word,
3662 operation: spirv::GroupOperation,
3663 x: spirv::Word,
3664 },
3665 GroupBitwiseOrKHR {
3666 execution: spirv::Word,
3667 operation: spirv::GroupOperation,
3668 x: spirv::Word,
3669 },
3670 GroupBitwiseXorKHR {
3671 execution: spirv::Word,
3672 operation: spirv::GroupOperation,
3673 x: spirv::Word,
3674 },
3675 GroupLogicalAndKHR {
3676 execution: spirv::Word,
3677 operation: spirv::GroupOperation,
3678 x: spirv::Word,
3679 },
3680 GroupLogicalOrKHR {
3681 execution: spirv::Word,
3682 operation: spirv::GroupOperation,
3683 x: spirv::Word,
3684 },
3685 GroupLogicalXorKHR {
3686 execution: spirv::Word,
3687 operation: spirv::GroupOperation,
3688 x: spirv::Word,
3689 },
3690 RoundFToTF32INTEL {
3691 float_value: spirv::Word,
3692 },
3693 MaskedGatherINTEL {
3694 ptr_vector: spirv::Word,
3695 alignment: u32,
3696 mask: spirv::Word,
3697 fill_empty: spirv::Word,
3698 },
3699 MaskedScatterINTEL {
3700 input_vector: spirv::Word,
3701 ptr_vector: spirv::Word,
3702 alignment: u32,
3703 mask: spirv::Word,
3704 },
3705 ConvertHandleToImageINTEL {
3706 operand: spirv::Word,
3707 },
3708 ConvertHandleToSamplerINTEL {
3709 operand: spirv::Word,
3710 },
3711 ConvertHandleToSampledImageINTEL {
3712 operand: spirv::Word,
3713 },
3714}