1#[doc = "All operand kinds in the SPIR-V grammar."]
6#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
7#[allow(clippy::upper_case_acronyms)]
8pub enum OperandKind {
9 ImageOperands,
10 FPFastMathMode,
11 SelectionControl,
12 LoopControl,
13 FunctionControl,
14 MemorySemantics,
15 MemoryAccess,
16 KernelProfilingInfo,
17 RayFlags,
18 FragmentShadingRate,
19 RawAccessChainOperands,
20 SourceLanguage,
21 ExecutionModel,
22 AddressingModel,
23 MemoryModel,
24 ExecutionMode,
25 StorageClass,
26 Dim,
27 SamplerAddressingMode,
28 SamplerFilterMode,
29 ImageFormat,
30 ImageChannelOrder,
31 ImageChannelDataType,
32 FPRoundingMode,
33 FPDenormMode,
34 QuantizationModes,
35 FPOperationMode,
36 OverflowModes,
37 LinkageType,
38 AccessQualifier,
39 HostAccessQualifier,
40 FunctionParameterAttribute,
41 Decoration,
42 BuiltIn,
43 Scope,
44 GroupOperation,
45 KernelEnqueueFlags,
46 Capability,
47 RayQueryIntersection,
48 RayQueryCommittedIntersectionType,
49 RayQueryCandidateIntersectionType,
50 PackedVectorFormat,
51 CooperativeMatrixOperands,
52 CooperativeMatrixLayout,
53 CooperativeMatrixUse,
54 CooperativeMatrixReduce,
55 TensorClampMode,
56 TensorAddressingOperands,
57 InitializationModeQualifier,
58 LoadCacheControl,
59 StoreCacheControl,
60 NamedMaximumNumberOfRegisters,
61 MatrixMultiplyAccumulateOperands,
62 FPEncoding,
63 CooperativeVectorMatrixLayout,
64 ComponentType,
65 IdResultType,
66 IdResult,
67 IdMemorySemantics,
68 IdScope,
69 IdRef,
70 LiteralInteger,
71 LiteralString,
72 LiteralFloat,
73 LiteralContextDependentNumber,
74 LiteralExtInstInteger,
75 LiteralSpecConstantOpInteger,
76 PairLiteralIntegerIdRef,
77 PairIdRefLiteralInteger,
78 PairIdRefIdRef,
79 TensorOperands,
80 Debuginfo(debuginfo::ExtOperandKind),
81 NonsemanticClspvreflection(nonsemantic_clspvreflection::ExtOperandKind),
82 NonsemanticShaderDebuginfo100(nonsemantic_shader_debuginfo_100::ExtOperandKind),
83 OpenclDebuginfo100(opencl_debuginfo_100::ExtOperandKind),
84}
85#[doc = "Wrapper enum for all extended instruction set opcodes."]
86#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
87#[allow(clippy::upper_case_acronyms)]
88pub enum ExtInstOp {
89 ArmMotionEngine100(spirv::ArmMotionEngine100Op),
90 Debuginfo(spirv::DebuginfoOp),
91 GlslStd450(spirv::GlslStd450Op),
92 NonsemanticClspvreflection(spirv::NonsemanticClspvreflectionOp),
93 NonsemanticDebugbreak(spirv::NonsemanticDebugbreakOp),
94 NonsemanticDebugprintf(spirv::NonsemanticDebugprintfOp),
95 NonsemanticShaderDebuginfo100(spirv::NonsemanticShaderDebuginfo100Op),
96 NonsemanticVkspreflection(spirv::NonsemanticVkspreflectionOp),
97 OpenclDebuginfo100(spirv::OpenclDebuginfo100Op),
98 OpenclStd100(spirv::OpenclStd100Op),
99 SpvAmdGcnShader(spirv::SpvAmdGcnShaderOp),
100 SpvAmdShaderBallot(spirv::SpvAmdShaderBallotOp),
101 SpvAmdShaderExplicitVertexParameter(spirv::SpvAmdShaderExplicitVertexParameterOp),
102 SpvAmdShaderTrinaryMinmax(spirv::SpvAmdShaderTrinaryMinmaxOp),
103 Tosa0010001(spirv::Tosa0010001Op),
104}
105impl From<ExtInstOp> for spirv::Word {
106 fn from(op: ExtInstOp) -> spirv::Word {
107 match op {
108 ExtInstOp::ArmMotionEngine100(v) => v as spirv::Word,
109 ExtInstOp::Debuginfo(v) => v as spirv::Word,
110 ExtInstOp::GlslStd450(v) => v as spirv::Word,
111 ExtInstOp::NonsemanticClspvreflection(v) => v as spirv::Word,
112 ExtInstOp::NonsemanticDebugbreak(v) => v as spirv::Word,
113 ExtInstOp::NonsemanticDebugprintf(v) => v as spirv::Word,
114 ExtInstOp::NonsemanticShaderDebuginfo100(v) => v as spirv::Word,
115 ExtInstOp::NonsemanticVkspreflection(v) => v as spirv::Word,
116 ExtInstOp::OpenclDebuginfo100(v) => v as spirv::Word,
117 ExtInstOp::OpenclStd100(v) => v as spirv::Word,
118 ExtInstOp::SpvAmdGcnShader(v) => v as spirv::Word,
119 ExtInstOp::SpvAmdShaderBallot(v) => v as spirv::Word,
120 ExtInstOp::SpvAmdShaderExplicitVertexParameter(v) => v as spirv::Word,
121 ExtInstOp::SpvAmdShaderTrinaryMinmax(v) => v as spirv::Word,
122 ExtInstOp::Tosa0010001(v) => v as spirv::Word,
123 }
124 }
125}
126static INSTRUCTIONS: &[Instruction<'static>] = &[
127 inst!(Nop, [], [], []),
128 inst!(Undef, [], [], [(IdResultType, One), (IdResult, One)]),
129 inst!(SourceContinued, [], [], [(LiteralString, One)]),
130 inst!(
131 Source,
132 [],
133 [],
134 [
135 (SourceLanguage, One),
136 (LiteralInteger, One),
137 (IdRef, ZeroOrOne),
138 (LiteralString, ZeroOrOne)
139 ]
140 ),
141 inst!(SourceExtension, [], [], [(LiteralString, One)]),
142 inst!(Name, [], [], [(IdRef, One), (LiteralString, One)]),
143 inst!(
144 MemberName,
145 [],
146 [],
147 [(IdRef, One), (LiteralInteger, One), (LiteralString, One)]
148 ),
149 inst!(String, [], [], [(IdResult, One), (LiteralString, One)]),
150 inst!(
151 Line,
152 [],
153 [],
154 [(IdRef, One), (LiteralInteger, One), (LiteralInteger, One)]
155 ),
156 inst!(Extension, [], [], [(LiteralString, One)]),
157 inst!(
158 ExtInstImport,
159 [],
160 [],
161 [(IdResult, One), (LiteralString, One)]
162 ),
163 inst!(
164 ExtInst,
165 [],
166 [],
167 [
168 (IdResultType, One),
169 (IdResult, One),
170 (IdRef, One),
171 (LiteralExtInstInteger, One),
172 (IdRef, ZeroOrMore)
173 ]
174 ),
175 inst!(
176 MemoryModel,
177 [],
178 [],
179 [(AddressingModel, One), (MemoryModel, One)]
180 ),
181 inst!(
182 EntryPoint,
183 [],
184 [],
185 [
186 (ExecutionModel, One),
187 (IdRef, One),
188 (LiteralString, One),
189 (IdRef, ZeroOrMore)
190 ]
191 ),
192 inst!(ExecutionMode, [], [], [(IdRef, One), (ExecutionMode, One)]),
193 inst!(Capability, [], [], [(Capability, One)]),
194 inst!(TypeVoid, [], [], [(IdResult, One)]),
195 inst!(TypeBool, [], [], [(IdResult, One)]),
196 inst!(
197 TypeInt,
198 [],
199 [],
200 [
201 (IdResult, One),
202 (LiteralInteger, One),
203 (LiteralInteger, One)
204 ]
205 ),
206 inst!(
207 TypeFloat,
208 [],
209 [],
210 [
211 (IdResult, One),
212 (LiteralInteger, One),
213 (FPEncoding, ZeroOrOne)
214 ]
215 ),
216 inst!(
217 TypeVector,
218 [],
219 [],
220 [(IdResult, One), (IdRef, One), (LiteralInteger, One)]
221 ),
222 inst!(
223 TypeMatrix,
224 [Matrix],
225 [],
226 [(IdResult, One), (IdRef, One), (LiteralInteger, One)]
227 ),
228 inst!(
229 TypeImage,
230 [],
231 [],
232 [
233 (IdResult, One),
234 (IdRef, One),
235 (Dim, One),
236 (LiteralInteger, One),
237 (LiteralInteger, One),
238 (LiteralInteger, One),
239 (LiteralInteger, One),
240 (ImageFormat, One),
241 (AccessQualifier, ZeroOrOne)
242 ]
243 ),
244 inst!(TypeSampler, [], [], [(IdResult, One)]),
245 inst!(TypeSampledImage, [], [], [(IdResult, One), (IdRef, One)]),
246 inst!(
247 TypeArray,
248 [],
249 [],
250 [(IdResult, One), (IdRef, One), (IdRef, One)]
251 ),
252 inst!(
253 TypeRuntimeArray,
254 [Shader],
255 [],
256 [(IdResult, One), (IdRef, One)]
257 ),
258 inst!(TypeStruct, [], [], [(IdResult, One), (IdRef, ZeroOrMore)]),
259 inst!(
260 TypeOpaque,
261 [Kernel],
262 [],
263 [(IdResult, One), (LiteralString, One)]
264 ),
265 inst!(
266 TypePointer,
267 [],
268 [],
269 [(IdResult, One), (StorageClass, One), (IdRef, One)]
270 ),
271 inst!(
272 TypeFunction,
273 [],
274 [],
275 [(IdResult, One), (IdRef, One), (IdRef, ZeroOrMore)]
276 ),
277 inst!(TypeEvent, [Kernel], [], [(IdResult, One)]),
278 inst!(TypeDeviceEvent, [DeviceEnqueue], [], [(IdResult, One)]),
279 inst!(TypeReserveId, [Pipes], [], [(IdResult, One)]),
280 inst!(TypeQueue, [DeviceEnqueue], [], [(IdResult, One)]),
281 inst!(
282 TypePipe,
283 [Pipes],
284 [],
285 [(IdResult, One), (AccessQualifier, One)]
286 ),
287 inst!(
288 TypeForwardPointer,
289 [Addresses, PhysicalStorageBufferAddresses],
290 [],
291 [(IdRef, One), (StorageClass, One)]
292 ),
293 inst!(ConstantTrue, [], [], [(IdResultType, One), (IdResult, One)]),
294 inst!(
295 ConstantFalse,
296 [],
297 [],
298 [(IdResultType, One), (IdResult, One)]
299 ),
300 inst!(
301 Constant,
302 [],
303 [],
304 [
305 (IdResultType, One),
306 (IdResult, One),
307 (LiteralContextDependentNumber, One)
308 ]
309 ),
310 inst!(
311 ConstantComposite,
312 [],
313 [],
314 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
315 ),
316 inst!(
317 ConstantSampler,
318 [LiteralSampler],
319 [],
320 [
321 (IdResultType, One),
322 (IdResult, One),
323 (SamplerAddressingMode, One),
324 (LiteralInteger, One),
325 (SamplerFilterMode, One)
326 ]
327 ),
328 inst!(ConstantNull, [], [], [(IdResultType, One), (IdResult, One)]),
329 inst!(
330 SpecConstantTrue,
331 [],
332 [],
333 [(IdResultType, One), (IdResult, One)]
334 ),
335 inst!(
336 SpecConstantFalse,
337 [],
338 [],
339 [(IdResultType, One), (IdResult, One)]
340 ),
341 inst!(
342 SpecConstant,
343 [],
344 [],
345 [
346 (IdResultType, One),
347 (IdResult, One),
348 (LiteralContextDependentNumber, One)
349 ]
350 ),
351 inst!(
352 SpecConstantComposite,
353 [],
354 [],
355 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
356 ),
357 inst!(
358 SpecConstantOp,
359 [],
360 [],
361 [
362 (IdResultType, One),
363 (IdResult, One),
364 (LiteralSpecConstantOpInteger, One)
365 ]
366 ),
367 inst!(
368 Function,
369 [],
370 [],
371 [
372 (IdResultType, One),
373 (IdResult, One),
374 (FunctionControl, One),
375 (IdRef, One)
376 ]
377 ),
378 inst!(
379 FunctionParameter,
380 [],
381 [],
382 [(IdResultType, One), (IdResult, One)]
383 ),
384 inst!(FunctionEnd, [], [], []),
385 inst!(
386 FunctionCall,
387 [],
388 [],
389 [
390 (IdResultType, One),
391 (IdResult, One),
392 (IdRef, One),
393 (IdRef, ZeroOrMore)
394 ]
395 ),
396 inst!(
397 Variable,
398 [],
399 [],
400 [
401 (IdResultType, One),
402 (IdResult, One),
403 (StorageClass, One),
404 (IdRef, ZeroOrOne)
405 ]
406 ),
407 inst!(
408 ImageTexelPointer,
409 [],
410 [],
411 [
412 (IdResultType, One),
413 (IdResult, One),
414 (IdRef, One),
415 (IdRef, One),
416 (IdRef, One)
417 ]
418 ),
419 inst!(
420 Load,
421 [],
422 [],
423 [
424 (IdResultType, One),
425 (IdResult, One),
426 (IdRef, One),
427 (MemoryAccess, ZeroOrOne)
428 ]
429 ),
430 inst!(
431 Store,
432 [],
433 [],
434 [(IdRef, One), (IdRef, One), (MemoryAccess, ZeroOrOne)]
435 ),
436 inst!(
437 CopyMemory,
438 [],
439 [],
440 [
441 (IdRef, One),
442 (IdRef, One),
443 (MemoryAccess, ZeroOrOne),
444 (MemoryAccess, ZeroOrOne)
445 ]
446 ),
447 inst!(
448 CopyMemorySized,
449 [Addresses, UntypedPointersKHR],
450 [],
451 [
452 (IdRef, One),
453 (IdRef, One),
454 (IdRef, One),
455 (MemoryAccess, ZeroOrOne),
456 (MemoryAccess, ZeroOrOne)
457 ]
458 ),
459 inst!(
460 AccessChain,
461 [],
462 [],
463 [
464 (IdResultType, One),
465 (IdResult, One),
466 (IdRef, One),
467 (IdRef, ZeroOrMore)
468 ]
469 ),
470 inst!(
471 InBoundsAccessChain,
472 [],
473 [],
474 [
475 (IdResultType, One),
476 (IdResult, One),
477 (IdRef, One),
478 (IdRef, ZeroOrMore)
479 ]
480 ),
481 inst!(
482 PtrAccessChain,
483 [
484 Addresses,
485 VariablePointers,
486 VariablePointersStorageBuffer,
487 PhysicalStorageBufferAddresses
488 ],
489 [],
490 [
491 (IdResultType, One),
492 (IdResult, One),
493 (IdRef, One),
494 (IdRef, One),
495 (IdRef, ZeroOrMore)
496 ]
497 ),
498 inst!(
499 ArrayLength,
500 [Shader],
501 [],
502 [
503 (IdResultType, One),
504 (IdResult, One),
505 (IdRef, One),
506 (LiteralInteger, One)
507 ]
508 ),
509 inst!(
510 GenericPtrMemSemantics,
511 [Kernel],
512 [],
513 [(IdResultType, One), (IdResult, One), (IdRef, One)]
514 ),
515 inst!(
516 InBoundsPtrAccessChain,
517 [Addresses],
518 [],
519 [
520 (IdResultType, One),
521 (IdResult, One),
522 (IdRef, One),
523 (IdRef, One),
524 (IdRef, ZeroOrMore)
525 ]
526 ),
527 inst!(Decorate, [], [], [(IdRef, One), (Decoration, One)]),
528 inst!(
529 MemberDecorate,
530 [],
531 [],
532 [(IdRef, One), (LiteralInteger, One), (Decoration, One)]
533 ),
534 inst!(DecorationGroup, [], [], [(IdResult, One)]),
535 inst!(GroupDecorate, [], [], [(IdRef, One), (IdRef, ZeroOrMore)]),
536 inst!(
537 GroupMemberDecorate,
538 [],
539 [],
540 [(IdRef, One), (PairIdRefLiteralInteger, ZeroOrMore)]
541 ),
542 inst!(
543 VectorExtractDynamic,
544 [],
545 [],
546 [
547 (IdResultType, One),
548 (IdResult, One),
549 (IdRef, One),
550 (IdRef, One)
551 ]
552 ),
553 inst!(
554 VectorInsertDynamic,
555 [],
556 [],
557 [
558 (IdResultType, One),
559 (IdResult, One),
560 (IdRef, One),
561 (IdRef, One),
562 (IdRef, One)
563 ]
564 ),
565 inst!(
566 VectorShuffle,
567 [],
568 [],
569 [
570 (IdResultType, One),
571 (IdResult, One),
572 (IdRef, One),
573 (IdRef, One),
574 (LiteralInteger, ZeroOrMore)
575 ]
576 ),
577 inst!(
578 CompositeConstruct,
579 [],
580 [],
581 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
582 ),
583 inst!(
584 CompositeExtract,
585 [],
586 [],
587 [
588 (IdResultType, One),
589 (IdResult, One),
590 (IdRef, One),
591 (LiteralInteger, ZeroOrMore)
592 ]
593 ),
594 inst!(
595 CompositeInsert,
596 [],
597 [],
598 [
599 (IdResultType, One),
600 (IdResult, One),
601 (IdRef, One),
602 (IdRef, One),
603 (LiteralInteger, ZeroOrMore)
604 ]
605 ),
606 inst!(
607 CopyObject,
608 [],
609 [],
610 [(IdResultType, One), (IdResult, One), (IdRef, One)]
611 ),
612 inst!(
613 Transpose,
614 [Matrix],
615 [],
616 [(IdResultType, One), (IdResult, One), (IdRef, One)]
617 ),
618 inst!(
619 SampledImage,
620 [],
621 [],
622 [
623 (IdResultType, One),
624 (IdResult, One),
625 (IdRef, One),
626 (IdRef, One)
627 ]
628 ),
629 inst!(
630 ImageSampleImplicitLod,
631 [Shader],
632 [],
633 [
634 (IdResultType, One),
635 (IdResult, One),
636 (IdRef, One),
637 (IdRef, One),
638 (ImageOperands, ZeroOrOne)
639 ]
640 ),
641 inst!(
642 ImageSampleExplicitLod,
643 [],
644 [],
645 [
646 (IdResultType, One),
647 (IdResult, One),
648 (IdRef, One),
649 (IdRef, One),
650 (ImageOperands, One)
651 ]
652 ),
653 inst!(
654 ImageSampleDrefImplicitLod,
655 [Shader],
656 [],
657 [
658 (IdResultType, One),
659 (IdResult, One),
660 (IdRef, One),
661 (IdRef, One),
662 (IdRef, One),
663 (ImageOperands, ZeroOrOne)
664 ]
665 ),
666 inst!(
667 ImageSampleDrefExplicitLod,
668 [Shader],
669 [],
670 [
671 (IdResultType, One),
672 (IdResult, One),
673 (IdRef, One),
674 (IdRef, One),
675 (IdRef, One),
676 (ImageOperands, One)
677 ]
678 ),
679 inst!(
680 ImageSampleProjImplicitLod,
681 [Shader],
682 [],
683 [
684 (IdResultType, One),
685 (IdResult, One),
686 (IdRef, One),
687 (IdRef, One),
688 (ImageOperands, ZeroOrOne)
689 ]
690 ),
691 inst!(
692 ImageSampleProjExplicitLod,
693 [Shader],
694 [],
695 [
696 (IdResultType, One),
697 (IdResult, One),
698 (IdRef, One),
699 (IdRef, One),
700 (ImageOperands, One)
701 ]
702 ),
703 inst!(
704 ImageSampleProjDrefImplicitLod,
705 [Shader],
706 [],
707 [
708 (IdResultType, One),
709 (IdResult, One),
710 (IdRef, One),
711 (IdRef, One),
712 (IdRef, One),
713 (ImageOperands, ZeroOrOne)
714 ]
715 ),
716 inst!(
717 ImageSampleProjDrefExplicitLod,
718 [Shader],
719 [],
720 [
721 (IdResultType, One),
722 (IdResult, One),
723 (IdRef, One),
724 (IdRef, One),
725 (IdRef, One),
726 (ImageOperands, One)
727 ]
728 ),
729 inst!(
730 ImageFetch,
731 [],
732 [],
733 [
734 (IdResultType, One),
735 (IdResult, One),
736 (IdRef, One),
737 (IdRef, One),
738 (ImageOperands, ZeroOrOne)
739 ]
740 ),
741 inst!(
742 ImageGather,
743 [Shader],
744 [],
745 [
746 (IdResultType, One),
747 (IdResult, One),
748 (IdRef, One),
749 (IdRef, One),
750 (IdRef, One),
751 (ImageOperands, ZeroOrOne)
752 ]
753 ),
754 inst!(
755 ImageDrefGather,
756 [Shader],
757 [],
758 [
759 (IdResultType, One),
760 (IdResult, One),
761 (IdRef, One),
762 (IdRef, One),
763 (IdRef, One),
764 (ImageOperands, ZeroOrOne)
765 ]
766 ),
767 inst!(
768 ImageRead,
769 [],
770 [],
771 [
772 (IdResultType, One),
773 (IdResult, One),
774 (IdRef, One),
775 (IdRef, One),
776 (ImageOperands, ZeroOrOne)
777 ]
778 ),
779 inst!(
780 ImageWrite,
781 [],
782 [],
783 [
784 (IdRef, One),
785 (IdRef, One),
786 (IdRef, One),
787 (ImageOperands, ZeroOrOne)
788 ]
789 ),
790 inst!(
791 Image,
792 [],
793 [],
794 [(IdResultType, One), (IdResult, One), (IdRef, One)]
795 ),
796 inst!(
797 ImageQueryFormat,
798 [Kernel],
799 [],
800 [(IdResultType, One), (IdResult, One), (IdRef, One)]
801 ),
802 inst!(
803 ImageQueryOrder,
804 [Kernel],
805 [],
806 [(IdResultType, One), (IdResult, One), (IdRef, One)]
807 ),
808 inst!(
809 ImageQuerySizeLod,
810 [Kernel, ImageQuery],
811 [],
812 [
813 (IdResultType, One),
814 (IdResult, One),
815 (IdRef, One),
816 (IdRef, One)
817 ]
818 ),
819 inst!(
820 ImageQuerySize,
821 [Kernel, ImageQuery],
822 [],
823 [(IdResultType, One), (IdResult, One), (IdRef, One)]
824 ),
825 inst!(
826 ImageQueryLod,
827 [ImageQuery],
828 [],
829 [
830 (IdResultType, One),
831 (IdResult, One),
832 (IdRef, One),
833 (IdRef, One)
834 ]
835 ),
836 inst!(
837 ImageQueryLevels,
838 [Kernel, ImageQuery],
839 [],
840 [(IdResultType, One), (IdResult, One), (IdRef, One)]
841 ),
842 inst!(
843 ImageQuerySamples,
844 [Kernel, ImageQuery],
845 [],
846 [(IdResultType, One), (IdResult, One), (IdRef, One)]
847 ),
848 inst!(
849 ConvertFToU,
850 [],
851 [],
852 [(IdResultType, One), (IdResult, One), (IdRef, One)]
853 ),
854 inst!(
855 ConvertFToS,
856 [],
857 [],
858 [(IdResultType, One), (IdResult, One), (IdRef, One)]
859 ),
860 inst!(
861 ConvertSToF,
862 [],
863 [],
864 [(IdResultType, One), (IdResult, One), (IdRef, One)]
865 ),
866 inst!(
867 ConvertUToF,
868 [],
869 [],
870 [(IdResultType, One), (IdResult, One), (IdRef, One)]
871 ),
872 inst!(
873 UConvert,
874 [],
875 [],
876 [(IdResultType, One), (IdResult, One), (IdRef, One)]
877 ),
878 inst!(
879 SConvert,
880 [],
881 [],
882 [(IdResultType, One), (IdResult, One), (IdRef, One)]
883 ),
884 inst!(
885 FConvert,
886 [],
887 [],
888 [(IdResultType, One), (IdResult, One), (IdRef, One)]
889 ),
890 inst!(
891 QuantizeToF16,
892 [Shader],
893 [],
894 [(IdResultType, One), (IdResult, One), (IdRef, One)]
895 ),
896 inst!(
897 ConvertPtrToU,
898 [Addresses, PhysicalStorageBufferAddresses],
899 [],
900 [(IdResultType, One), (IdResult, One), (IdRef, One)]
901 ),
902 inst!(
903 SatConvertSToU,
904 [Kernel],
905 [],
906 [(IdResultType, One), (IdResult, One), (IdRef, One)]
907 ),
908 inst!(
909 SatConvertUToS,
910 [Kernel],
911 [],
912 [(IdResultType, One), (IdResult, One), (IdRef, One)]
913 ),
914 inst!(
915 ConvertUToPtr,
916 [Addresses, PhysicalStorageBufferAddresses],
917 [],
918 [(IdResultType, One), (IdResult, One), (IdRef, One)]
919 ),
920 inst!(
921 PtrCastToGeneric,
922 [Kernel],
923 [],
924 [(IdResultType, One), (IdResult, One), (IdRef, One)]
925 ),
926 inst!(
927 GenericCastToPtr,
928 [Kernel],
929 [],
930 [(IdResultType, One), (IdResult, One), (IdRef, One)]
931 ),
932 inst!(
933 GenericCastToPtrExplicit,
934 [Kernel],
935 [],
936 [
937 (IdResultType, One),
938 (IdResult, One),
939 (IdRef, One),
940 (StorageClass, One)
941 ]
942 ),
943 inst!(
944 Bitcast,
945 [],
946 [],
947 [(IdResultType, One), (IdResult, One), (IdRef, One)]
948 ),
949 inst!(
950 SNegate,
951 [],
952 [],
953 [(IdResultType, One), (IdResult, One), (IdRef, One)]
954 ),
955 inst!(
956 FNegate,
957 [],
958 [],
959 [(IdResultType, One), (IdResult, One), (IdRef, One)]
960 ),
961 inst!(
962 IAdd,
963 [],
964 [],
965 [
966 (IdResultType, One),
967 (IdResult, One),
968 (IdRef, One),
969 (IdRef, One)
970 ]
971 ),
972 inst!(
973 FAdd,
974 [],
975 [],
976 [
977 (IdResultType, One),
978 (IdResult, One),
979 (IdRef, One),
980 (IdRef, One)
981 ]
982 ),
983 inst!(
984 ISub,
985 [],
986 [],
987 [
988 (IdResultType, One),
989 (IdResult, One),
990 (IdRef, One),
991 (IdRef, One)
992 ]
993 ),
994 inst!(
995 FSub,
996 [],
997 [],
998 [
999 (IdResultType, One),
1000 (IdResult, One),
1001 (IdRef, One),
1002 (IdRef, One)
1003 ]
1004 ),
1005 inst!(
1006 IMul,
1007 [],
1008 [],
1009 [
1010 (IdResultType, One),
1011 (IdResult, One),
1012 (IdRef, One),
1013 (IdRef, One)
1014 ]
1015 ),
1016 inst!(
1017 FMul,
1018 [],
1019 [],
1020 [
1021 (IdResultType, One),
1022 (IdResult, One),
1023 (IdRef, One),
1024 (IdRef, One)
1025 ]
1026 ),
1027 inst!(
1028 UDiv,
1029 [],
1030 [],
1031 [
1032 (IdResultType, One),
1033 (IdResult, One),
1034 (IdRef, One),
1035 (IdRef, One)
1036 ]
1037 ),
1038 inst!(
1039 SDiv,
1040 [],
1041 [],
1042 [
1043 (IdResultType, One),
1044 (IdResult, One),
1045 (IdRef, One),
1046 (IdRef, One)
1047 ]
1048 ),
1049 inst!(
1050 FDiv,
1051 [],
1052 [],
1053 [
1054 (IdResultType, One),
1055 (IdResult, One),
1056 (IdRef, One),
1057 (IdRef, One)
1058 ]
1059 ),
1060 inst!(
1061 UMod,
1062 [],
1063 [],
1064 [
1065 (IdResultType, One),
1066 (IdResult, One),
1067 (IdRef, One),
1068 (IdRef, One)
1069 ]
1070 ),
1071 inst!(
1072 SRem,
1073 [],
1074 [],
1075 [
1076 (IdResultType, One),
1077 (IdResult, One),
1078 (IdRef, One),
1079 (IdRef, One)
1080 ]
1081 ),
1082 inst!(
1083 SMod,
1084 [],
1085 [],
1086 [
1087 (IdResultType, One),
1088 (IdResult, One),
1089 (IdRef, One),
1090 (IdRef, One)
1091 ]
1092 ),
1093 inst!(
1094 FRem,
1095 [],
1096 [],
1097 [
1098 (IdResultType, One),
1099 (IdResult, One),
1100 (IdRef, One),
1101 (IdRef, One)
1102 ]
1103 ),
1104 inst!(
1105 FMod,
1106 [],
1107 [],
1108 [
1109 (IdResultType, One),
1110 (IdResult, One),
1111 (IdRef, One),
1112 (IdRef, One)
1113 ]
1114 ),
1115 inst!(
1116 VectorTimesScalar,
1117 [],
1118 [],
1119 [
1120 (IdResultType, One),
1121 (IdResult, One),
1122 (IdRef, One),
1123 (IdRef, One)
1124 ]
1125 ),
1126 inst!(
1127 MatrixTimesScalar,
1128 [Matrix],
1129 [],
1130 [
1131 (IdResultType, One),
1132 (IdResult, One),
1133 (IdRef, One),
1134 (IdRef, One)
1135 ]
1136 ),
1137 inst!(
1138 VectorTimesMatrix,
1139 [Matrix],
1140 [],
1141 [
1142 (IdResultType, One),
1143 (IdResult, One),
1144 (IdRef, One),
1145 (IdRef, One)
1146 ]
1147 ),
1148 inst!(
1149 MatrixTimesVector,
1150 [Matrix],
1151 [],
1152 [
1153 (IdResultType, One),
1154 (IdResult, One),
1155 (IdRef, One),
1156 (IdRef, One)
1157 ]
1158 ),
1159 inst!(
1160 MatrixTimesMatrix,
1161 [Matrix],
1162 [],
1163 [
1164 (IdResultType, One),
1165 (IdResult, One),
1166 (IdRef, One),
1167 (IdRef, One)
1168 ]
1169 ),
1170 inst!(
1171 OuterProduct,
1172 [Matrix],
1173 [],
1174 [
1175 (IdResultType, One),
1176 (IdResult, One),
1177 (IdRef, One),
1178 (IdRef, One)
1179 ]
1180 ),
1181 inst!(
1182 Dot,
1183 [],
1184 [],
1185 [
1186 (IdResultType, One),
1187 (IdResult, One),
1188 (IdRef, One),
1189 (IdRef, One)
1190 ]
1191 ),
1192 inst!(
1193 IAddCarry,
1194 [],
1195 [],
1196 [
1197 (IdResultType, One),
1198 (IdResult, One),
1199 (IdRef, One),
1200 (IdRef, One)
1201 ]
1202 ),
1203 inst!(
1204 ISubBorrow,
1205 [],
1206 [],
1207 [
1208 (IdResultType, One),
1209 (IdResult, One),
1210 (IdRef, One),
1211 (IdRef, One)
1212 ]
1213 ),
1214 inst!(
1215 UMulExtended,
1216 [],
1217 [],
1218 [
1219 (IdResultType, One),
1220 (IdResult, One),
1221 (IdRef, One),
1222 (IdRef, One)
1223 ]
1224 ),
1225 inst!(
1226 SMulExtended,
1227 [],
1228 [],
1229 [
1230 (IdResultType, One),
1231 (IdResult, One),
1232 (IdRef, One),
1233 (IdRef, One)
1234 ]
1235 ),
1236 inst!(
1237 Any,
1238 [],
1239 [],
1240 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1241 ),
1242 inst!(
1243 All,
1244 [],
1245 [],
1246 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1247 ),
1248 inst!(
1249 IsNan,
1250 [],
1251 [],
1252 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1253 ),
1254 inst!(
1255 IsInf,
1256 [],
1257 [],
1258 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1259 ),
1260 inst!(
1261 IsFinite,
1262 [Kernel],
1263 [],
1264 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1265 ),
1266 inst!(
1267 IsNormal,
1268 [Kernel],
1269 [],
1270 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1271 ),
1272 inst!(
1273 SignBitSet,
1274 [Kernel],
1275 [],
1276 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1277 ),
1278 inst!(
1279 LessOrGreater,
1280 [Kernel],
1281 [],
1282 [
1283 (IdResultType, One),
1284 (IdResult, One),
1285 (IdRef, One),
1286 (IdRef, One)
1287 ]
1288 ),
1289 inst!(
1290 Ordered,
1291 [Kernel],
1292 [],
1293 [
1294 (IdResultType, One),
1295 (IdResult, One),
1296 (IdRef, One),
1297 (IdRef, One)
1298 ]
1299 ),
1300 inst!(
1301 Unordered,
1302 [Kernel],
1303 [],
1304 [
1305 (IdResultType, One),
1306 (IdResult, One),
1307 (IdRef, One),
1308 (IdRef, One)
1309 ]
1310 ),
1311 inst!(
1312 LogicalEqual,
1313 [],
1314 [],
1315 [
1316 (IdResultType, One),
1317 (IdResult, One),
1318 (IdRef, One),
1319 (IdRef, One)
1320 ]
1321 ),
1322 inst!(
1323 LogicalNotEqual,
1324 [],
1325 [],
1326 [
1327 (IdResultType, One),
1328 (IdResult, One),
1329 (IdRef, One),
1330 (IdRef, One)
1331 ]
1332 ),
1333 inst!(
1334 LogicalOr,
1335 [],
1336 [],
1337 [
1338 (IdResultType, One),
1339 (IdResult, One),
1340 (IdRef, One),
1341 (IdRef, One)
1342 ]
1343 ),
1344 inst!(
1345 LogicalAnd,
1346 [],
1347 [],
1348 [
1349 (IdResultType, One),
1350 (IdResult, One),
1351 (IdRef, One),
1352 (IdRef, One)
1353 ]
1354 ),
1355 inst!(
1356 LogicalNot,
1357 [],
1358 [],
1359 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1360 ),
1361 inst!(
1362 Select,
1363 [],
1364 [],
1365 [
1366 (IdResultType, One),
1367 (IdResult, One),
1368 (IdRef, One),
1369 (IdRef, One),
1370 (IdRef, One)
1371 ]
1372 ),
1373 inst!(
1374 IEqual,
1375 [],
1376 [],
1377 [
1378 (IdResultType, One),
1379 (IdResult, One),
1380 (IdRef, One),
1381 (IdRef, One)
1382 ]
1383 ),
1384 inst!(
1385 INotEqual,
1386 [],
1387 [],
1388 [
1389 (IdResultType, One),
1390 (IdResult, One),
1391 (IdRef, One),
1392 (IdRef, One)
1393 ]
1394 ),
1395 inst!(
1396 UGreaterThan,
1397 [],
1398 [],
1399 [
1400 (IdResultType, One),
1401 (IdResult, One),
1402 (IdRef, One),
1403 (IdRef, One)
1404 ]
1405 ),
1406 inst!(
1407 SGreaterThan,
1408 [],
1409 [],
1410 [
1411 (IdResultType, One),
1412 (IdResult, One),
1413 (IdRef, One),
1414 (IdRef, One)
1415 ]
1416 ),
1417 inst!(
1418 UGreaterThanEqual,
1419 [],
1420 [],
1421 [
1422 (IdResultType, One),
1423 (IdResult, One),
1424 (IdRef, One),
1425 (IdRef, One)
1426 ]
1427 ),
1428 inst!(
1429 SGreaterThanEqual,
1430 [],
1431 [],
1432 [
1433 (IdResultType, One),
1434 (IdResult, One),
1435 (IdRef, One),
1436 (IdRef, One)
1437 ]
1438 ),
1439 inst!(
1440 ULessThan,
1441 [],
1442 [],
1443 [
1444 (IdResultType, One),
1445 (IdResult, One),
1446 (IdRef, One),
1447 (IdRef, One)
1448 ]
1449 ),
1450 inst!(
1451 SLessThan,
1452 [],
1453 [],
1454 [
1455 (IdResultType, One),
1456 (IdResult, One),
1457 (IdRef, One),
1458 (IdRef, One)
1459 ]
1460 ),
1461 inst!(
1462 ULessThanEqual,
1463 [],
1464 [],
1465 [
1466 (IdResultType, One),
1467 (IdResult, One),
1468 (IdRef, One),
1469 (IdRef, One)
1470 ]
1471 ),
1472 inst!(
1473 SLessThanEqual,
1474 [],
1475 [],
1476 [
1477 (IdResultType, One),
1478 (IdResult, One),
1479 (IdRef, One),
1480 (IdRef, One)
1481 ]
1482 ),
1483 inst!(
1484 FOrdEqual,
1485 [],
1486 [],
1487 [
1488 (IdResultType, One),
1489 (IdResult, One),
1490 (IdRef, One),
1491 (IdRef, One)
1492 ]
1493 ),
1494 inst!(
1495 FUnordEqual,
1496 [],
1497 [],
1498 [
1499 (IdResultType, One),
1500 (IdResult, One),
1501 (IdRef, One),
1502 (IdRef, One)
1503 ]
1504 ),
1505 inst!(
1506 FOrdNotEqual,
1507 [],
1508 [],
1509 [
1510 (IdResultType, One),
1511 (IdResult, One),
1512 (IdRef, One),
1513 (IdRef, One)
1514 ]
1515 ),
1516 inst!(
1517 FUnordNotEqual,
1518 [],
1519 [],
1520 [
1521 (IdResultType, One),
1522 (IdResult, One),
1523 (IdRef, One),
1524 (IdRef, One)
1525 ]
1526 ),
1527 inst!(
1528 FOrdLessThan,
1529 [],
1530 [],
1531 [
1532 (IdResultType, One),
1533 (IdResult, One),
1534 (IdRef, One),
1535 (IdRef, One)
1536 ]
1537 ),
1538 inst!(
1539 FUnordLessThan,
1540 [],
1541 [],
1542 [
1543 (IdResultType, One),
1544 (IdResult, One),
1545 (IdRef, One),
1546 (IdRef, One)
1547 ]
1548 ),
1549 inst!(
1550 FOrdGreaterThan,
1551 [],
1552 [],
1553 [
1554 (IdResultType, One),
1555 (IdResult, One),
1556 (IdRef, One),
1557 (IdRef, One)
1558 ]
1559 ),
1560 inst!(
1561 FUnordGreaterThan,
1562 [],
1563 [],
1564 [
1565 (IdResultType, One),
1566 (IdResult, One),
1567 (IdRef, One),
1568 (IdRef, One)
1569 ]
1570 ),
1571 inst!(
1572 FOrdLessThanEqual,
1573 [],
1574 [],
1575 [
1576 (IdResultType, One),
1577 (IdResult, One),
1578 (IdRef, One),
1579 (IdRef, One)
1580 ]
1581 ),
1582 inst!(
1583 FUnordLessThanEqual,
1584 [],
1585 [],
1586 [
1587 (IdResultType, One),
1588 (IdResult, One),
1589 (IdRef, One),
1590 (IdRef, One)
1591 ]
1592 ),
1593 inst!(
1594 FOrdGreaterThanEqual,
1595 [],
1596 [],
1597 [
1598 (IdResultType, One),
1599 (IdResult, One),
1600 (IdRef, One),
1601 (IdRef, One)
1602 ]
1603 ),
1604 inst!(
1605 FUnordGreaterThanEqual,
1606 [],
1607 [],
1608 [
1609 (IdResultType, One),
1610 (IdResult, One),
1611 (IdRef, One),
1612 (IdRef, One)
1613 ]
1614 ),
1615 inst!(
1616 ShiftRightLogical,
1617 [],
1618 [],
1619 [
1620 (IdResultType, One),
1621 (IdResult, One),
1622 (IdRef, One),
1623 (IdRef, One)
1624 ]
1625 ),
1626 inst!(
1627 ShiftRightArithmetic,
1628 [],
1629 [],
1630 [
1631 (IdResultType, One),
1632 (IdResult, One),
1633 (IdRef, One),
1634 (IdRef, One)
1635 ]
1636 ),
1637 inst!(
1638 ShiftLeftLogical,
1639 [],
1640 [],
1641 [
1642 (IdResultType, One),
1643 (IdResult, One),
1644 (IdRef, One),
1645 (IdRef, One)
1646 ]
1647 ),
1648 inst!(
1649 BitwiseOr,
1650 [],
1651 [],
1652 [
1653 (IdResultType, One),
1654 (IdResult, One),
1655 (IdRef, One),
1656 (IdRef, One)
1657 ]
1658 ),
1659 inst!(
1660 BitwiseXor,
1661 [],
1662 [],
1663 [
1664 (IdResultType, One),
1665 (IdResult, One),
1666 (IdRef, One),
1667 (IdRef, One)
1668 ]
1669 ),
1670 inst!(
1671 BitwiseAnd,
1672 [],
1673 [],
1674 [
1675 (IdResultType, One),
1676 (IdResult, One),
1677 (IdRef, One),
1678 (IdRef, One)
1679 ]
1680 ),
1681 inst!(
1682 Not,
1683 [],
1684 [],
1685 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1686 ),
1687 inst!(
1688 BitFieldInsert,
1689 [Shader, BitInstructions],
1690 [],
1691 [
1692 (IdResultType, One),
1693 (IdResult, One),
1694 (IdRef, One),
1695 (IdRef, One),
1696 (IdRef, One),
1697 (IdRef, One)
1698 ]
1699 ),
1700 inst!(
1701 BitFieldSExtract,
1702 [Shader, BitInstructions],
1703 [],
1704 [
1705 (IdResultType, One),
1706 (IdResult, One),
1707 (IdRef, One),
1708 (IdRef, One),
1709 (IdRef, One)
1710 ]
1711 ),
1712 inst!(
1713 BitFieldUExtract,
1714 [Shader, BitInstructions],
1715 [],
1716 [
1717 (IdResultType, One),
1718 (IdResult, One),
1719 (IdRef, One),
1720 (IdRef, One),
1721 (IdRef, One)
1722 ]
1723 ),
1724 inst!(
1725 BitReverse,
1726 [Shader, BitInstructions],
1727 [],
1728 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1729 ),
1730 inst!(
1731 BitCount,
1732 [],
1733 [],
1734 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1735 ),
1736 inst!(
1737 DPdx,
1738 [Shader],
1739 [],
1740 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1741 ),
1742 inst!(
1743 DPdy,
1744 [Shader],
1745 [],
1746 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1747 ),
1748 inst!(
1749 Fwidth,
1750 [Shader],
1751 [],
1752 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1753 ),
1754 inst!(
1755 DPdxFine,
1756 [DerivativeControl],
1757 [],
1758 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1759 ),
1760 inst!(
1761 DPdyFine,
1762 [DerivativeControl],
1763 [],
1764 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1765 ),
1766 inst!(
1767 FwidthFine,
1768 [DerivativeControl],
1769 [],
1770 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1771 ),
1772 inst!(
1773 DPdxCoarse,
1774 [DerivativeControl],
1775 [],
1776 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1777 ),
1778 inst!(
1779 DPdyCoarse,
1780 [DerivativeControl],
1781 [],
1782 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1783 ),
1784 inst!(
1785 FwidthCoarse,
1786 [DerivativeControl],
1787 [],
1788 [(IdResultType, One), (IdResult, One), (IdRef, One)]
1789 ),
1790 inst!(EmitVertex, [Geometry], [], []),
1791 inst!(EndPrimitive, [Geometry], [], []),
1792 inst!(EmitStreamVertex, [GeometryStreams], [], [(IdRef, One)]),
1793 inst!(EndStreamPrimitive, [GeometryStreams], [], [(IdRef, One)]),
1794 inst!(
1795 ControlBarrier,
1796 [],
1797 [],
1798 [(IdScope, One), (IdScope, One), (IdMemorySemantics, One)]
1799 ),
1800 inst!(
1801 MemoryBarrier,
1802 [],
1803 [],
1804 [(IdScope, One), (IdMemorySemantics, One)]
1805 ),
1806 inst!(
1807 AtomicLoad,
1808 [],
1809 [],
1810 [
1811 (IdResultType, One),
1812 (IdResult, One),
1813 (IdRef, One),
1814 (IdScope, One),
1815 (IdMemorySemantics, One)
1816 ]
1817 ),
1818 inst!(
1819 AtomicStore,
1820 [],
1821 [],
1822 [
1823 (IdRef, One),
1824 (IdScope, One),
1825 (IdMemorySemantics, One),
1826 (IdRef, One)
1827 ]
1828 ),
1829 inst!(
1830 AtomicExchange,
1831 [],
1832 [],
1833 [
1834 (IdResultType, One),
1835 (IdResult, One),
1836 (IdRef, One),
1837 (IdScope, One),
1838 (IdMemorySemantics, One),
1839 (IdRef, One)
1840 ]
1841 ),
1842 inst!(
1843 AtomicCompareExchange,
1844 [],
1845 [],
1846 [
1847 (IdResultType, One),
1848 (IdResult, One),
1849 (IdRef, One),
1850 (IdScope, One),
1851 (IdMemorySemantics, One),
1852 (IdMemorySemantics, One),
1853 (IdRef, One),
1854 (IdRef, One)
1855 ]
1856 ),
1857 inst!(
1858 AtomicCompareExchangeWeak,
1859 [Kernel],
1860 [],
1861 [
1862 (IdResultType, One),
1863 (IdResult, One),
1864 (IdRef, One),
1865 (IdScope, One),
1866 (IdMemorySemantics, One),
1867 (IdMemorySemantics, One),
1868 (IdRef, One),
1869 (IdRef, One)
1870 ]
1871 ),
1872 inst!(
1873 AtomicIIncrement,
1874 [],
1875 [],
1876 [
1877 (IdResultType, One),
1878 (IdResult, One),
1879 (IdRef, One),
1880 (IdScope, One),
1881 (IdMemorySemantics, One)
1882 ]
1883 ),
1884 inst!(
1885 AtomicIDecrement,
1886 [],
1887 [],
1888 [
1889 (IdResultType, One),
1890 (IdResult, One),
1891 (IdRef, One),
1892 (IdScope, One),
1893 (IdMemorySemantics, One)
1894 ]
1895 ),
1896 inst!(
1897 AtomicIAdd,
1898 [],
1899 [],
1900 [
1901 (IdResultType, One),
1902 (IdResult, One),
1903 (IdRef, One),
1904 (IdScope, One),
1905 (IdMemorySemantics, One),
1906 (IdRef, One)
1907 ]
1908 ),
1909 inst!(
1910 AtomicISub,
1911 [],
1912 [],
1913 [
1914 (IdResultType, One),
1915 (IdResult, One),
1916 (IdRef, One),
1917 (IdScope, One),
1918 (IdMemorySemantics, One),
1919 (IdRef, One)
1920 ]
1921 ),
1922 inst!(
1923 AtomicSMin,
1924 [],
1925 [],
1926 [
1927 (IdResultType, One),
1928 (IdResult, One),
1929 (IdRef, One),
1930 (IdScope, One),
1931 (IdMemorySemantics, One),
1932 (IdRef, One)
1933 ]
1934 ),
1935 inst!(
1936 AtomicUMin,
1937 [],
1938 [],
1939 [
1940 (IdResultType, One),
1941 (IdResult, One),
1942 (IdRef, One),
1943 (IdScope, One),
1944 (IdMemorySemantics, One),
1945 (IdRef, One)
1946 ]
1947 ),
1948 inst!(
1949 AtomicSMax,
1950 [],
1951 [],
1952 [
1953 (IdResultType, One),
1954 (IdResult, One),
1955 (IdRef, One),
1956 (IdScope, One),
1957 (IdMemorySemantics, One),
1958 (IdRef, One)
1959 ]
1960 ),
1961 inst!(
1962 AtomicUMax,
1963 [],
1964 [],
1965 [
1966 (IdResultType, One),
1967 (IdResult, One),
1968 (IdRef, One),
1969 (IdScope, One),
1970 (IdMemorySemantics, One),
1971 (IdRef, One)
1972 ]
1973 ),
1974 inst!(
1975 AtomicAnd,
1976 [],
1977 [],
1978 [
1979 (IdResultType, One),
1980 (IdResult, One),
1981 (IdRef, One),
1982 (IdScope, One),
1983 (IdMemorySemantics, One),
1984 (IdRef, One)
1985 ]
1986 ),
1987 inst!(
1988 AtomicOr,
1989 [],
1990 [],
1991 [
1992 (IdResultType, One),
1993 (IdResult, One),
1994 (IdRef, One),
1995 (IdScope, One),
1996 (IdMemorySemantics, One),
1997 (IdRef, One)
1998 ]
1999 ),
2000 inst!(
2001 AtomicXor,
2002 [],
2003 [],
2004 [
2005 (IdResultType, One),
2006 (IdResult, One),
2007 (IdRef, One),
2008 (IdScope, One),
2009 (IdMemorySemantics, One),
2010 (IdRef, One)
2011 ]
2012 ),
2013 inst!(
2014 Phi,
2015 [],
2016 [],
2017 [
2018 (IdResultType, One),
2019 (IdResult, One),
2020 (PairIdRefIdRef, ZeroOrMore)
2021 ]
2022 ),
2023 inst!(
2024 LoopMerge,
2025 [],
2026 [],
2027 [(IdRef, One), (IdRef, One), (LoopControl, One)]
2028 ),
2029 inst!(
2030 SelectionMerge,
2031 [],
2032 [],
2033 [(IdRef, One), (SelectionControl, One)]
2034 ),
2035 inst!(Label, [], [], [(IdResult, One)]),
2036 inst!(Branch, [], [], [(IdRef, One)]),
2037 inst!(
2038 BranchConditional,
2039 [],
2040 [],
2041 [
2042 (IdRef, One),
2043 (IdRef, One),
2044 (IdRef, One),
2045 (LiteralInteger, ZeroOrMore)
2046 ]
2047 ),
2048 inst!(
2049 Switch,
2050 [],
2051 [],
2052 [
2053 (IdRef, One),
2054 (IdRef, One),
2055 (PairLiteralIntegerIdRef, ZeroOrMore)
2056 ]
2057 ),
2058 inst!(Kill, [Shader], [], []),
2059 inst!(Return, [], [], []),
2060 inst!(ReturnValue, [], [], [(IdRef, One)]),
2061 inst!(Unreachable, [], [], []),
2062 inst!(
2063 LifetimeStart,
2064 [Kernel],
2065 [],
2066 [(IdRef, One), (LiteralInteger, One)]
2067 ),
2068 inst!(
2069 LifetimeStop,
2070 [Kernel],
2071 [],
2072 [(IdRef, One), (LiteralInteger, One)]
2073 ),
2074 inst!(
2075 GroupAsyncCopy,
2076 [Kernel],
2077 [],
2078 [
2079 (IdResultType, One),
2080 (IdResult, One),
2081 (IdScope, One),
2082 (IdRef, One),
2083 (IdRef, One),
2084 (IdRef, One),
2085 (IdRef, One),
2086 (IdRef, One)
2087 ]
2088 ),
2089 inst!(
2090 GroupWaitEvents,
2091 [Kernel],
2092 [],
2093 [(IdScope, One), (IdRef, One), (IdRef, One)]
2094 ),
2095 inst!(
2096 GroupAll,
2097 [Groups],
2098 [],
2099 [
2100 (IdResultType, One),
2101 (IdResult, One),
2102 (IdScope, One),
2103 (IdRef, One)
2104 ]
2105 ),
2106 inst!(
2107 GroupAny,
2108 [Groups],
2109 [],
2110 [
2111 (IdResultType, One),
2112 (IdResult, One),
2113 (IdScope, One),
2114 (IdRef, One)
2115 ]
2116 ),
2117 inst!(
2118 GroupBroadcast,
2119 [Groups],
2120 [],
2121 [
2122 (IdResultType, One),
2123 (IdResult, One),
2124 (IdScope, One),
2125 (IdRef, One),
2126 (IdRef, One)
2127 ]
2128 ),
2129 inst!(
2130 GroupIAdd,
2131 [Groups],
2132 [],
2133 [
2134 (IdResultType, One),
2135 (IdResult, One),
2136 (IdScope, One),
2137 (GroupOperation, One),
2138 (IdRef, One)
2139 ]
2140 ),
2141 inst!(
2142 GroupFAdd,
2143 [Groups],
2144 [],
2145 [
2146 (IdResultType, One),
2147 (IdResult, One),
2148 (IdScope, One),
2149 (GroupOperation, One),
2150 (IdRef, One)
2151 ]
2152 ),
2153 inst!(
2154 GroupFMin,
2155 [Groups],
2156 [],
2157 [
2158 (IdResultType, One),
2159 (IdResult, One),
2160 (IdScope, One),
2161 (GroupOperation, One),
2162 (IdRef, One)
2163 ]
2164 ),
2165 inst!(
2166 GroupUMin,
2167 [Groups],
2168 [],
2169 [
2170 (IdResultType, One),
2171 (IdResult, One),
2172 (IdScope, One),
2173 (GroupOperation, One),
2174 (IdRef, One)
2175 ]
2176 ),
2177 inst!(
2178 GroupSMin,
2179 [Groups],
2180 [],
2181 [
2182 (IdResultType, One),
2183 (IdResult, One),
2184 (IdScope, One),
2185 (GroupOperation, One),
2186 (IdRef, One)
2187 ]
2188 ),
2189 inst!(
2190 GroupFMax,
2191 [Groups],
2192 [],
2193 [
2194 (IdResultType, One),
2195 (IdResult, One),
2196 (IdScope, One),
2197 (GroupOperation, One),
2198 (IdRef, One)
2199 ]
2200 ),
2201 inst!(
2202 GroupUMax,
2203 [Groups],
2204 [],
2205 [
2206 (IdResultType, One),
2207 (IdResult, One),
2208 (IdScope, One),
2209 (GroupOperation, One),
2210 (IdRef, One)
2211 ]
2212 ),
2213 inst!(
2214 GroupSMax,
2215 [Groups],
2216 [],
2217 [
2218 (IdResultType, One),
2219 (IdResult, One),
2220 (IdScope, One),
2221 (GroupOperation, One),
2222 (IdRef, One)
2223 ]
2224 ),
2225 inst!(
2226 ReadPipe,
2227 [Pipes],
2228 [],
2229 [
2230 (IdResultType, One),
2231 (IdResult, One),
2232 (IdRef, One),
2233 (IdRef, One),
2234 (IdRef, One),
2235 (IdRef, One)
2236 ]
2237 ),
2238 inst!(
2239 WritePipe,
2240 [Pipes],
2241 [],
2242 [
2243 (IdResultType, One),
2244 (IdResult, One),
2245 (IdRef, One),
2246 (IdRef, One),
2247 (IdRef, One),
2248 (IdRef, One)
2249 ]
2250 ),
2251 inst!(
2252 ReservedReadPipe,
2253 [Pipes],
2254 [],
2255 [
2256 (IdResultType, One),
2257 (IdResult, One),
2258 (IdRef, One),
2259 (IdRef, One),
2260 (IdRef, One),
2261 (IdRef, One),
2262 (IdRef, One),
2263 (IdRef, One)
2264 ]
2265 ),
2266 inst!(
2267 ReservedWritePipe,
2268 [Pipes],
2269 [],
2270 [
2271 (IdResultType, One),
2272 (IdResult, One),
2273 (IdRef, One),
2274 (IdRef, One),
2275 (IdRef, One),
2276 (IdRef, One),
2277 (IdRef, One),
2278 (IdRef, One)
2279 ]
2280 ),
2281 inst!(
2282 ReserveReadPipePackets,
2283 [Pipes],
2284 [],
2285 [
2286 (IdResultType, One),
2287 (IdResult, One),
2288 (IdRef, One),
2289 (IdRef, One),
2290 (IdRef, One),
2291 (IdRef, One)
2292 ]
2293 ),
2294 inst!(
2295 ReserveWritePipePackets,
2296 [Pipes],
2297 [],
2298 [
2299 (IdResultType, One),
2300 (IdResult, One),
2301 (IdRef, One),
2302 (IdRef, One),
2303 (IdRef, One),
2304 (IdRef, One)
2305 ]
2306 ),
2307 inst!(
2308 CommitReadPipe,
2309 [Pipes],
2310 [],
2311 [(IdRef, One), (IdRef, One), (IdRef, One), (IdRef, One)]
2312 ),
2313 inst!(
2314 CommitWritePipe,
2315 [Pipes],
2316 [],
2317 [(IdRef, One), (IdRef, One), (IdRef, One), (IdRef, One)]
2318 ),
2319 inst!(
2320 IsValidReserveId,
2321 [Pipes],
2322 [],
2323 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2324 ),
2325 inst!(
2326 GetNumPipePackets,
2327 [Pipes],
2328 [],
2329 [
2330 (IdResultType, One),
2331 (IdResult, One),
2332 (IdRef, One),
2333 (IdRef, One),
2334 (IdRef, One)
2335 ]
2336 ),
2337 inst!(
2338 GetMaxPipePackets,
2339 [Pipes],
2340 [],
2341 [
2342 (IdResultType, One),
2343 (IdResult, One),
2344 (IdRef, One),
2345 (IdRef, One),
2346 (IdRef, One)
2347 ]
2348 ),
2349 inst!(
2350 GroupReserveReadPipePackets,
2351 [Pipes],
2352 [],
2353 [
2354 (IdResultType, One),
2355 (IdResult, One),
2356 (IdScope, One),
2357 (IdRef, One),
2358 (IdRef, One),
2359 (IdRef, One),
2360 (IdRef, One)
2361 ]
2362 ),
2363 inst!(
2364 GroupReserveWritePipePackets,
2365 [Pipes],
2366 [],
2367 [
2368 (IdResultType, One),
2369 (IdResult, One),
2370 (IdScope, One),
2371 (IdRef, One),
2372 (IdRef, One),
2373 (IdRef, One),
2374 (IdRef, One)
2375 ]
2376 ),
2377 inst!(
2378 GroupCommitReadPipe,
2379 [Pipes],
2380 [],
2381 [
2382 (IdScope, One),
2383 (IdRef, One),
2384 (IdRef, One),
2385 (IdRef, One),
2386 (IdRef, One)
2387 ]
2388 ),
2389 inst!(
2390 GroupCommitWritePipe,
2391 [Pipes],
2392 [],
2393 [
2394 (IdScope, One),
2395 (IdRef, One),
2396 (IdRef, One),
2397 (IdRef, One),
2398 (IdRef, One)
2399 ]
2400 ),
2401 inst!(
2402 EnqueueMarker,
2403 [DeviceEnqueue],
2404 [],
2405 [
2406 (IdResultType, One),
2407 (IdResult, One),
2408 (IdRef, One),
2409 (IdRef, One),
2410 (IdRef, One),
2411 (IdRef, One)
2412 ]
2413 ),
2414 inst!(
2415 EnqueueKernel,
2416 [DeviceEnqueue],
2417 [],
2418 [
2419 (IdResultType, One),
2420 (IdResult, One),
2421 (IdRef, One),
2422 (IdRef, One),
2423 (IdRef, One),
2424 (IdRef, One),
2425 (IdRef, One),
2426 (IdRef, One),
2427 (IdRef, One),
2428 (IdRef, One),
2429 (IdRef, One),
2430 (IdRef, One),
2431 (IdRef, ZeroOrMore)
2432 ]
2433 ),
2434 inst!(
2435 GetKernelNDrangeSubGroupCount,
2436 [DeviceEnqueue],
2437 [],
2438 [
2439 (IdResultType, One),
2440 (IdResult, One),
2441 (IdRef, One),
2442 (IdRef, One),
2443 (IdRef, One),
2444 (IdRef, One),
2445 (IdRef, One)
2446 ]
2447 ),
2448 inst!(
2449 GetKernelNDrangeMaxSubGroupSize,
2450 [DeviceEnqueue],
2451 [],
2452 [
2453 (IdResultType, One),
2454 (IdResult, One),
2455 (IdRef, One),
2456 (IdRef, One),
2457 (IdRef, One),
2458 (IdRef, One),
2459 (IdRef, One)
2460 ]
2461 ),
2462 inst!(
2463 GetKernelWorkGroupSize,
2464 [DeviceEnqueue],
2465 [],
2466 [
2467 (IdResultType, One),
2468 (IdResult, One),
2469 (IdRef, One),
2470 (IdRef, One),
2471 (IdRef, One),
2472 (IdRef, One)
2473 ]
2474 ),
2475 inst!(
2476 GetKernelPreferredWorkGroupSizeMultiple,
2477 [DeviceEnqueue],
2478 [],
2479 [
2480 (IdResultType, One),
2481 (IdResult, One),
2482 (IdRef, One),
2483 (IdRef, One),
2484 (IdRef, One),
2485 (IdRef, One)
2486 ]
2487 ),
2488 inst!(RetainEvent, [DeviceEnqueue], [], [(IdRef, One)]),
2489 inst!(ReleaseEvent, [DeviceEnqueue], [], [(IdRef, One)]),
2490 inst!(
2491 CreateUserEvent,
2492 [DeviceEnqueue],
2493 [],
2494 [(IdResultType, One), (IdResult, One)]
2495 ),
2496 inst!(
2497 IsValidEvent,
2498 [DeviceEnqueue],
2499 [],
2500 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2501 ),
2502 inst!(
2503 SetUserEventStatus,
2504 [DeviceEnqueue],
2505 [],
2506 [(IdRef, One), (IdRef, One)]
2507 ),
2508 inst!(
2509 CaptureEventProfilingInfo,
2510 [DeviceEnqueue],
2511 [],
2512 [(IdRef, One), (IdRef, One), (IdRef, One)]
2513 ),
2514 inst!(
2515 GetDefaultQueue,
2516 [DeviceEnqueue],
2517 [],
2518 [(IdResultType, One), (IdResult, One)]
2519 ),
2520 inst!(
2521 BuildNDRange,
2522 [DeviceEnqueue],
2523 [],
2524 [
2525 (IdResultType, One),
2526 (IdResult, One),
2527 (IdRef, One),
2528 (IdRef, One),
2529 (IdRef, One)
2530 ]
2531 ),
2532 inst!(
2533 ImageSparseSampleImplicitLod,
2534 [SparseResidency],
2535 [],
2536 [
2537 (IdResultType, One),
2538 (IdResult, One),
2539 (IdRef, One),
2540 (IdRef, One),
2541 (ImageOperands, ZeroOrOne)
2542 ]
2543 ),
2544 inst!(
2545 ImageSparseSampleExplicitLod,
2546 [SparseResidency],
2547 [],
2548 [
2549 (IdResultType, One),
2550 (IdResult, One),
2551 (IdRef, One),
2552 (IdRef, One),
2553 (ImageOperands, One)
2554 ]
2555 ),
2556 inst!(
2557 ImageSparseSampleDrefImplicitLod,
2558 [SparseResidency],
2559 [],
2560 [
2561 (IdResultType, One),
2562 (IdResult, One),
2563 (IdRef, One),
2564 (IdRef, One),
2565 (IdRef, One),
2566 (ImageOperands, ZeroOrOne)
2567 ]
2568 ),
2569 inst!(
2570 ImageSparseSampleDrefExplicitLod,
2571 [SparseResidency],
2572 [],
2573 [
2574 (IdResultType, One),
2575 (IdResult, One),
2576 (IdRef, One),
2577 (IdRef, One),
2578 (IdRef, One),
2579 (ImageOperands, One)
2580 ]
2581 ),
2582 inst!(
2583 ImageSparseSampleProjImplicitLod,
2584 [SparseResidency],
2585 [],
2586 [
2587 (IdResultType, One),
2588 (IdResult, One),
2589 (IdRef, One),
2590 (IdRef, One),
2591 (ImageOperands, ZeroOrOne)
2592 ]
2593 ),
2594 inst!(
2595 ImageSparseSampleProjExplicitLod,
2596 [SparseResidency],
2597 [],
2598 [
2599 (IdResultType, One),
2600 (IdResult, One),
2601 (IdRef, One),
2602 (IdRef, One),
2603 (ImageOperands, One)
2604 ]
2605 ),
2606 inst!(
2607 ImageSparseSampleProjDrefImplicitLod,
2608 [SparseResidency],
2609 [],
2610 [
2611 (IdResultType, One),
2612 (IdResult, One),
2613 (IdRef, One),
2614 (IdRef, One),
2615 (IdRef, One),
2616 (ImageOperands, ZeroOrOne)
2617 ]
2618 ),
2619 inst!(
2620 ImageSparseSampleProjDrefExplicitLod,
2621 [SparseResidency],
2622 [],
2623 [
2624 (IdResultType, One),
2625 (IdResult, One),
2626 (IdRef, One),
2627 (IdRef, One),
2628 (IdRef, One),
2629 (ImageOperands, One)
2630 ]
2631 ),
2632 inst!(
2633 ImageSparseFetch,
2634 [SparseResidency],
2635 [],
2636 [
2637 (IdResultType, One),
2638 (IdResult, One),
2639 (IdRef, One),
2640 (IdRef, One),
2641 (ImageOperands, ZeroOrOne)
2642 ]
2643 ),
2644 inst!(
2645 ImageSparseGather,
2646 [SparseResidency],
2647 [],
2648 [
2649 (IdResultType, One),
2650 (IdResult, One),
2651 (IdRef, One),
2652 (IdRef, One),
2653 (IdRef, One),
2654 (ImageOperands, ZeroOrOne)
2655 ]
2656 ),
2657 inst!(
2658 ImageSparseDrefGather,
2659 [SparseResidency],
2660 [],
2661 [
2662 (IdResultType, One),
2663 (IdResult, One),
2664 (IdRef, One),
2665 (IdRef, One),
2666 (IdRef, One),
2667 (ImageOperands, ZeroOrOne)
2668 ]
2669 ),
2670 inst!(
2671 ImageSparseTexelsResident,
2672 [SparseResidency],
2673 [],
2674 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2675 ),
2676 inst!(NoLine, [], [], []),
2677 inst!(
2678 AtomicFlagTestAndSet,
2679 [Kernel],
2680 [],
2681 [
2682 (IdResultType, One),
2683 (IdResult, One),
2684 (IdRef, One),
2685 (IdScope, One),
2686 (IdMemorySemantics, One)
2687 ]
2688 ),
2689 inst!(
2690 AtomicFlagClear,
2691 [Kernel],
2692 [],
2693 [(IdRef, One), (IdScope, One), (IdMemorySemantics, One)]
2694 ),
2695 inst!(
2696 ImageSparseRead,
2697 [SparseResidency],
2698 [],
2699 [
2700 (IdResultType, One),
2701 (IdResult, One),
2702 (IdRef, One),
2703 (IdRef, One),
2704 (ImageOperands, ZeroOrOne)
2705 ]
2706 ),
2707 inst!(
2708 SizeOf,
2709 [Addresses],
2710 [],
2711 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2712 ),
2713 inst!(TypePipeStorage, [PipeStorage], [], [(IdResult, One)]),
2714 inst!(
2715 ConstantPipeStorage,
2716 [PipeStorage],
2717 [],
2718 [
2719 (IdResultType, One),
2720 (IdResult, One),
2721 (LiteralInteger, One),
2722 (LiteralInteger, One),
2723 (LiteralInteger, One)
2724 ]
2725 ),
2726 inst!(
2727 CreatePipeFromPipeStorage,
2728 [PipeStorage],
2729 [],
2730 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2731 ),
2732 inst!(
2733 GetKernelLocalSizeForSubgroupCount,
2734 [SubgroupDispatch],
2735 [],
2736 [
2737 (IdResultType, One),
2738 (IdResult, One),
2739 (IdRef, One),
2740 (IdRef, One),
2741 (IdRef, One),
2742 (IdRef, One),
2743 (IdRef, One)
2744 ]
2745 ),
2746 inst!(
2747 GetKernelMaxNumSubgroups,
2748 [SubgroupDispatch],
2749 [],
2750 [
2751 (IdResultType, One),
2752 (IdResult, One),
2753 (IdRef, One),
2754 (IdRef, One),
2755 (IdRef, One),
2756 (IdRef, One)
2757 ]
2758 ),
2759 inst!(TypeNamedBarrier, [NamedBarrier], [], [(IdResult, One)]),
2760 inst!(
2761 NamedBarrierInitialize,
2762 [NamedBarrier],
2763 [],
2764 [(IdResultType, One), (IdResult, One), (IdRef, One)]
2765 ),
2766 inst!(
2767 MemoryNamedBarrier,
2768 [NamedBarrier],
2769 [],
2770 [(IdRef, One), (IdScope, One), (IdMemorySemantics, One)]
2771 ),
2772 inst!(ModuleProcessed, [], [], [(LiteralString, One)]),
2773 inst!(
2774 ExecutionModeId,
2775 [],
2776 [],
2777 [(IdRef, One), (ExecutionMode, One)]
2778 ),
2779 inst!(
2780 DecorateId,
2781 [],
2782 ["SPV_GOOGLE_hlsl_functionality1"],
2783 [(IdRef, One), (Decoration, One)]
2784 ),
2785 inst!(
2786 GroupNonUniformElect,
2787 [GroupNonUniform],
2788 [],
2789 [(IdResultType, One), (IdResult, One), (IdScope, One)]
2790 ),
2791 inst!(
2792 GroupNonUniformAll,
2793 [GroupNonUniformVote],
2794 [],
2795 [
2796 (IdResultType, One),
2797 (IdResult, One),
2798 (IdScope, One),
2799 (IdRef, One)
2800 ]
2801 ),
2802 inst!(
2803 GroupNonUniformAny,
2804 [GroupNonUniformVote],
2805 [],
2806 [
2807 (IdResultType, One),
2808 (IdResult, One),
2809 (IdScope, One),
2810 (IdRef, One)
2811 ]
2812 ),
2813 inst!(
2814 GroupNonUniformAllEqual,
2815 [GroupNonUniformVote],
2816 [],
2817 [
2818 (IdResultType, One),
2819 (IdResult, One),
2820 (IdScope, One),
2821 (IdRef, One)
2822 ]
2823 ),
2824 inst!(
2825 GroupNonUniformBroadcast,
2826 [GroupNonUniformBallot],
2827 [],
2828 [
2829 (IdResultType, One),
2830 (IdResult, One),
2831 (IdScope, One),
2832 (IdRef, One),
2833 (IdRef, One)
2834 ]
2835 ),
2836 inst!(
2837 GroupNonUniformBroadcastFirst,
2838 [GroupNonUniformBallot],
2839 [],
2840 [
2841 (IdResultType, One),
2842 (IdResult, One),
2843 (IdScope, One),
2844 (IdRef, One)
2845 ]
2846 ),
2847 inst!(
2848 GroupNonUniformBallot,
2849 [GroupNonUniformBallot],
2850 [],
2851 [
2852 (IdResultType, One),
2853 (IdResult, One),
2854 (IdScope, One),
2855 (IdRef, One)
2856 ]
2857 ),
2858 inst!(
2859 GroupNonUniformInverseBallot,
2860 [GroupNonUniformBallot],
2861 [],
2862 [
2863 (IdResultType, One),
2864 (IdResult, One),
2865 (IdScope, One),
2866 (IdRef, One)
2867 ]
2868 ),
2869 inst!(
2870 GroupNonUniformBallotBitExtract,
2871 [GroupNonUniformBallot],
2872 [],
2873 [
2874 (IdResultType, One),
2875 (IdResult, One),
2876 (IdScope, One),
2877 (IdRef, One),
2878 (IdRef, One)
2879 ]
2880 ),
2881 inst!(
2882 GroupNonUniformBallotBitCount,
2883 [GroupNonUniformBallot],
2884 [],
2885 [
2886 (IdResultType, One),
2887 (IdResult, One),
2888 (IdScope, One),
2889 (GroupOperation, One),
2890 (IdRef, One)
2891 ]
2892 ),
2893 inst!(
2894 GroupNonUniformBallotFindLSB,
2895 [GroupNonUniformBallot],
2896 [],
2897 [
2898 (IdResultType, One),
2899 (IdResult, One),
2900 (IdScope, One),
2901 (IdRef, One)
2902 ]
2903 ),
2904 inst!(
2905 GroupNonUniformBallotFindMSB,
2906 [GroupNonUniformBallot],
2907 [],
2908 [
2909 (IdResultType, One),
2910 (IdResult, One),
2911 (IdScope, One),
2912 (IdRef, One)
2913 ]
2914 ),
2915 inst!(
2916 GroupNonUniformShuffle,
2917 [GroupNonUniformShuffle],
2918 [],
2919 [
2920 (IdResultType, One),
2921 (IdResult, One),
2922 (IdScope, One),
2923 (IdRef, One),
2924 (IdRef, One)
2925 ]
2926 ),
2927 inst!(
2928 GroupNonUniformShuffleXor,
2929 [GroupNonUniformShuffle],
2930 [],
2931 [
2932 (IdResultType, One),
2933 (IdResult, One),
2934 (IdScope, One),
2935 (IdRef, One),
2936 (IdRef, One)
2937 ]
2938 ),
2939 inst!(
2940 GroupNonUniformShuffleUp,
2941 [GroupNonUniformShuffleRelative],
2942 [],
2943 [
2944 (IdResultType, One),
2945 (IdResult, One),
2946 (IdScope, One),
2947 (IdRef, One),
2948 (IdRef, One)
2949 ]
2950 ),
2951 inst!(
2952 GroupNonUniformShuffleDown,
2953 [GroupNonUniformShuffleRelative],
2954 [],
2955 [
2956 (IdResultType, One),
2957 (IdResult, One),
2958 (IdScope, One),
2959 (IdRef, One),
2960 (IdRef, One)
2961 ]
2962 ),
2963 inst!(
2964 GroupNonUniformIAdd,
2965 [
2966 GroupNonUniformArithmetic,
2967 GroupNonUniformClustered,
2968 GroupNonUniformPartitionedEXT
2969 ],
2970 [],
2971 [
2972 (IdResultType, One),
2973 (IdResult, One),
2974 (IdScope, One),
2975 (GroupOperation, One),
2976 (IdRef, One),
2977 (IdRef, ZeroOrOne)
2978 ]
2979 ),
2980 inst!(
2981 GroupNonUniformFAdd,
2982 [
2983 GroupNonUniformArithmetic,
2984 GroupNonUniformClustered,
2985 GroupNonUniformPartitionedEXT
2986 ],
2987 [],
2988 [
2989 (IdResultType, One),
2990 (IdResult, One),
2991 (IdScope, One),
2992 (GroupOperation, One),
2993 (IdRef, One),
2994 (IdRef, ZeroOrOne)
2995 ]
2996 ),
2997 inst!(
2998 GroupNonUniformIMul,
2999 [
3000 GroupNonUniformArithmetic,
3001 GroupNonUniformClustered,
3002 GroupNonUniformPartitionedEXT
3003 ],
3004 [],
3005 [
3006 (IdResultType, One),
3007 (IdResult, One),
3008 (IdScope, One),
3009 (GroupOperation, One),
3010 (IdRef, One),
3011 (IdRef, ZeroOrOne)
3012 ]
3013 ),
3014 inst!(
3015 GroupNonUniformFMul,
3016 [
3017 GroupNonUniformArithmetic,
3018 GroupNonUniformClustered,
3019 GroupNonUniformPartitionedEXT
3020 ],
3021 [],
3022 [
3023 (IdResultType, One),
3024 (IdResult, One),
3025 (IdScope, One),
3026 (GroupOperation, One),
3027 (IdRef, One),
3028 (IdRef, ZeroOrOne)
3029 ]
3030 ),
3031 inst!(
3032 GroupNonUniformSMin,
3033 [
3034 GroupNonUniformArithmetic,
3035 GroupNonUniformClustered,
3036 GroupNonUniformPartitionedEXT
3037 ],
3038 [],
3039 [
3040 (IdResultType, One),
3041 (IdResult, One),
3042 (IdScope, One),
3043 (GroupOperation, One),
3044 (IdRef, One),
3045 (IdRef, ZeroOrOne)
3046 ]
3047 ),
3048 inst!(
3049 GroupNonUniformUMin,
3050 [
3051 GroupNonUniformArithmetic,
3052 GroupNonUniformClustered,
3053 GroupNonUniformPartitionedEXT
3054 ],
3055 [],
3056 [
3057 (IdResultType, One),
3058 (IdResult, One),
3059 (IdScope, One),
3060 (GroupOperation, One),
3061 (IdRef, One),
3062 (IdRef, ZeroOrOne)
3063 ]
3064 ),
3065 inst!(
3066 GroupNonUniformFMin,
3067 [
3068 GroupNonUniformArithmetic,
3069 GroupNonUniformClustered,
3070 GroupNonUniformPartitionedEXT
3071 ],
3072 [],
3073 [
3074 (IdResultType, One),
3075 (IdResult, One),
3076 (IdScope, One),
3077 (GroupOperation, One),
3078 (IdRef, One),
3079 (IdRef, ZeroOrOne)
3080 ]
3081 ),
3082 inst!(
3083 GroupNonUniformSMax,
3084 [
3085 GroupNonUniformArithmetic,
3086 GroupNonUniformClustered,
3087 GroupNonUniformPartitionedEXT
3088 ],
3089 [],
3090 [
3091 (IdResultType, One),
3092 (IdResult, One),
3093 (IdScope, One),
3094 (GroupOperation, One),
3095 (IdRef, One),
3096 (IdRef, ZeroOrOne)
3097 ]
3098 ),
3099 inst!(
3100 GroupNonUniformUMax,
3101 [
3102 GroupNonUniformArithmetic,
3103 GroupNonUniformClustered,
3104 GroupNonUniformPartitionedEXT
3105 ],
3106 [],
3107 [
3108 (IdResultType, One),
3109 (IdResult, One),
3110 (IdScope, One),
3111 (GroupOperation, One),
3112 (IdRef, One),
3113 (IdRef, ZeroOrOne)
3114 ]
3115 ),
3116 inst!(
3117 GroupNonUniformFMax,
3118 [
3119 GroupNonUniformArithmetic,
3120 GroupNonUniformClustered,
3121 GroupNonUniformPartitionedEXT
3122 ],
3123 [],
3124 [
3125 (IdResultType, One),
3126 (IdResult, One),
3127 (IdScope, One),
3128 (GroupOperation, One),
3129 (IdRef, One),
3130 (IdRef, ZeroOrOne)
3131 ]
3132 ),
3133 inst!(
3134 GroupNonUniformBitwiseAnd,
3135 [
3136 GroupNonUniformArithmetic,
3137 GroupNonUniformClustered,
3138 GroupNonUniformPartitionedEXT
3139 ],
3140 [],
3141 [
3142 (IdResultType, One),
3143 (IdResult, One),
3144 (IdScope, One),
3145 (GroupOperation, One),
3146 (IdRef, One),
3147 (IdRef, ZeroOrOne)
3148 ]
3149 ),
3150 inst!(
3151 GroupNonUniformBitwiseOr,
3152 [
3153 GroupNonUniformArithmetic,
3154 GroupNonUniformClustered,
3155 GroupNonUniformPartitionedEXT
3156 ],
3157 [],
3158 [
3159 (IdResultType, One),
3160 (IdResult, One),
3161 (IdScope, One),
3162 (GroupOperation, One),
3163 (IdRef, One),
3164 (IdRef, ZeroOrOne)
3165 ]
3166 ),
3167 inst!(
3168 GroupNonUniformBitwiseXor,
3169 [
3170 GroupNonUniformArithmetic,
3171 GroupNonUniformClustered,
3172 GroupNonUniformPartitionedEXT
3173 ],
3174 [],
3175 [
3176 (IdResultType, One),
3177 (IdResult, One),
3178 (IdScope, One),
3179 (GroupOperation, One),
3180 (IdRef, One),
3181 (IdRef, ZeroOrOne)
3182 ]
3183 ),
3184 inst!(
3185 GroupNonUniformLogicalAnd,
3186 [
3187 GroupNonUniformArithmetic,
3188 GroupNonUniformClustered,
3189 GroupNonUniformPartitionedEXT
3190 ],
3191 [],
3192 [
3193 (IdResultType, One),
3194 (IdResult, One),
3195 (IdScope, One),
3196 (GroupOperation, One),
3197 (IdRef, One),
3198 (IdRef, ZeroOrOne)
3199 ]
3200 ),
3201 inst!(
3202 GroupNonUniformLogicalOr,
3203 [
3204 GroupNonUniformArithmetic,
3205 GroupNonUniformClustered,
3206 GroupNonUniformPartitionedEXT
3207 ],
3208 [],
3209 [
3210 (IdResultType, One),
3211 (IdResult, One),
3212 (IdScope, One),
3213 (GroupOperation, One),
3214 (IdRef, One),
3215 (IdRef, ZeroOrOne)
3216 ]
3217 ),
3218 inst!(
3219 GroupNonUniformLogicalXor,
3220 [
3221 GroupNonUniformArithmetic,
3222 GroupNonUniformClustered,
3223 GroupNonUniformPartitionedEXT
3224 ],
3225 [],
3226 [
3227 (IdResultType, One),
3228 (IdResult, One),
3229 (IdScope, One),
3230 (GroupOperation, One),
3231 (IdRef, One),
3232 (IdRef, ZeroOrOne)
3233 ]
3234 ),
3235 inst!(
3236 GroupNonUniformQuadBroadcast,
3237 [GroupNonUniformQuad],
3238 [],
3239 [
3240 (IdResultType, One),
3241 (IdResult, One),
3242 (IdScope, One),
3243 (IdRef, One),
3244 (IdRef, One)
3245 ]
3246 ),
3247 inst!(
3248 GroupNonUniformQuadSwap,
3249 [GroupNonUniformQuad],
3250 [],
3251 [
3252 (IdResultType, One),
3253 (IdResult, One),
3254 (IdScope, One),
3255 (IdRef, One),
3256 (IdRef, One)
3257 ]
3258 ),
3259 inst!(
3260 CopyLogical,
3261 [],
3262 [],
3263 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3264 ),
3265 inst!(
3266 PtrEqual,
3267 [],
3268 [],
3269 [
3270 (IdResultType, One),
3271 (IdResult, One),
3272 (IdRef, One),
3273 (IdRef, One)
3274 ]
3275 ),
3276 inst!(
3277 PtrNotEqual,
3278 [],
3279 [],
3280 [
3281 (IdResultType, One),
3282 (IdResult, One),
3283 (IdRef, One),
3284 (IdRef, One)
3285 ]
3286 ),
3287 inst!(
3288 PtrDiff,
3289 [Addresses, VariablePointers, VariablePointersStorageBuffer],
3290 [],
3291 [
3292 (IdResultType, One),
3293 (IdResult, One),
3294 (IdRef, One),
3295 (IdRef, One)
3296 ]
3297 ),
3298 inst!(
3299 ColorAttachmentReadEXT,
3300 [TileImageColorReadAccessEXT],
3301 [],
3302 [
3303 (IdResultType, One),
3304 (IdResult, One),
3305 (IdRef, One),
3306 (IdRef, ZeroOrOne)
3307 ]
3308 ),
3309 inst!(
3310 DepthAttachmentReadEXT,
3311 [TileImageDepthReadAccessEXT],
3312 [],
3313 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrOne)]
3314 ),
3315 inst!(
3316 StencilAttachmentReadEXT,
3317 [TileImageStencilReadAccessEXT],
3318 [],
3319 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrOne)]
3320 ),
3321 inst!(
3322 TypeTensorARM,
3323 [TensorsARM],
3324 [],
3325 [
3326 (IdResult, One),
3327 (IdRef, One),
3328 (IdRef, ZeroOrOne),
3329 (IdRef, ZeroOrOne)
3330 ]
3331 ),
3332 inst!(
3333 TensorReadARM,
3334 [TensorsARM],
3335 [],
3336 [
3337 (IdResultType, One),
3338 (IdResult, One),
3339 (IdRef, One),
3340 (IdRef, One),
3341 (TensorOperands, ZeroOrOne)
3342 ]
3343 ),
3344 inst!(
3345 TensorWriteARM,
3346 [TensorsARM],
3347 [],
3348 [
3349 (IdRef, One),
3350 (IdRef, One),
3351 (IdRef, One),
3352 (TensorOperands, ZeroOrOne)
3353 ]
3354 ),
3355 inst!(
3356 TensorQuerySizeARM,
3357 [TensorsARM],
3358 [],
3359 [
3360 (IdResultType, One),
3361 (IdResult, One),
3362 (IdRef, One),
3363 (IdRef, One)
3364 ]
3365 ),
3366 inst!(
3367 GraphConstantARM,
3368 [GraphARM],
3369 [],
3370 [(IdResultType, One), (IdResult, One), (LiteralInteger, One)]
3371 ),
3372 inst!(
3373 GraphEntryPointARM,
3374 [GraphARM],
3375 [],
3376 [(IdRef, One), (LiteralString, One), (IdRef, ZeroOrMore)]
3377 ),
3378 inst!(
3379 GraphARM,
3380 [GraphARM],
3381 [],
3382 [(IdResultType, One), (IdResult, One)]
3383 ),
3384 inst!(
3385 GraphInputARM,
3386 [GraphARM],
3387 [],
3388 [
3389 (IdResultType, One),
3390 (IdResult, One),
3391 (IdRef, One),
3392 (IdRef, ZeroOrMore)
3393 ]
3394 ),
3395 inst!(
3396 GraphSetOutputARM,
3397 [GraphARM],
3398 [],
3399 [(IdRef, One), (IdRef, One), (IdRef, ZeroOrMore)]
3400 ),
3401 inst!(GraphEndARM, [GraphARM], [], []),
3402 inst!(
3403 TypeGraphARM,
3404 [GraphARM],
3405 [],
3406 [(IdResult, One), (LiteralInteger, One), (IdRef, ZeroOrMore)]
3407 ),
3408 inst!(
3409 TerminateInvocation,
3410 [Shader],
3411 ["SPV_KHR_terminate_invocation"],
3412 []
3413 ),
3414 inst!(
3415 TypeUntypedPointerKHR,
3416 [UntypedPointersKHR],
3417 [],
3418 [(IdResult, One), (StorageClass, One)]
3419 ),
3420 inst!(
3421 UntypedVariableKHR,
3422 [UntypedPointersKHR],
3423 [],
3424 [
3425 (IdResultType, One),
3426 (IdResult, One),
3427 (StorageClass, One),
3428 (IdRef, ZeroOrOne),
3429 (IdRef, ZeroOrOne)
3430 ]
3431 ),
3432 inst!(
3433 UntypedAccessChainKHR,
3434 [UntypedPointersKHR],
3435 [],
3436 [
3437 (IdResultType, One),
3438 (IdResult, One),
3439 (IdRef, One),
3440 (IdRef, One),
3441 (IdRef, ZeroOrMore)
3442 ]
3443 ),
3444 inst!(
3445 UntypedInBoundsAccessChainKHR,
3446 [UntypedPointersKHR],
3447 [],
3448 [
3449 (IdResultType, One),
3450 (IdResult, One),
3451 (IdRef, One),
3452 (IdRef, One),
3453 (IdRef, ZeroOrMore)
3454 ]
3455 ),
3456 inst!(
3457 SubgroupBallotKHR,
3458 [SubgroupBallotKHR],
3459 ["SPV_KHR_shader_ballot"],
3460 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3461 ),
3462 inst!(
3463 SubgroupFirstInvocationKHR,
3464 [SubgroupBallotKHR],
3465 ["SPV_KHR_shader_ballot"],
3466 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3467 ),
3468 inst!(
3469 UntypedPtrAccessChainKHR,
3470 [UntypedPointersKHR],
3471 [],
3472 [
3473 (IdResultType, One),
3474 (IdResult, One),
3475 (IdRef, One),
3476 (IdRef, One),
3477 (IdRef, One),
3478 (IdRef, ZeroOrMore)
3479 ]
3480 ),
3481 inst!(
3482 UntypedInBoundsPtrAccessChainKHR,
3483 [UntypedPointersKHR],
3484 [],
3485 [
3486 (IdResultType, One),
3487 (IdResult, One),
3488 (IdRef, One),
3489 (IdRef, One),
3490 (IdRef, One),
3491 (IdRef, ZeroOrMore)
3492 ]
3493 ),
3494 inst!(
3495 UntypedArrayLengthKHR,
3496 [UntypedPointersKHR],
3497 [],
3498 [
3499 (IdResultType, One),
3500 (IdResult, One),
3501 (IdRef, One),
3502 (IdRef, One),
3503 (LiteralInteger, One)
3504 ]
3505 ),
3506 inst!(
3507 UntypedPrefetchKHR,
3508 [UntypedPointersKHR],
3509 [],
3510 [
3511 (IdRef, One),
3512 (IdRef, One),
3513 (IdRef, ZeroOrOne),
3514 (IdRef, ZeroOrOne),
3515 (IdRef, ZeroOrOne)
3516 ]
3517 ),
3518 inst!(
3519 FmaKHR,
3520 [FMAKHR],
3521 [],
3522 [
3523 (IdResultType, One),
3524 (IdResult, One),
3525 (IdRef, One),
3526 (IdRef, One),
3527 (IdRef, One)
3528 ]
3529 ),
3530 inst!(
3531 SubgroupAllKHR,
3532 [SubgroupVoteKHR],
3533 ["SPV_KHR_subgroup_vote"],
3534 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3535 ),
3536 inst!(
3537 SubgroupAnyKHR,
3538 [SubgroupVoteKHR],
3539 ["SPV_KHR_subgroup_vote"],
3540 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3541 ),
3542 inst!(
3543 SubgroupAllEqualKHR,
3544 [SubgroupVoteKHR],
3545 ["SPV_KHR_subgroup_vote"],
3546 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3547 ),
3548 inst!(
3549 GroupNonUniformRotateKHR,
3550 [GroupNonUniformRotateKHR],
3551 [],
3552 [
3553 (IdResultType, One),
3554 (IdResult, One),
3555 (IdScope, One),
3556 (IdRef, One),
3557 (IdRef, One),
3558 (IdRef, ZeroOrOne)
3559 ]
3560 ),
3561 inst!(
3562 SubgroupReadInvocationKHR,
3563 [SubgroupBallotKHR],
3564 ["SPV_KHR_shader_ballot"],
3565 [
3566 (IdResultType, One),
3567 (IdResult, One),
3568 (IdRef, One),
3569 (IdRef, One)
3570 ]
3571 ),
3572 inst!(
3573 ExtInstWithForwardRefsKHR,
3574 [],
3575 ["SPV_KHR_relaxed_extended_instruction"],
3576 [
3577 (IdResultType, One),
3578 (IdResult, One),
3579 (IdRef, One),
3580 (LiteralExtInstInteger, One),
3581 (IdRef, ZeroOrMore)
3582 ]
3583 ),
3584 inst!(
3585 UntypedGroupAsyncCopyKHR,
3586 [UntypedPointersKHR],
3587 [],
3588 [
3589 (IdResultType, One),
3590 (IdResult, One),
3591 (IdRef, One),
3592 (IdRef, One),
3593 (IdRef, One),
3594 (IdRef, One),
3595 (IdRef, One),
3596 (IdRef, One),
3597 (IdRef, One),
3598 (MemoryAccess, ZeroOrOne),
3599 (MemoryAccess, ZeroOrOne)
3600 ]
3601 ),
3602 inst!(
3603 TraceRayKHR,
3604 [RayTracingKHR],
3605 ["SPV_KHR_ray_tracing"],
3606 [
3607 (IdRef, One),
3608 (IdRef, One),
3609 (IdRef, One),
3610 (IdRef, One),
3611 (IdRef, One),
3612 (IdRef, One),
3613 (IdRef, One),
3614 (IdRef, One),
3615 (IdRef, One),
3616 (IdRef, One),
3617 (IdRef, One)
3618 ]
3619 ),
3620 inst!(
3621 ExecuteCallableKHR,
3622 [RayTracingKHR],
3623 ["SPV_KHR_ray_tracing"],
3624 [(IdRef, One), (IdRef, One)]
3625 ),
3626 inst!(
3627 ConvertUToAccelerationStructureKHR,
3628 [RayTracingKHR, RayQueryKHR],
3629 ["SPV_KHR_ray_tracing", "SPV_KHR_ray_query"],
3630 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3631 ),
3632 inst!(
3633 IgnoreIntersectionKHR,
3634 [RayTracingKHR],
3635 ["SPV_KHR_ray_tracing"],
3636 []
3637 ),
3638 inst!(
3639 TerminateRayKHR,
3640 [RayTracingKHR],
3641 ["SPV_KHR_ray_tracing"],
3642 []
3643 ),
3644 inst!(
3645 SDot,
3646 [DotProduct],
3647 ["SPV_KHR_integer_dot_product"],
3648 [
3649 (IdResultType, One),
3650 (IdResult, One),
3651 (IdRef, One),
3652 (IdRef, One),
3653 (PackedVectorFormat, ZeroOrOne)
3654 ]
3655 ),
3656 inst!(
3657 UDot,
3658 [DotProduct],
3659 ["SPV_KHR_integer_dot_product"],
3660 [
3661 (IdResultType, One),
3662 (IdResult, One),
3663 (IdRef, One),
3664 (IdRef, One),
3665 (PackedVectorFormat, ZeroOrOne)
3666 ]
3667 ),
3668 inst!(
3669 SUDot,
3670 [DotProduct],
3671 ["SPV_KHR_integer_dot_product"],
3672 [
3673 (IdResultType, One),
3674 (IdResult, One),
3675 (IdRef, One),
3676 (IdRef, One),
3677 (PackedVectorFormat, ZeroOrOne)
3678 ]
3679 ),
3680 inst!(
3681 SDotAccSat,
3682 [DotProduct],
3683 ["SPV_KHR_integer_dot_product"],
3684 [
3685 (IdResultType, One),
3686 (IdResult, One),
3687 (IdRef, One),
3688 (IdRef, One),
3689 (IdRef, One),
3690 (PackedVectorFormat, ZeroOrOne)
3691 ]
3692 ),
3693 inst!(
3694 UDotAccSat,
3695 [DotProduct],
3696 ["SPV_KHR_integer_dot_product"],
3697 [
3698 (IdResultType, One),
3699 (IdResult, One),
3700 (IdRef, One),
3701 (IdRef, One),
3702 (IdRef, One),
3703 (PackedVectorFormat, ZeroOrOne)
3704 ]
3705 ),
3706 inst!(
3707 SUDotAccSat,
3708 [DotProduct],
3709 ["SPV_KHR_integer_dot_product"],
3710 [
3711 (IdResultType, One),
3712 (IdResult, One),
3713 (IdRef, One),
3714 (IdRef, One),
3715 (IdRef, One),
3716 (PackedVectorFormat, ZeroOrOne)
3717 ]
3718 ),
3719 inst!(
3720 TypeCooperativeMatrixKHR,
3721 [CooperativeMatrixKHR],
3722 [],
3723 [
3724 (IdResult, One),
3725 (IdRef, One),
3726 (IdScope, One),
3727 (IdRef, One),
3728 (IdRef, One),
3729 (IdRef, One)
3730 ]
3731 ),
3732 inst!(
3733 CooperativeMatrixLoadKHR,
3734 [CooperativeMatrixKHR],
3735 [],
3736 [
3737 (IdResultType, One),
3738 (IdResult, One),
3739 (IdRef, One),
3740 (IdRef, One),
3741 (IdRef, ZeroOrOne),
3742 (MemoryAccess, ZeroOrOne)
3743 ]
3744 ),
3745 inst!(
3746 CooperativeMatrixStoreKHR,
3747 [CooperativeMatrixKHR],
3748 [],
3749 [
3750 (IdRef, One),
3751 (IdRef, One),
3752 (IdRef, One),
3753 (IdRef, ZeroOrOne),
3754 (MemoryAccess, ZeroOrOne)
3755 ]
3756 ),
3757 inst!(
3758 CooperativeMatrixMulAddKHR,
3759 [CooperativeMatrixKHR],
3760 [],
3761 [
3762 (IdResultType, One),
3763 (IdResult, One),
3764 (IdRef, One),
3765 (IdRef, One),
3766 (IdRef, One),
3767 (CooperativeMatrixOperands, ZeroOrOne)
3768 ]
3769 ),
3770 inst!(
3771 CooperativeMatrixLengthKHR,
3772 [CooperativeMatrixKHR],
3773 [],
3774 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3775 ),
3776 inst!(
3777 ConstantCompositeReplicateEXT,
3778 [ReplicatedCompositesEXT],
3779 [],
3780 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3781 ),
3782 inst!(
3783 SpecConstantCompositeReplicateEXT,
3784 [ReplicatedCompositesEXT],
3785 [],
3786 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3787 ),
3788 inst!(
3789 CompositeConstructReplicateEXT,
3790 [ReplicatedCompositesEXT],
3791 [],
3792 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3793 ),
3794 inst!(
3795 TypeRayQueryKHR,
3796 [RayQueryKHR],
3797 ["SPV_KHR_ray_query"],
3798 [(IdResult, One)]
3799 ),
3800 inst!(
3801 RayQueryInitializeKHR,
3802 [RayQueryKHR],
3803 ["SPV_KHR_ray_query"],
3804 [
3805 (IdRef, One),
3806 (IdRef, One),
3807 (IdRef, One),
3808 (IdRef, One),
3809 (IdRef, One),
3810 (IdRef, One),
3811 (IdRef, One),
3812 (IdRef, One)
3813 ]
3814 ),
3815 inst!(
3816 RayQueryTerminateKHR,
3817 [RayQueryKHR],
3818 ["SPV_KHR_ray_query"],
3819 [(IdRef, One)]
3820 ),
3821 inst!(
3822 RayQueryGenerateIntersectionKHR,
3823 [RayQueryKHR],
3824 ["SPV_KHR_ray_query"],
3825 [(IdRef, One), (IdRef, One)]
3826 ),
3827 inst!(
3828 RayQueryConfirmIntersectionKHR,
3829 [RayQueryKHR],
3830 ["SPV_KHR_ray_query"],
3831 [(IdRef, One)]
3832 ),
3833 inst!(
3834 RayQueryProceedKHR,
3835 [RayQueryKHR],
3836 ["SPV_KHR_ray_query"],
3837 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3838 ),
3839 inst!(
3840 RayQueryGetIntersectionTypeKHR,
3841 [RayQueryKHR],
3842 ["SPV_KHR_ray_query"],
3843 [
3844 (IdResultType, One),
3845 (IdResult, One),
3846 (IdRef, One),
3847 (IdRef, One)
3848 ]
3849 ),
3850 inst!(
3851 ImageSampleWeightedQCOM,
3852 [TextureSampleWeightedQCOM],
3853 [],
3854 [
3855 (IdResultType, One),
3856 (IdResult, One),
3857 (IdRef, One),
3858 (IdRef, One),
3859 (IdRef, One)
3860 ]
3861 ),
3862 inst!(
3863 ImageBoxFilterQCOM,
3864 [TextureBoxFilterQCOM],
3865 [],
3866 [
3867 (IdResultType, One),
3868 (IdResult, One),
3869 (IdRef, One),
3870 (IdRef, One),
3871 (IdRef, One)
3872 ]
3873 ),
3874 inst!(
3875 ImageBlockMatchSSDQCOM,
3876 [TextureBlockMatchQCOM],
3877 [],
3878 [
3879 (IdResultType, One),
3880 (IdResult, One),
3881 (IdRef, One),
3882 (IdRef, One),
3883 (IdRef, One),
3884 (IdRef, One),
3885 (IdRef, One)
3886 ]
3887 ),
3888 inst!(
3889 ImageBlockMatchSADQCOM,
3890 [TextureBlockMatchQCOM],
3891 [],
3892 [
3893 (IdResultType, One),
3894 (IdResult, One),
3895 (IdRef, One),
3896 (IdRef, One),
3897 (IdRef, One),
3898 (IdRef, One),
3899 (IdRef, One)
3900 ]
3901 ),
3902 inst!(
3903 BitCastArrayQCOM,
3904 [CooperativeMatrixConversionQCOM],
3905 [],
3906 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3907 ),
3908 inst!(
3909 ImageBlockMatchWindowSSDQCOM,
3910 [TextureBlockMatch2QCOM],
3911 [],
3912 [
3913 (IdResultType, One),
3914 (IdResult, One),
3915 (IdRef, One),
3916 (IdRef, One),
3917 (IdRef, One),
3918 (IdRef, One),
3919 (IdRef, One)
3920 ]
3921 ),
3922 inst!(
3923 ImageBlockMatchWindowSADQCOM,
3924 [TextureBlockMatch2QCOM],
3925 [],
3926 [
3927 (IdResultType, One),
3928 (IdResult, One),
3929 (IdRef, One),
3930 (IdRef, One),
3931 (IdRef, One),
3932 (IdRef, One),
3933 (IdRef, One)
3934 ]
3935 ),
3936 inst!(
3937 ImageBlockMatchGatherSSDQCOM,
3938 [TextureBlockMatch2QCOM],
3939 [],
3940 [
3941 (IdResultType, One),
3942 (IdResult, One),
3943 (IdRef, One),
3944 (IdRef, One),
3945 (IdRef, One),
3946 (IdRef, One),
3947 (IdRef, One)
3948 ]
3949 ),
3950 inst!(
3951 ImageBlockMatchGatherSADQCOM,
3952 [TextureBlockMatch2QCOM],
3953 [],
3954 [
3955 (IdResultType, One),
3956 (IdResult, One),
3957 (IdRef, One),
3958 (IdRef, One),
3959 (IdRef, One),
3960 (IdRef, One),
3961 (IdRef, One)
3962 ]
3963 ),
3964 inst!(
3965 CompositeConstructCoopMatQCOM,
3966 [CooperativeMatrixConversionQCOM],
3967 [],
3968 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3969 ),
3970 inst!(
3971 CompositeExtractCoopMatQCOM,
3972 [CooperativeMatrixConversionQCOM],
3973 [],
3974 [(IdResultType, One), (IdResult, One), (IdRef, One)]
3975 ),
3976 inst!(
3977 ExtractSubArrayQCOM,
3978 [CooperativeMatrixConversionQCOM],
3979 [],
3980 [
3981 (IdResultType, One),
3982 (IdResult, One),
3983 (IdRef, One),
3984 (IdRef, One)
3985 ]
3986 ),
3987 inst!(
3988 GroupIAddNonUniformAMD,
3989 [Groups],
3990 ["SPV_AMD_shader_ballot"],
3991 [
3992 (IdResultType, One),
3993 (IdResult, One),
3994 (IdScope, One),
3995 (GroupOperation, One),
3996 (IdRef, One)
3997 ]
3998 ),
3999 inst!(
4000 GroupFAddNonUniformAMD,
4001 [Groups],
4002 ["SPV_AMD_shader_ballot"],
4003 [
4004 (IdResultType, One),
4005 (IdResult, One),
4006 (IdScope, One),
4007 (GroupOperation, One),
4008 (IdRef, One)
4009 ]
4010 ),
4011 inst!(
4012 GroupFMinNonUniformAMD,
4013 [Groups],
4014 ["SPV_AMD_shader_ballot"],
4015 [
4016 (IdResultType, One),
4017 (IdResult, One),
4018 (IdScope, One),
4019 (GroupOperation, One),
4020 (IdRef, One)
4021 ]
4022 ),
4023 inst!(
4024 GroupUMinNonUniformAMD,
4025 [Groups],
4026 ["SPV_AMD_shader_ballot"],
4027 [
4028 (IdResultType, One),
4029 (IdResult, One),
4030 (IdScope, One),
4031 (GroupOperation, One),
4032 (IdRef, One)
4033 ]
4034 ),
4035 inst!(
4036 GroupSMinNonUniformAMD,
4037 [Groups],
4038 ["SPV_AMD_shader_ballot"],
4039 [
4040 (IdResultType, One),
4041 (IdResult, One),
4042 (IdScope, One),
4043 (GroupOperation, One),
4044 (IdRef, One)
4045 ]
4046 ),
4047 inst!(
4048 GroupFMaxNonUniformAMD,
4049 [Groups],
4050 ["SPV_AMD_shader_ballot"],
4051 [
4052 (IdResultType, One),
4053 (IdResult, One),
4054 (IdScope, One),
4055 (GroupOperation, One),
4056 (IdRef, One)
4057 ]
4058 ),
4059 inst!(
4060 GroupUMaxNonUniformAMD,
4061 [Groups],
4062 ["SPV_AMD_shader_ballot"],
4063 [
4064 (IdResultType, One),
4065 (IdResult, One),
4066 (IdScope, One),
4067 (GroupOperation, One),
4068 (IdRef, One)
4069 ]
4070 ),
4071 inst!(
4072 GroupSMaxNonUniformAMD,
4073 [Groups],
4074 ["SPV_AMD_shader_ballot"],
4075 [
4076 (IdResultType, One),
4077 (IdResult, One),
4078 (IdScope, One),
4079 (GroupOperation, One),
4080 (IdRef, One)
4081 ]
4082 ),
4083 inst!(
4084 FragmentMaskFetchAMD,
4085 [FragmentMaskAMD],
4086 ["SPV_AMD_shader_fragment_mask"],
4087 [
4088 (IdResultType, One),
4089 (IdResult, One),
4090 (IdRef, One),
4091 (IdRef, One)
4092 ]
4093 ),
4094 inst!(
4095 FragmentFetchAMD,
4096 [FragmentMaskAMD],
4097 ["SPV_AMD_shader_fragment_mask"],
4098 [
4099 (IdResultType, One),
4100 (IdResult, One),
4101 (IdRef, One),
4102 (IdRef, One),
4103 (IdRef, One)
4104 ]
4105 ),
4106 inst!(
4107 ReadClockKHR,
4108 [ShaderClockKHR],
4109 [],
4110 [(IdResultType, One), (IdResult, One), (IdScope, One)]
4111 ),
4112 inst!(
4113 AllocateNodePayloadsAMDX,
4114 [ShaderEnqueueAMDX],
4115 [],
4116 [
4117 (IdResultType, One),
4118 (IdResult, One),
4119 (IdScope, One),
4120 (IdRef, One),
4121 (IdRef, One)
4122 ]
4123 ),
4124 inst!(
4125 EnqueueNodePayloadsAMDX,
4126 [ShaderEnqueueAMDX],
4127 [],
4128 [(IdRef, One)]
4129 ),
4130 inst!(
4131 TypeNodePayloadArrayAMDX,
4132 [ShaderEnqueueAMDX],
4133 [],
4134 [(IdResult, One), (IdRef, One)]
4135 ),
4136 inst!(
4137 FinishWritingNodePayloadAMDX,
4138 [ShaderEnqueueAMDX],
4139 [],
4140 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4141 ),
4142 inst!(
4143 NodePayloadArrayLengthAMDX,
4144 [ShaderEnqueueAMDX],
4145 [],
4146 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4147 ),
4148 inst!(
4149 IsNodePayloadValidAMDX,
4150 [ShaderEnqueueAMDX],
4151 [],
4152 [
4153 (IdResultType, One),
4154 (IdResult, One),
4155 (IdRef, One),
4156 (IdRef, One)
4157 ]
4158 ),
4159 inst!(
4160 ConstantStringAMDX,
4161 [ShaderEnqueueAMDX],
4162 [],
4163 [(IdResult, One), (LiteralString, One)]
4164 ),
4165 inst!(
4166 SpecConstantStringAMDX,
4167 [ShaderEnqueueAMDX],
4168 [],
4169 [(IdResult, One), (LiteralString, One)]
4170 ),
4171 inst!(
4172 GroupNonUniformQuadAllKHR,
4173 [QuadControlKHR],
4174 [],
4175 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4176 ),
4177 inst!(
4178 GroupNonUniformQuadAnyKHR,
4179 [QuadControlKHR],
4180 [],
4181 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4182 ),
4183 inst!(
4184 TypeBufferEXT,
4185 [DescriptorHeapEXT],
4186 [],
4187 [(IdResult, One), (StorageClass, One)]
4188 ),
4189 inst!(
4190 BufferPointerEXT,
4191 [DescriptorHeapEXT],
4192 [],
4193 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4194 ),
4195 inst!(
4196 UntypedImageTexelPointerEXT,
4197 [DescriptorHeapEXT],
4198 [],
4199 [
4200 (IdResultType, One),
4201 (IdResult, One),
4202 (IdRef, One),
4203 (IdRef, One),
4204 (IdRef, One),
4205 (IdRef, One)
4206 ]
4207 ),
4208 inst!(
4209 MemberDecorateIdEXT,
4210 [DescriptorHeapEXT],
4211 [],
4212 [(IdRef, One), (LiteralInteger, One), (Decoration, One)]
4213 ),
4214 inst!(
4215 ConstantSizeOfEXT,
4216 [DescriptorHeapEXT],
4217 [],
4218 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4219 ),
4220 inst!(
4221 HitObjectRecordHitMotionNV,
4222 [ShaderInvocationReorderNV, RayTracingMotionBlurNV],
4223 [],
4224 [
4225 (IdRef, One),
4226 (IdRef, One),
4227 (IdRef, One),
4228 (IdRef, One),
4229 (IdRef, One),
4230 (IdRef, One),
4231 (IdRef, One),
4232 (IdRef, One),
4233 (IdRef, One),
4234 (IdRef, One),
4235 (IdRef, One),
4236 (IdRef, One),
4237 (IdRef, One),
4238 (IdRef, One)
4239 ]
4240 ),
4241 inst!(
4242 HitObjectRecordHitWithIndexMotionNV,
4243 [ShaderInvocationReorderNV, RayTracingMotionBlurNV],
4244 [],
4245 [
4246 (IdRef, One),
4247 (IdRef, One),
4248 (IdRef, One),
4249 (IdRef, One),
4250 (IdRef, One),
4251 (IdRef, One),
4252 (IdRef, One),
4253 (IdRef, One),
4254 (IdRef, One),
4255 (IdRef, One),
4256 (IdRef, One),
4257 (IdRef, One),
4258 (IdRef, One)
4259 ]
4260 ),
4261 inst!(
4262 HitObjectRecordMissMotionNV,
4263 [ShaderInvocationReorderNV, RayTracingMotionBlurNV],
4264 [],
4265 [
4266 (IdRef, One),
4267 (IdRef, One),
4268 (IdRef, One),
4269 (IdRef, One),
4270 (IdRef, One),
4271 (IdRef, One),
4272 (IdRef, One)
4273 ]
4274 ),
4275 inst!(
4276 HitObjectGetWorldToObjectNV,
4277 [ShaderInvocationReorderNV],
4278 [],
4279 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4280 ),
4281 inst!(
4282 HitObjectGetObjectToWorldNV,
4283 [ShaderInvocationReorderNV],
4284 [],
4285 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4286 ),
4287 inst!(
4288 HitObjectGetObjectRayDirectionNV,
4289 [ShaderInvocationReorderNV],
4290 [],
4291 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4292 ),
4293 inst!(
4294 HitObjectGetObjectRayOriginNV,
4295 [ShaderInvocationReorderNV],
4296 [],
4297 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4298 ),
4299 inst!(
4300 HitObjectTraceRayMotionNV,
4301 [ShaderInvocationReorderNV, RayTracingMotionBlurNV],
4302 [],
4303 [
4304 (IdRef, One),
4305 (IdRef, One),
4306 (IdRef, One),
4307 (IdRef, One),
4308 (IdRef, One),
4309 (IdRef, One),
4310 (IdRef, One),
4311 (IdRef, One),
4312 (IdRef, One),
4313 (IdRef, One),
4314 (IdRef, One),
4315 (IdRef, One),
4316 (IdRef, One)
4317 ]
4318 ),
4319 inst!(
4320 HitObjectGetShaderRecordBufferHandleNV,
4321 [ShaderInvocationReorderNV],
4322 [],
4323 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4324 ),
4325 inst!(
4326 HitObjectGetShaderBindingTableRecordIndexNV,
4327 [ShaderInvocationReorderNV],
4328 [],
4329 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4330 ),
4331 inst!(
4332 HitObjectRecordEmptyNV,
4333 [ShaderInvocationReorderNV],
4334 [],
4335 [(IdRef, One)]
4336 ),
4337 inst!(
4338 HitObjectTraceRayNV,
4339 [ShaderInvocationReorderNV],
4340 [],
4341 [
4342 (IdRef, One),
4343 (IdRef, One),
4344 (IdRef, One),
4345 (IdRef, One),
4346 (IdRef, One),
4347 (IdRef, One),
4348 (IdRef, One),
4349 (IdRef, One),
4350 (IdRef, One),
4351 (IdRef, One),
4352 (IdRef, One),
4353 (IdRef, One)
4354 ]
4355 ),
4356 inst!(
4357 HitObjectRecordHitNV,
4358 [ShaderInvocationReorderNV],
4359 [],
4360 [
4361 (IdRef, One),
4362 (IdRef, One),
4363 (IdRef, One),
4364 (IdRef, One),
4365 (IdRef, One),
4366 (IdRef, One),
4367 (IdRef, One),
4368 (IdRef, One),
4369 (IdRef, One),
4370 (IdRef, One),
4371 (IdRef, One),
4372 (IdRef, One),
4373 (IdRef, One)
4374 ]
4375 ),
4376 inst!(
4377 HitObjectRecordHitWithIndexNV,
4378 [ShaderInvocationReorderNV],
4379 [],
4380 [
4381 (IdRef, One),
4382 (IdRef, One),
4383 (IdRef, One),
4384 (IdRef, One),
4385 (IdRef, One),
4386 (IdRef, One),
4387 (IdRef, One),
4388 (IdRef, One),
4389 (IdRef, One),
4390 (IdRef, One),
4391 (IdRef, One),
4392 (IdRef, One)
4393 ]
4394 ),
4395 inst!(
4396 HitObjectRecordMissNV,
4397 [ShaderInvocationReorderNV],
4398 [],
4399 [
4400 (IdRef, One),
4401 (IdRef, One),
4402 (IdRef, One),
4403 (IdRef, One),
4404 (IdRef, One),
4405 (IdRef, One)
4406 ]
4407 ),
4408 inst!(
4409 HitObjectExecuteShaderNV,
4410 [ShaderInvocationReorderNV],
4411 [],
4412 [(IdRef, One), (IdRef, One)]
4413 ),
4414 inst!(
4415 HitObjectGetCurrentTimeNV,
4416 [ShaderInvocationReorderNV],
4417 [],
4418 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4419 ),
4420 inst!(
4421 HitObjectGetAttributesNV,
4422 [ShaderInvocationReorderNV],
4423 [],
4424 [(IdRef, One), (IdRef, One)]
4425 ),
4426 inst!(
4427 HitObjectGetHitKindNV,
4428 [ShaderInvocationReorderNV],
4429 [],
4430 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4431 ),
4432 inst!(
4433 HitObjectGetPrimitiveIndexNV,
4434 [ShaderInvocationReorderNV],
4435 [],
4436 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4437 ),
4438 inst!(
4439 HitObjectGetGeometryIndexNV,
4440 [ShaderInvocationReorderNV],
4441 [],
4442 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4443 ),
4444 inst!(
4445 HitObjectGetInstanceIdNV,
4446 [ShaderInvocationReorderNV],
4447 [],
4448 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4449 ),
4450 inst!(
4451 HitObjectGetInstanceCustomIndexNV,
4452 [ShaderInvocationReorderNV],
4453 [],
4454 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4455 ),
4456 inst!(
4457 HitObjectGetWorldRayDirectionNV,
4458 [ShaderInvocationReorderNV],
4459 [],
4460 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4461 ),
4462 inst!(
4463 HitObjectGetWorldRayOriginNV,
4464 [ShaderInvocationReorderNV],
4465 [],
4466 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4467 ),
4468 inst!(
4469 HitObjectGetRayTMaxNV,
4470 [ShaderInvocationReorderNV],
4471 [],
4472 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4473 ),
4474 inst!(
4475 HitObjectGetRayTMinNV,
4476 [ShaderInvocationReorderNV],
4477 [],
4478 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4479 ),
4480 inst!(
4481 HitObjectIsEmptyNV,
4482 [ShaderInvocationReorderNV],
4483 [],
4484 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4485 ),
4486 inst!(
4487 HitObjectIsHitNV,
4488 [ShaderInvocationReorderNV],
4489 [],
4490 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4491 ),
4492 inst!(
4493 HitObjectIsMissNV,
4494 [ShaderInvocationReorderNV],
4495 [],
4496 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4497 ),
4498 inst!(
4499 ReorderThreadWithHitObjectNV,
4500 [ShaderInvocationReorderNV],
4501 [],
4502 [(IdRef, One), (IdRef, ZeroOrOne), (IdRef, ZeroOrOne)]
4503 ),
4504 inst!(
4505 ReorderThreadWithHintNV,
4506 [ShaderInvocationReorderNV],
4507 [],
4508 [(IdRef, One), (IdRef, One)]
4509 ),
4510 inst!(
4511 TypeHitObjectNV,
4512 [ShaderInvocationReorderNV],
4513 [],
4514 [(IdResult, One)]
4515 ),
4516 inst!(
4517 ImageSampleFootprintNV,
4518 [ImageFootprintNV],
4519 ["SPV_NV_shader_image_footprint"],
4520 [
4521 (IdResultType, One),
4522 (IdResult, One),
4523 (IdRef, One),
4524 (IdRef, One),
4525 (IdRef, One),
4526 (IdRef, One),
4527 (ImageOperands, ZeroOrOne)
4528 ]
4529 ),
4530 inst!(
4531 TypeVectorIdEXT,
4532 [CooperativeVectorNV, LongVectorEXT],
4533 [],
4534 [(IdResult, One), (IdRef, One), (IdRef, One)]
4535 ),
4536 inst!(
4537 CooperativeVectorMatrixMulNV,
4538 [CooperativeVectorNV],
4539 [],
4540 [
4541 (IdResultType, One),
4542 (IdResult, One),
4543 (IdRef, One),
4544 (IdRef, One),
4545 (IdRef, One),
4546 (IdRef, One),
4547 (IdRef, One),
4548 (IdRef, One),
4549 (IdRef, One),
4550 (IdRef, One),
4551 (IdRef, One),
4552 (IdRef, ZeroOrOne),
4553 (CooperativeMatrixOperands, ZeroOrOne)
4554 ]
4555 ),
4556 inst!(
4557 CooperativeVectorOuterProductAccumulateNV,
4558 [CooperativeVectorTrainingNV],
4559 [],
4560 [
4561 (IdRef, One),
4562 (IdRef, One),
4563 (IdRef, One),
4564 (IdRef, One),
4565 (IdRef, One),
4566 (IdRef, One),
4567 (IdRef, ZeroOrOne)
4568 ]
4569 ),
4570 inst!(
4571 CooperativeVectorReduceSumAccumulateNV,
4572 [CooperativeVectorTrainingNV],
4573 [],
4574 [(IdRef, One), (IdRef, One), (IdRef, One)]
4575 ),
4576 inst!(
4577 CooperativeVectorMatrixMulAddNV,
4578 [CooperativeVectorNV],
4579 [],
4580 [
4581 (IdResultType, One),
4582 (IdResult, One),
4583 (IdRef, One),
4584 (IdRef, One),
4585 (IdRef, One),
4586 (IdRef, One),
4587 (IdRef, One),
4588 (IdRef, One),
4589 (IdRef, One),
4590 (IdRef, One),
4591 (IdRef, One),
4592 (IdRef, One),
4593 (IdRef, One),
4594 (IdRef, One),
4595 (IdRef, ZeroOrOne),
4596 (CooperativeMatrixOperands, ZeroOrOne)
4597 ]
4598 ),
4599 inst!(
4600 CooperativeMatrixConvertNV,
4601 [CooperativeMatrixConversionsNV],
4602 [],
4603 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4604 ),
4605 inst!(
4606 EmitMeshTasksEXT,
4607 [MeshShadingEXT],
4608 [],
4609 [(IdRef, One), (IdRef, One), (IdRef, One), (IdRef, ZeroOrOne)]
4610 ),
4611 inst!(
4612 SetMeshOutputsEXT,
4613 [MeshShadingEXT],
4614 [],
4615 [(IdRef, One), (IdRef, One)]
4616 ),
4617 inst!(
4618 GroupNonUniformPartitionEXT,
4619 [GroupNonUniformPartitionedEXT],
4620 [],
4621 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4622 ),
4623 inst!(
4624 WritePackedPrimitiveIndices4x8NV,
4625 [MeshShadingNV],
4626 ["SPV_NV_mesh_shader"],
4627 [(IdRef, One), (IdRef, One)]
4628 ),
4629 inst!(
4630 FetchMicroTriangleVertexPositionNV,
4631 [DisplacementMicromapNV],
4632 [],
4633 [
4634 (IdResultType, One),
4635 (IdResult, One),
4636 (IdRef, One),
4637 (IdRef, One),
4638 (IdRef, One),
4639 (IdRef, One),
4640 (IdRef, One)
4641 ]
4642 ),
4643 inst!(
4644 FetchMicroTriangleVertexBarycentricNV,
4645 [DisplacementMicromapNV],
4646 [],
4647 [
4648 (IdResultType, One),
4649 (IdResult, One),
4650 (IdRef, One),
4651 (IdRef, One),
4652 (IdRef, One),
4653 (IdRef, One),
4654 (IdRef, One)
4655 ]
4656 ),
4657 inst!(
4658 CooperativeVectorLoadNV,
4659 [CooperativeVectorNV],
4660 [],
4661 [
4662 (IdResultType, One),
4663 (IdResult, One),
4664 (IdRef, One),
4665 (IdRef, One),
4666 (MemoryAccess, ZeroOrOne)
4667 ]
4668 ),
4669 inst!(
4670 CooperativeVectorStoreNV,
4671 [CooperativeVectorNV],
4672 [],
4673 [
4674 (IdRef, One),
4675 (IdRef, One),
4676 (IdRef, One),
4677 (MemoryAccess, ZeroOrOne)
4678 ]
4679 ),
4680 inst!(
4681 HitObjectRecordFromQueryEXT,
4682 [ShaderInvocationReorderEXT],
4683 [],
4684 [(IdRef, One), (IdRef, One), (IdRef, One), (IdRef, One)]
4685 ),
4686 inst!(
4687 HitObjectRecordMissEXT,
4688 [ShaderInvocationReorderEXT],
4689 [],
4690 [
4691 (IdRef, One),
4692 (IdRef, One),
4693 (IdRef, One),
4694 (IdRef, One),
4695 (IdRef, One),
4696 (IdRef, One),
4697 (IdRef, One)
4698 ]
4699 ),
4700 inst!(
4701 HitObjectRecordMissMotionEXT,
4702 [ShaderInvocationReorderEXT, RayTracingMotionBlurNV],
4703 [],
4704 [
4705 (IdRef, One),
4706 (IdRef, One),
4707 (IdRef, One),
4708 (IdRef, One),
4709 (IdRef, One),
4710 (IdRef, One),
4711 (IdRef, One),
4712 (IdRef, One)
4713 ]
4714 ),
4715 inst!(
4716 HitObjectGetIntersectionTriangleVertexPositionsEXT,
4717 [ShaderInvocationReorderEXT],
4718 [],
4719 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4720 ),
4721 inst!(
4722 HitObjectGetRayFlagsEXT,
4723 [ShaderInvocationReorderEXT],
4724 [],
4725 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4726 ),
4727 inst!(
4728 HitObjectSetShaderBindingTableRecordIndexEXT,
4729 [ShaderInvocationReorderEXT],
4730 [],
4731 [(IdRef, One), (IdRef, One)]
4732 ),
4733 inst!(
4734 HitObjectReorderExecuteShaderEXT,
4735 [ShaderInvocationReorderEXT],
4736 [],
4737 [
4738 (IdRef, One),
4739 (IdRef, One),
4740 (IdRef, ZeroOrOne),
4741 (IdRef, ZeroOrOne)
4742 ]
4743 ),
4744 inst!(
4745 HitObjectTraceReorderExecuteEXT,
4746 [ShaderInvocationReorderEXT],
4747 [],
4748 [
4749 (IdRef, One),
4750 (IdRef, One),
4751 (IdRef, One),
4752 (IdRef, One),
4753 (IdRef, One),
4754 (IdRef, One),
4755 (IdRef, One),
4756 (IdRef, One),
4757 (IdRef, One),
4758 (IdRef, One),
4759 (IdRef, One),
4760 (IdRef, One),
4761 (IdRef, ZeroOrOne),
4762 (IdRef, ZeroOrOne)
4763 ]
4764 ),
4765 inst!(
4766 HitObjectTraceMotionReorderExecuteEXT,
4767 [ShaderInvocationReorderEXT, RayTracingMotionBlurNV],
4768 [],
4769 [
4770 (IdRef, One),
4771 (IdRef, One),
4772 (IdRef, One),
4773 (IdRef, One),
4774 (IdRef, One),
4775 (IdRef, One),
4776 (IdRef, One),
4777 (IdRef, One),
4778 (IdRef, One),
4779 (IdRef, One),
4780 (IdRef, One),
4781 (IdRef, One),
4782 (IdRef, One),
4783 (IdRef, ZeroOrOne),
4784 (IdRef, ZeroOrOne)
4785 ]
4786 ),
4787 inst!(
4788 TypeHitObjectEXT,
4789 [ShaderInvocationReorderEXT],
4790 [],
4791 [(IdResult, One)]
4792 ),
4793 inst!(
4794 ReorderThreadWithHintEXT,
4795 [ShaderInvocationReorderEXT],
4796 [],
4797 [(IdRef, One), (IdRef, One)]
4798 ),
4799 inst!(
4800 ReorderThreadWithHitObjectEXT,
4801 [ShaderInvocationReorderEXT],
4802 [],
4803 [(IdRef, One), (IdRef, ZeroOrOne), (IdRef, ZeroOrOne)]
4804 ),
4805 inst!(
4806 HitObjectTraceRayEXT,
4807 [ShaderInvocationReorderEXT],
4808 [],
4809 [
4810 (IdRef, One),
4811 (IdRef, One),
4812 (IdRef, One),
4813 (IdRef, One),
4814 (IdRef, One),
4815 (IdRef, One),
4816 (IdRef, One),
4817 (IdRef, One),
4818 (IdRef, One),
4819 (IdRef, One),
4820 (IdRef, One),
4821 (IdRef, One)
4822 ]
4823 ),
4824 inst!(
4825 HitObjectTraceRayMotionEXT,
4826 [ShaderInvocationReorderEXT, RayTracingMotionBlurNV],
4827 [],
4828 [
4829 (IdRef, One),
4830 (IdRef, One),
4831 (IdRef, One),
4832 (IdRef, One),
4833 (IdRef, One),
4834 (IdRef, One),
4835 (IdRef, One),
4836 (IdRef, One),
4837 (IdRef, One),
4838 (IdRef, One),
4839 (IdRef, One),
4840 (IdRef, One),
4841 (IdRef, One)
4842 ]
4843 ),
4844 inst!(
4845 HitObjectRecordEmptyEXT,
4846 [ShaderInvocationReorderEXT],
4847 [],
4848 [(IdRef, One)]
4849 ),
4850 inst!(
4851 HitObjectExecuteShaderEXT,
4852 [ShaderInvocationReorderEXT],
4853 [],
4854 [(IdRef, One), (IdRef, One)]
4855 ),
4856 inst!(
4857 HitObjectGetCurrentTimeEXT,
4858 [ShaderInvocationReorderEXT, RayTracingMotionBlurNV],
4859 [],
4860 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4861 ),
4862 inst!(
4863 HitObjectGetAttributesEXT,
4864 [ShaderInvocationReorderEXT],
4865 [],
4866 [(IdRef, One), (IdRef, One)]
4867 ),
4868 inst!(
4869 HitObjectGetHitKindEXT,
4870 [ShaderInvocationReorderEXT],
4871 [],
4872 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4873 ),
4874 inst!(
4875 HitObjectGetPrimitiveIndexEXT,
4876 [ShaderInvocationReorderEXT],
4877 [],
4878 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4879 ),
4880 inst!(
4881 HitObjectGetGeometryIndexEXT,
4882 [ShaderInvocationReorderEXT],
4883 [],
4884 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4885 ),
4886 inst!(
4887 HitObjectGetInstanceIdEXT,
4888 [ShaderInvocationReorderEXT],
4889 [],
4890 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4891 ),
4892 inst!(
4893 HitObjectGetInstanceCustomIndexEXT,
4894 [ShaderInvocationReorderEXT],
4895 [],
4896 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4897 ),
4898 inst!(
4899 HitObjectGetObjectRayOriginEXT,
4900 [ShaderInvocationReorderEXT],
4901 [],
4902 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4903 ),
4904 inst!(
4905 HitObjectGetObjectRayDirectionEXT,
4906 [ShaderInvocationReorderEXT],
4907 [],
4908 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4909 ),
4910 inst!(
4911 HitObjectGetWorldRayDirectionEXT,
4912 [ShaderInvocationReorderEXT],
4913 [],
4914 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4915 ),
4916 inst!(
4917 HitObjectGetWorldRayOriginEXT,
4918 [ShaderInvocationReorderEXT],
4919 [],
4920 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4921 ),
4922 inst!(
4923 HitObjectGetObjectToWorldEXT,
4924 [ShaderInvocationReorderEXT],
4925 [],
4926 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4927 ),
4928 inst!(
4929 HitObjectGetWorldToObjectEXT,
4930 [ShaderInvocationReorderEXT],
4931 [],
4932 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4933 ),
4934 inst!(
4935 HitObjectGetRayTMaxEXT,
4936 [ShaderInvocationReorderEXT],
4937 [],
4938 [(IdResultType, One), (IdResult, One), (IdRef, One)]
4939 ),
4940 inst!(
4941 ReportIntersectionKHR,
4942 [RayTracingNV, RayTracingKHR],
4943 ["SPV_NV_ray_tracing", "SPV_KHR_ray_tracing"],
4944 [
4945 (IdResultType, One),
4946 (IdResult, One),
4947 (IdRef, One),
4948 (IdRef, One)
4949 ]
4950 ),
4951 inst!(
4952 IgnoreIntersectionNV,
4953 [RayTracingNV],
4954 ["SPV_NV_ray_tracing"],
4955 []
4956 ),
4957 inst!(TerminateRayNV, [RayTracingNV], ["SPV_NV_ray_tracing"], []),
4958 inst!(
4959 TraceNV,
4960 [RayTracingNV],
4961 ["SPV_NV_ray_tracing"],
4962 [
4963 (IdRef, One),
4964 (IdRef, One),
4965 (IdRef, One),
4966 (IdRef, One),
4967 (IdRef, One),
4968 (IdRef, One),
4969 (IdRef, One),
4970 (IdRef, One),
4971 (IdRef, One),
4972 (IdRef, One),
4973 (IdRef, One)
4974 ]
4975 ),
4976 inst!(
4977 TraceMotionNV,
4978 [RayTracingMotionBlurNV],
4979 ["SPV_NV_ray_tracing_motion_blur"],
4980 [
4981 (IdRef, One),
4982 (IdRef, One),
4983 (IdRef, One),
4984 (IdRef, One),
4985 (IdRef, One),
4986 (IdRef, One),
4987 (IdRef, One),
4988 (IdRef, One),
4989 (IdRef, One),
4990 (IdRef, One),
4991 (IdRef, One),
4992 (IdRef, One)
4993 ]
4994 ),
4995 inst!(
4996 TraceRayMotionNV,
4997 [RayTracingMotionBlurNV],
4998 ["SPV_NV_ray_tracing_motion_blur"],
4999 [
5000 (IdRef, One),
5001 (IdRef, One),
5002 (IdRef, One),
5003 (IdRef, One),
5004 (IdRef, One),
5005 (IdRef, One),
5006 (IdRef, One),
5007 (IdRef, One),
5008 (IdRef, One),
5009 (IdRef, One),
5010 (IdRef, One),
5011 (IdRef, One)
5012 ]
5013 ),
5014 inst!(
5015 RayQueryGetIntersectionTriangleVertexPositionsKHR,
5016 [RayQueryPositionFetchKHR],
5017 [],
5018 [
5019 (IdResultType, One),
5020 (IdResult, One),
5021 (IdRef, One),
5022 (IdRef, One)
5023 ]
5024 ),
5025 inst!(
5026 TypeAccelerationStructureKHR,
5027 [
5028 RayTracingNV,
5029 RayTracingKHR,
5030 RayQueryKHR,
5031 DisplacementMicromapNV
5032 ],
5033 [
5034 "SPV_NV_ray_tracing",
5035 "SPV_KHR_ray_tracing",
5036 "SPV_KHR_ray_query",
5037 "SPV_NV_displacement_micromap"
5038 ],
5039 [(IdResult, One)]
5040 ),
5041 inst!(
5042 ExecuteCallableNV,
5043 [RayTracingNV],
5044 ["SPV_NV_ray_tracing"],
5045 [(IdRef, One), (IdRef, One)]
5046 ),
5047 inst!(
5048 RayQueryGetIntersectionClusterIdNV,
5049 [RayTracingClusterAccelerationStructureNV],
5050 [],
5051 [
5052 (IdResultType, One),
5053 (IdResult, One),
5054 (IdRef, One),
5055 (IdRef, One)
5056 ]
5057 ),
5058 inst!(
5059 HitObjectGetClusterIdNV,
5060 [RayTracingClusterAccelerationStructureNV],
5061 [],
5062 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5063 ),
5064 inst!(
5065 HitObjectGetRayTMinEXT,
5066 [ShaderInvocationReorderEXT],
5067 [],
5068 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5069 ),
5070 inst!(
5071 HitObjectGetShaderBindingTableRecordIndexEXT,
5072 [ShaderInvocationReorderEXT],
5073 [],
5074 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5075 ),
5076 inst!(
5077 HitObjectGetShaderRecordBufferHandleEXT,
5078 [ShaderInvocationReorderEXT],
5079 [],
5080 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5081 ),
5082 inst!(
5083 HitObjectIsEmptyEXT,
5084 [ShaderInvocationReorderEXT],
5085 [],
5086 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5087 ),
5088 inst!(
5089 HitObjectIsHitEXT,
5090 [ShaderInvocationReorderEXT],
5091 [],
5092 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5093 ),
5094 inst!(
5095 HitObjectIsMissEXT,
5096 [ShaderInvocationReorderEXT],
5097 [],
5098 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5099 ),
5100 inst!(
5101 TypeCooperativeMatrixNV,
5102 [CooperativeMatrixNV],
5103 ["SPV_NV_cooperative_matrix"],
5104 [
5105 (IdResult, One),
5106 (IdRef, One),
5107 (IdScope, One),
5108 (IdRef, One),
5109 (IdRef, One)
5110 ]
5111 ),
5112 inst!(
5113 CooperativeMatrixLoadNV,
5114 [CooperativeMatrixNV],
5115 ["SPV_NV_cooperative_matrix"],
5116 [
5117 (IdResultType, One),
5118 (IdResult, One),
5119 (IdRef, One),
5120 (IdRef, One),
5121 (IdRef, One),
5122 (MemoryAccess, ZeroOrOne)
5123 ]
5124 ),
5125 inst!(
5126 CooperativeMatrixStoreNV,
5127 [CooperativeMatrixNV],
5128 ["SPV_NV_cooperative_matrix"],
5129 [
5130 (IdRef, One),
5131 (IdRef, One),
5132 (IdRef, One),
5133 (IdRef, One),
5134 (MemoryAccess, ZeroOrOne)
5135 ]
5136 ),
5137 inst!(
5138 CooperativeMatrixMulAddNV,
5139 [CooperativeMatrixNV],
5140 ["SPV_NV_cooperative_matrix"],
5141 [
5142 (IdResultType, One),
5143 (IdResult, One),
5144 (IdRef, One),
5145 (IdRef, One),
5146 (IdRef, One)
5147 ]
5148 ),
5149 inst!(
5150 CooperativeMatrixLengthNV,
5151 [CooperativeMatrixNV],
5152 ["SPV_NV_cooperative_matrix"],
5153 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5154 ),
5155 inst!(
5156 BeginInvocationInterlockEXT,
5157 [
5158 FragmentShaderSampleInterlockEXT,
5159 FragmentShaderPixelInterlockEXT,
5160 FragmentShaderShadingRateInterlockEXT
5161 ],
5162 ["SPV_EXT_fragment_shader_interlock"],
5163 []
5164 ),
5165 inst!(
5166 EndInvocationInterlockEXT,
5167 [
5168 FragmentShaderSampleInterlockEXT,
5169 FragmentShaderPixelInterlockEXT,
5170 FragmentShaderShadingRateInterlockEXT
5171 ],
5172 ["SPV_EXT_fragment_shader_interlock"],
5173 []
5174 ),
5175 inst!(
5176 CooperativeMatrixReduceNV,
5177 [CooperativeMatrixReductionsNV],
5178 [],
5179 [
5180 (IdResultType, One),
5181 (IdResult, One),
5182 (IdRef, One),
5183 (CooperativeMatrixReduce, One),
5184 (IdRef, One)
5185 ]
5186 ),
5187 inst!(
5188 CooperativeMatrixLoadTensorNV,
5189 [CooperativeMatrixTensorAddressingNV],
5190 [],
5191 [
5192 (IdResultType, One),
5193 (IdResult, One),
5194 (IdRef, One),
5195 (IdRef, One),
5196 (IdRef, One),
5197 (MemoryAccess, One),
5198 (TensorAddressingOperands, One)
5199 ]
5200 ),
5201 inst!(
5202 CooperativeMatrixStoreTensorNV,
5203 [CooperativeMatrixTensorAddressingNV],
5204 [],
5205 [
5206 (IdRef, One),
5207 (IdRef, One),
5208 (IdRef, One),
5209 (MemoryAccess, One),
5210 (TensorAddressingOperands, One)
5211 ]
5212 ),
5213 inst!(
5214 CooperativeMatrixPerElementOpNV,
5215 [CooperativeMatrixPerElementOperationsNV],
5216 [],
5217 [
5218 (IdResultType, One),
5219 (IdResult, One),
5220 (IdRef, One),
5221 (IdRef, One),
5222 (IdRef, ZeroOrMore)
5223 ]
5224 ),
5225 inst!(
5226 TypeTensorLayoutNV,
5227 [TensorAddressingNV],
5228 [],
5229 [(IdResult, One), (IdRef, One), (IdRef, One)]
5230 ),
5231 inst!(
5232 TypeTensorViewNV,
5233 [TensorAddressingNV],
5234 [],
5235 [
5236 (IdResult, One),
5237 (IdRef, One),
5238 (IdRef, One),
5239 (IdRef, ZeroOrMore)
5240 ]
5241 ),
5242 inst!(
5243 CreateTensorLayoutNV,
5244 [TensorAddressingNV],
5245 [],
5246 [(IdResultType, One), (IdResult, One)]
5247 ),
5248 inst!(
5249 TensorLayoutSetDimensionNV,
5250 [TensorAddressingNV],
5251 [],
5252 [
5253 (IdResultType, One),
5254 (IdResult, One),
5255 (IdRef, One),
5256 (IdRef, ZeroOrMore)
5257 ]
5258 ),
5259 inst!(
5260 TensorLayoutSetStrideNV,
5261 [TensorAddressingNV],
5262 [],
5263 [
5264 (IdResultType, One),
5265 (IdResult, One),
5266 (IdRef, One),
5267 (IdRef, ZeroOrMore)
5268 ]
5269 ),
5270 inst!(
5271 TensorLayoutSliceNV,
5272 [TensorAddressingNV],
5273 [],
5274 [
5275 (IdResultType, One),
5276 (IdResult, One),
5277 (IdRef, One),
5278 (IdRef, ZeroOrMore)
5279 ]
5280 ),
5281 inst!(
5282 TensorLayoutSetClampValueNV,
5283 [TensorAddressingNV],
5284 [],
5285 [
5286 (IdResultType, One),
5287 (IdResult, One),
5288 (IdRef, One),
5289 (IdRef, One)
5290 ]
5291 ),
5292 inst!(
5293 CreateTensorViewNV,
5294 [TensorAddressingNV],
5295 [],
5296 [(IdResultType, One), (IdResult, One)]
5297 ),
5298 inst!(
5299 TensorViewSetDimensionNV,
5300 [TensorAddressingNV],
5301 [],
5302 [
5303 (IdResultType, One),
5304 (IdResult, One),
5305 (IdRef, One),
5306 (IdRef, ZeroOrMore)
5307 ]
5308 ),
5309 inst!(
5310 TensorViewSetStrideNV,
5311 [TensorAddressingNV],
5312 [],
5313 [
5314 (IdResultType, One),
5315 (IdResult, One),
5316 (IdRef, One),
5317 (IdRef, ZeroOrMore)
5318 ]
5319 ),
5320 inst!(DemoteToHelperInvocation, [DemoteToHelperInvocation], [], []),
5321 inst!(
5322 IsHelperInvocationEXT,
5323 [DemoteToHelperInvocation],
5324 ["SPV_EXT_demote_to_helper_invocation"],
5325 [(IdResultType, One), (IdResult, One)]
5326 ),
5327 inst!(
5328 TensorViewSetClipNV,
5329 [TensorAddressingNV],
5330 [],
5331 [
5332 (IdResultType, One),
5333 (IdResult, One),
5334 (IdRef, One),
5335 (IdRef, One),
5336 (IdRef, One),
5337 (IdRef, One),
5338 (IdRef, One)
5339 ]
5340 ),
5341 inst!(
5342 TensorLayoutSetBlockSizeNV,
5343 [TensorAddressingNV],
5344 [],
5345 [
5346 (IdResultType, One),
5347 (IdResult, One),
5348 (IdRef, One),
5349 (IdRef, ZeroOrMore)
5350 ]
5351 ),
5352 inst!(
5353 CooperativeMatrixTransposeNV,
5354 [CooperativeMatrixConversionsNV],
5355 [],
5356 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5357 ),
5358 inst!(
5359 ConvertUToImageNV,
5360 [BindlessTextureNV],
5361 [],
5362 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5363 ),
5364 inst!(
5365 ConvertUToSamplerNV,
5366 [BindlessTextureNV],
5367 [],
5368 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5369 ),
5370 inst!(
5371 ConvertImageToUNV,
5372 [BindlessTextureNV],
5373 [],
5374 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5375 ),
5376 inst!(
5377 ConvertSamplerToUNV,
5378 [BindlessTextureNV],
5379 [],
5380 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5381 ),
5382 inst!(
5383 ConvertUToSampledImageNV,
5384 [BindlessTextureNV],
5385 [],
5386 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5387 ),
5388 inst!(
5389 ConvertSampledImageToUNV,
5390 [BindlessTextureNV],
5391 [],
5392 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5393 ),
5394 inst!(
5395 SamplerImageAddressingModeNV,
5396 [BindlessTextureNV],
5397 [],
5398 [(LiteralInteger, One)]
5399 ),
5400 inst!(
5401 RawAccessChainNV,
5402 [RawAccessChainsNV],
5403 [],
5404 [
5405 (IdResultType, One),
5406 (IdResult, One),
5407 (IdRef, One),
5408 (IdRef, One),
5409 (IdRef, One),
5410 (IdRef, One),
5411 (RawAccessChainOperands, ZeroOrOne)
5412 ]
5413 ),
5414 inst!(
5415 RayQueryGetIntersectionSpherePositionNV,
5416 [RayTracingSpheresGeometryNV],
5417 [],
5418 [
5419 (IdResultType, One),
5420 (IdResult, One),
5421 (IdRef, One),
5422 (IdRef, One)
5423 ]
5424 ),
5425 inst!(
5426 RayQueryGetIntersectionSphereRadiusNV,
5427 [RayTracingSpheresGeometryNV],
5428 [],
5429 [
5430 (IdResultType, One),
5431 (IdResult, One),
5432 (IdRef, One),
5433 (IdRef, One)
5434 ]
5435 ),
5436 inst!(
5437 RayQueryGetIntersectionLSSPositionsNV,
5438 [RayTracingLinearSweptSpheresGeometryNV],
5439 [],
5440 [
5441 (IdResultType, One),
5442 (IdResult, One),
5443 (IdRef, One),
5444 (IdRef, One)
5445 ]
5446 ),
5447 inst!(
5448 RayQueryGetIntersectionLSSRadiiNV,
5449 [RayTracingLinearSweptSpheresGeometryNV],
5450 [],
5451 [
5452 (IdResultType, One),
5453 (IdResult, One),
5454 (IdRef, One),
5455 (IdRef, One)
5456 ]
5457 ),
5458 inst!(
5459 RayQueryGetIntersectionLSSHitValueNV,
5460 [RayTracingLinearSweptSpheresGeometryNV],
5461 [],
5462 [
5463 (IdResultType, One),
5464 (IdResult, One),
5465 (IdRef, One),
5466 (IdRef, One)
5467 ]
5468 ),
5469 inst!(
5470 HitObjectGetSpherePositionNV,
5471 [RayTracingSpheresGeometryNV],
5472 [],
5473 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5474 ),
5475 inst!(
5476 HitObjectGetSphereRadiusNV,
5477 [RayTracingSpheresGeometryNV],
5478 [],
5479 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5480 ),
5481 inst!(
5482 HitObjectGetLSSPositionsNV,
5483 [RayTracingLinearSweptSpheresGeometryNV],
5484 [],
5485 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5486 ),
5487 inst!(
5488 HitObjectGetLSSRadiiNV,
5489 [RayTracingLinearSweptSpheresGeometryNV],
5490 [],
5491 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5492 ),
5493 inst!(
5494 HitObjectIsSphereHitNV,
5495 [RayTracingSpheresGeometryNV],
5496 [],
5497 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5498 ),
5499 inst!(
5500 HitObjectIsLSSHitNV,
5501 [RayTracingLinearSweptSpheresGeometryNV],
5502 [],
5503 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5504 ),
5505 inst!(
5506 RayQueryIsSphereHitNV,
5507 [RayTracingSpheresGeometryNV],
5508 [],
5509 [
5510 (IdResultType, One),
5511 (IdResult, One),
5512 (IdRef, One),
5513 (IdRef, One)
5514 ]
5515 ),
5516 inst!(
5517 RayQueryIsLSSHitNV,
5518 [RayTracingLinearSweptSpheresGeometryNV],
5519 [],
5520 [
5521 (IdResultType, One),
5522 (IdResult, One),
5523 (IdRef, One),
5524 (IdRef, One)
5525 ]
5526 ),
5527 inst!(
5528 SubgroupShuffleINTEL,
5529 [SubgroupShuffleINTEL],
5530 [],
5531 [
5532 (IdResultType, One),
5533 (IdResult, One),
5534 (IdRef, One),
5535 (IdRef, One)
5536 ]
5537 ),
5538 inst!(
5539 SubgroupShuffleDownINTEL,
5540 [SubgroupShuffleINTEL],
5541 [],
5542 [
5543 (IdResultType, One),
5544 (IdResult, One),
5545 (IdRef, One),
5546 (IdRef, One),
5547 (IdRef, One)
5548 ]
5549 ),
5550 inst!(
5551 SubgroupShuffleUpINTEL,
5552 [SubgroupShuffleINTEL],
5553 [],
5554 [
5555 (IdResultType, One),
5556 (IdResult, One),
5557 (IdRef, One),
5558 (IdRef, One),
5559 (IdRef, One)
5560 ]
5561 ),
5562 inst!(
5563 SubgroupShuffleXorINTEL,
5564 [SubgroupShuffleINTEL],
5565 [],
5566 [
5567 (IdResultType, One),
5568 (IdResult, One),
5569 (IdRef, One),
5570 (IdRef, One)
5571 ]
5572 ),
5573 inst!(
5574 SubgroupBlockReadINTEL,
5575 [SubgroupBufferBlockIOINTEL],
5576 [],
5577 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5578 ),
5579 inst!(
5580 SubgroupBlockWriteINTEL,
5581 [SubgroupBufferBlockIOINTEL],
5582 [],
5583 [(IdRef, One), (IdRef, One)]
5584 ),
5585 inst!(
5586 SubgroupImageBlockReadINTEL,
5587 [SubgroupImageBlockIOINTEL],
5588 [],
5589 [
5590 (IdResultType, One),
5591 (IdResult, One),
5592 (IdRef, One),
5593 (IdRef, One)
5594 ]
5595 ),
5596 inst!(
5597 SubgroupImageBlockWriteINTEL,
5598 [SubgroupImageBlockIOINTEL],
5599 [],
5600 [(IdRef, One), (IdRef, One), (IdRef, One)]
5601 ),
5602 inst!(
5603 SubgroupImageMediaBlockReadINTEL,
5604 [SubgroupImageMediaBlockIOINTEL],
5605 [],
5606 [
5607 (IdResultType, One),
5608 (IdResult, One),
5609 (IdRef, One),
5610 (IdRef, One),
5611 (IdRef, One),
5612 (IdRef, One)
5613 ]
5614 ),
5615 inst!(
5616 SubgroupImageMediaBlockWriteINTEL,
5617 [SubgroupImageMediaBlockIOINTEL],
5618 [],
5619 [
5620 (IdRef, One),
5621 (IdRef, One),
5622 (IdRef, One),
5623 (IdRef, One),
5624 (IdRef, One)
5625 ]
5626 ),
5627 inst!(
5628 UCountLeadingZerosINTEL,
5629 [IntegerFunctions2INTEL],
5630 [],
5631 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5632 ),
5633 inst!(
5634 UCountTrailingZerosINTEL,
5635 [IntegerFunctions2INTEL],
5636 [],
5637 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5638 ),
5639 inst!(
5640 AbsISubINTEL,
5641 [IntegerFunctions2INTEL],
5642 [],
5643 [
5644 (IdResultType, One),
5645 (IdResult, One),
5646 (IdRef, One),
5647 (IdRef, One)
5648 ]
5649 ),
5650 inst!(
5651 AbsUSubINTEL,
5652 [IntegerFunctions2INTEL],
5653 [],
5654 [
5655 (IdResultType, One),
5656 (IdResult, One),
5657 (IdRef, One),
5658 (IdRef, One)
5659 ]
5660 ),
5661 inst!(
5662 IAddSatINTEL,
5663 [IntegerFunctions2INTEL],
5664 [],
5665 [
5666 (IdResultType, One),
5667 (IdResult, One),
5668 (IdRef, One),
5669 (IdRef, One)
5670 ]
5671 ),
5672 inst!(
5673 UAddSatINTEL,
5674 [IntegerFunctions2INTEL],
5675 [],
5676 [
5677 (IdResultType, One),
5678 (IdResult, One),
5679 (IdRef, One),
5680 (IdRef, One)
5681 ]
5682 ),
5683 inst!(
5684 IAverageINTEL,
5685 [IntegerFunctions2INTEL],
5686 [],
5687 [
5688 (IdResultType, One),
5689 (IdResult, One),
5690 (IdRef, One),
5691 (IdRef, One)
5692 ]
5693 ),
5694 inst!(
5695 UAverageINTEL,
5696 [IntegerFunctions2INTEL],
5697 [],
5698 [
5699 (IdResultType, One),
5700 (IdResult, One),
5701 (IdRef, One),
5702 (IdRef, One)
5703 ]
5704 ),
5705 inst!(
5706 IAverageRoundedINTEL,
5707 [IntegerFunctions2INTEL],
5708 [],
5709 [
5710 (IdResultType, One),
5711 (IdResult, One),
5712 (IdRef, One),
5713 (IdRef, One)
5714 ]
5715 ),
5716 inst!(
5717 UAverageRoundedINTEL,
5718 [IntegerFunctions2INTEL],
5719 [],
5720 [
5721 (IdResultType, One),
5722 (IdResult, One),
5723 (IdRef, One),
5724 (IdRef, One)
5725 ]
5726 ),
5727 inst!(
5728 ISubSatINTEL,
5729 [IntegerFunctions2INTEL],
5730 [],
5731 [
5732 (IdResultType, One),
5733 (IdResult, One),
5734 (IdRef, One),
5735 (IdRef, One)
5736 ]
5737 ),
5738 inst!(
5739 USubSatINTEL,
5740 [IntegerFunctions2INTEL],
5741 [],
5742 [
5743 (IdResultType, One),
5744 (IdResult, One),
5745 (IdRef, One),
5746 (IdRef, One)
5747 ]
5748 ),
5749 inst!(
5750 IMul32x16INTEL,
5751 [IntegerFunctions2INTEL],
5752 [],
5753 [
5754 (IdResultType, One),
5755 (IdResult, One),
5756 (IdRef, One),
5757 (IdRef, One)
5758 ]
5759 ),
5760 inst!(
5761 UMul32x16INTEL,
5762 [IntegerFunctions2INTEL],
5763 [],
5764 [
5765 (IdResultType, One),
5766 (IdResult, One),
5767 (IdRef, One),
5768 (IdRef, One)
5769 ]
5770 ),
5771 inst!(
5772 ConstantFunctionPointerINTEL,
5773 [FunctionPointersINTEL],
5774 ["SPV_INTEL_function_pointers"],
5775 [(IdResultType, One), (IdResult, One), (IdRef, One)]
5776 ),
5777 inst!(
5778 FunctionPointerCallINTEL,
5779 [FunctionPointersINTEL],
5780 ["SPV_INTEL_function_pointers"],
5781 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
5782 ),
5783 inst!(
5784 AsmTargetINTEL,
5785 [AsmINTEL],
5786 [],
5787 [(IdResult, One), (LiteralString, One)]
5788 ),
5789 inst!(
5790 AsmINTEL,
5791 [AsmINTEL],
5792 [],
5793 [
5794 (IdResultType, One),
5795 (IdResult, One),
5796 (IdRef, One),
5797 (IdRef, One),
5798 (LiteralString, One),
5799 (LiteralString, One)
5800 ]
5801 ),
5802 inst!(
5803 AsmCallINTEL,
5804 [AsmINTEL],
5805 [],
5806 [
5807 (IdResultType, One),
5808 (IdResult, One),
5809 (IdRef, One),
5810 (IdRef, ZeroOrMore)
5811 ]
5812 ),
5813 inst!(
5814 AtomicFMinEXT,
5815 [
5816 AtomicFloat16MinMaxEXT,
5817 AtomicFloat32MinMaxEXT,
5818 AtomicFloat64MinMaxEXT,
5819 AtomicFloat16VectorNV
5820 ],
5821 [],
5822 [
5823 (IdResultType, One),
5824 (IdResult, One),
5825 (IdRef, One),
5826 (IdScope, One),
5827 (IdMemorySemantics, One),
5828 (IdRef, One)
5829 ]
5830 ),
5831 inst!(
5832 AtomicFMaxEXT,
5833 [
5834 AtomicFloat16MinMaxEXT,
5835 AtomicFloat32MinMaxEXT,
5836 AtomicFloat64MinMaxEXT,
5837 AtomicFloat16VectorNV
5838 ],
5839 [],
5840 [
5841 (IdResultType, One),
5842 (IdResult, One),
5843 (IdRef, One),
5844 (IdScope, One),
5845 (IdMemorySemantics, One),
5846 (IdRef, One)
5847 ]
5848 ),
5849 inst!(
5850 AssumeTrueKHR,
5851 [ExpectAssumeKHR],
5852 ["SPV_KHR_expect_assume"],
5853 [(IdRef, One)]
5854 ),
5855 inst!(
5856 ExpectKHR,
5857 [ExpectAssumeKHR],
5858 ["SPV_KHR_expect_assume"],
5859 [
5860 (IdResultType, One),
5861 (IdResult, One),
5862 (IdRef, One),
5863 (IdRef, One)
5864 ]
5865 ),
5866 inst!(
5867 DecorateString,
5868 [],
5869 [
5870 "SPV_GOOGLE_decorate_string",
5871 "SPV_GOOGLE_hlsl_functionality1"
5872 ],
5873 [(IdRef, One), (Decoration, One)]
5874 ),
5875 inst!(
5876 MemberDecorateString,
5877 [],
5878 [
5879 "SPV_GOOGLE_decorate_string",
5880 "SPV_GOOGLE_hlsl_functionality1"
5881 ],
5882 [(IdRef, One), (LiteralInteger, One), (Decoration, One)]
5883 ),
5884 inst!(
5885 VmeImageINTEL,
5886 [SubgroupAvcMotionEstimationINTEL],
5887 [],
5888 [
5889 (IdResultType, One),
5890 (IdResult, One),
5891 (IdRef, One),
5892 (IdRef, One)
5893 ]
5894 ),
5895 inst!(
5896 TypeVmeImageINTEL,
5897 [SubgroupAvcMotionEstimationINTEL],
5898 [],
5899 [(IdResult, One), (IdRef, One)]
5900 ),
5901 inst!(
5902 TypeAvcImePayloadINTEL,
5903 [SubgroupAvcMotionEstimationINTEL],
5904 [],
5905 [(IdResult, One)]
5906 ),
5907 inst!(
5908 TypeAvcRefPayloadINTEL,
5909 [SubgroupAvcMotionEstimationINTEL],
5910 [],
5911 [(IdResult, One)]
5912 ),
5913 inst!(
5914 TypeAvcSicPayloadINTEL,
5915 [SubgroupAvcMotionEstimationINTEL],
5916 [],
5917 [(IdResult, One)]
5918 ),
5919 inst!(
5920 TypeAvcMcePayloadINTEL,
5921 [SubgroupAvcMotionEstimationINTEL],
5922 [],
5923 [(IdResult, One)]
5924 ),
5925 inst!(
5926 TypeAvcMceResultINTEL,
5927 [SubgroupAvcMotionEstimationINTEL],
5928 [],
5929 [(IdResult, One)]
5930 ),
5931 inst!(
5932 TypeAvcImeResultINTEL,
5933 [SubgroupAvcMotionEstimationINTEL],
5934 [],
5935 [(IdResult, One)]
5936 ),
5937 inst!(
5938 TypeAvcImeResultSingleReferenceStreamoutINTEL,
5939 [SubgroupAvcMotionEstimationINTEL],
5940 [],
5941 [(IdResult, One)]
5942 ),
5943 inst!(
5944 TypeAvcImeResultDualReferenceStreamoutINTEL,
5945 [SubgroupAvcMotionEstimationINTEL],
5946 [],
5947 [(IdResult, One)]
5948 ),
5949 inst!(
5950 TypeAvcImeSingleReferenceStreaminINTEL,
5951 [SubgroupAvcMotionEstimationINTEL],
5952 [],
5953 [(IdResult, One)]
5954 ),
5955 inst!(
5956 TypeAvcImeDualReferenceStreaminINTEL,
5957 [SubgroupAvcMotionEstimationINTEL],
5958 [],
5959 [(IdResult, One)]
5960 ),
5961 inst!(
5962 TypeAvcRefResultINTEL,
5963 [SubgroupAvcMotionEstimationINTEL],
5964 [],
5965 [(IdResult, One)]
5966 ),
5967 inst!(
5968 TypeAvcSicResultINTEL,
5969 [SubgroupAvcMotionEstimationINTEL],
5970 [],
5971 [(IdResult, One)]
5972 ),
5973 inst!(
5974 SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL,
5975 [SubgroupAvcMotionEstimationINTEL],
5976 [],
5977 [
5978 (IdResultType, One),
5979 (IdResult, One),
5980 (IdRef, One),
5981 (IdRef, One)
5982 ]
5983 ),
5984 inst!(
5985 SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL,
5986 [SubgroupAvcMotionEstimationINTEL],
5987 [],
5988 [
5989 (IdResultType, One),
5990 (IdResult, One),
5991 (IdRef, One),
5992 (IdRef, One)
5993 ]
5994 ),
5995 inst!(
5996 SubgroupAvcMceGetDefaultInterShapePenaltyINTEL,
5997 [SubgroupAvcMotionEstimationINTEL],
5998 [],
5999 [
6000 (IdResultType, One),
6001 (IdResult, One),
6002 (IdRef, One),
6003 (IdRef, One)
6004 ]
6005 ),
6006 inst!(
6007 SubgroupAvcMceSetInterShapePenaltyINTEL,
6008 [SubgroupAvcMotionEstimationINTEL],
6009 [],
6010 [
6011 (IdResultType, One),
6012 (IdResult, One),
6013 (IdRef, One),
6014 (IdRef, One)
6015 ]
6016 ),
6017 inst!(
6018 SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL,
6019 [SubgroupAvcMotionEstimationINTEL],
6020 [],
6021 [
6022 (IdResultType, One),
6023 (IdResult, One),
6024 (IdRef, One),
6025 (IdRef, One)
6026 ]
6027 ),
6028 inst!(
6029 SubgroupAvcMceSetInterDirectionPenaltyINTEL,
6030 [SubgroupAvcMotionEstimationINTEL],
6031 [],
6032 [
6033 (IdResultType, One),
6034 (IdResult, One),
6035 (IdRef, One),
6036 (IdRef, One)
6037 ]
6038 ),
6039 inst!(
6040 SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL,
6041 [
6042 SubgroupAvcMotionEstimationINTEL,
6043 SubgroupAvcMotionEstimationIntraINTEL
6044 ],
6045 [],
6046 [
6047 (IdResultType, One),
6048 (IdResult, One),
6049 (IdRef, One),
6050 (IdRef, One)
6051 ]
6052 ),
6053 inst!(
6054 SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL,
6055 [SubgroupAvcMotionEstimationINTEL],
6056 [],
6057 [
6058 (IdResultType, One),
6059 (IdResult, One),
6060 (IdRef, One),
6061 (IdRef, One)
6062 ]
6063 ),
6064 inst!(
6065 SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL,
6066 [SubgroupAvcMotionEstimationINTEL],
6067 [],
6068 [(IdResultType, One), (IdResult, One)]
6069 ),
6070 inst!(
6071 SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL,
6072 [SubgroupAvcMotionEstimationINTEL],
6073 [],
6074 [(IdResultType, One), (IdResult, One)]
6075 ),
6076 inst!(
6077 SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL,
6078 [SubgroupAvcMotionEstimationINTEL],
6079 [],
6080 [(IdResultType, One), (IdResult, One)]
6081 ),
6082 inst!(
6083 SubgroupAvcMceSetMotionVectorCostFunctionINTEL,
6084 [SubgroupAvcMotionEstimationINTEL],
6085 [],
6086 [
6087 (IdResultType, One),
6088 (IdResult, One),
6089 (IdRef, One),
6090 (IdRef, One),
6091 (IdRef, One),
6092 (IdRef, One)
6093 ]
6094 ),
6095 inst!(
6096 SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL,
6097 [
6098 SubgroupAvcMotionEstimationINTEL,
6099 SubgroupAvcMotionEstimationIntraINTEL
6100 ],
6101 [],
6102 [
6103 (IdResultType, One),
6104 (IdResult, One),
6105 (IdRef, One),
6106 (IdRef, One)
6107 ]
6108 ),
6109 inst!(
6110 SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL,
6111 [
6112 SubgroupAvcMotionEstimationINTEL,
6113 SubgroupAvcMotionEstimationIntraINTEL
6114 ],
6115 [],
6116 [(IdResultType, One), (IdResult, One)]
6117 ),
6118 inst!(
6119 SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL,
6120 [
6121 SubgroupAvcMotionEstimationINTEL,
6122 SubgroupAvcMotionEstimationChromaINTEL
6123 ],
6124 [],
6125 [(IdResultType, One), (IdResult, One)]
6126 ),
6127 inst!(
6128 SubgroupAvcMceSetAcOnlyHaarINTEL,
6129 [SubgroupAvcMotionEstimationINTEL],
6130 [],
6131 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6132 ),
6133 inst!(
6134 SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL,
6135 [SubgroupAvcMotionEstimationINTEL],
6136 [],
6137 [
6138 (IdResultType, One),
6139 (IdResult, One),
6140 (IdRef, One),
6141 (IdRef, One)
6142 ]
6143 ),
6144 inst!(
6145 SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL,
6146 [SubgroupAvcMotionEstimationINTEL],
6147 [],
6148 [
6149 (IdResultType, One),
6150 (IdResult, One),
6151 (IdRef, One),
6152 (IdRef, One)
6153 ]
6154 ),
6155 inst!(
6156 SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL,
6157 [SubgroupAvcMotionEstimationINTEL],
6158 [],
6159 [
6160 (IdResultType, One),
6161 (IdResult, One),
6162 (IdRef, One),
6163 (IdRef, One),
6164 (IdRef, One)
6165 ]
6166 ),
6167 inst!(
6168 SubgroupAvcMceConvertToImePayloadINTEL,
6169 [SubgroupAvcMotionEstimationINTEL],
6170 [],
6171 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6172 ),
6173 inst!(
6174 SubgroupAvcMceConvertToImeResultINTEL,
6175 [SubgroupAvcMotionEstimationINTEL],
6176 [],
6177 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6178 ),
6179 inst!(
6180 SubgroupAvcMceConvertToRefPayloadINTEL,
6181 [SubgroupAvcMotionEstimationINTEL],
6182 [],
6183 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6184 ),
6185 inst!(
6186 SubgroupAvcMceConvertToRefResultINTEL,
6187 [SubgroupAvcMotionEstimationINTEL],
6188 [],
6189 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6190 ),
6191 inst!(
6192 SubgroupAvcMceConvertToSicPayloadINTEL,
6193 [SubgroupAvcMotionEstimationINTEL],
6194 [],
6195 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6196 ),
6197 inst!(
6198 SubgroupAvcMceConvertToSicResultINTEL,
6199 [SubgroupAvcMotionEstimationINTEL],
6200 [],
6201 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6202 ),
6203 inst!(
6204 SubgroupAvcMceGetMotionVectorsINTEL,
6205 [SubgroupAvcMotionEstimationINTEL],
6206 [],
6207 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6208 ),
6209 inst!(
6210 SubgroupAvcMceGetInterDistortionsINTEL,
6211 [SubgroupAvcMotionEstimationINTEL],
6212 [],
6213 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6214 ),
6215 inst!(
6216 SubgroupAvcMceGetBestInterDistortionsINTEL,
6217 [SubgroupAvcMotionEstimationINTEL],
6218 [],
6219 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6220 ),
6221 inst!(
6222 SubgroupAvcMceGetInterMajorShapeINTEL,
6223 [SubgroupAvcMotionEstimationINTEL],
6224 [],
6225 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6226 ),
6227 inst!(
6228 SubgroupAvcMceGetInterMinorShapeINTEL,
6229 [SubgroupAvcMotionEstimationINTEL],
6230 [],
6231 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6232 ),
6233 inst!(
6234 SubgroupAvcMceGetInterDirectionsINTEL,
6235 [SubgroupAvcMotionEstimationINTEL],
6236 [],
6237 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6238 ),
6239 inst!(
6240 SubgroupAvcMceGetInterMotionVectorCountINTEL,
6241 [SubgroupAvcMotionEstimationINTEL],
6242 [],
6243 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6244 ),
6245 inst!(
6246 SubgroupAvcMceGetInterReferenceIdsINTEL,
6247 [SubgroupAvcMotionEstimationINTEL],
6248 [],
6249 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6250 ),
6251 inst!(
6252 SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL,
6253 [SubgroupAvcMotionEstimationINTEL],
6254 [],
6255 [
6256 (IdResultType, One),
6257 (IdResult, One),
6258 (IdRef, One),
6259 (IdRef, One),
6260 (IdRef, One)
6261 ]
6262 ),
6263 inst!(
6264 SubgroupAvcImeInitializeINTEL,
6265 [SubgroupAvcMotionEstimationINTEL],
6266 [],
6267 [
6268 (IdResultType, One),
6269 (IdResult, One),
6270 (IdRef, One),
6271 (IdRef, One),
6272 (IdRef, One)
6273 ]
6274 ),
6275 inst!(
6276 SubgroupAvcImeSetSingleReferenceINTEL,
6277 [SubgroupAvcMotionEstimationINTEL],
6278 [],
6279 [
6280 (IdResultType, One),
6281 (IdResult, One),
6282 (IdRef, One),
6283 (IdRef, One),
6284 (IdRef, One)
6285 ]
6286 ),
6287 inst!(
6288 SubgroupAvcImeSetDualReferenceINTEL,
6289 [SubgroupAvcMotionEstimationINTEL],
6290 [],
6291 [
6292 (IdResultType, One),
6293 (IdResult, One),
6294 (IdRef, One),
6295 (IdRef, One),
6296 (IdRef, One),
6297 (IdRef, One)
6298 ]
6299 ),
6300 inst!(
6301 SubgroupAvcImeRefWindowSizeINTEL,
6302 [SubgroupAvcMotionEstimationINTEL],
6303 [],
6304 [
6305 (IdResultType, One),
6306 (IdResult, One),
6307 (IdRef, One),
6308 (IdRef, One)
6309 ]
6310 ),
6311 inst!(
6312 SubgroupAvcImeAdjustRefOffsetINTEL,
6313 [SubgroupAvcMotionEstimationINTEL],
6314 [],
6315 [
6316 (IdResultType, One),
6317 (IdResult, One),
6318 (IdRef, One),
6319 (IdRef, One),
6320 (IdRef, One),
6321 (IdRef, One)
6322 ]
6323 ),
6324 inst!(
6325 SubgroupAvcImeConvertToMcePayloadINTEL,
6326 [SubgroupAvcMotionEstimationINTEL],
6327 [],
6328 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6329 ),
6330 inst!(
6331 SubgroupAvcImeSetMaxMotionVectorCountINTEL,
6332 [SubgroupAvcMotionEstimationINTEL],
6333 [],
6334 [
6335 (IdResultType, One),
6336 (IdResult, One),
6337 (IdRef, One),
6338 (IdRef, One)
6339 ]
6340 ),
6341 inst!(
6342 SubgroupAvcImeSetUnidirectionalMixDisableINTEL,
6343 [SubgroupAvcMotionEstimationINTEL],
6344 [],
6345 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6346 ),
6347 inst!(
6348 SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL,
6349 [SubgroupAvcMotionEstimationINTEL],
6350 [],
6351 [
6352 (IdResultType, One),
6353 (IdResult, One),
6354 (IdRef, One),
6355 (IdRef, One)
6356 ]
6357 ),
6358 inst!(
6359 SubgroupAvcImeSetWeightedSadINTEL,
6360 [SubgroupAvcMotionEstimationINTEL],
6361 [],
6362 [
6363 (IdResultType, One),
6364 (IdResult, One),
6365 (IdRef, One),
6366 (IdRef, One)
6367 ]
6368 ),
6369 inst!(
6370 SubgroupAvcImeEvaluateWithSingleReferenceINTEL,
6371 [SubgroupAvcMotionEstimationINTEL],
6372 [],
6373 [
6374 (IdResultType, One),
6375 (IdResult, One),
6376 (IdRef, One),
6377 (IdRef, One),
6378 (IdRef, One)
6379 ]
6380 ),
6381 inst!(
6382 SubgroupAvcImeEvaluateWithDualReferenceINTEL,
6383 [SubgroupAvcMotionEstimationINTEL],
6384 [],
6385 [
6386 (IdResultType, One),
6387 (IdResult, One),
6388 (IdRef, One),
6389 (IdRef, One),
6390 (IdRef, One),
6391 (IdRef, One)
6392 ]
6393 ),
6394 inst!(
6395 SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL,
6396 [SubgroupAvcMotionEstimationINTEL],
6397 [],
6398 [
6399 (IdResultType, One),
6400 (IdResult, One),
6401 (IdRef, One),
6402 (IdRef, One),
6403 (IdRef, One),
6404 (IdRef, One)
6405 ]
6406 ),
6407 inst!(
6408 SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL,
6409 [SubgroupAvcMotionEstimationINTEL],
6410 [],
6411 [
6412 (IdResultType, One),
6413 (IdResult, One),
6414 (IdRef, One),
6415 (IdRef, One),
6416 (IdRef, One),
6417 (IdRef, One),
6418 (IdRef, One)
6419 ]
6420 ),
6421 inst!(
6422 SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL,
6423 [SubgroupAvcMotionEstimationINTEL],
6424 [],
6425 [
6426 (IdResultType, One),
6427 (IdResult, One),
6428 (IdRef, One),
6429 (IdRef, One),
6430 (IdRef, One)
6431 ]
6432 ),
6433 inst!(
6434 SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL,
6435 [SubgroupAvcMotionEstimationINTEL],
6436 [],
6437 [
6438 (IdResultType, One),
6439 (IdResult, One),
6440 (IdRef, One),
6441 (IdRef, One),
6442 (IdRef, One),
6443 (IdRef, One)
6444 ]
6445 ),
6446 inst!(
6447 SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL,
6448 [SubgroupAvcMotionEstimationINTEL],
6449 [],
6450 [
6451 (IdResultType, One),
6452 (IdResult, One),
6453 (IdRef, One),
6454 (IdRef, One),
6455 (IdRef, One),
6456 (IdRef, One)
6457 ]
6458 ),
6459 inst!(
6460 SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL,
6461 [SubgroupAvcMotionEstimationINTEL],
6462 [],
6463 [
6464 (IdResultType, One),
6465 (IdResult, One),
6466 (IdRef, One),
6467 (IdRef, One),
6468 (IdRef, One),
6469 (IdRef, One),
6470 (IdRef, One)
6471 ]
6472 ),
6473 inst!(
6474 SubgroupAvcImeConvertToMceResultINTEL,
6475 [SubgroupAvcMotionEstimationINTEL],
6476 [],
6477 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6478 ),
6479 inst!(
6480 SubgroupAvcImeGetSingleReferenceStreaminINTEL,
6481 [SubgroupAvcMotionEstimationINTEL],
6482 [],
6483 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6484 ),
6485 inst!(
6486 SubgroupAvcImeGetDualReferenceStreaminINTEL,
6487 [SubgroupAvcMotionEstimationINTEL],
6488 [],
6489 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6490 ),
6491 inst!(
6492 SubgroupAvcImeStripSingleReferenceStreamoutINTEL,
6493 [SubgroupAvcMotionEstimationINTEL],
6494 [],
6495 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6496 ),
6497 inst!(
6498 SubgroupAvcImeStripDualReferenceStreamoutINTEL,
6499 [SubgroupAvcMotionEstimationINTEL],
6500 [],
6501 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6502 ),
6503 inst!(
6504 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL,
6505 [SubgroupAvcMotionEstimationINTEL],
6506 [],
6507 [
6508 (IdResultType, One),
6509 (IdResult, One),
6510 (IdRef, One),
6511 (IdRef, One)
6512 ]
6513 ),
6514 inst!(
6515 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL,
6516 [SubgroupAvcMotionEstimationINTEL],
6517 [],
6518 [
6519 (IdResultType, One),
6520 (IdResult, One),
6521 (IdRef, One),
6522 (IdRef, One)
6523 ]
6524 ),
6525 inst!(
6526 SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL,
6527 [SubgroupAvcMotionEstimationINTEL],
6528 [],
6529 [
6530 (IdResultType, One),
6531 (IdResult, One),
6532 (IdRef, One),
6533 (IdRef, One)
6534 ]
6535 ),
6536 inst!(
6537 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL,
6538 [SubgroupAvcMotionEstimationINTEL],
6539 [],
6540 [
6541 (IdResultType, One),
6542 (IdResult, One),
6543 (IdRef, One),
6544 (IdRef, One),
6545 (IdRef, One)
6546 ]
6547 ),
6548 inst!(
6549 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL,
6550 [SubgroupAvcMotionEstimationINTEL],
6551 [],
6552 [
6553 (IdResultType, One),
6554 (IdResult, One),
6555 (IdRef, One),
6556 (IdRef, One),
6557 (IdRef, One)
6558 ]
6559 ),
6560 inst!(
6561 SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL,
6562 [SubgroupAvcMotionEstimationINTEL],
6563 [],
6564 [
6565 (IdResultType, One),
6566 (IdResult, One),
6567 (IdRef, One),
6568 (IdRef, One),
6569 (IdRef, One)
6570 ]
6571 ),
6572 inst!(
6573 SubgroupAvcImeGetBorderReachedINTEL,
6574 [SubgroupAvcMotionEstimationINTEL],
6575 [],
6576 [
6577 (IdResultType, One),
6578 (IdResult, One),
6579 (IdRef, One),
6580 (IdRef, One)
6581 ]
6582 ),
6583 inst!(
6584 SubgroupAvcImeGetTruncatedSearchIndicationINTEL,
6585 [SubgroupAvcMotionEstimationINTEL],
6586 [],
6587 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6588 ),
6589 inst!(
6590 SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL,
6591 [SubgroupAvcMotionEstimationINTEL],
6592 [],
6593 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6594 ),
6595 inst!(
6596 SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL,
6597 [SubgroupAvcMotionEstimationINTEL],
6598 [],
6599 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6600 ),
6601 inst!(
6602 SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL,
6603 [SubgroupAvcMotionEstimationINTEL],
6604 [],
6605 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6606 ),
6607 inst!(
6608 SubgroupAvcFmeInitializeINTEL,
6609 [SubgroupAvcMotionEstimationINTEL],
6610 [],
6611 [
6612 (IdResultType, One),
6613 (IdResult, One),
6614 (IdRef, One),
6615 (IdRef, One),
6616 (IdRef, One),
6617 (IdRef, One),
6618 (IdRef, One),
6619 (IdRef, One),
6620 (IdRef, One)
6621 ]
6622 ),
6623 inst!(
6624 SubgroupAvcBmeInitializeINTEL,
6625 [SubgroupAvcMotionEstimationINTEL],
6626 [],
6627 [
6628 (IdResultType, One),
6629 (IdResult, One),
6630 (IdRef, One),
6631 (IdRef, One),
6632 (IdRef, One),
6633 (IdRef, One),
6634 (IdRef, One),
6635 (IdRef, One),
6636 (IdRef, One),
6637 (IdRef, One)
6638 ]
6639 ),
6640 inst!(
6641 SubgroupAvcRefConvertToMcePayloadINTEL,
6642 [SubgroupAvcMotionEstimationINTEL],
6643 [],
6644 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6645 ),
6646 inst!(
6647 SubgroupAvcRefSetBidirectionalMixDisableINTEL,
6648 [SubgroupAvcMotionEstimationINTEL],
6649 [],
6650 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6651 ),
6652 inst!(
6653 SubgroupAvcRefSetBilinearFilterEnableINTEL,
6654 [SubgroupAvcMotionEstimationINTEL],
6655 [],
6656 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6657 ),
6658 inst!(
6659 SubgroupAvcRefEvaluateWithSingleReferenceINTEL,
6660 [SubgroupAvcMotionEstimationINTEL],
6661 [],
6662 [
6663 (IdResultType, One),
6664 (IdResult, One),
6665 (IdRef, One),
6666 (IdRef, One),
6667 (IdRef, One)
6668 ]
6669 ),
6670 inst!(
6671 SubgroupAvcRefEvaluateWithDualReferenceINTEL,
6672 [SubgroupAvcMotionEstimationINTEL],
6673 [],
6674 [
6675 (IdResultType, One),
6676 (IdResult, One),
6677 (IdRef, One),
6678 (IdRef, One),
6679 (IdRef, One),
6680 (IdRef, One)
6681 ]
6682 ),
6683 inst!(
6684 SubgroupAvcRefEvaluateWithMultiReferenceINTEL,
6685 [SubgroupAvcMotionEstimationINTEL],
6686 [],
6687 [
6688 (IdResultType, One),
6689 (IdResult, One),
6690 (IdRef, One),
6691 (IdRef, One),
6692 (IdRef, One)
6693 ]
6694 ),
6695 inst!(
6696 SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL,
6697 [SubgroupAvcMotionEstimationINTEL],
6698 [],
6699 [
6700 (IdResultType, One),
6701 (IdResult, One),
6702 (IdRef, One),
6703 (IdRef, One),
6704 (IdRef, One),
6705 (IdRef, One)
6706 ]
6707 ),
6708 inst!(
6709 SubgroupAvcRefConvertToMceResultINTEL,
6710 [SubgroupAvcMotionEstimationINTEL],
6711 [],
6712 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6713 ),
6714 inst!(
6715 SubgroupAvcSicInitializeINTEL,
6716 [SubgroupAvcMotionEstimationINTEL],
6717 [],
6718 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6719 ),
6720 inst!(
6721 SubgroupAvcSicConfigureSkcINTEL,
6722 [SubgroupAvcMotionEstimationINTEL],
6723 [],
6724 [
6725 (IdResultType, One),
6726 (IdResult, One),
6727 (IdRef, One),
6728 (IdRef, One),
6729 (IdRef, One),
6730 (IdRef, One),
6731 (IdRef, One),
6732 (IdRef, One)
6733 ]
6734 ),
6735 inst!(
6736 SubgroupAvcSicConfigureIpeLumaINTEL,
6737 [
6738 SubgroupAvcMotionEstimationINTEL,
6739 SubgroupAvcMotionEstimationIntraINTEL
6740 ],
6741 [],
6742 [
6743 (IdResultType, One),
6744 (IdResult, One),
6745 (IdRef, One),
6746 (IdRef, One),
6747 (IdRef, One),
6748 (IdRef, One),
6749 (IdRef, One),
6750 (IdRef, One),
6751 (IdRef, One),
6752 (IdRef, One)
6753 ]
6754 ),
6755 inst!(
6756 SubgroupAvcSicConfigureIpeLumaChromaINTEL,
6757 [
6758 SubgroupAvcMotionEstimationINTEL,
6759 SubgroupAvcMotionEstimationChromaINTEL
6760 ],
6761 [],
6762 [
6763 (IdResultType, One),
6764 (IdResult, One),
6765 (IdRef, One),
6766 (IdRef, One),
6767 (IdRef, One),
6768 (IdRef, One),
6769 (IdRef, One),
6770 (IdRef, One),
6771 (IdRef, One),
6772 (IdRef, One),
6773 (IdRef, One),
6774 (IdRef, One),
6775 (IdRef, One)
6776 ]
6777 ),
6778 inst!(
6779 SubgroupAvcSicGetMotionVectorMaskINTEL,
6780 [SubgroupAvcMotionEstimationINTEL],
6781 [],
6782 [
6783 (IdResultType, One),
6784 (IdResult, One),
6785 (IdRef, One),
6786 (IdRef, One)
6787 ]
6788 ),
6789 inst!(
6790 SubgroupAvcSicConvertToMcePayloadINTEL,
6791 [SubgroupAvcMotionEstimationINTEL],
6792 [],
6793 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6794 ),
6795 inst!(
6796 SubgroupAvcSicSetIntraLumaShapePenaltyINTEL,
6797 [SubgroupAvcMotionEstimationINTEL],
6798 [],
6799 [
6800 (IdResultType, One),
6801 (IdResult, One),
6802 (IdRef, One),
6803 (IdRef, One)
6804 ]
6805 ),
6806 inst!(
6807 SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL,
6808 [
6809 SubgroupAvcMotionEstimationINTEL,
6810 SubgroupAvcMotionEstimationIntraINTEL
6811 ],
6812 [],
6813 [
6814 (IdResultType, One),
6815 (IdResult, One),
6816 (IdRef, One),
6817 (IdRef, One),
6818 (IdRef, One),
6819 (IdRef, One)
6820 ]
6821 ),
6822 inst!(
6823 SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL,
6824 [
6825 SubgroupAvcMotionEstimationINTEL,
6826 SubgroupAvcMotionEstimationChromaINTEL
6827 ],
6828 [],
6829 [
6830 (IdResultType, One),
6831 (IdResult, One),
6832 (IdRef, One),
6833 (IdRef, One)
6834 ]
6835 ),
6836 inst!(
6837 SubgroupAvcSicSetBilinearFilterEnableINTEL,
6838 [SubgroupAvcMotionEstimationINTEL],
6839 [],
6840 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6841 ),
6842 inst!(
6843 SubgroupAvcSicSetSkcForwardTransformEnableINTEL,
6844 [SubgroupAvcMotionEstimationINTEL],
6845 [],
6846 [
6847 (IdResultType, One),
6848 (IdResult, One),
6849 (IdRef, One),
6850 (IdRef, One)
6851 ]
6852 ),
6853 inst!(
6854 SubgroupAvcSicSetBlockBasedRawSkipSadINTEL,
6855 [SubgroupAvcMotionEstimationINTEL],
6856 [],
6857 [
6858 (IdResultType, One),
6859 (IdResult, One),
6860 (IdRef, One),
6861 (IdRef, One)
6862 ]
6863 ),
6864 inst!(
6865 SubgroupAvcSicEvaluateIpeINTEL,
6866 [
6867 SubgroupAvcMotionEstimationINTEL,
6868 SubgroupAvcMotionEstimationIntraINTEL
6869 ],
6870 [],
6871 [
6872 (IdResultType, One),
6873 (IdResult, One),
6874 (IdRef, One),
6875 (IdRef, One)
6876 ]
6877 ),
6878 inst!(
6879 SubgroupAvcSicEvaluateWithSingleReferenceINTEL,
6880 [SubgroupAvcMotionEstimationINTEL],
6881 [],
6882 [
6883 (IdResultType, One),
6884 (IdResult, One),
6885 (IdRef, One),
6886 (IdRef, One),
6887 (IdRef, One)
6888 ]
6889 ),
6890 inst!(
6891 SubgroupAvcSicEvaluateWithDualReferenceINTEL,
6892 [SubgroupAvcMotionEstimationINTEL],
6893 [],
6894 [
6895 (IdResultType, One),
6896 (IdResult, One),
6897 (IdRef, One),
6898 (IdRef, One),
6899 (IdRef, One),
6900 (IdRef, One)
6901 ]
6902 ),
6903 inst!(
6904 SubgroupAvcSicEvaluateWithMultiReferenceINTEL,
6905 [SubgroupAvcMotionEstimationINTEL],
6906 [],
6907 [
6908 (IdResultType, One),
6909 (IdResult, One),
6910 (IdRef, One),
6911 (IdRef, One),
6912 (IdRef, One)
6913 ]
6914 ),
6915 inst!(
6916 SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL,
6917 [SubgroupAvcMotionEstimationINTEL],
6918 [],
6919 [
6920 (IdResultType, One),
6921 (IdResult, One),
6922 (IdRef, One),
6923 (IdRef, One),
6924 (IdRef, One),
6925 (IdRef, One)
6926 ]
6927 ),
6928 inst!(
6929 SubgroupAvcSicConvertToMceResultINTEL,
6930 [SubgroupAvcMotionEstimationINTEL],
6931 [],
6932 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6933 ),
6934 inst!(
6935 SubgroupAvcSicGetIpeLumaShapeINTEL,
6936 [
6937 SubgroupAvcMotionEstimationINTEL,
6938 SubgroupAvcMotionEstimationIntraINTEL
6939 ],
6940 [],
6941 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6942 ),
6943 inst!(
6944 SubgroupAvcSicGetBestIpeLumaDistortionINTEL,
6945 [
6946 SubgroupAvcMotionEstimationINTEL,
6947 SubgroupAvcMotionEstimationIntraINTEL
6948 ],
6949 [],
6950 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6951 ),
6952 inst!(
6953 SubgroupAvcSicGetBestIpeChromaDistortionINTEL,
6954 [SubgroupAvcMotionEstimationINTEL],
6955 [],
6956 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6957 ),
6958 inst!(
6959 SubgroupAvcSicGetPackedIpeLumaModesINTEL,
6960 [
6961 SubgroupAvcMotionEstimationINTEL,
6962 SubgroupAvcMotionEstimationIntraINTEL
6963 ],
6964 [],
6965 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6966 ),
6967 inst!(
6968 SubgroupAvcSicGetIpeChromaModeINTEL,
6969 [
6970 SubgroupAvcMotionEstimationINTEL,
6971 SubgroupAvcMotionEstimationChromaINTEL
6972 ],
6973 [],
6974 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6975 ),
6976 inst!(
6977 SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL,
6978 [
6979 SubgroupAvcMotionEstimationINTEL,
6980 SubgroupAvcMotionEstimationIntraINTEL
6981 ],
6982 [],
6983 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6984 ),
6985 inst!(
6986 SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL,
6987 [
6988 SubgroupAvcMotionEstimationINTEL,
6989 SubgroupAvcMotionEstimationIntraINTEL
6990 ],
6991 [],
6992 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6993 ),
6994 inst!(
6995 SubgroupAvcSicGetInterRawSadsINTEL,
6996 [SubgroupAvcMotionEstimationINTEL],
6997 [],
6998 [(IdResultType, One), (IdResult, One), (IdRef, One)]
6999 ),
7000 inst!(
7001 VariableLengthArrayINTEL,
7002 [VariableLengthArrayINTEL],
7003 [],
7004 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7005 ),
7006 inst!(
7007 SaveMemoryINTEL,
7008 [VariableLengthArrayINTEL],
7009 [],
7010 [(IdResultType, One), (IdResult, One)]
7011 ),
7012 inst!(
7013 RestoreMemoryINTEL,
7014 [VariableLengthArrayINTEL],
7015 [],
7016 [(IdRef, One)]
7017 ),
7018 inst!(
7019 ArbitraryFloatSinCosPiALTERA,
7020 [ArbitraryPrecisionFloatingPointALTERA],
7021 [],
7022 [
7023 (IdResultType, One),
7024 (IdResult, One),
7025 (IdRef, One),
7026 (LiteralInteger, One),
7027 (LiteralInteger, One),
7028 (LiteralInteger, One),
7029 (LiteralInteger, One),
7030 (LiteralInteger, One)
7031 ]
7032 ),
7033 inst!(
7034 ArbitraryFloatCastALTERA,
7035 [ArbitraryPrecisionFloatingPointALTERA],
7036 [],
7037 [
7038 (IdResultType, One),
7039 (IdResult, One),
7040 (IdRef, One),
7041 (LiteralInteger, One),
7042 (LiteralInteger, One),
7043 (LiteralInteger, One),
7044 (LiteralInteger, One),
7045 (LiteralInteger, One)
7046 ]
7047 ),
7048 inst!(
7049 ArbitraryFloatCastFromIntALTERA,
7050 [ArbitraryPrecisionFloatingPointALTERA],
7051 [],
7052 [
7053 (IdResultType, One),
7054 (IdResult, One),
7055 (IdRef, One),
7056 (LiteralInteger, One),
7057 (LiteralInteger, One),
7058 (LiteralInteger, One),
7059 (LiteralInteger, One),
7060 (LiteralInteger, One)
7061 ]
7062 ),
7063 inst!(
7064 ArbitraryFloatCastToIntALTERA,
7065 [ArbitraryPrecisionFloatingPointALTERA],
7066 [],
7067 [
7068 (IdResultType, One),
7069 (IdResult, One),
7070 (IdRef, One),
7071 (LiteralInteger, One),
7072 (LiteralInteger, One),
7073 (LiteralInteger, One),
7074 (LiteralInteger, One),
7075 (LiteralInteger, One)
7076 ]
7077 ),
7078 inst!(
7079 ArbitraryFloatAddALTERA,
7080 [ArbitraryPrecisionFloatingPointALTERA],
7081 [],
7082 [
7083 (IdResultType, One),
7084 (IdResult, One),
7085 (IdRef, One),
7086 (LiteralInteger, One),
7087 (IdRef, One),
7088 (LiteralInteger, One),
7089 (LiteralInteger, One),
7090 (LiteralInteger, One),
7091 (LiteralInteger, One),
7092 (LiteralInteger, One)
7093 ]
7094 ),
7095 inst!(
7096 ArbitraryFloatSubALTERA,
7097 [ArbitraryPrecisionFloatingPointALTERA],
7098 [],
7099 [
7100 (IdResultType, One),
7101 (IdResult, One),
7102 (IdRef, One),
7103 (LiteralInteger, One),
7104 (IdRef, One),
7105 (LiteralInteger, One),
7106 (LiteralInteger, One),
7107 (LiteralInteger, One),
7108 (LiteralInteger, One),
7109 (LiteralInteger, One)
7110 ]
7111 ),
7112 inst!(
7113 ArbitraryFloatMulALTERA,
7114 [ArbitraryPrecisionFloatingPointALTERA],
7115 [],
7116 [
7117 (IdResultType, One),
7118 (IdResult, One),
7119 (IdRef, One),
7120 (LiteralInteger, One),
7121 (IdRef, One),
7122 (LiteralInteger, One),
7123 (LiteralInteger, One),
7124 (LiteralInteger, One),
7125 (LiteralInteger, One),
7126 (LiteralInteger, One)
7127 ]
7128 ),
7129 inst!(
7130 ArbitraryFloatDivALTERA,
7131 [ArbitraryPrecisionFloatingPointALTERA],
7132 [],
7133 [
7134 (IdResultType, One),
7135 (IdResult, One),
7136 (IdRef, One),
7137 (LiteralInteger, One),
7138 (IdRef, One),
7139 (LiteralInteger, One),
7140 (LiteralInteger, One),
7141 (LiteralInteger, One),
7142 (LiteralInteger, One),
7143 (LiteralInteger, One)
7144 ]
7145 ),
7146 inst!(
7147 ArbitraryFloatGTALTERA,
7148 [ArbitraryPrecisionFloatingPointALTERA],
7149 [],
7150 [
7151 (IdResultType, One),
7152 (IdResult, One),
7153 (IdRef, One),
7154 (LiteralInteger, One),
7155 (IdRef, One),
7156 (LiteralInteger, One)
7157 ]
7158 ),
7159 inst!(
7160 ArbitraryFloatGEALTERA,
7161 [ArbitraryPrecisionFloatingPointALTERA],
7162 [],
7163 [
7164 (IdResultType, One),
7165 (IdResult, One),
7166 (IdRef, One),
7167 (LiteralInteger, One),
7168 (IdRef, One),
7169 (LiteralInteger, One)
7170 ]
7171 ),
7172 inst!(
7173 ArbitraryFloatLTALTERA,
7174 [ArbitraryPrecisionFloatingPointALTERA],
7175 [],
7176 [
7177 (IdResultType, One),
7178 (IdResult, One),
7179 (IdRef, One),
7180 (LiteralInteger, One),
7181 (IdRef, One),
7182 (LiteralInteger, One)
7183 ]
7184 ),
7185 inst!(
7186 ArbitraryFloatLEALTERA,
7187 [ArbitraryPrecisionFloatingPointALTERA],
7188 [],
7189 [
7190 (IdResultType, One),
7191 (IdResult, One),
7192 (IdRef, One),
7193 (LiteralInteger, One),
7194 (IdRef, One),
7195 (LiteralInteger, One)
7196 ]
7197 ),
7198 inst!(
7199 ArbitraryFloatEQALTERA,
7200 [ArbitraryPrecisionFloatingPointALTERA],
7201 [],
7202 [
7203 (IdResultType, One),
7204 (IdResult, One),
7205 (IdRef, One),
7206 (LiteralInteger, One),
7207 (IdRef, One),
7208 (LiteralInteger, One)
7209 ]
7210 ),
7211 inst!(
7212 ArbitraryFloatRecipALTERA,
7213 [ArbitraryPrecisionFloatingPointALTERA],
7214 [],
7215 [
7216 (IdResultType, One),
7217 (IdResult, One),
7218 (IdRef, One),
7219 (LiteralInteger, One),
7220 (LiteralInteger, One),
7221 (LiteralInteger, One),
7222 (LiteralInteger, One),
7223 (LiteralInteger, One)
7224 ]
7225 ),
7226 inst!(
7227 ArbitraryFloatRSqrtALTERA,
7228 [ArbitraryPrecisionFloatingPointALTERA],
7229 [],
7230 [
7231 (IdResultType, One),
7232 (IdResult, One),
7233 (IdRef, One),
7234 (LiteralInteger, One),
7235 (LiteralInteger, One),
7236 (LiteralInteger, One),
7237 (LiteralInteger, One),
7238 (LiteralInteger, One)
7239 ]
7240 ),
7241 inst!(
7242 ArbitraryFloatCbrtALTERA,
7243 [ArbitraryPrecisionFloatingPointALTERA],
7244 [],
7245 [
7246 (IdResultType, One),
7247 (IdResult, One),
7248 (IdRef, One),
7249 (LiteralInteger, One),
7250 (LiteralInteger, One),
7251 (LiteralInteger, One),
7252 (LiteralInteger, One),
7253 (LiteralInteger, One)
7254 ]
7255 ),
7256 inst!(
7257 ArbitraryFloatHypotALTERA,
7258 [ArbitraryPrecisionFloatingPointALTERA],
7259 [],
7260 [
7261 (IdResultType, One),
7262 (IdResult, One),
7263 (IdRef, One),
7264 (LiteralInteger, One),
7265 (IdRef, One),
7266 (LiteralInteger, One),
7267 (LiteralInteger, One),
7268 (LiteralInteger, One),
7269 (LiteralInteger, One),
7270 (LiteralInteger, One)
7271 ]
7272 ),
7273 inst!(
7274 ArbitraryFloatSqrtALTERA,
7275 [ArbitraryPrecisionFloatingPointALTERA],
7276 [],
7277 [
7278 (IdResultType, One),
7279 (IdResult, One),
7280 (IdRef, One),
7281 (LiteralInteger, One),
7282 (LiteralInteger, One),
7283 (LiteralInteger, One),
7284 (LiteralInteger, One),
7285 (LiteralInteger, One)
7286 ]
7287 ),
7288 inst!(
7289 ArbitraryFloatLogINTEL,
7290 [ArbitraryPrecisionFloatingPointALTERA],
7291 [],
7292 [
7293 (IdResultType, One),
7294 (IdResult, One),
7295 (IdRef, One),
7296 (LiteralInteger, One),
7297 (LiteralInteger, One),
7298 (LiteralInteger, One),
7299 (LiteralInteger, One),
7300 (LiteralInteger, One)
7301 ]
7302 ),
7303 inst!(
7304 ArbitraryFloatLog2INTEL,
7305 [ArbitraryPrecisionFloatingPointALTERA],
7306 [],
7307 [
7308 (IdResultType, One),
7309 (IdResult, One),
7310 (IdRef, One),
7311 (LiteralInteger, One),
7312 (LiteralInteger, One),
7313 (LiteralInteger, One),
7314 (LiteralInteger, One),
7315 (LiteralInteger, One)
7316 ]
7317 ),
7318 inst!(
7319 ArbitraryFloatLog10INTEL,
7320 [ArbitraryPrecisionFloatingPointALTERA],
7321 [],
7322 [
7323 (IdResultType, One),
7324 (IdResult, One),
7325 (IdRef, One),
7326 (LiteralInteger, One),
7327 (LiteralInteger, One),
7328 (LiteralInteger, One),
7329 (LiteralInteger, One),
7330 (LiteralInteger, One)
7331 ]
7332 ),
7333 inst!(
7334 ArbitraryFloatLog1pINTEL,
7335 [ArbitraryPrecisionFloatingPointALTERA],
7336 [],
7337 [
7338 (IdResultType, One),
7339 (IdResult, One),
7340 (IdRef, One),
7341 (LiteralInteger, One),
7342 (LiteralInteger, One),
7343 (LiteralInteger, One),
7344 (LiteralInteger, One),
7345 (LiteralInteger, One)
7346 ]
7347 ),
7348 inst!(
7349 ArbitraryFloatExpINTEL,
7350 [ArbitraryPrecisionFloatingPointALTERA],
7351 [],
7352 [
7353 (IdResultType, One),
7354 (IdResult, One),
7355 (IdRef, One),
7356 (LiteralInteger, One),
7357 (LiteralInteger, One),
7358 (LiteralInteger, One),
7359 (LiteralInteger, One),
7360 (LiteralInteger, One)
7361 ]
7362 ),
7363 inst!(
7364 ArbitraryFloatExp2INTEL,
7365 [ArbitraryPrecisionFloatingPointALTERA],
7366 [],
7367 [
7368 (IdResultType, One),
7369 (IdResult, One),
7370 (IdRef, One),
7371 (LiteralInteger, One),
7372 (LiteralInteger, One),
7373 (LiteralInteger, One),
7374 (LiteralInteger, One),
7375 (LiteralInteger, One)
7376 ]
7377 ),
7378 inst!(
7379 ArbitraryFloatExp10INTEL,
7380 [ArbitraryPrecisionFloatingPointALTERA],
7381 [],
7382 [
7383 (IdResultType, One),
7384 (IdResult, One),
7385 (IdRef, One),
7386 (LiteralInteger, One),
7387 (LiteralInteger, One),
7388 (LiteralInteger, One),
7389 (LiteralInteger, One),
7390 (LiteralInteger, One)
7391 ]
7392 ),
7393 inst!(
7394 ArbitraryFloatExpm1INTEL,
7395 [ArbitraryPrecisionFloatingPointALTERA],
7396 [],
7397 [
7398 (IdResultType, One),
7399 (IdResult, One),
7400 (IdRef, One),
7401 (LiteralInteger, One),
7402 (LiteralInteger, One),
7403 (LiteralInteger, One),
7404 (LiteralInteger, One),
7405 (LiteralInteger, One)
7406 ]
7407 ),
7408 inst!(
7409 ArbitraryFloatSinINTEL,
7410 [ArbitraryPrecisionFloatingPointALTERA],
7411 [],
7412 [
7413 (IdResultType, One),
7414 (IdResult, One),
7415 (IdRef, One),
7416 (LiteralInteger, One),
7417 (LiteralInteger, One),
7418 (LiteralInteger, One),
7419 (LiteralInteger, One),
7420 (LiteralInteger, One)
7421 ]
7422 ),
7423 inst!(
7424 ArbitraryFloatCosINTEL,
7425 [ArbitraryPrecisionFloatingPointALTERA],
7426 [],
7427 [
7428 (IdResultType, One),
7429 (IdResult, One),
7430 (IdRef, One),
7431 (LiteralInteger, One),
7432 (LiteralInteger, One),
7433 (LiteralInteger, One),
7434 (LiteralInteger, One),
7435 (LiteralInteger, One)
7436 ]
7437 ),
7438 inst!(
7439 ArbitraryFloatSinCosINTEL,
7440 [ArbitraryPrecisionFloatingPointALTERA],
7441 [],
7442 [
7443 (IdResultType, One),
7444 (IdResult, One),
7445 (IdRef, One),
7446 (LiteralInteger, One),
7447 (LiteralInteger, One),
7448 (LiteralInteger, One),
7449 (LiteralInteger, One),
7450 (LiteralInteger, One)
7451 ]
7452 ),
7453 inst!(
7454 ArbitraryFloatSinPiINTEL,
7455 [ArbitraryPrecisionFloatingPointALTERA],
7456 [],
7457 [
7458 (IdResultType, One),
7459 (IdResult, One),
7460 (IdRef, One),
7461 (LiteralInteger, One),
7462 (LiteralInteger, One),
7463 (LiteralInteger, One),
7464 (LiteralInteger, One),
7465 (LiteralInteger, One)
7466 ]
7467 ),
7468 inst!(
7469 ArbitraryFloatCosPiINTEL,
7470 [ArbitraryPrecisionFloatingPointALTERA],
7471 [],
7472 [
7473 (IdResultType, One),
7474 (IdResult, One),
7475 (IdRef, One),
7476 (LiteralInteger, One),
7477 (LiteralInteger, One),
7478 (LiteralInteger, One),
7479 (LiteralInteger, One),
7480 (LiteralInteger, One)
7481 ]
7482 ),
7483 inst!(
7484 ArbitraryFloatASinINTEL,
7485 [ArbitraryPrecisionFloatingPointALTERA],
7486 [],
7487 [
7488 (IdResultType, One),
7489 (IdResult, One),
7490 (IdRef, One),
7491 (LiteralInteger, One),
7492 (LiteralInteger, One),
7493 (LiteralInteger, One),
7494 (LiteralInteger, One),
7495 (LiteralInteger, One)
7496 ]
7497 ),
7498 inst!(
7499 ArbitraryFloatASinPiINTEL,
7500 [ArbitraryPrecisionFloatingPointALTERA],
7501 [],
7502 [
7503 (IdResultType, One),
7504 (IdResult, One),
7505 (IdRef, One),
7506 (LiteralInteger, One),
7507 (LiteralInteger, One),
7508 (LiteralInteger, One),
7509 (LiteralInteger, One),
7510 (LiteralInteger, One)
7511 ]
7512 ),
7513 inst!(
7514 ArbitraryFloatACosINTEL,
7515 [ArbitraryPrecisionFloatingPointALTERA],
7516 [],
7517 [
7518 (IdResultType, One),
7519 (IdResult, One),
7520 (IdRef, One),
7521 (LiteralInteger, One),
7522 (LiteralInteger, One),
7523 (LiteralInteger, One),
7524 (LiteralInteger, One),
7525 (LiteralInteger, One)
7526 ]
7527 ),
7528 inst!(
7529 ArbitraryFloatACosPiINTEL,
7530 [ArbitraryPrecisionFloatingPointALTERA],
7531 [],
7532 [
7533 (IdResultType, One),
7534 (IdResult, One),
7535 (IdRef, One),
7536 (LiteralInteger, One),
7537 (LiteralInteger, One),
7538 (LiteralInteger, One),
7539 (LiteralInteger, One),
7540 (LiteralInteger, One)
7541 ]
7542 ),
7543 inst!(
7544 ArbitraryFloatATanINTEL,
7545 [ArbitraryPrecisionFloatingPointALTERA],
7546 [],
7547 [
7548 (IdResultType, One),
7549 (IdResult, One),
7550 (IdRef, One),
7551 (LiteralInteger, One),
7552 (LiteralInteger, One),
7553 (LiteralInteger, One),
7554 (LiteralInteger, One),
7555 (LiteralInteger, One)
7556 ]
7557 ),
7558 inst!(
7559 ArbitraryFloatATanPiINTEL,
7560 [ArbitraryPrecisionFloatingPointALTERA],
7561 [],
7562 [
7563 (IdResultType, One),
7564 (IdResult, One),
7565 (IdRef, One),
7566 (LiteralInteger, One),
7567 (LiteralInteger, One),
7568 (LiteralInteger, One),
7569 (LiteralInteger, One),
7570 (LiteralInteger, One)
7571 ]
7572 ),
7573 inst!(
7574 ArbitraryFloatATan2INTEL,
7575 [ArbitraryPrecisionFloatingPointALTERA],
7576 [],
7577 [
7578 (IdResultType, One),
7579 (IdResult, One),
7580 (IdRef, One),
7581 (LiteralInteger, One),
7582 (IdRef, One),
7583 (LiteralInteger, One),
7584 (LiteralInteger, One),
7585 (LiteralInteger, One),
7586 (LiteralInteger, One),
7587 (LiteralInteger, One)
7588 ]
7589 ),
7590 inst!(
7591 ArbitraryFloatPowINTEL,
7592 [ArbitraryPrecisionFloatingPointALTERA],
7593 [],
7594 [
7595 (IdResultType, One),
7596 (IdResult, One),
7597 (IdRef, One),
7598 (LiteralInteger, One),
7599 (IdRef, One),
7600 (LiteralInteger, One),
7601 (LiteralInteger, One),
7602 (LiteralInteger, One),
7603 (LiteralInteger, One),
7604 (LiteralInteger, One)
7605 ]
7606 ),
7607 inst!(
7608 ArbitraryFloatPowRINTEL,
7609 [ArbitraryPrecisionFloatingPointALTERA],
7610 [],
7611 [
7612 (IdResultType, One),
7613 (IdResult, One),
7614 (IdRef, One),
7615 (LiteralInteger, One),
7616 (IdRef, One),
7617 (LiteralInteger, One),
7618 (LiteralInteger, One),
7619 (LiteralInteger, One),
7620 (LiteralInteger, One),
7621 (LiteralInteger, One)
7622 ]
7623 ),
7624 inst!(
7625 ArbitraryFloatPowNINTEL,
7626 [ArbitraryPrecisionFloatingPointALTERA],
7627 [],
7628 [
7629 (IdResultType, One),
7630 (IdResult, One),
7631 (IdRef, One),
7632 (LiteralInteger, One),
7633 (IdRef, One),
7634 (LiteralInteger, One),
7635 (LiteralInteger, One),
7636 (LiteralInteger, One),
7637 (LiteralInteger, One),
7638 (LiteralInteger, One)
7639 ]
7640 ),
7641 inst!(
7642 LoopControlINTEL,
7643 [UnstructuredLoopControlsINTEL],
7644 ["SPV_INTEL_unstructured_loop_controls"],
7645 [(LiteralInteger, ZeroOrMore)]
7646 ),
7647 inst!(
7648 AliasDomainDeclINTEL,
7649 [MemoryAccessAliasingINTEL],
7650 ["SPV_INTEL_memory_access_aliasing"],
7651 [(IdResult, One), (IdRef, ZeroOrOne)]
7652 ),
7653 inst!(
7654 AliasScopeDeclINTEL,
7655 [MemoryAccessAliasingINTEL],
7656 ["SPV_INTEL_memory_access_aliasing"],
7657 [(IdResult, One), (IdRef, One), (IdRef, ZeroOrOne)]
7658 ),
7659 inst!(
7660 AliasScopeListDeclINTEL,
7661 [MemoryAccessAliasingINTEL],
7662 ["SPV_INTEL_memory_access_aliasing"],
7663 [(IdResult, One), (IdRef, ZeroOrMore)]
7664 ),
7665 inst!(
7666 FixedSqrtALTERA,
7667 [ArbitraryPrecisionFixedPointALTERA],
7668 [],
7669 [
7670 (IdResultType, One),
7671 (IdResult, One),
7672 (IdRef, One),
7673 (LiteralInteger, One),
7674 (LiteralInteger, One),
7675 (LiteralInteger, One),
7676 (LiteralInteger, One),
7677 (LiteralInteger, One)
7678 ]
7679 ),
7680 inst!(
7681 FixedRecipALTERA,
7682 [ArbitraryPrecisionFixedPointALTERA],
7683 [],
7684 [
7685 (IdResultType, One),
7686 (IdResult, One),
7687 (IdRef, One),
7688 (LiteralInteger, One),
7689 (LiteralInteger, One),
7690 (LiteralInteger, One),
7691 (LiteralInteger, One),
7692 (LiteralInteger, One)
7693 ]
7694 ),
7695 inst!(
7696 FixedRsqrtALTERA,
7697 [ArbitraryPrecisionFixedPointALTERA],
7698 [],
7699 [
7700 (IdResultType, One),
7701 (IdResult, One),
7702 (IdRef, One),
7703 (LiteralInteger, One),
7704 (LiteralInteger, One),
7705 (LiteralInteger, One),
7706 (LiteralInteger, One),
7707 (LiteralInteger, One)
7708 ]
7709 ),
7710 inst!(
7711 FixedSinALTERA,
7712 [ArbitraryPrecisionFixedPointALTERA],
7713 [],
7714 [
7715 (IdResultType, One),
7716 (IdResult, One),
7717 (IdRef, One),
7718 (LiteralInteger, One),
7719 (LiteralInteger, One),
7720 (LiteralInteger, One),
7721 (LiteralInteger, One),
7722 (LiteralInteger, One)
7723 ]
7724 ),
7725 inst!(
7726 FixedCosALTERA,
7727 [ArbitraryPrecisionFixedPointALTERA],
7728 [],
7729 [
7730 (IdResultType, One),
7731 (IdResult, One),
7732 (IdRef, One),
7733 (LiteralInteger, One),
7734 (LiteralInteger, One),
7735 (LiteralInteger, One),
7736 (LiteralInteger, One),
7737 (LiteralInteger, One)
7738 ]
7739 ),
7740 inst!(
7741 FixedSinCosALTERA,
7742 [ArbitraryPrecisionFixedPointALTERA],
7743 [],
7744 [
7745 (IdResultType, One),
7746 (IdResult, One),
7747 (IdRef, One),
7748 (LiteralInteger, One),
7749 (LiteralInteger, One),
7750 (LiteralInteger, One),
7751 (LiteralInteger, One),
7752 (LiteralInteger, One)
7753 ]
7754 ),
7755 inst!(
7756 FixedSinPiALTERA,
7757 [ArbitraryPrecisionFixedPointALTERA],
7758 [],
7759 [
7760 (IdResultType, One),
7761 (IdResult, One),
7762 (IdRef, One),
7763 (LiteralInteger, One),
7764 (LiteralInteger, One),
7765 (LiteralInteger, One),
7766 (LiteralInteger, One),
7767 (LiteralInteger, One)
7768 ]
7769 ),
7770 inst!(
7771 FixedCosPiALTERA,
7772 [ArbitraryPrecisionFixedPointALTERA],
7773 [],
7774 [
7775 (IdResultType, One),
7776 (IdResult, One),
7777 (IdRef, One),
7778 (LiteralInteger, One),
7779 (LiteralInteger, One),
7780 (LiteralInteger, One),
7781 (LiteralInteger, One),
7782 (LiteralInteger, One)
7783 ]
7784 ),
7785 inst!(
7786 FixedSinCosPiALTERA,
7787 [ArbitraryPrecisionFixedPointALTERA],
7788 [],
7789 [
7790 (IdResultType, One),
7791 (IdResult, One),
7792 (IdRef, One),
7793 (LiteralInteger, One),
7794 (LiteralInteger, One),
7795 (LiteralInteger, One),
7796 (LiteralInteger, One),
7797 (LiteralInteger, One)
7798 ]
7799 ),
7800 inst!(
7801 FixedLogALTERA,
7802 [ArbitraryPrecisionFixedPointALTERA],
7803 [],
7804 [
7805 (IdResultType, One),
7806 (IdResult, One),
7807 (IdRef, One),
7808 (LiteralInteger, One),
7809 (LiteralInteger, One),
7810 (LiteralInteger, One),
7811 (LiteralInteger, One),
7812 (LiteralInteger, One)
7813 ]
7814 ),
7815 inst!(
7816 FixedExpALTERA,
7817 [ArbitraryPrecisionFixedPointALTERA],
7818 [],
7819 [
7820 (IdResultType, One),
7821 (IdResult, One),
7822 (IdRef, One),
7823 (LiteralInteger, One),
7824 (LiteralInteger, One),
7825 (LiteralInteger, One),
7826 (LiteralInteger, One),
7827 (LiteralInteger, One)
7828 ]
7829 ),
7830 inst!(
7831 PtrCastToCrossWorkgroupALTERA,
7832 [USMStorageClassesALTERA],
7833 [],
7834 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7835 ),
7836 inst!(
7837 CrossWorkgroupCastToPtrALTERA,
7838 [USMStorageClassesALTERA],
7839 [],
7840 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7841 ),
7842 inst!(
7843 ReadPipeBlockingALTERA,
7844 [BlockingPipesALTERA],
7845 [],
7846 [
7847 (IdResultType, One),
7848 (IdResult, One),
7849 (IdRef, One),
7850 (IdRef, One)
7851 ]
7852 ),
7853 inst!(
7854 WritePipeBlockingALTERA,
7855 [BlockingPipesALTERA],
7856 [],
7857 [
7858 (IdResultType, One),
7859 (IdResult, One),
7860 (IdRef, One),
7861 (IdRef, One)
7862 ]
7863 ),
7864 inst!(
7865 FPGARegALTERA,
7866 [FPGARegALTERA],
7867 [],
7868 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7869 ),
7870 inst!(
7871 RayQueryGetRayTMinKHR,
7872 [RayQueryKHR],
7873 ["SPV_KHR_ray_query"],
7874 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7875 ),
7876 inst!(
7877 RayQueryGetRayFlagsKHR,
7878 [RayQueryKHR],
7879 ["SPV_KHR_ray_query"],
7880 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7881 ),
7882 inst!(
7883 RayQueryGetIntersectionTKHR,
7884 [RayQueryKHR],
7885 ["SPV_KHR_ray_query"],
7886 [
7887 (IdResultType, One),
7888 (IdResult, One),
7889 (IdRef, One),
7890 (IdRef, One)
7891 ]
7892 ),
7893 inst!(
7894 RayQueryGetIntersectionInstanceCustomIndexKHR,
7895 [RayQueryKHR],
7896 ["SPV_KHR_ray_query"],
7897 [
7898 (IdResultType, One),
7899 (IdResult, One),
7900 (IdRef, One),
7901 (IdRef, One)
7902 ]
7903 ),
7904 inst!(
7905 RayQueryGetIntersectionInstanceIdKHR,
7906 [RayQueryKHR],
7907 ["SPV_KHR_ray_query"],
7908 [
7909 (IdResultType, One),
7910 (IdResult, One),
7911 (IdRef, One),
7912 (IdRef, One)
7913 ]
7914 ),
7915 inst!(
7916 RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR,
7917 [RayQueryKHR],
7918 ["SPV_KHR_ray_query"],
7919 [
7920 (IdResultType, One),
7921 (IdResult, One),
7922 (IdRef, One),
7923 (IdRef, One)
7924 ]
7925 ),
7926 inst!(
7927 RayQueryGetIntersectionGeometryIndexKHR,
7928 [RayQueryKHR],
7929 ["SPV_KHR_ray_query"],
7930 [
7931 (IdResultType, One),
7932 (IdResult, One),
7933 (IdRef, One),
7934 (IdRef, One)
7935 ]
7936 ),
7937 inst!(
7938 RayQueryGetIntersectionPrimitiveIndexKHR,
7939 [RayQueryKHR],
7940 ["SPV_KHR_ray_query"],
7941 [
7942 (IdResultType, One),
7943 (IdResult, One),
7944 (IdRef, One),
7945 (IdRef, One)
7946 ]
7947 ),
7948 inst!(
7949 RayQueryGetIntersectionBarycentricsKHR,
7950 [RayQueryKHR],
7951 ["SPV_KHR_ray_query"],
7952 [
7953 (IdResultType, One),
7954 (IdResult, One),
7955 (IdRef, One),
7956 (IdRef, One)
7957 ]
7958 ),
7959 inst!(
7960 RayQueryGetIntersectionFrontFaceKHR,
7961 [RayQueryKHR],
7962 ["SPV_KHR_ray_query"],
7963 [
7964 (IdResultType, One),
7965 (IdResult, One),
7966 (IdRef, One),
7967 (IdRef, One)
7968 ]
7969 ),
7970 inst!(
7971 RayQueryGetIntersectionCandidateAABBOpaqueKHR,
7972 [RayQueryKHR],
7973 ["SPV_KHR_ray_query"],
7974 [(IdResultType, One), (IdResult, One), (IdRef, One)]
7975 ),
7976 inst!(
7977 RayQueryGetIntersectionObjectRayDirectionKHR,
7978 [RayQueryKHR],
7979 ["SPV_KHR_ray_query"],
7980 [
7981 (IdResultType, One),
7982 (IdResult, One),
7983 (IdRef, One),
7984 (IdRef, One)
7985 ]
7986 ),
7987 inst!(
7988 RayQueryGetIntersectionObjectRayOriginKHR,
7989 [RayQueryKHR],
7990 ["SPV_KHR_ray_query"],
7991 [
7992 (IdResultType, One),
7993 (IdResult, One),
7994 (IdRef, One),
7995 (IdRef, One)
7996 ]
7997 ),
7998 inst!(
7999 RayQueryGetWorldRayDirectionKHR,
8000 [RayQueryKHR],
8001 ["SPV_KHR_ray_query"],
8002 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8003 ),
8004 inst!(
8005 RayQueryGetWorldRayOriginKHR,
8006 [RayQueryKHR],
8007 ["SPV_KHR_ray_query"],
8008 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8009 ),
8010 inst!(
8011 RayQueryGetIntersectionObjectToWorldKHR,
8012 [RayQueryKHR],
8013 ["SPV_KHR_ray_query"],
8014 [
8015 (IdResultType, One),
8016 (IdResult, One),
8017 (IdRef, One),
8018 (IdRef, One)
8019 ]
8020 ),
8021 inst!(
8022 RayQueryGetIntersectionWorldToObjectKHR,
8023 [RayQueryKHR],
8024 ["SPV_KHR_ray_query"],
8025 [
8026 (IdResultType, One),
8027 (IdResult, One),
8028 (IdRef, One),
8029 (IdRef, One)
8030 ]
8031 ),
8032 inst!(
8033 AtomicFAddEXT,
8034 [
8035 AtomicFloat16AddEXT,
8036 AtomicFloat32AddEXT,
8037 AtomicFloat64AddEXT,
8038 AtomicFloat16VectorNV
8039 ],
8040 ["SPV_EXT_shader_atomic_float_add"],
8041 [
8042 (IdResultType, One),
8043 (IdResult, One),
8044 (IdRef, One),
8045 (IdScope, One),
8046 (IdMemorySemantics, One),
8047 (IdRef, One)
8048 ]
8049 ),
8050 inst!(
8051 TypeBufferSurfaceINTEL,
8052 [VectorComputeINTEL],
8053 [],
8054 [(IdResult, One), (AccessQualifier, One)]
8055 ),
8056 inst!(
8057 TypeStructContinuedINTEL,
8058 [LongCompositesINTEL],
8059 [],
8060 [(IdRef, ZeroOrMore)]
8061 ),
8062 inst!(
8063 ConstantCompositeContinuedINTEL,
8064 [LongCompositesINTEL],
8065 [],
8066 [(IdRef, ZeroOrMore)]
8067 ),
8068 inst!(
8069 SpecConstantCompositeContinuedINTEL,
8070 [LongCompositesINTEL],
8071 [],
8072 [(IdRef, ZeroOrMore)]
8073 ),
8074 inst!(
8075 CompositeConstructContinuedINTEL,
8076 [LongCompositesINTEL],
8077 [],
8078 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
8079 ),
8080 inst!(
8081 ConvertFToBF16INTEL,
8082 [BFloat16ConversionINTEL],
8083 [],
8084 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8085 ),
8086 inst!(
8087 ConvertBF16ToFINTEL,
8088 [BFloat16ConversionINTEL],
8089 [],
8090 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8091 ),
8092 inst!(
8093 ControlBarrierArriveINTEL,
8094 [SplitBarrierINTEL],
8095 [],
8096 [(IdScope, One), (IdScope, One), (IdMemorySemantics, One)]
8097 ),
8098 inst!(
8099 ControlBarrierWaitINTEL,
8100 [SplitBarrierINTEL],
8101 [],
8102 [(IdScope, One), (IdScope, One), (IdMemorySemantics, One)]
8103 ),
8104 inst!(
8105 ArithmeticFenceEXT,
8106 [ArithmeticFenceEXT],
8107 [],
8108 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8109 ),
8110 inst!(
8111 TaskSequenceCreateALTERA,
8112 [TaskSequenceALTERA],
8113 [],
8114 [
8115 (IdResultType, One),
8116 (IdResult, One),
8117 (IdRef, One),
8118 (LiteralInteger, One),
8119 (LiteralInteger, One),
8120 (LiteralInteger, One),
8121 (LiteralInteger, One)
8122 ]
8123 ),
8124 inst!(
8125 TaskSequenceAsyncALTERA,
8126 [TaskSequenceALTERA],
8127 [],
8128 [(IdRef, One), (IdRef, ZeroOrMore)]
8129 ),
8130 inst!(
8131 TaskSequenceGetALTERA,
8132 [TaskSequenceALTERA],
8133 [],
8134 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8135 ),
8136 inst!(
8137 TaskSequenceReleaseALTERA,
8138 [TaskSequenceALTERA],
8139 [],
8140 [(IdRef, One)]
8141 ),
8142 inst!(
8143 TypeTaskSequenceALTERA,
8144 [TaskSequenceALTERA],
8145 [],
8146 [(IdResult, One)]
8147 ),
8148 inst!(
8149 SubgroupBlockPrefetchINTEL,
8150 [SubgroupBufferPrefetchINTEL],
8151 [],
8152 [(IdRef, One), (IdRef, One), (MemoryAccess, ZeroOrOne)]
8153 ),
8154 inst!(
8155 Subgroup2DBlockLoadINTEL,
8156 [Subgroup2DBlockIOINTEL],
8157 [],
8158 [
8159 (IdRef, One),
8160 (IdRef, One),
8161 (IdRef, One),
8162 (IdRef, One),
8163 (IdRef, One),
8164 (IdRef, One),
8165 (IdRef, One),
8166 (IdRef, One),
8167 (IdRef, One),
8168 (IdRef, One)
8169 ]
8170 ),
8171 inst!(
8172 Subgroup2DBlockLoadTransformINTEL,
8173 [Subgroup2DBlockTransformINTEL],
8174 [],
8175 [
8176 (IdRef, One),
8177 (IdRef, One),
8178 (IdRef, One),
8179 (IdRef, One),
8180 (IdRef, One),
8181 (IdRef, One),
8182 (IdRef, One),
8183 (IdRef, One),
8184 (IdRef, One),
8185 (IdRef, One)
8186 ]
8187 ),
8188 inst!(
8189 Subgroup2DBlockLoadTransposeINTEL,
8190 [Subgroup2DBlockTransposeINTEL],
8191 [],
8192 [
8193 (IdRef, One),
8194 (IdRef, One),
8195 (IdRef, One),
8196 (IdRef, One),
8197 (IdRef, One),
8198 (IdRef, One),
8199 (IdRef, One),
8200 (IdRef, One),
8201 (IdRef, One),
8202 (IdRef, One)
8203 ]
8204 ),
8205 inst!(
8206 Subgroup2DBlockPrefetchINTEL,
8207 [Subgroup2DBlockIOINTEL],
8208 [],
8209 [
8210 (IdRef, One),
8211 (IdRef, One),
8212 (IdRef, One),
8213 (IdRef, One),
8214 (IdRef, One),
8215 (IdRef, One),
8216 (IdRef, One),
8217 (IdRef, One),
8218 (IdRef, One)
8219 ]
8220 ),
8221 inst!(
8222 Subgroup2DBlockStoreINTEL,
8223 [Subgroup2DBlockIOINTEL],
8224 [],
8225 [
8226 (IdRef, One),
8227 (IdRef, One),
8228 (IdRef, One),
8229 (IdRef, One),
8230 (IdRef, One),
8231 (IdRef, One),
8232 (IdRef, One),
8233 (IdRef, One),
8234 (IdRef, One),
8235 (IdRef, One)
8236 ]
8237 ),
8238 inst!(
8239 SubgroupMatrixMultiplyAccumulateINTEL,
8240 [SubgroupMatrixMultiplyAccumulateINTEL],
8241 [],
8242 [
8243 (IdResultType, One),
8244 (IdResult, One),
8245 (IdRef, One),
8246 (IdRef, One),
8247 (IdRef, One),
8248 (IdRef, One),
8249 (MatrixMultiplyAccumulateOperands, ZeroOrOne)
8250 ]
8251 ),
8252 inst!(
8253 BitwiseFunctionINTEL,
8254 [TernaryBitwiseFunctionINTEL],
8255 [],
8256 [
8257 (IdResultType, One),
8258 (IdResult, One),
8259 (IdRef, One),
8260 (IdRef, One),
8261 (IdRef, One),
8262 (IdRef, One)
8263 ]
8264 ),
8265 inst!(
8266 UntypedVariableLengthArrayINTEL,
8267 [UntypedVariableLengthArrayINTEL],
8268 [],
8269 [
8270 (IdResultType, One),
8271 (IdResult, One),
8272 (IdRef, One),
8273 (IdRef, One)
8274 ]
8275 ),
8276 inst!(
8277 ConditionalExtensionINTEL,
8278 [SpecConditionalINTEL],
8279 [],
8280 [(IdRef, One), (LiteralString, One)]
8281 ),
8282 inst!(
8283 ConditionalEntryPointINTEL,
8284 [SpecConditionalINTEL],
8285 [],
8286 [
8287 (IdRef, One),
8288 (ExecutionModel, One),
8289 (IdRef, One),
8290 (LiteralString, One),
8291 (IdRef, ZeroOrMore)
8292 ]
8293 ),
8294 inst!(
8295 ConditionalCapabilityINTEL,
8296 [SpecConditionalINTEL],
8297 [],
8298 [(IdRef, One), (Capability, One)]
8299 ),
8300 inst!(
8301 SpecConstantTargetINTEL,
8302 [FunctionVariantsINTEL],
8303 [],
8304 [
8305 (IdResultType, One),
8306 (IdResult, One),
8307 (LiteralInteger, One),
8308 (LiteralInteger, ZeroOrMore)
8309 ]
8310 ),
8311 inst!(
8312 SpecConstantArchitectureINTEL,
8313 [FunctionVariantsINTEL],
8314 [],
8315 [
8316 (IdResultType, One),
8317 (IdResult, One),
8318 (LiteralInteger, One),
8319 (LiteralInteger, One),
8320 (LiteralInteger, One),
8321 (LiteralInteger, One)
8322 ]
8323 ),
8324 inst!(
8325 SpecConstantCapabilitiesINTEL,
8326 [FunctionVariantsINTEL],
8327 [],
8328 [
8329 (IdResultType, One),
8330 (IdResult, One),
8331 (Capability, ZeroOrMore)
8332 ]
8333 ),
8334 inst!(
8335 ConditionalCopyObjectINTEL,
8336 [SpecConditionalINTEL],
8337 [],
8338 [(IdResultType, One), (IdResult, One), (IdRef, ZeroOrMore)]
8339 ),
8340 inst!(
8341 GroupIMulKHR,
8342 [GroupUniformArithmeticKHR],
8343 [],
8344 [
8345 (IdResultType, One),
8346 (IdResult, One),
8347 (IdScope, One),
8348 (GroupOperation, One),
8349 (IdRef, One)
8350 ]
8351 ),
8352 inst!(
8353 GroupFMulKHR,
8354 [GroupUniformArithmeticKHR],
8355 [],
8356 [
8357 (IdResultType, One),
8358 (IdResult, One),
8359 (IdScope, One),
8360 (GroupOperation, One),
8361 (IdRef, One)
8362 ]
8363 ),
8364 inst!(
8365 GroupBitwiseAndKHR,
8366 [GroupUniformArithmeticKHR],
8367 [],
8368 [
8369 (IdResultType, One),
8370 (IdResult, One),
8371 (IdScope, One),
8372 (GroupOperation, One),
8373 (IdRef, One)
8374 ]
8375 ),
8376 inst!(
8377 GroupBitwiseOrKHR,
8378 [GroupUniformArithmeticKHR],
8379 [],
8380 [
8381 (IdResultType, One),
8382 (IdResult, One),
8383 (IdScope, One),
8384 (GroupOperation, One),
8385 (IdRef, One)
8386 ]
8387 ),
8388 inst!(
8389 GroupBitwiseXorKHR,
8390 [GroupUniformArithmeticKHR],
8391 [],
8392 [
8393 (IdResultType, One),
8394 (IdResult, One),
8395 (IdScope, One),
8396 (GroupOperation, One),
8397 (IdRef, One)
8398 ]
8399 ),
8400 inst!(
8401 GroupLogicalAndKHR,
8402 [GroupUniformArithmeticKHR],
8403 [],
8404 [
8405 (IdResultType, One),
8406 (IdResult, One),
8407 (IdScope, One),
8408 (GroupOperation, One),
8409 (IdRef, One)
8410 ]
8411 ),
8412 inst!(
8413 GroupLogicalOrKHR,
8414 [GroupUniformArithmeticKHR],
8415 [],
8416 [
8417 (IdResultType, One),
8418 (IdResult, One),
8419 (IdScope, One),
8420 (GroupOperation, One),
8421 (IdRef, One)
8422 ]
8423 ),
8424 inst!(
8425 GroupLogicalXorKHR,
8426 [GroupUniformArithmeticKHR],
8427 [],
8428 [
8429 (IdResultType, One),
8430 (IdResult, One),
8431 (IdScope, One),
8432 (GroupOperation, One),
8433 (IdRef, One)
8434 ]
8435 ),
8436 inst!(
8437 RoundFToTF32INTEL,
8438 [TensorFloat32RoundingINTEL],
8439 [],
8440 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8441 ),
8442 inst!(
8443 MaskedGatherINTEL,
8444 [MaskedGatherScatterINTEL],
8445 [],
8446 [
8447 (IdResultType, One),
8448 (IdResult, One),
8449 (IdRef, One),
8450 (LiteralInteger, One),
8451 (IdRef, One),
8452 (IdRef, One)
8453 ]
8454 ),
8455 inst!(
8456 MaskedScatterINTEL,
8457 [MaskedGatherScatterINTEL],
8458 [],
8459 [
8460 (IdRef, One),
8461 (IdRef, One),
8462 (LiteralInteger, One),
8463 (IdRef, One)
8464 ]
8465 ),
8466 inst!(
8467 ConvertHandleToImageINTEL,
8468 [BindlessImagesINTEL],
8469 [],
8470 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8471 ),
8472 inst!(
8473 ConvertHandleToSamplerINTEL,
8474 [BindlessImagesINTEL],
8475 [],
8476 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8477 ),
8478 inst!(
8479 ConvertHandleToSampledImageINTEL,
8480 [BindlessImagesINTEL],
8481 [],
8482 [(IdResultType, One), (IdResult, One), (IdRef, One)]
8483 ),
8484];
8485pub static INSTRUCTION_TABLE: InstructionTable<spirv::Op> =
8486 InstructionTable(INSTRUCTIONS, std::marker::PhantomData);