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