3 "Copyright (c) 2014-2016 The Khronos Group Inc.",
5 "Permission is hereby granted, free of charge, to any person obtaining a copy",
6 "of this software and/or associated documentation files (the \"Materials\"),",
7 "to deal in the Materials without restriction, including without limitation",
8 "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
9 "and/or sell copies of the Materials, and to permit persons to whom the",
10 "Materials are furnished to do so, subject to the following conditions:",
12 "The above copyright notice and this permission notice shall be included in",
13 "all copies or substantial portions of the Materials.",
15 "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
16 "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
17 "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
19 "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
20 "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
21 "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
22 "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
23 "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
24 "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
27 "magic_number" : "0x07230203",
40 { "kind" : "IdResultType" },
41 { "kind" : "IdResult" }
45 "opname" : "OpSourceContinued",
48 { "kind" : "LiteralString", "name" : "'Continued Source'" }
52 "opname" : "OpSource",
55 { "kind" : "SourceLanguage" },
56 { "kind" : "LiteralInteger", "name" : "'Version'" },
57 { "kind" : "IdRef", "quantifier" : "?", "name" : "'File'" },
58 { "kind" : "LiteralString", "quantifier" : "?", "name" : "'Source'" }
62 "opname" : "OpSourceExtension",
65 { "kind" : "LiteralString", "name" : "'Extension'" }
72 { "kind" : "IdRef", "name" : "'Target'" },
73 { "kind" : "LiteralString", "name" : "'Name'" }
77 "opname" : "OpMemberName",
80 { "kind" : "IdRef", "name" : "'Type'" },
81 { "kind" : "LiteralInteger", "name" : "'Member'" },
82 { "kind" : "LiteralString", "name" : "'Name'" }
86 "opname" : "OpString",
89 { "kind" : "IdResult" },
90 { "kind" : "LiteralString", "name" : "'String'" }
97 { "kind" : "IdRef", "name" : "'File'" },
98 { "kind" : "LiteralInteger", "name" : "'Line'" },
99 { "kind" : "LiteralInteger", "name" : "'Column'" }
103 "opname" : "OpExtension",
106 { "kind" : "LiteralString", "name" : "'Name'" }
110 "opname" : "OpExtInstImport",
113 { "kind" : "IdResult" },
114 { "kind" : "LiteralString", "name" : "'Name'" }
118 "opname" : "OpExtInst",
121 { "kind" : "IdResultType" },
122 { "kind" : "IdResult" },
123 { "kind" : "IdRef", "name" : "'Set'" },
124 { "kind" : "LiteralExtInstInteger", "name" : "'Instruction'" },
125 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
129 "opname" : "OpMemoryModel",
132 { "kind" : "AddressingModel" },
133 { "kind" : "MemoryModel" }
137 "opname" : "OpEntryPoint",
140 { "kind" : "ExecutionModel" },
141 { "kind" : "IdRef", "name" : "'Entry Point'" },
142 { "kind" : "LiteralString", "name" : "'Name'" },
143 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Interface'" }
147 "opname" : "OpExecutionMode",
150 { "kind" : "IdRef", "name" : "'Entry Point'" },
151 { "kind" : "ExecutionMode", "name" : "'Mode'" }
155 "opname" : "OpCapability",
158 { "kind" : "Capability", "name" : "'Capability'" }
162 "opname" : "OpTypeVoid",
165 { "kind" : "IdResult" }
169 "opname" : "OpTypeBool",
172 { "kind" : "IdResult" }
176 "opname" : "OpTypeInt",
179 { "kind" : "IdResult" },
180 { "kind" : "LiteralInteger", "name" : "'Width'" },
181 { "kind" : "LiteralInteger", "name" : "'Signedness'" }
185 "opname" : "OpTypeFloat",
188 { "kind" : "IdResult" },
189 { "kind" : "LiteralInteger", "name" : "'Width'" }
193 "opname" : "OpTypeVector",
196 { "kind" : "IdResult" },
197 { "kind" : "IdRef", "name" : "'Component Type'" },
198 { "kind" : "LiteralInteger", "name" : "'Component Count'" }
202 "opname" : "OpTypeMatrix",
205 { "kind" : "IdResult" },
206 { "kind" : "IdRef", "name" : "'Column Type'" },
207 { "kind" : "LiteralInteger", "name" : "'Column Count'" }
209 "capabilities" : [ "Matrix" ]
212 "opname" : "OpTypeImage",
215 { "kind" : "IdResult" },
216 { "kind" : "IdRef", "name" : "'Sampled Type'" },
218 { "kind" : "LiteralInteger", "name" : "'Depth'" },
219 { "kind" : "LiteralInteger", "name" : "'Arrayed'" },
220 { "kind" : "LiteralInteger", "name" : "'MS'" },
221 { "kind" : "LiteralInteger", "name" : "'Sampled'" },
222 { "kind" : "ImageFormat" },
223 { "kind" : "AccessQualifier", "quantifier" : "?" }
227 "opname" : "OpTypeSampler",
230 { "kind" : "IdResult" }
234 "opname" : "OpTypeSampledImage",
237 { "kind" : "IdResult" },
238 { "kind" : "IdRef", "name" : "'Image Type'" }
242 "opname" : "OpTypeArray",
245 { "kind" : "IdResult" },
246 { "kind" : "IdRef", "name" : "'Element Type'" },
247 { "kind" : "IdRef", "name" : "'Length'" }
251 "opname" : "OpTypeRuntimeArray",
254 { "kind" : "IdResult" },
255 { "kind" : "IdRef", "name" : "'Element Type'" }
257 "capabilities" : [ "Shader" ]
260 "opname" : "OpTypeStruct",
263 { "kind" : "IdResult" },
264 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
268 "opname" : "OpTypeOpaque",
271 { "kind" : "IdResult" },
272 { "kind" : "LiteralString", "name" : "The name of the opaque type." }
274 "capabilities" : [ "Kernel" ]
277 "opname" : "OpTypePointer",
280 { "kind" : "IdResult" },
281 { "kind" : "StorageClass" },
282 { "kind" : "IdRef", "name" : "'Type'" }
286 "opname" : "OpTypeFunction",
289 { "kind" : "IdResult" },
290 { "kind" : "IdRef", "name" : "'Return Type'" },
291 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
295 "opname" : "OpTypeEvent",
298 { "kind" : "IdResult" }
300 "capabilities" : [ "Kernel" ]
303 "opname" : "OpTypeDeviceEvent",
306 { "kind" : "IdResult" }
308 "capabilities" : [ "DeviceEnqueue" ]
311 "opname" : "OpTypeReserveId",
314 { "kind" : "IdResult" }
316 "capabilities" : [ "Pipes" ]
319 "opname" : "OpTypeQueue",
322 { "kind" : "IdResult" }
324 "capabilities" : [ "DeviceEnqueue" ]
327 "opname" : "OpTypePipe",
330 { "kind" : "IdResult" },
331 { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
333 "capabilities" : [ "Pipes" ]
336 "opname" : "OpTypeForwardPointer",
339 { "kind" : "IdRef", "name" : "'Pointer Type'" },
340 { "kind" : "StorageClass" }
344 "PhysicalStorageBufferAddressesEXT"
348 "opname" : "OpConstantTrue",
351 { "kind" : "IdResultType" },
352 { "kind" : "IdResult" }
356 "opname" : "OpConstantFalse",
359 { "kind" : "IdResultType" },
360 { "kind" : "IdResult" }
364 "opname" : "OpConstant",
367 { "kind" : "IdResultType" },
368 { "kind" : "IdResult" },
369 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
373 "opname" : "OpConstantComposite",
376 { "kind" : "IdResultType" },
377 { "kind" : "IdResult" },
378 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
382 "opname" : "OpConstantSampler",
385 { "kind" : "IdResultType" },
386 { "kind" : "IdResult" },
387 { "kind" : "SamplerAddressingMode" },
388 { "kind" : "LiteralInteger", "name" : "'Param'" },
389 { "kind" : "SamplerFilterMode" }
391 "capabilities" : [ "LiteralSampler" ]
394 "opname" : "OpConstantNull",
397 { "kind" : "IdResultType" },
398 { "kind" : "IdResult" }
402 "opname" : "OpSpecConstantTrue",
405 { "kind" : "IdResultType" },
406 { "kind" : "IdResult" }
410 "opname" : "OpSpecConstantFalse",
413 { "kind" : "IdResultType" },
414 { "kind" : "IdResult" }
418 "opname" : "OpSpecConstant",
421 { "kind" : "IdResultType" },
422 { "kind" : "IdResult" },
423 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
427 "opname" : "OpSpecConstantComposite",
430 { "kind" : "IdResultType" },
431 { "kind" : "IdResult" },
432 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
436 "opname" : "OpSpecConstantOp",
439 { "kind" : "IdResultType" },
440 { "kind" : "IdResult" },
441 { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
445 "opname" : "OpFunction",
448 { "kind" : "IdResultType" },
449 { "kind" : "IdResult" },
450 { "kind" : "FunctionControl" },
451 { "kind" : "IdRef", "name" : "'Function Type'" }
455 "opname" : "OpFunctionParameter",
458 { "kind" : "IdResultType" },
459 { "kind" : "IdResult" }
463 "opname" : "OpFunctionEnd",
467 "opname" : "OpFunctionCall",
470 { "kind" : "IdResultType" },
471 { "kind" : "IdResult" },
472 { "kind" : "IdRef", "name" : "'Function'" },
473 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
477 "opname" : "OpVariable",
480 { "kind" : "IdResultType" },
481 { "kind" : "IdResult" },
482 { "kind" : "StorageClass" },
483 { "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
487 "opname" : "OpImageTexelPointer",
490 { "kind" : "IdResultType" },
491 { "kind" : "IdResult" },
492 { "kind" : "IdRef", "name" : "'Image'" },
493 { "kind" : "IdRef", "name" : "'Coordinate'" },
494 { "kind" : "IdRef", "name" : "'Sample'" }
501 { "kind" : "IdResultType" },
502 { "kind" : "IdResult" },
503 { "kind" : "IdRef", "name" : "'Pointer'" },
504 { "kind" : "MemoryAccess", "quantifier" : "?" }
508 "opname" : "OpStore",
511 { "kind" : "IdRef", "name" : "'Pointer'" },
512 { "kind" : "IdRef", "name" : "'Object'" },
513 { "kind" : "MemoryAccess", "quantifier" : "?" }
517 "opname" : "OpCopyMemory",
520 { "kind" : "IdRef", "name" : "'Target'" },
521 { "kind" : "IdRef", "name" : "'Source'" },
522 { "kind" : "MemoryAccess", "quantifier" : "?" }
526 "opname" : "OpCopyMemorySized",
529 { "kind" : "IdRef", "name" : "'Target'" },
530 { "kind" : "IdRef", "name" : "'Source'" },
531 { "kind" : "IdRef", "name" : "'Size'" },
532 { "kind" : "MemoryAccess", "quantifier" : "?" }
534 "capabilities" : [ "Addresses" ]
537 "opname" : "OpAccessChain",
540 { "kind" : "IdResultType" },
541 { "kind" : "IdResult" },
542 { "kind" : "IdRef", "name" : "'Base'" },
543 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
547 "opname" : "OpInBoundsAccessChain",
550 { "kind" : "IdResultType" },
551 { "kind" : "IdResult" },
552 { "kind" : "IdRef", "name" : "'Base'" },
553 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
557 "opname" : "OpPtrAccessChain",
560 { "kind" : "IdResultType" },
561 { "kind" : "IdResult" },
562 { "kind" : "IdRef", "name" : "'Base'" },
563 { "kind" : "IdRef", "name" : "'Element'" },
564 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
569 "VariablePointersStorageBuffer",
570 "PhysicalStorageBufferAddressesEXT"
574 "opname" : "OpArrayLength",
577 { "kind" : "IdResultType" },
578 { "kind" : "IdResult" },
579 { "kind" : "IdRef", "name" : "'Structure'" },
580 { "kind" : "LiteralInteger", "name" : "'Array member'" }
582 "capabilities" : [ "Shader" ]
585 "opname" : "OpGenericPtrMemSemantics",
588 { "kind" : "IdResultType" },
589 { "kind" : "IdResult" },
590 { "kind" : "IdRef", "name" : "'Pointer'" }
592 "capabilities" : [ "Kernel" ]
595 "opname" : "OpInBoundsPtrAccessChain",
598 { "kind" : "IdResultType" },
599 { "kind" : "IdResult" },
600 { "kind" : "IdRef", "name" : "'Base'" },
601 { "kind" : "IdRef", "name" : "'Element'" },
602 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
604 "capabilities" : [ "Addresses" ]
607 "opname" : "OpDecorate",
610 { "kind" : "IdRef", "name" : "'Target'" },
611 { "kind" : "Decoration" }
615 "opname" : "OpMemberDecorate",
618 { "kind" : "IdRef", "name" : "'Structure Type'" },
619 { "kind" : "LiteralInteger", "name" : "'Member'" },
620 { "kind" : "Decoration" }
624 "opname" : "OpDecorationGroup",
627 { "kind" : "IdResult" }
631 "opname" : "OpGroupDecorate",
634 { "kind" : "IdRef", "name" : "'Decoration Group'" },
635 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
639 "opname" : "OpGroupMemberDecorate",
642 { "kind" : "IdRef", "name" : "'Decoration Group'" },
643 { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
647 "opname" : "OpVectorExtractDynamic",
650 { "kind" : "IdResultType" },
651 { "kind" : "IdResult" },
652 { "kind" : "IdRef", "name" : "'Vector'" },
653 { "kind" : "IdRef", "name" : "'Index'" }
657 "opname" : "OpVectorInsertDynamic",
660 { "kind" : "IdResultType" },
661 { "kind" : "IdResult" },
662 { "kind" : "IdRef", "name" : "'Vector'" },
663 { "kind" : "IdRef", "name" : "'Component'" },
664 { "kind" : "IdRef", "name" : "'Index'" }
668 "opname" : "OpVectorShuffle",
671 { "kind" : "IdResultType" },
672 { "kind" : "IdResult" },
673 { "kind" : "IdRef", "name" : "'Vector 1'" },
674 { "kind" : "IdRef", "name" : "'Vector 2'" },
675 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
679 "opname" : "OpCompositeConstruct",
682 { "kind" : "IdResultType" },
683 { "kind" : "IdResult" },
684 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
688 "opname" : "OpCompositeExtract",
691 { "kind" : "IdResultType" },
692 { "kind" : "IdResult" },
693 { "kind" : "IdRef", "name" : "'Composite'" },
694 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
698 "opname" : "OpCompositeInsert",
701 { "kind" : "IdResultType" },
702 { "kind" : "IdResult" },
703 { "kind" : "IdRef", "name" : "'Object'" },
704 { "kind" : "IdRef", "name" : "'Composite'" },
705 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
709 "opname" : "OpCopyObject",
712 { "kind" : "IdResultType" },
713 { "kind" : "IdResult" },
714 { "kind" : "IdRef", "name" : "'Operand'" }
718 "opname" : "OpTranspose",
721 { "kind" : "IdResultType" },
722 { "kind" : "IdResult" },
723 { "kind" : "IdRef", "name" : "'Matrix'" }
725 "capabilities" : [ "Matrix" ]
728 "opname" : "OpSampledImage",
731 { "kind" : "IdResultType" },
732 { "kind" : "IdResult" },
733 { "kind" : "IdRef", "name" : "'Image'" },
734 { "kind" : "IdRef", "name" : "'Sampler'" }
738 "opname" : "OpImageSampleImplicitLod",
741 { "kind" : "IdResultType" },
742 { "kind" : "IdResult" },
743 { "kind" : "IdRef", "name" : "'Sampled Image'" },
744 { "kind" : "IdRef", "name" : "'Coordinate'" },
745 { "kind" : "ImageOperands", "quantifier" : "?" }
747 "capabilities" : [ "Shader" ]
750 "opname" : "OpImageSampleExplicitLod",
753 { "kind" : "IdResultType" },
754 { "kind" : "IdResult" },
755 { "kind" : "IdRef", "name" : "'Sampled Image'" },
756 { "kind" : "IdRef", "name" : "'Coordinate'" },
757 { "kind" : "ImageOperands" }
761 "opname" : "OpImageSampleDrefImplicitLod",
764 { "kind" : "IdResultType" },
765 { "kind" : "IdResult" },
766 { "kind" : "IdRef", "name" : "'Sampled Image'" },
767 { "kind" : "IdRef", "name" : "'Coordinate'" },
768 { "kind" : "IdRef", "name" : "'D~ref~'" },
769 { "kind" : "ImageOperands", "quantifier" : "?" }
771 "capabilities" : [ "Shader" ]
774 "opname" : "OpImageSampleDrefExplicitLod",
777 { "kind" : "IdResultType" },
778 { "kind" : "IdResult" },
779 { "kind" : "IdRef", "name" : "'Sampled Image'" },
780 { "kind" : "IdRef", "name" : "'Coordinate'" },
781 { "kind" : "IdRef", "name" : "'D~ref~'" },
782 { "kind" : "ImageOperands" }
784 "capabilities" : [ "Shader" ]
787 "opname" : "OpImageSampleProjImplicitLod",
790 { "kind" : "IdResultType" },
791 { "kind" : "IdResult" },
792 { "kind" : "IdRef", "name" : "'Sampled Image'" },
793 { "kind" : "IdRef", "name" : "'Coordinate'" },
794 { "kind" : "ImageOperands", "quantifier" : "?" }
796 "capabilities" : [ "Shader" ]
799 "opname" : "OpImageSampleProjExplicitLod",
802 { "kind" : "IdResultType" },
803 { "kind" : "IdResult" },
804 { "kind" : "IdRef", "name" : "'Sampled Image'" },
805 { "kind" : "IdRef", "name" : "'Coordinate'" },
806 { "kind" : "ImageOperands" }
808 "capabilities" : [ "Shader" ]
811 "opname" : "OpImageSampleProjDrefImplicitLod",
814 { "kind" : "IdResultType" },
815 { "kind" : "IdResult" },
816 { "kind" : "IdRef", "name" : "'Sampled Image'" },
817 { "kind" : "IdRef", "name" : "'Coordinate'" },
818 { "kind" : "IdRef", "name" : "'D~ref~'" },
819 { "kind" : "ImageOperands", "quantifier" : "?" }
821 "capabilities" : [ "Shader" ]
824 "opname" : "OpImageSampleProjDrefExplicitLod",
827 { "kind" : "IdResultType" },
828 { "kind" : "IdResult" },
829 { "kind" : "IdRef", "name" : "'Sampled Image'" },
830 { "kind" : "IdRef", "name" : "'Coordinate'" },
831 { "kind" : "IdRef", "name" : "'D~ref~'" },
832 { "kind" : "ImageOperands" }
834 "capabilities" : [ "Shader" ]
837 "opname" : "OpImageFetch",
840 { "kind" : "IdResultType" },
841 { "kind" : "IdResult" },
842 { "kind" : "IdRef", "name" : "'Image'" },
843 { "kind" : "IdRef", "name" : "'Coordinate'" },
844 { "kind" : "ImageOperands", "quantifier" : "?" }
848 "opname" : "OpImageGather",
851 { "kind" : "IdResultType" },
852 { "kind" : "IdResult" },
853 { "kind" : "IdRef", "name" : "'Sampled Image'" },
854 { "kind" : "IdRef", "name" : "'Coordinate'" },
855 { "kind" : "IdRef", "name" : "'Component'" },
856 { "kind" : "ImageOperands", "quantifier" : "?" }
858 "capabilities" : [ "Shader" ]
861 "opname" : "OpImageDrefGather",
864 { "kind" : "IdResultType" },
865 { "kind" : "IdResult" },
866 { "kind" : "IdRef", "name" : "'Sampled Image'" },
867 { "kind" : "IdRef", "name" : "'Coordinate'" },
868 { "kind" : "IdRef", "name" : "'D~ref~'" },
869 { "kind" : "ImageOperands", "quantifier" : "?" }
871 "capabilities" : [ "Shader" ]
874 "opname" : "OpImageRead",
877 { "kind" : "IdResultType" },
878 { "kind" : "IdResult" },
879 { "kind" : "IdRef", "name" : "'Image'" },
880 { "kind" : "IdRef", "name" : "'Coordinate'" },
881 { "kind" : "ImageOperands", "quantifier" : "?" }
885 "opname" : "OpImageWrite",
888 { "kind" : "IdRef", "name" : "'Image'" },
889 { "kind" : "IdRef", "name" : "'Coordinate'" },
890 { "kind" : "IdRef", "name" : "'Texel'" },
891 { "kind" : "ImageOperands", "quantifier" : "?" }
895 "opname" : "OpImage",
898 { "kind" : "IdResultType" },
899 { "kind" : "IdResult" },
900 { "kind" : "IdRef", "name" : "'Sampled Image'" }
904 "opname" : "OpImageQueryFormat",
907 { "kind" : "IdResultType" },
908 { "kind" : "IdResult" },
909 { "kind" : "IdRef", "name" : "'Image'" }
911 "capabilities" : [ "Kernel" ]
914 "opname" : "OpImageQueryOrder",
917 { "kind" : "IdResultType" },
918 { "kind" : "IdResult" },
919 { "kind" : "IdRef", "name" : "'Image'" }
921 "capabilities" : [ "Kernel" ]
924 "opname" : "OpImageQuerySizeLod",
927 { "kind" : "IdResultType" },
928 { "kind" : "IdResult" },
929 { "kind" : "IdRef", "name" : "'Image'" },
930 { "kind" : "IdRef", "name" : "'Level of Detail'" }
932 "capabilities" : [ "Kernel", "ImageQuery" ]
935 "opname" : "OpImageQuerySize",
938 { "kind" : "IdResultType" },
939 { "kind" : "IdResult" },
940 { "kind" : "IdRef", "name" : "'Image'" }
942 "capabilities" : [ "Kernel", "ImageQuery" ]
945 "opname" : "OpImageQueryLod",
948 { "kind" : "IdResultType" },
949 { "kind" : "IdResult" },
950 { "kind" : "IdRef", "name" : "'Sampled Image'" },
951 { "kind" : "IdRef", "name" : "'Coordinate'" }
953 "capabilities" : [ "ImageQuery" ]
956 "opname" : "OpImageQueryLevels",
959 { "kind" : "IdResultType" },
960 { "kind" : "IdResult" },
961 { "kind" : "IdRef", "name" : "'Image'" }
963 "capabilities" : [ "Kernel", "ImageQuery" ]
966 "opname" : "OpImageQuerySamples",
969 { "kind" : "IdResultType" },
970 { "kind" : "IdResult" },
971 { "kind" : "IdRef", "name" : "'Image'" }
973 "capabilities" : [ "Kernel", "ImageQuery" ]
976 "opname" : "OpConvertFToU",
979 { "kind" : "IdResultType" },
980 { "kind" : "IdResult" },
981 { "kind" : "IdRef", "name" : "'Float Value'" }
985 "opname" : "OpConvertFToS",
988 { "kind" : "IdResultType" },
989 { "kind" : "IdResult" },
990 { "kind" : "IdRef", "name" : "'Float Value'" }
994 "opname" : "OpConvertSToF",
997 { "kind" : "IdResultType" },
998 { "kind" : "IdResult" },
999 { "kind" : "IdRef", "name" : "'Signed Value'" }
1003 "opname" : "OpConvertUToF",
1006 { "kind" : "IdResultType" },
1007 { "kind" : "IdResult" },
1008 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1012 "opname" : "OpUConvert",
1015 { "kind" : "IdResultType" },
1016 { "kind" : "IdResult" },
1017 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1021 "opname" : "OpSConvert",
1024 { "kind" : "IdResultType" },
1025 { "kind" : "IdResult" },
1026 { "kind" : "IdRef", "name" : "'Signed Value'" }
1030 "opname" : "OpFConvert",
1033 { "kind" : "IdResultType" },
1034 { "kind" : "IdResult" },
1035 { "kind" : "IdRef", "name" : "'Float Value'" }
1039 "opname" : "OpQuantizeToF16",
1042 { "kind" : "IdResultType" },
1043 { "kind" : "IdResult" },
1044 { "kind" : "IdRef", "name" : "'Value'" }
1048 "opname" : "OpConvertPtrToU",
1051 { "kind" : "IdResultType" },
1052 { "kind" : "IdResult" },
1053 { "kind" : "IdRef", "name" : "'Pointer'" }
1057 "PhysicalStorageBufferAddressesEXT"
1061 "opname" : "OpSatConvertSToU",
1064 { "kind" : "IdResultType" },
1065 { "kind" : "IdResult" },
1066 { "kind" : "IdRef", "name" : "'Signed Value'" }
1068 "capabilities" : [ "Kernel" ]
1071 "opname" : "OpSatConvertUToS",
1074 { "kind" : "IdResultType" },
1075 { "kind" : "IdResult" },
1076 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1078 "capabilities" : [ "Kernel" ]
1081 "opname" : "OpConvertUToPtr",
1084 { "kind" : "IdResultType" },
1085 { "kind" : "IdResult" },
1086 { "kind" : "IdRef", "name" : "'Integer Value'" }
1090 "PhysicalStorageBufferAddressesEXT"
1094 "opname" : "OpPtrCastToGeneric",
1097 { "kind" : "IdResultType" },
1098 { "kind" : "IdResult" },
1099 { "kind" : "IdRef", "name" : "'Pointer'" }
1101 "capabilities" : [ "Kernel" ]
1104 "opname" : "OpGenericCastToPtr",
1107 { "kind" : "IdResultType" },
1108 { "kind" : "IdResult" },
1109 { "kind" : "IdRef", "name" : "'Pointer'" }
1111 "capabilities" : [ "Kernel" ]
1114 "opname" : "OpGenericCastToPtrExplicit",
1117 { "kind" : "IdResultType" },
1118 { "kind" : "IdResult" },
1119 { "kind" : "IdRef", "name" : "'Pointer'" },
1120 { "kind" : "StorageClass", "name" : "'Storage'" }
1122 "capabilities" : [ "Kernel" ]
1125 "opname" : "OpBitcast",
1128 { "kind" : "IdResultType" },
1129 { "kind" : "IdResult" },
1130 { "kind" : "IdRef", "name" : "'Operand'" }
1134 "opname" : "OpSNegate",
1137 { "kind" : "IdResultType" },
1138 { "kind" : "IdResult" },
1139 { "kind" : "IdRef", "name" : "'Operand'" }
1143 "opname" : "OpFNegate",
1146 { "kind" : "IdResultType" },
1147 { "kind" : "IdResult" },
1148 { "kind" : "IdRef", "name" : "'Operand'" }
1152 "opname" : "OpIAdd",
1155 { "kind" : "IdResultType" },
1156 { "kind" : "IdResult" },
1157 { "kind" : "IdRef", "name" : "'Operand 1'" },
1158 { "kind" : "IdRef", "name" : "'Operand 2'" }
1162 "opname" : "OpFAdd",
1165 { "kind" : "IdResultType" },
1166 { "kind" : "IdResult" },
1167 { "kind" : "IdRef", "name" : "'Operand 1'" },
1168 { "kind" : "IdRef", "name" : "'Operand 2'" }
1172 "opname" : "OpISub",
1175 { "kind" : "IdResultType" },
1176 { "kind" : "IdResult" },
1177 { "kind" : "IdRef", "name" : "'Operand 1'" },
1178 { "kind" : "IdRef", "name" : "'Operand 2'" }
1182 "opname" : "OpFSub",
1185 { "kind" : "IdResultType" },
1186 { "kind" : "IdResult" },
1187 { "kind" : "IdRef", "name" : "'Operand 1'" },
1188 { "kind" : "IdRef", "name" : "'Operand 2'" }
1192 "opname" : "OpIMul",
1195 { "kind" : "IdResultType" },
1196 { "kind" : "IdResult" },
1197 { "kind" : "IdRef", "name" : "'Operand 1'" },
1198 { "kind" : "IdRef", "name" : "'Operand 2'" }
1202 "opname" : "OpFMul",
1205 { "kind" : "IdResultType" },
1206 { "kind" : "IdResult" },
1207 { "kind" : "IdRef", "name" : "'Operand 1'" },
1208 { "kind" : "IdRef", "name" : "'Operand 2'" }
1212 "opname" : "OpUDiv",
1215 { "kind" : "IdResultType" },
1216 { "kind" : "IdResult" },
1217 { "kind" : "IdRef", "name" : "'Operand 1'" },
1218 { "kind" : "IdRef", "name" : "'Operand 2'" }
1222 "opname" : "OpSDiv",
1225 { "kind" : "IdResultType" },
1226 { "kind" : "IdResult" },
1227 { "kind" : "IdRef", "name" : "'Operand 1'" },
1228 { "kind" : "IdRef", "name" : "'Operand 2'" }
1232 "opname" : "OpFDiv",
1235 { "kind" : "IdResultType" },
1236 { "kind" : "IdResult" },
1237 { "kind" : "IdRef", "name" : "'Operand 1'" },
1238 { "kind" : "IdRef", "name" : "'Operand 2'" }
1242 "opname" : "OpUMod",
1245 { "kind" : "IdResultType" },
1246 { "kind" : "IdResult" },
1247 { "kind" : "IdRef", "name" : "'Operand 1'" },
1248 { "kind" : "IdRef", "name" : "'Operand 2'" }
1252 "opname" : "OpSRem",
1255 { "kind" : "IdResultType" },
1256 { "kind" : "IdResult" },
1257 { "kind" : "IdRef", "name" : "'Operand 1'" },
1258 { "kind" : "IdRef", "name" : "'Operand 2'" }
1262 "opname" : "OpSMod",
1265 { "kind" : "IdResultType" },
1266 { "kind" : "IdResult" },
1267 { "kind" : "IdRef", "name" : "'Operand 1'" },
1268 { "kind" : "IdRef", "name" : "'Operand 2'" }
1272 "opname" : "OpFRem",
1275 { "kind" : "IdResultType" },
1276 { "kind" : "IdResult" },
1277 { "kind" : "IdRef", "name" : "'Operand 1'" },
1278 { "kind" : "IdRef", "name" : "'Operand 2'" }
1282 "opname" : "OpFMod",
1285 { "kind" : "IdResultType" },
1286 { "kind" : "IdResult" },
1287 { "kind" : "IdRef", "name" : "'Operand 1'" },
1288 { "kind" : "IdRef", "name" : "'Operand 2'" }
1292 "opname" : "OpVectorTimesScalar",
1295 { "kind" : "IdResultType" },
1296 { "kind" : "IdResult" },
1297 { "kind" : "IdRef", "name" : "'Vector'" },
1298 { "kind" : "IdRef", "name" : "'Scalar'" }
1302 "opname" : "OpMatrixTimesScalar",
1305 { "kind" : "IdResultType" },
1306 { "kind" : "IdResult" },
1307 { "kind" : "IdRef", "name" : "'Matrix'" },
1308 { "kind" : "IdRef", "name" : "'Scalar'" }
1310 "capabilities" : [ "Matrix" ]
1313 "opname" : "OpVectorTimesMatrix",
1316 { "kind" : "IdResultType" },
1317 { "kind" : "IdResult" },
1318 { "kind" : "IdRef", "name" : "'Vector'" },
1319 { "kind" : "IdRef", "name" : "'Matrix'" }
1321 "capabilities" : [ "Matrix" ]
1324 "opname" : "OpMatrixTimesVector",
1327 { "kind" : "IdResultType" },
1328 { "kind" : "IdResult" },
1329 { "kind" : "IdRef", "name" : "'Matrix'" },
1330 { "kind" : "IdRef", "name" : "'Vector'" }
1332 "capabilities" : [ "Matrix" ]
1335 "opname" : "OpMatrixTimesMatrix",
1338 { "kind" : "IdResultType" },
1339 { "kind" : "IdResult" },
1340 { "kind" : "IdRef", "name" : "'LeftMatrix'" },
1341 { "kind" : "IdRef", "name" : "'RightMatrix'" }
1343 "capabilities" : [ "Matrix" ]
1346 "opname" : "OpOuterProduct",
1349 { "kind" : "IdResultType" },
1350 { "kind" : "IdResult" },
1351 { "kind" : "IdRef", "name" : "'Vector 1'" },
1352 { "kind" : "IdRef", "name" : "'Vector 2'" }
1354 "capabilities" : [ "Matrix" ]
1360 { "kind" : "IdResultType" },
1361 { "kind" : "IdResult" },
1362 { "kind" : "IdRef", "name" : "'Vector 1'" },
1363 { "kind" : "IdRef", "name" : "'Vector 2'" }
1367 "opname" : "OpIAddCarry",
1370 { "kind" : "IdResultType" },
1371 { "kind" : "IdResult" },
1372 { "kind" : "IdRef", "name" : "'Operand 1'" },
1373 { "kind" : "IdRef", "name" : "'Operand 2'" }
1377 "opname" : "OpISubBorrow",
1380 { "kind" : "IdResultType" },
1381 { "kind" : "IdResult" },
1382 { "kind" : "IdRef", "name" : "'Operand 1'" },
1383 { "kind" : "IdRef", "name" : "'Operand 2'" }
1387 "opname" : "OpUMulExtended",
1390 { "kind" : "IdResultType" },
1391 { "kind" : "IdResult" },
1392 { "kind" : "IdRef", "name" : "'Operand 1'" },
1393 { "kind" : "IdRef", "name" : "'Operand 2'" }
1397 "opname" : "OpSMulExtended",
1400 { "kind" : "IdResultType" },
1401 { "kind" : "IdResult" },
1402 { "kind" : "IdRef", "name" : "'Operand 1'" },
1403 { "kind" : "IdRef", "name" : "'Operand 2'" }
1410 { "kind" : "IdResultType" },
1411 { "kind" : "IdResult" },
1412 { "kind" : "IdRef", "name" : "'Vector'" }
1419 { "kind" : "IdResultType" },
1420 { "kind" : "IdResult" },
1421 { "kind" : "IdRef", "name" : "'Vector'" }
1425 "opname" : "OpIsNan",
1428 { "kind" : "IdResultType" },
1429 { "kind" : "IdResult" },
1430 { "kind" : "IdRef", "name" : "'x'" }
1434 "opname" : "OpIsInf",
1437 { "kind" : "IdResultType" },
1438 { "kind" : "IdResult" },
1439 { "kind" : "IdRef", "name" : "'x'" }
1443 "opname" : "OpIsFinite",
1446 { "kind" : "IdResultType" },
1447 { "kind" : "IdResult" },
1448 { "kind" : "IdRef", "name" : "'x'" }
1450 "capabilities" : [ "Kernel" ]
1453 "opname" : "OpIsNormal",
1456 { "kind" : "IdResultType" },
1457 { "kind" : "IdResult" },
1458 { "kind" : "IdRef", "name" : "'x'" }
1460 "capabilities" : [ "Kernel" ]
1463 "opname" : "OpSignBitSet",
1466 { "kind" : "IdResultType" },
1467 { "kind" : "IdResult" },
1468 { "kind" : "IdRef", "name" : "'x'" }
1470 "capabilities" : [ "Kernel" ]
1473 "opname" : "OpLessOrGreater",
1476 { "kind" : "IdResultType" },
1477 { "kind" : "IdResult" },
1478 { "kind" : "IdRef", "name" : "'x'" },
1479 { "kind" : "IdRef", "name" : "'y'" }
1481 "capabilities" : [ "Kernel" ]
1484 "opname" : "OpOrdered",
1487 { "kind" : "IdResultType" },
1488 { "kind" : "IdResult" },
1489 { "kind" : "IdRef", "name" : "'x'" },
1490 { "kind" : "IdRef", "name" : "'y'" }
1492 "capabilities" : [ "Kernel" ]
1495 "opname" : "OpUnordered",
1498 { "kind" : "IdResultType" },
1499 { "kind" : "IdResult" },
1500 { "kind" : "IdRef", "name" : "'x'" },
1501 { "kind" : "IdRef", "name" : "'y'" }
1503 "capabilities" : [ "Kernel" ]
1506 "opname" : "OpLogicalEqual",
1509 { "kind" : "IdResultType" },
1510 { "kind" : "IdResult" },
1511 { "kind" : "IdRef", "name" : "'Operand 1'" },
1512 { "kind" : "IdRef", "name" : "'Operand 2'" }
1516 "opname" : "OpLogicalNotEqual",
1519 { "kind" : "IdResultType" },
1520 { "kind" : "IdResult" },
1521 { "kind" : "IdRef", "name" : "'Operand 1'" },
1522 { "kind" : "IdRef", "name" : "'Operand 2'" }
1526 "opname" : "OpLogicalOr",
1529 { "kind" : "IdResultType" },
1530 { "kind" : "IdResult" },
1531 { "kind" : "IdRef", "name" : "'Operand 1'" },
1532 { "kind" : "IdRef", "name" : "'Operand 2'" }
1536 "opname" : "OpLogicalAnd",
1539 { "kind" : "IdResultType" },
1540 { "kind" : "IdResult" },
1541 { "kind" : "IdRef", "name" : "'Operand 1'" },
1542 { "kind" : "IdRef", "name" : "'Operand 2'" }
1546 "opname" : "OpLogicalNot",
1549 { "kind" : "IdResultType" },
1550 { "kind" : "IdResult" },
1551 { "kind" : "IdRef", "name" : "'Operand'" }
1555 "opname" : "OpSelect",
1558 { "kind" : "IdResultType" },
1559 { "kind" : "IdResult" },
1560 { "kind" : "IdRef", "name" : "'Condition'" },
1561 { "kind" : "IdRef", "name" : "'Object 1'" },
1562 { "kind" : "IdRef", "name" : "'Object 2'" }
1566 "opname" : "OpIEqual",
1569 { "kind" : "IdResultType" },
1570 { "kind" : "IdResult" },
1571 { "kind" : "IdRef", "name" : "'Operand 1'" },
1572 { "kind" : "IdRef", "name" : "'Operand 2'" }
1576 "opname" : "OpINotEqual",
1579 { "kind" : "IdResultType" },
1580 { "kind" : "IdResult" },
1581 { "kind" : "IdRef", "name" : "'Operand 1'" },
1582 { "kind" : "IdRef", "name" : "'Operand 2'" }
1586 "opname" : "OpUGreaterThan",
1589 { "kind" : "IdResultType" },
1590 { "kind" : "IdResult" },
1591 { "kind" : "IdRef", "name" : "'Operand 1'" },
1592 { "kind" : "IdRef", "name" : "'Operand 2'" }
1596 "opname" : "OpSGreaterThan",
1599 { "kind" : "IdResultType" },
1600 { "kind" : "IdResult" },
1601 { "kind" : "IdRef", "name" : "'Operand 1'" },
1602 { "kind" : "IdRef", "name" : "'Operand 2'" }
1606 "opname" : "OpUGreaterThanEqual",
1609 { "kind" : "IdResultType" },
1610 { "kind" : "IdResult" },
1611 { "kind" : "IdRef", "name" : "'Operand 1'" },
1612 { "kind" : "IdRef", "name" : "'Operand 2'" }
1616 "opname" : "OpSGreaterThanEqual",
1619 { "kind" : "IdResultType" },
1620 { "kind" : "IdResult" },
1621 { "kind" : "IdRef", "name" : "'Operand 1'" },
1622 { "kind" : "IdRef", "name" : "'Operand 2'" }
1626 "opname" : "OpULessThan",
1629 { "kind" : "IdResultType" },
1630 { "kind" : "IdResult" },
1631 { "kind" : "IdRef", "name" : "'Operand 1'" },
1632 { "kind" : "IdRef", "name" : "'Operand 2'" }
1636 "opname" : "OpSLessThan",
1639 { "kind" : "IdResultType" },
1640 { "kind" : "IdResult" },
1641 { "kind" : "IdRef", "name" : "'Operand 1'" },
1642 { "kind" : "IdRef", "name" : "'Operand 2'" }
1646 "opname" : "OpULessThanEqual",
1649 { "kind" : "IdResultType" },
1650 { "kind" : "IdResult" },
1651 { "kind" : "IdRef", "name" : "'Operand 1'" },
1652 { "kind" : "IdRef", "name" : "'Operand 2'" }
1656 "opname" : "OpSLessThanEqual",
1659 { "kind" : "IdResultType" },
1660 { "kind" : "IdResult" },
1661 { "kind" : "IdRef", "name" : "'Operand 1'" },
1662 { "kind" : "IdRef", "name" : "'Operand 2'" }
1666 "opname" : "OpFOrdEqual",
1669 { "kind" : "IdResultType" },
1670 { "kind" : "IdResult" },
1671 { "kind" : "IdRef", "name" : "'Operand 1'" },
1672 { "kind" : "IdRef", "name" : "'Operand 2'" }
1676 "opname" : "OpFUnordEqual",
1679 { "kind" : "IdResultType" },
1680 { "kind" : "IdResult" },
1681 { "kind" : "IdRef", "name" : "'Operand 1'" },
1682 { "kind" : "IdRef", "name" : "'Operand 2'" }
1686 "opname" : "OpFOrdNotEqual",
1689 { "kind" : "IdResultType" },
1690 { "kind" : "IdResult" },
1691 { "kind" : "IdRef", "name" : "'Operand 1'" },
1692 { "kind" : "IdRef", "name" : "'Operand 2'" }
1696 "opname" : "OpFUnordNotEqual",
1699 { "kind" : "IdResultType" },
1700 { "kind" : "IdResult" },
1701 { "kind" : "IdRef", "name" : "'Operand 1'" },
1702 { "kind" : "IdRef", "name" : "'Operand 2'" }
1706 "opname" : "OpFOrdLessThan",
1709 { "kind" : "IdResultType" },
1710 { "kind" : "IdResult" },
1711 { "kind" : "IdRef", "name" : "'Operand 1'" },
1712 { "kind" : "IdRef", "name" : "'Operand 2'" }
1716 "opname" : "OpFUnordLessThan",
1719 { "kind" : "IdResultType" },
1720 { "kind" : "IdResult" },
1721 { "kind" : "IdRef", "name" : "'Operand 1'" },
1722 { "kind" : "IdRef", "name" : "'Operand 2'" }
1726 "opname" : "OpFOrdGreaterThan",
1729 { "kind" : "IdResultType" },
1730 { "kind" : "IdResult" },
1731 { "kind" : "IdRef", "name" : "'Operand 1'" },
1732 { "kind" : "IdRef", "name" : "'Operand 2'" }
1736 "opname" : "OpFUnordGreaterThan",
1739 { "kind" : "IdResultType" },
1740 { "kind" : "IdResult" },
1741 { "kind" : "IdRef", "name" : "'Operand 1'" },
1742 { "kind" : "IdRef", "name" : "'Operand 2'" }
1746 "opname" : "OpFOrdLessThanEqual",
1749 { "kind" : "IdResultType" },
1750 { "kind" : "IdResult" },
1751 { "kind" : "IdRef", "name" : "'Operand 1'" },
1752 { "kind" : "IdRef", "name" : "'Operand 2'" }
1756 "opname" : "OpFUnordLessThanEqual",
1759 { "kind" : "IdResultType" },
1760 { "kind" : "IdResult" },
1761 { "kind" : "IdRef", "name" : "'Operand 1'" },
1762 { "kind" : "IdRef", "name" : "'Operand 2'" }
1766 "opname" : "OpFOrdGreaterThanEqual",
1769 { "kind" : "IdResultType" },
1770 { "kind" : "IdResult" },
1771 { "kind" : "IdRef", "name" : "'Operand 1'" },
1772 { "kind" : "IdRef", "name" : "'Operand 2'" }
1776 "opname" : "OpFUnordGreaterThanEqual",
1779 { "kind" : "IdResultType" },
1780 { "kind" : "IdResult" },
1781 { "kind" : "IdRef", "name" : "'Operand 1'" },
1782 { "kind" : "IdRef", "name" : "'Operand 2'" }
1786 "opname" : "OpShiftRightLogical",
1789 { "kind" : "IdResultType" },
1790 { "kind" : "IdResult" },
1791 { "kind" : "IdRef", "name" : "'Base'" },
1792 { "kind" : "IdRef", "name" : "'Shift'" }
1796 "opname" : "OpShiftRightArithmetic",
1799 { "kind" : "IdResultType" },
1800 { "kind" : "IdResult" },
1801 { "kind" : "IdRef", "name" : "'Base'" },
1802 { "kind" : "IdRef", "name" : "'Shift'" }
1806 "opname" : "OpShiftLeftLogical",
1809 { "kind" : "IdResultType" },
1810 { "kind" : "IdResult" },
1811 { "kind" : "IdRef", "name" : "'Base'" },
1812 { "kind" : "IdRef", "name" : "'Shift'" }
1816 "opname" : "OpBitwiseOr",
1819 { "kind" : "IdResultType" },
1820 { "kind" : "IdResult" },
1821 { "kind" : "IdRef", "name" : "'Operand 1'" },
1822 { "kind" : "IdRef", "name" : "'Operand 2'" }
1826 "opname" : "OpBitwiseXor",
1829 { "kind" : "IdResultType" },
1830 { "kind" : "IdResult" },
1831 { "kind" : "IdRef", "name" : "'Operand 1'" },
1832 { "kind" : "IdRef", "name" : "'Operand 2'" }
1836 "opname" : "OpBitwiseAnd",
1839 { "kind" : "IdResultType" },
1840 { "kind" : "IdResult" },
1841 { "kind" : "IdRef", "name" : "'Operand 1'" },
1842 { "kind" : "IdRef", "name" : "'Operand 2'" }
1849 { "kind" : "IdResultType" },
1850 { "kind" : "IdResult" },
1851 { "kind" : "IdRef", "name" : "'Operand'" }
1855 "opname" : "OpBitFieldInsert",
1858 { "kind" : "IdResultType" },
1859 { "kind" : "IdResult" },
1860 { "kind" : "IdRef", "name" : "'Base'" },
1861 { "kind" : "IdRef", "name" : "'Insert'" },
1862 { "kind" : "IdRef", "name" : "'Offset'" },
1863 { "kind" : "IdRef", "name" : "'Count'" }
1865 "capabilities" : [ "Shader" ]
1868 "opname" : "OpBitFieldSExtract",
1871 { "kind" : "IdResultType" },
1872 { "kind" : "IdResult" },
1873 { "kind" : "IdRef", "name" : "'Base'" },
1874 { "kind" : "IdRef", "name" : "'Offset'" },
1875 { "kind" : "IdRef", "name" : "'Count'" }
1877 "capabilities" : [ "Shader" ]
1880 "opname" : "OpBitFieldUExtract",
1883 { "kind" : "IdResultType" },
1884 { "kind" : "IdResult" },
1885 { "kind" : "IdRef", "name" : "'Base'" },
1886 { "kind" : "IdRef", "name" : "'Offset'" },
1887 { "kind" : "IdRef", "name" : "'Count'" }
1889 "capabilities" : [ "Shader" ]
1892 "opname" : "OpBitReverse",
1895 { "kind" : "IdResultType" },
1896 { "kind" : "IdResult" },
1897 { "kind" : "IdRef", "name" : "'Base'" }
1899 "capabilities" : [ "Shader" ]
1902 "opname" : "OpBitCount",
1905 { "kind" : "IdResultType" },
1906 { "kind" : "IdResult" },
1907 { "kind" : "IdRef", "name" : "'Base'" }
1911 "opname" : "OpDPdx",
1914 { "kind" : "IdResultType" },
1915 { "kind" : "IdResult" },
1916 { "kind" : "IdRef", "name" : "'P'" }
1918 "capabilities" : [ "Shader" ]
1921 "opname" : "OpDPdy",
1924 { "kind" : "IdResultType" },
1925 { "kind" : "IdResult" },
1926 { "kind" : "IdRef", "name" : "'P'" }
1928 "capabilities" : [ "Shader" ]
1931 "opname" : "OpFwidth",
1934 { "kind" : "IdResultType" },
1935 { "kind" : "IdResult" },
1936 { "kind" : "IdRef", "name" : "'P'" }
1938 "capabilities" : [ "Shader" ]
1941 "opname" : "OpDPdxFine",
1944 { "kind" : "IdResultType" },
1945 { "kind" : "IdResult" },
1946 { "kind" : "IdRef", "name" : "'P'" }
1948 "capabilities" : [ "DerivativeControl" ]
1951 "opname" : "OpDPdyFine",
1954 { "kind" : "IdResultType" },
1955 { "kind" : "IdResult" },
1956 { "kind" : "IdRef", "name" : "'P'" }
1958 "capabilities" : [ "DerivativeControl" ]
1961 "opname" : "OpFwidthFine",
1964 { "kind" : "IdResultType" },
1965 { "kind" : "IdResult" },
1966 { "kind" : "IdRef", "name" : "'P'" }
1968 "capabilities" : [ "DerivativeControl" ]
1971 "opname" : "OpDPdxCoarse",
1974 { "kind" : "IdResultType" },
1975 { "kind" : "IdResult" },
1976 { "kind" : "IdRef", "name" : "'P'" }
1978 "capabilities" : [ "DerivativeControl" ]
1981 "opname" : "OpDPdyCoarse",
1984 { "kind" : "IdResultType" },
1985 { "kind" : "IdResult" },
1986 { "kind" : "IdRef", "name" : "'P'" }
1988 "capabilities" : [ "DerivativeControl" ]
1991 "opname" : "OpFwidthCoarse",
1994 { "kind" : "IdResultType" },
1995 { "kind" : "IdResult" },
1996 { "kind" : "IdRef", "name" : "'P'" }
1998 "capabilities" : [ "DerivativeControl" ]
2001 "opname" : "OpEmitVertex",
2003 "capabilities" : [ "Geometry" ]
2006 "opname" : "OpEndPrimitive",
2008 "capabilities" : [ "Geometry" ]
2011 "opname" : "OpEmitStreamVertex",
2014 { "kind" : "IdRef", "name" : "'Stream'" }
2016 "capabilities" : [ "GeometryStreams" ]
2019 "opname" : "OpEndStreamPrimitive",
2022 { "kind" : "IdRef", "name" : "'Stream'" }
2024 "capabilities" : [ "GeometryStreams" ]
2027 "opname" : "OpControlBarrier",
2030 { "kind" : "IdScope", "name" : "'Execution'" },
2031 { "kind" : "IdScope", "name" : "'Memory'" },
2032 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2036 "opname" : "OpMemoryBarrier",
2039 { "kind" : "IdScope", "name" : "'Memory'" },
2040 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2044 "opname" : "OpAtomicLoad",
2047 { "kind" : "IdResultType" },
2048 { "kind" : "IdResult" },
2049 { "kind" : "IdRef", "name" : "'Pointer'" },
2050 { "kind" : "IdScope", "name" : "'Scope'" },
2051 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2055 "opname" : "OpAtomicStore",
2058 { "kind" : "IdRef", "name" : "'Pointer'" },
2059 { "kind" : "IdScope", "name" : "'Scope'" },
2060 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2061 { "kind" : "IdRef", "name" : "'Value'" }
2065 "opname" : "OpAtomicExchange",
2068 { "kind" : "IdResultType" },
2069 { "kind" : "IdResult" },
2070 { "kind" : "IdRef", "name" : "'Pointer'" },
2071 { "kind" : "IdScope", "name" : "'Scope'" },
2072 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2073 { "kind" : "IdRef", "name" : "'Value'" }
2077 "opname" : "OpAtomicCompareExchange",
2080 { "kind" : "IdResultType" },
2081 { "kind" : "IdResult" },
2082 { "kind" : "IdRef", "name" : "'Pointer'" },
2083 { "kind" : "IdScope", "name" : "'Scope'" },
2084 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2085 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2086 { "kind" : "IdRef", "name" : "'Value'" },
2087 { "kind" : "IdRef", "name" : "'Comparator'" }
2091 "opname" : "OpAtomicCompareExchangeWeak",
2094 { "kind" : "IdResultType" },
2095 { "kind" : "IdResult" },
2096 { "kind" : "IdRef", "name" : "'Pointer'" },
2097 { "kind" : "IdScope", "name" : "'Scope'" },
2098 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2099 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2100 { "kind" : "IdRef", "name" : "'Value'" },
2101 { "kind" : "IdRef", "name" : "'Comparator'" }
2103 "capabilities" : [ "Kernel" ]
2106 "opname" : "OpAtomicIIncrement",
2109 { "kind" : "IdResultType" },
2110 { "kind" : "IdResult" },
2111 { "kind" : "IdRef", "name" : "'Pointer'" },
2112 { "kind" : "IdScope", "name" : "'Scope'" },
2113 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2117 "opname" : "OpAtomicIDecrement",
2120 { "kind" : "IdResultType" },
2121 { "kind" : "IdResult" },
2122 { "kind" : "IdRef", "name" : "'Pointer'" },
2123 { "kind" : "IdScope", "name" : "'Scope'" },
2124 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2128 "opname" : "OpAtomicIAdd",
2131 { "kind" : "IdResultType" },
2132 { "kind" : "IdResult" },
2133 { "kind" : "IdRef", "name" : "'Pointer'" },
2134 { "kind" : "IdScope", "name" : "'Scope'" },
2135 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2136 { "kind" : "IdRef", "name" : "'Value'" }
2140 "opname" : "OpAtomicISub",
2143 { "kind" : "IdResultType" },
2144 { "kind" : "IdResult" },
2145 { "kind" : "IdRef", "name" : "'Pointer'" },
2146 { "kind" : "IdScope", "name" : "'Scope'" },
2147 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2148 { "kind" : "IdRef", "name" : "'Value'" }
2152 "opname" : "OpAtomicSMin",
2155 { "kind" : "IdResultType" },
2156 { "kind" : "IdResult" },
2157 { "kind" : "IdRef", "name" : "'Pointer'" },
2158 { "kind" : "IdScope", "name" : "'Scope'" },
2159 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2160 { "kind" : "IdRef", "name" : "'Value'" }
2164 "opname" : "OpAtomicUMin",
2167 { "kind" : "IdResultType" },
2168 { "kind" : "IdResult" },
2169 { "kind" : "IdRef", "name" : "'Pointer'" },
2170 { "kind" : "IdScope", "name" : "'Scope'" },
2171 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2172 { "kind" : "IdRef", "name" : "'Value'" }
2176 "opname" : "OpAtomicSMax",
2179 { "kind" : "IdResultType" },
2180 { "kind" : "IdResult" },
2181 { "kind" : "IdRef", "name" : "'Pointer'" },
2182 { "kind" : "IdScope", "name" : "'Scope'" },
2183 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2184 { "kind" : "IdRef", "name" : "'Value'" }
2188 "opname" : "OpAtomicUMax",
2191 { "kind" : "IdResultType" },
2192 { "kind" : "IdResult" },
2193 { "kind" : "IdRef", "name" : "'Pointer'" },
2194 { "kind" : "IdScope", "name" : "'Scope'" },
2195 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2196 { "kind" : "IdRef", "name" : "'Value'" }
2200 "opname" : "OpAtomicAnd",
2203 { "kind" : "IdResultType" },
2204 { "kind" : "IdResult" },
2205 { "kind" : "IdRef", "name" : "'Pointer'" },
2206 { "kind" : "IdScope", "name" : "'Scope'" },
2207 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2208 { "kind" : "IdRef", "name" : "'Value'" }
2212 "opname" : "OpAtomicOr",
2215 { "kind" : "IdResultType" },
2216 { "kind" : "IdResult" },
2217 { "kind" : "IdRef", "name" : "'Pointer'" },
2218 { "kind" : "IdScope", "name" : "'Scope'" },
2219 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2220 { "kind" : "IdRef", "name" : "'Value'" }
2224 "opname" : "OpAtomicXor",
2227 { "kind" : "IdResultType" },
2228 { "kind" : "IdResult" },
2229 { "kind" : "IdRef", "name" : "'Pointer'" },
2230 { "kind" : "IdScope", "name" : "'Scope'" },
2231 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2232 { "kind" : "IdRef", "name" : "'Value'" }
2239 { "kind" : "IdResultType" },
2240 { "kind" : "IdResult" },
2241 { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
2245 "opname" : "OpLoopMerge",
2248 { "kind" : "IdRef", "name" : "'Merge Block'" },
2249 { "kind" : "IdRef", "name" : "'Continue Target'" },
2250 { "kind" : "LoopControl" }
2254 "opname" : "OpSelectionMerge",
2257 { "kind" : "IdRef", "name" : "'Merge Block'" },
2258 { "kind" : "SelectionControl" }
2262 "opname" : "OpLabel",
2265 { "kind" : "IdResult" }
2269 "opname" : "OpBranch",
2272 { "kind" : "IdRef", "name" : "'Target Label'" }
2276 "opname" : "OpBranchConditional",
2279 { "kind" : "IdRef", "name" : "'Condition'" },
2280 { "kind" : "IdRef", "name" : "'True Label'" },
2281 { "kind" : "IdRef", "name" : "'False Label'" },
2282 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
2286 "opname" : "OpSwitch",
2289 { "kind" : "IdRef", "name" : "'Selector'" },
2290 { "kind" : "IdRef", "name" : "'Default'" },
2291 { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
2295 "opname" : "OpKill",
2297 "capabilities" : [ "Shader" ]
2300 "opname" : "OpReturn",
2304 "opname" : "OpReturnValue",
2307 { "kind" : "IdRef", "name" : "'Value'" }
2311 "opname" : "OpUnreachable",
2315 "opname" : "OpLifetimeStart",
2318 { "kind" : "IdRef", "name" : "'Pointer'" },
2319 { "kind" : "LiteralInteger", "name" : "'Size'" }
2321 "capabilities" : [ "Kernel" ]
2324 "opname" : "OpLifetimeStop",
2327 { "kind" : "IdRef", "name" : "'Pointer'" },
2328 { "kind" : "LiteralInteger", "name" : "'Size'" }
2330 "capabilities" : [ "Kernel" ]
2333 "opname" : "OpGroupAsyncCopy",
2336 { "kind" : "IdResultType" },
2337 { "kind" : "IdResult" },
2338 { "kind" : "IdScope", "name" : "'Execution'" },
2339 { "kind" : "IdRef", "name" : "'Destination'" },
2340 { "kind" : "IdRef", "name" : "'Source'" },
2341 { "kind" : "IdRef", "name" : "'Num Elements'" },
2342 { "kind" : "IdRef", "name" : "'Stride'" },
2343 { "kind" : "IdRef", "name" : "'Event'" }
2345 "capabilities" : [ "Kernel" ]
2348 "opname" : "OpGroupWaitEvents",
2351 { "kind" : "IdScope", "name" : "'Execution'" },
2352 { "kind" : "IdRef", "name" : "'Num Events'" },
2353 { "kind" : "IdRef", "name" : "'Events List'" }
2355 "capabilities" : [ "Kernel" ]
2358 "opname" : "OpGroupAll",
2361 { "kind" : "IdResultType" },
2362 { "kind" : "IdResult" },
2363 { "kind" : "IdScope", "name" : "'Execution'" },
2364 { "kind" : "IdRef", "name" : "'Predicate'" }
2366 "capabilities" : [ "Groups" ]
2369 "opname" : "OpGroupAny",
2372 { "kind" : "IdResultType" },
2373 { "kind" : "IdResult" },
2374 { "kind" : "IdScope", "name" : "'Execution'" },
2375 { "kind" : "IdRef", "name" : "'Predicate'" }
2377 "capabilities" : [ "Groups" ]
2380 "opname" : "OpGroupBroadcast",
2383 { "kind" : "IdResultType" },
2384 { "kind" : "IdResult" },
2385 { "kind" : "IdScope", "name" : "'Execution'" },
2386 { "kind" : "IdRef", "name" : "'Value'" },
2387 { "kind" : "IdRef", "name" : "'LocalId'" }
2389 "capabilities" : [ "Groups" ]
2392 "opname" : "OpGroupIAdd",
2395 { "kind" : "IdResultType" },
2396 { "kind" : "IdResult" },
2397 { "kind" : "IdScope", "name" : "'Execution'" },
2398 { "kind" : "GroupOperation", "name" : "'Operation'" },
2399 { "kind" : "IdRef", "name" : "'X'" }
2401 "capabilities" : [ "Groups" ]
2404 "opname" : "OpGroupFAdd",
2407 { "kind" : "IdResultType" },
2408 { "kind" : "IdResult" },
2409 { "kind" : "IdScope", "name" : "'Execution'" },
2410 { "kind" : "GroupOperation", "name" : "'Operation'" },
2411 { "kind" : "IdRef", "name" : "'X'" }
2413 "capabilities" : [ "Groups" ]
2416 "opname" : "OpGroupFMin",
2419 { "kind" : "IdResultType" },
2420 { "kind" : "IdResult" },
2421 { "kind" : "IdScope", "name" : "'Execution'" },
2422 { "kind" : "GroupOperation", "name" : "'Operation'" },
2423 { "kind" : "IdRef", "name" : "'X'" }
2425 "capabilities" : [ "Groups" ]
2428 "opname" : "OpGroupUMin",
2431 { "kind" : "IdResultType" },
2432 { "kind" : "IdResult" },
2433 { "kind" : "IdScope", "name" : "'Execution'" },
2434 { "kind" : "GroupOperation", "name" : "'Operation'" },
2435 { "kind" : "IdRef", "name" : "'X'" }
2437 "capabilities" : [ "Groups" ]
2440 "opname" : "OpGroupSMin",
2443 { "kind" : "IdResultType" },
2444 { "kind" : "IdResult" },
2445 { "kind" : "IdScope", "name" : "'Execution'" },
2446 { "kind" : "GroupOperation", "name" : "'Operation'" },
2447 { "kind" : "IdRef", "name" : "'X'" }
2449 "capabilities" : [ "Groups" ]
2452 "opname" : "OpGroupFMax",
2455 { "kind" : "IdResultType" },
2456 { "kind" : "IdResult" },
2457 { "kind" : "IdScope", "name" : "'Execution'" },
2458 { "kind" : "GroupOperation", "name" : "'Operation'" },
2459 { "kind" : "IdRef", "name" : "'X'" }
2461 "capabilities" : [ "Groups" ]
2464 "opname" : "OpGroupUMax",
2467 { "kind" : "IdResultType" },
2468 { "kind" : "IdResult" },
2469 { "kind" : "IdScope", "name" : "'Execution'" },
2470 { "kind" : "GroupOperation", "name" : "'Operation'" },
2471 { "kind" : "IdRef", "name" : "'X'" }
2473 "capabilities" : [ "Groups" ]
2476 "opname" : "OpGroupSMax",
2479 { "kind" : "IdResultType" },
2480 { "kind" : "IdResult" },
2481 { "kind" : "IdScope", "name" : "'Execution'" },
2482 { "kind" : "GroupOperation", "name" : "'Operation'" },
2483 { "kind" : "IdRef", "name" : "'X'" }
2485 "capabilities" : [ "Groups" ]
2488 "opname" : "OpReadPipe",
2491 { "kind" : "IdResultType" },
2492 { "kind" : "IdResult" },
2493 { "kind" : "IdRef", "name" : "'Pipe'" },
2494 { "kind" : "IdRef", "name" : "'Pointer'" },
2495 { "kind" : "IdRef", "name" : "'Packet Size'" },
2496 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2498 "capabilities" : [ "Pipes" ]
2501 "opname" : "OpWritePipe",
2504 { "kind" : "IdResultType" },
2505 { "kind" : "IdResult" },
2506 { "kind" : "IdRef", "name" : "'Pipe'" },
2507 { "kind" : "IdRef", "name" : "'Pointer'" },
2508 { "kind" : "IdRef", "name" : "'Packet Size'" },
2509 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2511 "capabilities" : [ "Pipes" ]
2514 "opname" : "OpReservedReadPipe",
2517 { "kind" : "IdResultType" },
2518 { "kind" : "IdResult" },
2519 { "kind" : "IdRef", "name" : "'Pipe'" },
2520 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2521 { "kind" : "IdRef", "name" : "'Index'" },
2522 { "kind" : "IdRef", "name" : "'Pointer'" },
2523 { "kind" : "IdRef", "name" : "'Packet Size'" },
2524 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2526 "capabilities" : [ "Pipes" ]
2529 "opname" : "OpReservedWritePipe",
2532 { "kind" : "IdResultType" },
2533 { "kind" : "IdResult" },
2534 { "kind" : "IdRef", "name" : "'Pipe'" },
2535 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2536 { "kind" : "IdRef", "name" : "'Index'" },
2537 { "kind" : "IdRef", "name" : "'Pointer'" },
2538 { "kind" : "IdRef", "name" : "'Packet Size'" },
2539 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2541 "capabilities" : [ "Pipes" ]
2544 "opname" : "OpReserveReadPipePackets",
2547 { "kind" : "IdResultType" },
2548 { "kind" : "IdResult" },
2549 { "kind" : "IdRef", "name" : "'Pipe'" },
2550 { "kind" : "IdRef", "name" : "'Num Packets'" },
2551 { "kind" : "IdRef", "name" : "'Packet Size'" },
2552 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2554 "capabilities" : [ "Pipes" ]
2557 "opname" : "OpReserveWritePipePackets",
2560 { "kind" : "IdResultType" },
2561 { "kind" : "IdResult" },
2562 { "kind" : "IdRef", "name" : "'Pipe'" },
2563 { "kind" : "IdRef", "name" : "'Num Packets'" },
2564 { "kind" : "IdRef", "name" : "'Packet Size'" },
2565 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2567 "capabilities" : [ "Pipes" ]
2570 "opname" : "OpCommitReadPipe",
2573 { "kind" : "IdRef", "name" : "'Pipe'" },
2574 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2575 { "kind" : "IdRef", "name" : "'Packet Size'" },
2576 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2578 "capabilities" : [ "Pipes" ]
2581 "opname" : "OpCommitWritePipe",
2584 { "kind" : "IdRef", "name" : "'Pipe'" },
2585 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2586 { "kind" : "IdRef", "name" : "'Packet Size'" },
2587 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2589 "capabilities" : [ "Pipes" ]
2592 "opname" : "OpIsValidReserveId",
2595 { "kind" : "IdResultType" },
2596 { "kind" : "IdResult" },
2597 { "kind" : "IdRef", "name" : "'Reserve Id'" }
2599 "capabilities" : [ "Pipes" ]
2602 "opname" : "OpGetNumPipePackets",
2605 { "kind" : "IdResultType" },
2606 { "kind" : "IdResult" },
2607 { "kind" : "IdRef", "name" : "'Pipe'" },
2608 { "kind" : "IdRef", "name" : "'Packet Size'" },
2609 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2611 "capabilities" : [ "Pipes" ]
2614 "opname" : "OpGetMaxPipePackets",
2617 { "kind" : "IdResultType" },
2618 { "kind" : "IdResult" },
2619 { "kind" : "IdRef", "name" : "'Pipe'" },
2620 { "kind" : "IdRef", "name" : "'Packet Size'" },
2621 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2623 "capabilities" : [ "Pipes" ]
2626 "opname" : "OpGroupReserveReadPipePackets",
2629 { "kind" : "IdResultType" },
2630 { "kind" : "IdResult" },
2631 { "kind" : "IdScope", "name" : "'Execution'" },
2632 { "kind" : "IdRef", "name" : "'Pipe'" },
2633 { "kind" : "IdRef", "name" : "'Num Packets'" },
2634 { "kind" : "IdRef", "name" : "'Packet Size'" },
2635 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2637 "capabilities" : [ "Pipes" ]
2640 "opname" : "OpGroupReserveWritePipePackets",
2643 { "kind" : "IdResultType" },
2644 { "kind" : "IdResult" },
2645 { "kind" : "IdScope", "name" : "'Execution'" },
2646 { "kind" : "IdRef", "name" : "'Pipe'" },
2647 { "kind" : "IdRef", "name" : "'Num Packets'" },
2648 { "kind" : "IdRef", "name" : "'Packet Size'" },
2649 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2651 "capabilities" : [ "Pipes" ]
2654 "opname" : "OpGroupCommitReadPipe",
2657 { "kind" : "IdScope", "name" : "'Execution'" },
2658 { "kind" : "IdRef", "name" : "'Pipe'" },
2659 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2660 { "kind" : "IdRef", "name" : "'Packet Size'" },
2661 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2663 "capabilities" : [ "Pipes" ]
2666 "opname" : "OpGroupCommitWritePipe",
2669 { "kind" : "IdScope", "name" : "'Execution'" },
2670 { "kind" : "IdRef", "name" : "'Pipe'" },
2671 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2672 { "kind" : "IdRef", "name" : "'Packet Size'" },
2673 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2675 "capabilities" : [ "Pipes" ]
2678 "opname" : "OpEnqueueMarker",
2681 { "kind" : "IdResultType" },
2682 { "kind" : "IdResult" },
2683 { "kind" : "IdRef", "name" : "'Queue'" },
2684 { "kind" : "IdRef", "name" : "'Num Events'" },
2685 { "kind" : "IdRef", "name" : "'Wait Events'" },
2686 { "kind" : "IdRef", "name" : "'Ret Event'" }
2688 "capabilities" : [ "DeviceEnqueue" ]
2691 "opname" : "OpEnqueueKernel",
2694 { "kind" : "IdResultType" },
2695 { "kind" : "IdResult" },
2696 { "kind" : "IdRef", "name" : "'Queue'" },
2697 { "kind" : "IdRef", "name" : "'Flags'" },
2698 { "kind" : "IdRef", "name" : "'ND Range'" },
2699 { "kind" : "IdRef", "name" : "'Num Events'" },
2700 { "kind" : "IdRef", "name" : "'Wait Events'" },
2701 { "kind" : "IdRef", "name" : "'Ret Event'" },
2702 { "kind" : "IdRef", "name" : "'Invoke'" },
2703 { "kind" : "IdRef", "name" : "'Param'" },
2704 { "kind" : "IdRef", "name" : "'Param Size'" },
2705 { "kind" : "IdRef", "name" : "'Param Align'" },
2706 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" }
2708 "capabilities" : [ "DeviceEnqueue" ]
2711 "opname" : "OpGetKernelNDrangeSubGroupCount",
2714 { "kind" : "IdResultType" },
2715 { "kind" : "IdResult" },
2716 { "kind" : "IdRef", "name" : "'ND Range'" },
2717 { "kind" : "IdRef", "name" : "'Invoke'" },
2718 { "kind" : "IdRef", "name" : "'Param'" },
2719 { "kind" : "IdRef", "name" : "'Param Size'" },
2720 { "kind" : "IdRef", "name" : "'Param Align'" }
2722 "capabilities" : [ "DeviceEnqueue" ]
2725 "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
2728 { "kind" : "IdResultType" },
2729 { "kind" : "IdResult" },
2730 { "kind" : "IdRef", "name" : "'ND Range'" },
2731 { "kind" : "IdRef", "name" : "'Invoke'" },
2732 { "kind" : "IdRef", "name" : "'Param'" },
2733 { "kind" : "IdRef", "name" : "'Param Size'" },
2734 { "kind" : "IdRef", "name" : "'Param Align'" }
2736 "capabilities" : [ "DeviceEnqueue" ]
2739 "opname" : "OpGetKernelWorkGroupSize",
2742 { "kind" : "IdResultType" },
2743 { "kind" : "IdResult" },
2744 { "kind" : "IdRef", "name" : "'Invoke'" },
2745 { "kind" : "IdRef", "name" : "'Param'" },
2746 { "kind" : "IdRef", "name" : "'Param Size'" },
2747 { "kind" : "IdRef", "name" : "'Param Align'" }
2749 "capabilities" : [ "DeviceEnqueue" ]
2752 "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
2755 { "kind" : "IdResultType" },
2756 { "kind" : "IdResult" },
2757 { "kind" : "IdRef", "name" : "'Invoke'" },
2758 { "kind" : "IdRef", "name" : "'Param'" },
2759 { "kind" : "IdRef", "name" : "'Param Size'" },
2760 { "kind" : "IdRef", "name" : "'Param Align'" }
2762 "capabilities" : [ "DeviceEnqueue" ]
2765 "opname" : "OpRetainEvent",
2768 { "kind" : "IdRef", "name" : "'Event'" }
2770 "capabilities" : [ "DeviceEnqueue" ]
2773 "opname" : "OpReleaseEvent",
2776 { "kind" : "IdRef", "name" : "'Event'" }
2778 "capabilities" : [ "DeviceEnqueue" ]
2781 "opname" : "OpCreateUserEvent",
2784 { "kind" : "IdResultType" },
2785 { "kind" : "IdResult" }
2787 "capabilities" : [ "DeviceEnqueue" ]
2790 "opname" : "OpIsValidEvent",
2793 { "kind" : "IdResultType" },
2794 { "kind" : "IdResult" },
2795 { "kind" : "IdRef", "name" : "'Event'" }
2797 "capabilities" : [ "DeviceEnqueue" ]
2800 "opname" : "OpSetUserEventStatus",
2803 { "kind" : "IdRef", "name" : "'Event'" },
2804 { "kind" : "IdRef", "name" : "'Status'" }
2806 "capabilities" : [ "DeviceEnqueue" ]
2809 "opname" : "OpCaptureEventProfilingInfo",
2812 { "kind" : "IdRef", "name" : "'Event'" },
2813 { "kind" : "IdRef", "name" : "'Profiling Info'" },
2814 { "kind" : "IdRef", "name" : "'Value'" }
2816 "capabilities" : [ "DeviceEnqueue" ]
2819 "opname" : "OpGetDefaultQueue",
2822 { "kind" : "IdResultType" },
2823 { "kind" : "IdResult" }
2825 "capabilities" : [ "DeviceEnqueue" ]
2828 "opname" : "OpBuildNDRange",
2831 { "kind" : "IdResultType" },
2832 { "kind" : "IdResult" },
2833 { "kind" : "IdRef", "name" : "'GlobalWorkSize'" },
2834 { "kind" : "IdRef", "name" : "'LocalWorkSize'" },
2835 { "kind" : "IdRef", "name" : "'GlobalWorkOffset'" }
2837 "capabilities" : [ "DeviceEnqueue" ]
2840 "opname" : "OpImageSparseSampleImplicitLod",
2843 { "kind" : "IdResultType" },
2844 { "kind" : "IdResult" },
2845 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2846 { "kind" : "IdRef", "name" : "'Coordinate'" },
2847 { "kind" : "ImageOperands", "quantifier" : "?" }
2849 "capabilities" : [ "SparseResidency" ]
2852 "opname" : "OpImageSparseSampleExplicitLod",
2855 { "kind" : "IdResultType" },
2856 { "kind" : "IdResult" },
2857 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2858 { "kind" : "IdRef", "name" : "'Coordinate'" },
2859 { "kind" : "ImageOperands" }
2861 "capabilities" : [ "SparseResidency" ]
2864 "opname" : "OpImageSparseSampleDrefImplicitLod",
2867 { "kind" : "IdResultType" },
2868 { "kind" : "IdResult" },
2869 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2870 { "kind" : "IdRef", "name" : "'Coordinate'" },
2871 { "kind" : "IdRef", "name" : "'D~ref~'" },
2872 { "kind" : "ImageOperands", "quantifier" : "?" }
2874 "capabilities" : [ "SparseResidency" ]
2877 "opname" : "OpImageSparseSampleDrefExplicitLod",
2880 { "kind" : "IdResultType" },
2881 { "kind" : "IdResult" },
2882 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2883 { "kind" : "IdRef", "name" : "'Coordinate'" },
2884 { "kind" : "IdRef", "name" : "'D~ref~'" },
2885 { "kind" : "ImageOperands" }
2887 "capabilities" : [ "SparseResidency" ]
2890 "opname" : "OpImageSparseSampleProjImplicitLod",
2893 { "kind" : "IdResultType" },
2894 { "kind" : "IdResult" },
2895 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2896 { "kind" : "IdRef", "name" : "'Coordinate'" },
2897 { "kind" : "ImageOperands", "quantifier" : "?" }
2899 "capabilities" : [ "SparseResidency" ],
2903 "opname" : "OpImageSparseSampleProjExplicitLod",
2906 { "kind" : "IdResultType" },
2907 { "kind" : "IdResult" },
2908 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2909 { "kind" : "IdRef", "name" : "'Coordinate'" },
2910 { "kind" : "ImageOperands" }
2912 "capabilities" : [ "SparseResidency" ],
2916 "opname" : "OpImageSparseSampleProjDrefImplicitLod",
2919 { "kind" : "IdResultType" },
2920 { "kind" : "IdResult" },
2921 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2922 { "kind" : "IdRef", "name" : "'Coordinate'" },
2923 { "kind" : "IdRef", "name" : "'D~ref~'" },
2924 { "kind" : "ImageOperands", "quantifier" : "?" }
2926 "capabilities" : [ "SparseResidency" ],
2930 "opname" : "OpImageSparseSampleProjDrefExplicitLod",
2933 { "kind" : "IdResultType" },
2934 { "kind" : "IdResult" },
2935 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2936 { "kind" : "IdRef", "name" : "'Coordinate'" },
2937 { "kind" : "IdRef", "name" : "'D~ref~'" },
2938 { "kind" : "ImageOperands" }
2940 "capabilities" : [ "SparseResidency" ],
2944 "opname" : "OpImageSparseFetch",
2947 { "kind" : "IdResultType" },
2948 { "kind" : "IdResult" },
2949 { "kind" : "IdRef", "name" : "'Image'" },
2950 { "kind" : "IdRef", "name" : "'Coordinate'" },
2951 { "kind" : "ImageOperands", "quantifier" : "?" }
2953 "capabilities" : [ "SparseResidency" ]
2956 "opname" : "OpImageSparseGather",
2959 { "kind" : "IdResultType" },
2960 { "kind" : "IdResult" },
2961 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2962 { "kind" : "IdRef", "name" : "'Coordinate'" },
2963 { "kind" : "IdRef", "name" : "'Component'" },
2964 { "kind" : "ImageOperands", "quantifier" : "?" }
2966 "capabilities" : [ "SparseResidency" ]
2969 "opname" : "OpImageSparseDrefGather",
2972 { "kind" : "IdResultType" },
2973 { "kind" : "IdResult" },
2974 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2975 { "kind" : "IdRef", "name" : "'Coordinate'" },
2976 { "kind" : "IdRef", "name" : "'D~ref~'" },
2977 { "kind" : "ImageOperands", "quantifier" : "?" }
2979 "capabilities" : [ "SparseResidency" ]
2982 "opname" : "OpImageSparseTexelsResident",
2985 { "kind" : "IdResultType" },
2986 { "kind" : "IdResult" },
2987 { "kind" : "IdRef", "name" : "'Resident Code'" }
2989 "capabilities" : [ "SparseResidency" ]
2992 "opname" : "OpNoLine",
2996 "opname" : "OpAtomicFlagTestAndSet",
2999 { "kind" : "IdResultType" },
3000 { "kind" : "IdResult" },
3001 { "kind" : "IdRef", "name" : "'Pointer'" },
3002 { "kind" : "IdScope", "name" : "'Scope'" },
3003 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3005 "capabilities" : [ "Kernel" ]
3008 "opname" : "OpAtomicFlagClear",
3011 { "kind" : "IdRef", "name" : "'Pointer'" },
3012 { "kind" : "IdScope", "name" : "'Scope'" },
3013 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3015 "capabilities" : [ "Kernel" ]
3018 "opname" : "OpImageSparseRead",
3021 { "kind" : "IdResultType" },
3022 { "kind" : "IdResult" },
3023 { "kind" : "IdRef", "name" : "'Image'" },
3024 { "kind" : "IdRef", "name" : "'Coordinate'" },
3025 { "kind" : "ImageOperands", "quantifier" : "?" }
3027 "capabilities" : [ "SparseResidency" ]
3030 "opname" : "OpSizeOf",
3033 { "kind" : "IdResultType" },
3034 { "kind" : "IdResult" },
3035 { "kind" : "IdRef", "name" : "'Pointer'" }
3037 "capabilities" : [ "Addresses" ],
3041 "opname" : "OpTypePipeStorage",
3044 { "kind" : "IdResult" }
3046 "capabilities" : [ "PipeStorage" ],
3050 "opname" : "OpConstantPipeStorage",
3053 { "kind" : "IdResultType" },
3054 { "kind" : "IdResult" },
3055 { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
3056 { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
3057 { "kind" : "LiteralInteger", "name" : "'Capacity'" }
3059 "capabilities" : [ "PipeStorage" ],
3063 "opname" : "OpCreatePipeFromPipeStorage",
3066 { "kind" : "IdResultType" },
3067 { "kind" : "IdResult" },
3068 { "kind" : "IdRef", "name" : "'Pipe Storage'" }
3070 "capabilities" : [ "PipeStorage" ],
3074 "opname" : "OpGetKernelLocalSizeForSubgroupCount",
3077 { "kind" : "IdResultType" },
3078 { "kind" : "IdResult" },
3079 { "kind" : "IdRef", "name" : "'Subgroup Count'" },
3080 { "kind" : "IdRef", "name" : "'Invoke'" },
3081 { "kind" : "IdRef", "name" : "'Param'" },
3082 { "kind" : "IdRef", "name" : "'Param Size'" },
3083 { "kind" : "IdRef", "name" : "'Param Align'" }
3085 "capabilities" : [ "SubgroupDispatch" ],
3089 "opname" : "OpGetKernelMaxNumSubgroups",
3092 { "kind" : "IdResultType" },
3093 { "kind" : "IdResult" },
3094 { "kind" : "IdRef", "name" : "'Invoke'" },
3095 { "kind" : "IdRef", "name" : "'Param'" },
3096 { "kind" : "IdRef", "name" : "'Param Size'" },
3097 { "kind" : "IdRef", "name" : "'Param Align'" }
3099 "capabilities" : [ "SubgroupDispatch" ],
3103 "opname" : "OpTypeNamedBarrier",
3106 { "kind" : "IdResult" }
3108 "capabilities" : [ "NamedBarrier" ],
3112 "opname" : "OpNamedBarrierInitialize",
3115 { "kind" : "IdResultType" },
3116 { "kind" : "IdResult" },
3117 { "kind" : "IdRef", "name" : "'Subgroup Count'" }
3119 "capabilities" : [ "NamedBarrier" ],
3123 "opname" : "OpMemoryNamedBarrier",
3126 { "kind" : "IdRef", "name" : "'Named Barrier'" },
3127 { "kind" : "IdScope", "name" : "'Memory'" },
3128 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3130 "capabilities" : [ "NamedBarrier" ],
3134 "opname" : "OpModuleProcessed",
3137 { "kind" : "LiteralString", "name" : "'Process'" }
3142 "opname" : "OpExecutionModeId",
3145 { "kind" : "IdRef", "name" : "'Entry Point'" },
3146 { "kind" : "ExecutionMode", "name" : "'Mode'" }
3151 "opname" : "OpDecorateId",
3154 { "kind" : "IdRef", "name" : "'Target'" },
3155 { "kind" : "Decoration" }
3157 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
3161 "opname" : "OpGroupNonUniformElect",
3164 { "kind" : "IdResultType" },
3165 { "kind" : "IdResult" },
3166 { "kind" : "IdScope", "name" : "'Execution'" }
3168 "capabilities" : [ "GroupNonUniform" ],
3172 "opname" : "OpGroupNonUniformAll",
3175 { "kind" : "IdResultType" },
3176 { "kind" : "IdResult" },
3177 { "kind" : "IdScope", "name" : "'Execution'" },
3178 { "kind" : "IdRef", "name" : "'Predicate'" }
3180 "capabilities" : [ "GroupNonUniformVote" ],
3184 "opname" : "OpGroupNonUniformAny",
3187 { "kind" : "IdResultType" },
3188 { "kind" : "IdResult" },
3189 { "kind" : "IdScope", "name" : "'Execution'" },
3190 { "kind" : "IdRef", "name" : "'Predicate'" }
3192 "capabilities" : [ "GroupNonUniformVote" ],
3196 "opname" : "OpGroupNonUniformAllEqual",
3199 { "kind" : "IdResultType" },
3200 { "kind" : "IdResult" },
3201 { "kind" : "IdScope", "name" : "'Execution'" },
3202 { "kind" : "IdRef", "name" : "'Value'" }
3204 "capabilities" : [ "GroupNonUniformVote" ],
3208 "opname" : "OpGroupNonUniformBroadcast",
3211 { "kind" : "IdResultType" },
3212 { "kind" : "IdResult" },
3213 { "kind" : "IdScope", "name" : "'Execution'" },
3214 { "kind" : "IdRef", "name" : "'Value'" },
3215 { "kind" : "IdRef", "name" : "'Id'" }
3217 "capabilities" : [ "GroupNonUniformBallot" ],
3221 "opname" : "OpGroupNonUniformBroadcastFirst",
3224 { "kind" : "IdResultType" },
3225 { "kind" : "IdResult" },
3226 { "kind" : "IdScope", "name" : "'Execution'" },
3227 { "kind" : "IdRef", "name" : "'Value'" }
3229 "capabilities" : [ "GroupNonUniformBallot" ],
3233 "opname" : "OpGroupNonUniformBallot",
3236 { "kind" : "IdResultType" },
3237 { "kind" : "IdResult" },
3238 { "kind" : "IdScope", "name" : "'Execution'" },
3239 { "kind" : "IdRef", "name" : "'Predicate'" }
3241 "capabilities" : [ "GroupNonUniformBallot" ],
3245 "opname" : "OpGroupNonUniformInverseBallot",
3248 { "kind" : "IdResultType" },
3249 { "kind" : "IdResult" },
3250 { "kind" : "IdScope", "name" : "'Execution'" },
3251 { "kind" : "IdRef", "name" : "'Value'" }
3253 "capabilities" : [ "GroupNonUniformBallot" ],
3257 "opname" : "OpGroupNonUniformBallotBitExtract",
3260 { "kind" : "IdResultType" },
3261 { "kind" : "IdResult" },
3262 { "kind" : "IdScope", "name" : "'Execution'" },
3263 { "kind" : "IdRef", "name" : "'Value'" },
3264 { "kind" : "IdRef", "name" : "'Index'" }
3266 "capabilities" : [ "GroupNonUniformBallot" ],
3270 "opname" : "OpGroupNonUniformBallotBitCount",
3273 { "kind" : "IdResultType" },
3274 { "kind" : "IdResult" },
3275 { "kind" : "IdScope", "name" : "'Execution'" },
3276 { "kind" : "GroupOperation", "name" : "'Operation'" },
3277 { "kind" : "IdRef", "name" : "'Value'" }
3279 "capabilities" : [ "GroupNonUniformBallot" ],
3283 "opname" : "OpGroupNonUniformBallotFindLSB",
3286 { "kind" : "IdResultType" },
3287 { "kind" : "IdResult" },
3288 { "kind" : "IdScope", "name" : "'Execution'" },
3289 { "kind" : "IdRef", "name" : "'Value'" }
3291 "capabilities" : [ "GroupNonUniformBallot" ],
3295 "opname" : "OpGroupNonUniformBallotFindMSB",
3298 { "kind" : "IdResultType" },
3299 { "kind" : "IdResult" },
3300 { "kind" : "IdScope", "name" : "'Execution'" },
3301 { "kind" : "IdRef", "name" : "'Value'" }
3303 "capabilities" : [ "GroupNonUniformBallot" ],
3307 "opname" : "OpGroupNonUniformShuffle",
3310 { "kind" : "IdResultType" },
3311 { "kind" : "IdResult" },
3312 { "kind" : "IdScope", "name" : "'Execution'" },
3313 { "kind" : "IdRef", "name" : "'Value'" },
3314 { "kind" : "IdRef", "name" : "'Id'" }
3316 "capabilities" : [ "GroupNonUniformShuffle" ],
3320 "opname" : "OpGroupNonUniformShuffleXor",
3323 { "kind" : "IdResultType" },
3324 { "kind" : "IdResult" },
3325 { "kind" : "IdScope", "name" : "'Execution'" },
3326 { "kind" : "IdRef", "name" : "'Value'" },
3327 { "kind" : "IdRef", "name" : "'Mask'" }
3329 "capabilities" : [ "GroupNonUniformShuffle" ],
3333 "opname" : "OpGroupNonUniformShuffleUp",
3336 { "kind" : "IdResultType" },
3337 { "kind" : "IdResult" },
3338 { "kind" : "IdScope", "name" : "'Execution'" },
3339 { "kind" : "IdRef", "name" : "'Value'" },
3340 { "kind" : "IdRef", "name" : "'Delta'" }
3342 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3346 "opname" : "OpGroupNonUniformShuffleDown",
3349 { "kind" : "IdResultType" },
3350 { "kind" : "IdResult" },
3351 { "kind" : "IdScope", "name" : "'Execution'" },
3352 { "kind" : "IdRef", "name" : "'Value'" },
3353 { "kind" : "IdRef", "name" : "'Delta'" }
3355 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3359 "opname" : "OpGroupNonUniformIAdd",
3362 { "kind" : "IdResultType" },
3363 { "kind" : "IdResult" },
3364 { "kind" : "IdScope", "name" : "'Execution'" },
3365 { "kind" : "GroupOperation", "name" : "'Operation'" },
3366 { "kind" : "IdRef", "name" : "'Value'" },
3367 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3369 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3373 "opname" : "OpGroupNonUniformFAdd",
3376 { "kind" : "IdResultType" },
3377 { "kind" : "IdResult" },
3378 { "kind" : "IdScope", "name" : "'Execution'" },
3379 { "kind" : "GroupOperation", "name" : "'Operation'" },
3380 { "kind" : "IdRef", "name" : "'Value'" },
3381 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3383 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3387 "opname" : "OpGroupNonUniformIMul",
3390 { "kind" : "IdResultType" },
3391 { "kind" : "IdResult" },
3392 { "kind" : "IdScope", "name" : "'Execution'" },
3393 { "kind" : "GroupOperation", "name" : "'Operation'" },
3394 { "kind" : "IdRef", "name" : "'Value'" },
3395 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3397 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3401 "opname" : "OpGroupNonUniformFMul",
3404 { "kind" : "IdResultType" },
3405 { "kind" : "IdResult" },
3406 { "kind" : "IdScope", "name" : "'Execution'" },
3407 { "kind" : "GroupOperation", "name" : "'Operation'" },
3408 { "kind" : "IdRef", "name" : "'Value'" },
3409 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3411 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3415 "opname" : "OpGroupNonUniformSMin",
3418 { "kind" : "IdResultType" },
3419 { "kind" : "IdResult" },
3420 { "kind" : "IdScope", "name" : "'Execution'" },
3421 { "kind" : "GroupOperation", "name" : "'Operation'" },
3422 { "kind" : "IdRef", "name" : "'Value'" },
3423 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3425 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3429 "opname" : "OpGroupNonUniformUMin",
3432 { "kind" : "IdResultType" },
3433 { "kind" : "IdResult" },
3434 { "kind" : "IdScope", "name" : "'Execution'" },
3435 { "kind" : "GroupOperation", "name" : "'Operation'" },
3436 { "kind" : "IdRef", "name" : "'Value'" },
3437 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3439 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3443 "opname" : "OpGroupNonUniformFMin",
3446 { "kind" : "IdResultType" },
3447 { "kind" : "IdResult" },
3448 { "kind" : "IdScope", "name" : "'Execution'" },
3449 { "kind" : "GroupOperation", "name" : "'Operation'" },
3450 { "kind" : "IdRef", "name" : "'Value'" },
3451 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3453 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3457 "opname" : "OpGroupNonUniformSMax",
3460 { "kind" : "IdResultType" },
3461 { "kind" : "IdResult" },
3462 { "kind" : "IdScope", "name" : "'Execution'" },
3463 { "kind" : "GroupOperation", "name" : "'Operation'" },
3464 { "kind" : "IdRef", "name" : "'Value'" },
3465 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3467 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3471 "opname" : "OpGroupNonUniformUMax",
3474 { "kind" : "IdResultType" },
3475 { "kind" : "IdResult" },
3476 { "kind" : "IdScope", "name" : "'Execution'" },
3477 { "kind" : "GroupOperation", "name" : "'Operation'" },
3478 { "kind" : "IdRef", "name" : "'Value'" },
3479 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3481 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3485 "opname" : "OpGroupNonUniformFMax",
3488 { "kind" : "IdResultType" },
3489 { "kind" : "IdResult" },
3490 { "kind" : "IdScope", "name" : "'Execution'" },
3491 { "kind" : "GroupOperation", "name" : "'Operation'" },
3492 { "kind" : "IdRef", "name" : "'Value'" },
3493 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3495 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3499 "opname" : "OpGroupNonUniformBitwiseAnd",
3502 { "kind" : "IdResultType" },
3503 { "kind" : "IdResult" },
3504 { "kind" : "IdScope", "name" : "'Execution'" },
3505 { "kind" : "GroupOperation", "name" : "'Operation'" },
3506 { "kind" : "IdRef", "name" : "'Value'" },
3507 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3509 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3513 "opname" : "OpGroupNonUniformBitwiseOr",
3516 { "kind" : "IdResultType" },
3517 { "kind" : "IdResult" },
3518 { "kind" : "IdScope", "name" : "'Execution'" },
3519 { "kind" : "GroupOperation", "name" : "'Operation'" },
3520 { "kind" : "IdRef", "name" : "'Value'" },
3521 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3523 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3527 "opname" : "OpGroupNonUniformBitwiseXor",
3530 { "kind" : "IdResultType" },
3531 { "kind" : "IdResult" },
3532 { "kind" : "IdScope", "name" : "'Execution'" },
3533 { "kind" : "GroupOperation", "name" : "'Operation'" },
3534 { "kind" : "IdRef", "name" : "'Value'" },
3535 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3537 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3541 "opname" : "OpGroupNonUniformLogicalAnd",
3544 { "kind" : "IdResultType" },
3545 { "kind" : "IdResult" },
3546 { "kind" : "IdScope", "name" : "'Execution'" },
3547 { "kind" : "GroupOperation", "name" : "'Operation'" },
3548 { "kind" : "IdRef", "name" : "'Value'" },
3549 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3551 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3555 "opname" : "OpGroupNonUniformLogicalOr",
3558 { "kind" : "IdResultType" },
3559 { "kind" : "IdResult" },
3560 { "kind" : "IdScope", "name" : "'Execution'" },
3561 { "kind" : "GroupOperation", "name" : "'Operation'" },
3562 { "kind" : "IdRef", "name" : "'Value'" },
3563 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3565 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3569 "opname" : "OpGroupNonUniformLogicalXor",
3572 { "kind" : "IdResultType" },
3573 { "kind" : "IdResult" },
3574 { "kind" : "IdScope", "name" : "'Execution'" },
3575 { "kind" : "GroupOperation", "name" : "'Operation'" },
3576 { "kind" : "IdRef", "name" : "'Value'" },
3577 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3579 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3583 "opname" : "OpGroupNonUniformQuadBroadcast",
3586 { "kind" : "IdResultType" },
3587 { "kind" : "IdResult" },
3588 { "kind" : "IdScope", "name" : "'Execution'" },
3589 { "kind" : "IdRef", "name" : "'Value'" },
3590 { "kind" : "IdRef", "name" : "'Index'" }
3592 "capabilities" : [ "GroupNonUniformQuad" ],
3596 "opname" : "OpGroupNonUniformQuadSwap",
3599 { "kind" : "IdResultType" },
3600 { "kind" : "IdResult" },
3601 { "kind" : "IdScope", "name" : "'Execution'" },
3602 { "kind" : "IdRef", "name" : "'Value'" },
3603 { "kind" : "IdRef", "name" : "'Direction'" }
3605 "capabilities" : [ "GroupNonUniformQuad" ],
3609 "opname" : "OpSubgroupBallotKHR",
3612 { "kind" : "IdResultType" },
3613 { "kind" : "IdResult" },
3614 { "kind" : "IdRef", "name" : "'Predicate'" }
3616 "capabilities" : [ "SubgroupBallotKHR" ],
3617 "extensions" : [ "SPV_KHR_shader_ballot" ],
3621 "opname" : "OpSubgroupFirstInvocationKHR",
3624 { "kind" : "IdResultType" },
3625 { "kind" : "IdResult" },
3626 { "kind" : "IdRef", "name" : "'Value'" }
3628 "capabilities" : [ "SubgroupBallotKHR" ],
3629 "extensions" : [ "SPV_KHR_shader_ballot" ],
3633 "opname" : "OpSubgroupAllKHR",
3636 { "kind" : "IdResultType" },
3637 { "kind" : "IdResult" },
3638 { "kind" : "IdRef", "name" : "'Predicate'" }
3641 "SPV_KHR_subgroup_vote"
3643 "capabilities" : [ "SubgroupVoteKHR" ],
3647 "opname" : "OpSubgroupAnyKHR",
3650 { "kind" : "IdResultType" },
3651 { "kind" : "IdResult" },
3652 { "kind" : "IdRef", "name" : "'Predicate'" }
3655 "SPV_KHR_subgroup_vote"
3657 "capabilities" : [ "SubgroupVoteKHR" ],
3661 "opname" : "OpSubgroupAllEqualKHR",
3664 { "kind" : "IdResultType" },
3665 { "kind" : "IdResult" },
3666 { "kind" : "IdRef", "name" : "'Predicate'" }
3669 "SPV_KHR_subgroup_vote"
3671 "capabilities" : [ "SubgroupVoteKHR" ],
3675 "opname" : "OpSubgroupReadInvocationKHR",
3678 { "kind" : "IdResultType" },
3679 { "kind" : "IdResult" },
3680 { "kind" : "IdRef", "name" : "'Value'" },
3681 { "kind" : "IdRef", "name" : "'Index'" }
3683 "capabilities" : [ "SubgroupBallotKHR" ],
3684 "extensions" : [ "SPV_KHR_shader_ballot" ],
3688 "opname" : "OpGroupIAddNonUniformAMD",
3691 { "kind" : "IdResultType" },
3692 { "kind" : "IdResult" },
3693 { "kind" : "IdScope", "name" : "'Execution'" },
3694 { "kind" : "GroupOperation", "name" : "'Operation'" },
3695 { "kind" : "IdRef", "name" : "'X'" }
3697 "capabilities" : [ "Groups" ],
3698 "extensions" : [ "SPV_AMD_shader_ballot" ],
3702 "opname" : "OpGroupFAddNonUniformAMD",
3705 { "kind" : "IdResultType" },
3706 { "kind" : "IdResult" },
3707 { "kind" : "IdScope", "name" : "'Execution'" },
3708 { "kind" : "GroupOperation", "name" : "'Operation'" },
3709 { "kind" : "IdRef", "name" : "'X'" }
3711 "capabilities" : [ "Groups" ],
3712 "extensions" : [ "SPV_AMD_shader_ballot" ],
3716 "opname" : "OpGroupFMinNonUniformAMD",
3719 { "kind" : "IdResultType" },
3720 { "kind" : "IdResult" },
3721 { "kind" : "IdScope", "name" : "'Execution'" },
3722 { "kind" : "GroupOperation", "name" : "'Operation'" },
3723 { "kind" : "IdRef", "name" : "'X'" }
3725 "capabilities" : [ "Groups" ],
3726 "extensions" : [ "SPV_AMD_shader_ballot" ],
3730 "opname" : "OpGroupUMinNonUniformAMD",
3733 { "kind" : "IdResultType" },
3734 { "kind" : "IdResult" },
3735 { "kind" : "IdScope", "name" : "'Execution'" },
3736 { "kind" : "GroupOperation", "name" : "'Operation'" },
3737 { "kind" : "IdRef", "name" : "'X'" }
3739 "capabilities" : [ "Groups" ],
3740 "extensions" : [ "SPV_AMD_shader_ballot" ],
3744 "opname" : "OpGroupSMinNonUniformAMD",
3747 { "kind" : "IdResultType" },
3748 { "kind" : "IdResult" },
3749 { "kind" : "IdScope", "name" : "'Execution'" },
3750 { "kind" : "GroupOperation", "name" : "'Operation'" },
3751 { "kind" : "IdRef", "name" : "'X'" }
3753 "capabilities" : [ "Groups" ],
3754 "extensions" : [ "SPV_AMD_shader_ballot" ],
3758 "opname" : "OpGroupFMaxNonUniformAMD",
3761 { "kind" : "IdResultType" },
3762 { "kind" : "IdResult" },
3763 { "kind" : "IdScope", "name" : "'Execution'" },
3764 { "kind" : "GroupOperation", "name" : "'Operation'" },
3765 { "kind" : "IdRef", "name" : "'X'" }
3767 "capabilities" : [ "Groups" ],
3768 "extensions" : [ "SPV_AMD_shader_ballot" ],
3772 "opname" : "OpGroupUMaxNonUniformAMD",
3775 { "kind" : "IdResultType" },
3776 { "kind" : "IdResult" },
3777 { "kind" : "IdScope", "name" : "'Execution'" },
3778 { "kind" : "GroupOperation", "name" : "'Operation'" },
3779 { "kind" : "IdRef", "name" : "'X'" }
3781 "capabilities" : [ "Groups" ],
3782 "extensions" : [ "SPV_AMD_shader_ballot" ],
3786 "opname" : "OpGroupSMaxNonUniformAMD",
3789 { "kind" : "IdResultType" },
3790 { "kind" : "IdResult" },
3791 { "kind" : "IdScope", "name" : "'Execution'" },
3792 { "kind" : "GroupOperation", "name" : "'Operation'" },
3793 { "kind" : "IdRef", "name" : "'X'" }
3795 "capabilities" : [ "Groups" ],
3796 "extensions" : [ "SPV_AMD_shader_ballot" ],
3800 "opname" : "OpFragmentMaskFetchAMD",
3803 { "kind" : "IdResultType" },
3804 { "kind" : "IdResult" },
3805 { "kind" : "IdRef", "name" : "'Image'" },
3806 { "kind" : "IdRef", "name" : "'Coordinate'" }
3808 "capabilities" : [ "FragmentMaskAMD" ],
3809 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
3813 "opname" : "OpFragmentFetchAMD",
3816 { "kind" : "IdResultType" },
3817 { "kind" : "IdResult" },
3818 { "kind" : "IdRef", "name" : "'Image'" },
3819 { "kind" : "IdRef", "name" : "'Coordinate'" },
3820 { "kind" : "IdRef", "name" : "'Fragment Index'" }
3822 "capabilities" : [ "FragmentMaskAMD" ],
3823 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
3827 "opname" : "OpWritePackedPrimitiveIndices4x8NV",
3830 { "kind" : "IdRef", "name" : "'Index Offset'" },
3831 { "kind" : "IdRef", "name" : "'Packed Indices'" }
3833 "capabilities" : [ "MeshShadingNV" ],
3834 "extensions" : [ "SPV_NV_mesh_shader" ],
3838 "opname" : "OpReportIntersectionNV",
3841 { "kind" : "IdResultType" },
3842 { "kind" : "IdResult" },
3843 { "kind" : "IdRef", "name" : "'Hit'" },
3844 { "kind" : "IdRef", "name" : "'HitKind'" }
3846 "capabilities" : [ "RayTracingNV" ],
3847 "extensions" : [ "SPV_NV_ray_tracing" ]
3850 "opname" : "OpIgnoreIntersectionNV",
3853 "capabilities" : [ "RayTracingNV" ],
3854 "extensions" : [ "SPV_NV_ray_tracing" ]
3857 "opname" : "OpTerminateRayNV",
3860 "capabilities" : [ "RayTracingNV" ],
3861 "extensions" : [ "SPV_NV_ray_tracing" ]
3864 "opname" : "OpTraceNV",
3868 { "kind" : "IdRef", "name" : "'Accel'" },
3869 { "kind" : "IdRef", "name" : "'Ray Flags'" },
3870 { "kind" : "IdRef", "name" : "'Cull Mask'" },
3871 { "kind" : "IdRef", "name" : "'SBT Offset'" },
3872 { "kind" : "IdRef", "name" : "'SBT Stride'" },
3873 { "kind" : "IdRef", "name" : "'Miss Index'" },
3874 { "kind" : "IdRef", "name" : "'Ray Origin'" },
3875 { "kind" : "IdRef", "name" : "'Ray Tmin'" },
3876 { "kind" : "IdRef", "name" : "'Ray Direction'" },
3877 { "kind" : "IdRef", "name" : "'Ray Tmax'" },
3878 { "kind" : "IdRef", "name" : "'PayloadId'" }
3880 "capabilities" : [ "RayTracingNV" ],
3881 "extensions" : [ "SPV_NV_ray_tracing" ]
3884 "opname" : "OpTypeAccelerationStructureNV",
3887 { "kind" : "IdResult" }
3889 "capabilities" : [ "RayTracingNV" ],
3890 "extensions" : [ "SPV_NV_ray_tracing" ]
3893 "opname" : "OpExecuteCallableNV",
3897 { "kind" : "IdRef", "name" : "'SBT Index'" },
3898 { "kind" : "IdRef", "name" : "'Callable DataId'" }
3900 "capabilities" : [ "RayTracingNV" ],
3901 "extensions" : [ "SPV_NV_ray_tracing" ]
3904 "opname" : "OpSubgroupShuffleINTEL",
3907 { "kind" : "IdResultType" },
3908 { "kind" : "IdResult" },
3909 { "kind" : "IdRef", "name" : "'Data'" },
3910 { "kind" : "IdRef", "name" : "'InvocationId'" }
3912 "capabilities" : [ "SubgroupShuffleINTEL" ],
3916 "opname" : "OpSubgroupShuffleDownINTEL",
3919 { "kind" : "IdResultType" },
3920 { "kind" : "IdResult" },
3921 { "kind" : "IdRef", "name" : "'Current'" },
3922 { "kind" : "IdRef", "name" : "'Next'" },
3923 { "kind" : "IdRef", "name" : "'Delta'" }
3925 "capabilities" : [ "SubgroupShuffleINTEL" ],
3929 "opname" : "OpSubgroupShuffleUpINTEL",
3932 { "kind" : "IdResultType" },
3933 { "kind" : "IdResult" },
3934 { "kind" : "IdRef", "name" : "'Previous'" },
3935 { "kind" : "IdRef", "name" : "'Current'" },
3936 { "kind" : "IdRef", "name" : "'Delta'" }
3938 "capabilities" : [ "SubgroupShuffleINTEL" ],
3942 "opname" : "OpSubgroupShuffleXorINTEL",
3945 { "kind" : "IdResultType" },
3946 { "kind" : "IdResult" },
3947 { "kind" : "IdRef", "name" : "'Data'" },
3948 { "kind" : "IdRef", "name" : "'Value'" }
3950 "capabilities" : [ "SubgroupShuffleINTEL" ],
3954 "opname" : "OpSubgroupBlockReadINTEL",
3957 { "kind" : "IdResultType" },
3958 { "kind" : "IdResult" },
3959 { "kind" : "IdRef", "name" : "'Ptr'" }
3961 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
3965 "opname" : "OpSubgroupBlockWriteINTEL",
3968 { "kind" : "IdRef", "name" : "'Ptr'" },
3969 { "kind" : "IdRef", "name" : "'Data'" }
3971 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
3975 "opname" : "OpSubgroupImageBlockReadINTEL",
3978 { "kind" : "IdResultType" },
3979 { "kind" : "IdResult" },
3980 { "kind" : "IdRef", "name" : "'Image'" },
3981 { "kind" : "IdRef", "name" : "'Coordinate'" }
3983 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
3987 "opname" : "OpSubgroupImageBlockWriteINTEL",
3990 { "kind" : "IdRef", "name" : "'Image'" },
3991 { "kind" : "IdRef", "name" : "'Coordinate'" },
3992 { "kind" : "IdRef", "name" : "'Data'" }
3994 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
3998 "opname" : "OpDecorateStringGOOGLE",
4001 { "kind" : "IdRef", "name" : "'Target'" },
4002 { "kind" : "Decoration" }
4004 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4008 "opname" : "OpMemberDecorateStringGOOGLE",
4011 { "kind" : "IdRef", "name" : "'Struct Type'" },
4012 { "kind" : "LiteralInteger", "name" : "'Member'" },
4013 { "kind" : "Decoration" }
4015 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
4019 "opname" : "OpGroupNonUniformPartitionNV",
4022 { "kind" : "IdResultType" },
4023 { "kind" : "IdResult" },
4024 { "kind" : "IdRef", "name" : "'Value'" }
4026 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4027 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4031 "opname" : "OpImageSampleFootprintNV",
4034 { "kind" : "IdResultType" },
4035 { "kind" : "IdResult" },
4036 { "kind" : "IdRef", "name" : "'Sampled Image'" },
4037 { "kind" : "IdRef", "name" : "'Coordinate'" },
4038 { "kind" : "IdRef", "name" : "'Granularity'" },
4039 { "kind" : "IdRef", "name" : "'Coarse'" },
4040 { "kind" : "ImageOperands", "quantifier" : "?" }
4042 "capabilities" : [ "ImageFootprintNV" ],
4043 "extensions" : [ "SPV_NV_shader_image_footprint" ],
4049 "category" : "BitEnum",
4050 "kind" : "ImageOperands",
4053 "enumerant" : "None",
4057 "enumerant" : "Bias",
4059 "capabilities" : [ "Shader" ],
4061 { "kind" : "IdRef" }
4065 "enumerant" : "Lod",
4068 { "kind" : "IdRef" }
4072 "enumerant" : "Grad",
4075 { "kind" : "IdRef" },
4076 { "kind" : "IdRef" }
4080 "enumerant" : "ConstOffset",
4083 { "kind" : "IdRef" }
4087 "enumerant" : "Offset",
4089 "capabilities" : [ "ImageGatherExtended" ],
4091 { "kind" : "IdRef" }
4095 "enumerant" : "ConstOffsets",
4097 "capabilities" : [ "ImageGatherExtended" ],
4099 { "kind" : "IdRef" }
4103 "enumerant" : "Sample",
4106 { "kind" : "IdRef" }
4110 "enumerant" : "MinLod",
4112 "capabilities" : [ "MinLod" ],
4114 { "kind" : "IdRef" }
4118 "enumerant" : "MakeTexelAvailableKHR",
4120 "capabilities" : [ "VulkanMemoryModelKHR" ],
4122 { "kind" : "IdScope" }
4126 "enumerant" : "MakeTexelVisibleKHR",
4128 "capabilities" : [ "VulkanMemoryModelKHR" ],
4130 { "kind" : "IdScope" }
4134 "enumerant" : "NonPrivateTexelKHR",
4136 "capabilities" : [ "VulkanMemoryModelKHR" ]
4139 "enumerant" : "VolatileTexelKHR",
4141 "capabilities" : [ "VulkanMemoryModelKHR" ]
4146 "category" : "BitEnum",
4147 "kind" : "FPFastMathMode",
4150 "enumerant" : "None",
4154 "enumerant" : "NotNaN",
4156 "capabilities" : [ "Kernel" ]
4159 "enumerant" : "NotInf",
4161 "capabilities" : [ "Kernel" ]
4164 "enumerant" : "NSZ",
4166 "capabilities" : [ "Kernel" ]
4169 "enumerant" : "AllowRecip",
4171 "capabilities" : [ "Kernel" ]
4174 "enumerant" : "Fast",
4176 "capabilities" : [ "Kernel" ]
4181 "category" : "BitEnum",
4182 "kind" : "SelectionControl",
4185 "enumerant" : "None",
4189 "enumerant" : "Flatten",
4193 "enumerant" : "DontFlatten",
4199 "category" : "BitEnum",
4200 "kind" : "LoopControl",
4203 "enumerant" : "None",
4207 "enumerant" : "Unroll",
4211 "enumerant" : "DontUnroll",
4215 "enumerant" : "DependencyInfinite",
4220 "enumerant" : "DependencyLength",
4223 { "kind" : "LiteralInteger" }
4230 "category" : "BitEnum",
4231 "kind" : "FunctionControl",
4234 "enumerant" : "None",
4238 "enumerant" : "Inline",
4242 "enumerant" : "DontInline",
4246 "enumerant" : "Pure",
4250 "enumerant" : "Const",
4256 "category" : "BitEnum",
4257 "kind" : "MemorySemantics",
4260 "enumerant" : "Relaxed",
4264 "enumerant" : "None",
4268 "enumerant" : "Acquire",
4272 "enumerant" : "Release",
4276 "enumerant" : "AcquireRelease",
4280 "enumerant" : "SequentiallyConsistent",
4284 "enumerant" : "UniformMemory",
4286 "capabilities" : [ "Shader" ]
4289 "enumerant" : "SubgroupMemory",
4293 "enumerant" : "WorkgroupMemory",
4297 "enumerant" : "CrossWorkgroupMemory",
4301 "enumerant" : "AtomicCounterMemory",
4303 "capabilities" : [ "AtomicStorage" ]
4306 "enumerant" : "ImageMemory",
4310 "enumerant" : "OutputMemoryKHR",
4312 "capabilities" : [ "VulkanMemoryModelKHR" ]
4315 "enumerant" : "MakeAvailableKHR",
4317 "capabilities" : [ "VulkanMemoryModelKHR" ]
4320 "enumerant" : "MakeVisibleKHR",
4322 "capabilities" : [ "VulkanMemoryModelKHR" ]
4327 "category" : "BitEnum",
4328 "kind" : "MemoryAccess",
4331 "enumerant" : "None",
4335 "enumerant" : "Volatile",
4339 "enumerant" : "Aligned",
4342 { "kind" : "LiteralInteger" }
4346 "enumerant" : "Nontemporal",
4350 "enumerant" : "MakePointerAvailableKHR",
4353 { "kind" : "IdScope" }
4355 "capabilities" : [ "VulkanMemoryModelKHR" ]
4358 "enumerant" : "MakePointerVisibleKHR",
4361 { "kind" : "IdScope" }
4363 "capabilities" : [ "VulkanMemoryModelKHR" ]
4366 "enumerant" : "NonPrivatePointerKHR",
4368 "capabilities" : [ "VulkanMemoryModelKHR" ]
4373 "category" : "BitEnum",
4374 "kind" : "KernelProfilingInfo",
4377 "enumerant" : "None",
4381 "enumerant" : "CmdExecTime",
4383 "capabilities" : [ "Kernel" ]
4388 "category" : "ValueEnum",
4389 "kind" : "SourceLanguage",
4392 "enumerant" : "Unknown",
4396 "enumerant" : "ESSL",
4400 "enumerant" : "GLSL",
4404 "enumerant" : "OpenCL_C",
4408 "enumerant" : "OpenCL_CPP",
4412 "enumerant" : "HLSL",
4418 "category" : "ValueEnum",
4419 "kind" : "ExecutionModel",
4422 "enumerant" : "Vertex",
4424 "capabilities" : [ "Shader" ]
4427 "enumerant" : "TessellationControl",
4429 "capabilities" : [ "Tessellation" ]
4432 "enumerant" : "TessellationEvaluation",
4434 "capabilities" : [ "Tessellation" ]
4437 "enumerant" : "Geometry",
4439 "capabilities" : [ "Geometry" ]
4442 "enumerant" : "Fragment",
4444 "capabilities" : [ "Shader" ]
4447 "enumerant" : "GLCompute",
4449 "capabilities" : [ "Shader" ]
4452 "enumerant" : "Kernel",
4454 "capabilities" : [ "Kernel" ]
4457 "enumerant" : "TaskNV",
4459 "capabilities" : [ "MeshShadingNV" ]
4462 "enumerant" : "MeshNV",
4464 "capabilities" : [ "MeshShadingNV" ]
4467 "enumerant" : "RayGenerationNV",
4469 "capabilities" : [ "RayTracingNV" ]
4472 "enumerant" : "IntersectionNV",
4474 "capabilities" : [ "RayTracingNV" ]
4477 "enumerant" : "AnyHitNV",
4479 "capabilities" : [ "RayTracingNV" ]
4482 "enumerant" : "ClosestHitNV",
4484 "capabilities" : [ "RayTracingNV" ]
4487 "enumerant" : "MissNV",
4489 "capabilities" : [ "RayTracingNV" ]
4492 "enumerant" : "CallableNV",
4494 "capabilities" : [ "RayTracingNV" ]
4499 "category" : "ValueEnum",
4500 "kind" : "AddressingModel",
4503 "enumerant" : "Logical",
4507 "enumerant" : "Physical32",
4509 "capabilities" : [ "Addresses" ]
4512 "enumerant" : "Physical64",
4514 "capabilities" : [ "Addresses" ]
4517 "enumerant" : "PhysicalStorageBuffer64EXT",
4519 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
4520 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
4525 "category" : "ValueEnum",
4526 "kind" : "MemoryModel",
4529 "enumerant" : "Simple",
4531 "capabilities" : [ "Shader" ]
4534 "enumerant" : "GLSL450",
4536 "capabilities" : [ "Shader" ]
4539 "enumerant" : "OpenCL",
4541 "capabilities" : [ "Kernel" ]
4544 "enumerant" : "VulkanKHR",
4546 "capabilities" : [ "VulkanMemoryModelKHR" ]
4551 "category" : "ValueEnum",
4552 "kind" : "ExecutionMode",
4555 "enumerant" : "Invocations",
4557 "capabilities" : [ "Geometry" ],
4559 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
4563 "enumerant" : "SpacingEqual",
4565 "capabilities" : [ "Tessellation" ]
4568 "enumerant" : "SpacingFractionalEven",
4570 "capabilities" : [ "Tessellation" ]
4573 "enumerant" : "SpacingFractionalOdd",
4575 "capabilities" : [ "Tessellation" ]
4578 "enumerant" : "VertexOrderCw",
4580 "capabilities" : [ "Tessellation" ]
4583 "enumerant" : "VertexOrderCcw",
4585 "capabilities" : [ "Tessellation" ]
4588 "enumerant" : "PixelCenterInteger",
4590 "capabilities" : [ "Shader" ]
4593 "enumerant" : "OriginUpperLeft",
4595 "capabilities" : [ "Shader" ]
4598 "enumerant" : "OriginLowerLeft",
4600 "capabilities" : [ "Shader" ]
4603 "enumerant" : "EarlyFragmentTests",
4605 "capabilities" : [ "Shader" ]
4608 "enumerant" : "PointMode",
4610 "capabilities" : [ "Tessellation" ]
4613 "enumerant" : "Xfb",
4615 "capabilities" : [ "TransformFeedback" ]
4618 "enumerant" : "DepthReplacing",
4620 "capabilities" : [ "Shader" ]
4623 "enumerant" : "DepthGreater",
4625 "capabilities" : [ "Shader" ]
4628 "enumerant" : "DepthLess",
4630 "capabilities" : [ "Shader" ]
4633 "enumerant" : "DepthUnchanged",
4635 "capabilities" : [ "Shader" ]
4638 "enumerant" : "LocalSize",
4641 { "kind" : "LiteralInteger", "name" : "'x size'" },
4642 { "kind" : "LiteralInteger", "name" : "'y size'" },
4643 { "kind" : "LiteralInteger", "name" : "'z size'" }
4647 "enumerant" : "LocalSizeHint",
4649 "capabilities" : [ "Kernel" ],
4651 { "kind" : "LiteralInteger", "name" : "'x size'" },
4652 { "kind" : "LiteralInteger", "name" : "'y size'" },
4653 { "kind" : "LiteralInteger", "name" : "'z size'" }
4657 "enumerant" : "InputPoints",
4659 "capabilities" : [ "Geometry" ]
4662 "enumerant" : "InputLines",
4664 "capabilities" : [ "Geometry" ]
4667 "enumerant" : "InputLinesAdjacency",
4669 "capabilities" : [ "Geometry" ]
4672 "enumerant" : "Triangles",
4674 "capabilities" : [ "Geometry", "Tessellation" ]
4677 "enumerant" : "InputTrianglesAdjacency",
4679 "capabilities" : [ "Geometry" ]
4682 "enumerant" : "Quads",
4684 "capabilities" : [ "Tessellation" ]
4687 "enumerant" : "Isolines",
4689 "capabilities" : [ "Tessellation" ]
4692 "enumerant" : "OutputVertices",
4694 "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
4696 { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
4700 "enumerant" : "OutputPoints",
4702 "capabilities" : [ "Geometry", "MeshShadingNV" ]
4705 "enumerant" : "OutputLineStrip",
4707 "capabilities" : [ "Geometry" ]
4710 "enumerant" : "OutputTriangleStrip",
4712 "capabilities" : [ "Geometry" ]
4715 "enumerant" : "VecTypeHint",
4717 "capabilities" : [ "Kernel" ],
4719 { "kind" : "LiteralInteger", "name" : "'Vector type'" }
4723 "enumerant" : "ContractionOff",
4725 "capabilities" : [ "Kernel" ]
4728 "enumerant" : "Initializer",
4730 "capabilities" : [ "Kernel" ],
4734 "enumerant" : "Finalizer",
4736 "capabilities" : [ "Kernel" ],
4740 "enumerant" : "SubgroupSize",
4742 "capabilities" : [ "SubgroupDispatch" ],
4744 { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
4749 "enumerant" : "SubgroupsPerWorkgroup",
4751 "capabilities" : [ "SubgroupDispatch" ],
4753 { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
4758 "enumerant" : "SubgroupsPerWorkgroupId",
4760 "capabilities" : [ "SubgroupDispatch" ],
4762 { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
4767 "enumerant" : "LocalSizeId",
4770 { "kind" : "IdRef", "name" : "'x size'" },
4771 { "kind" : "IdRef", "name" : "'y size'" },
4772 { "kind" : "IdRef", "name" : "'z size'" }
4777 "enumerant" : "LocalSizeHintId",
4779 "capabilities" : [ "Kernel" ],
4781 { "kind" : "IdRef", "name" : "'Local Size Hint'" }
4786 "enumerant" : "PostDepthCoverage",
4788 "capabilities" : [ "SampleMaskPostDepthCoverage" ],
4789 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
4793 "enumerant" : "DenormPreserve",
4795 "capabilities" : [ "DenormPreserve"],
4796 "extensions" : [ "SPV_KHR_float_controls" ],
4798 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
4803 "enumerant" : "DenormFlushToZero",
4805 "capabilities" : [ "DenormFlushToZero"],
4806 "extensions" : [ "SPV_KHR_float_controls" ],
4808 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
4813 "enumerant" : "SignedZeroInfNanPreserve",
4815 "capabilities" : [ "SignedZeroInfNanPreserve"],
4816 "extensions" : [ "SPV_KHR_float_controls" ],
4818 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
4823 "enumerant" : "RoundingModeRTE",
4825 "capabilities" : [ "RoundingModeRTE"],
4826 "extensions" : [ "SPV_KHR_float_controls" ],
4828 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
4833 "enumerant" : "RoundingModeRTZ",
4835 "capabilities" : [ "RoundingModeRTZ"],
4836 "extensions" : [ "SPV_KHR_float_controls" ],
4838 { "kind" : "LiteralInteger", "name" : "'Target Width'" }
4843 "enumerant" : "StencilRefReplacingEXT",
4845 "capabilities" : [ "StencilExportEXT" ],
4846 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
4850 "enumerant" : "OutputLinesNV",
4852 "capabilities" : [ "MeshShadingNV" ],
4853 "extensions" : [ "SPV_NV_mesh_shader" ],
4857 "enumerant" : "OutputPrimitivesNV",
4859 "capabilities" : [ "MeshShadingNV" ],
4861 { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
4863 "extensions" : [ "SPV_NV_mesh_shader" ],
4867 "enumerant" : "DerivativeGroupQuadsNV",
4869 "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
4870 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
4874 "enumerant" : "DerivativeGroupLinearNV",
4876 "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
4877 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
4881 "enumerant" : "OutputTrianglesNV",
4883 "capabilities" : [ "MeshShadingNV" ],
4884 "extensions" : [ "SPV_NV_mesh_shader" ],
4890 "category" : "ValueEnum",
4891 "kind" : "StorageClass",
4894 "enumerant" : "UniformConstant",
4898 "enumerant" : "Input",
4902 "enumerant" : "Uniform",
4904 "capabilities" : [ "Shader" ]
4907 "enumerant" : "Output",
4909 "capabilities" : [ "Shader" ]
4912 "enumerant" : "Workgroup",
4916 "enumerant" : "CrossWorkgroup",
4920 "enumerant" : "Private",
4922 "capabilities" : [ "Shader" ]
4925 "enumerant" : "Function",
4929 "enumerant" : "Generic",
4931 "capabilities" : [ "GenericPointer" ]
4934 "enumerant" : "PushConstant",
4936 "capabilities" : [ "Shader" ]
4939 "enumerant" : "AtomicCounter",
4941 "capabilities" : [ "AtomicStorage" ]
4944 "enumerant" : "Image",
4948 "enumerant" : "StorageBuffer",
4951 "SPV_KHR_storage_buffer_storage_class",
4952 "SPV_KHR_variable_pointers"
4954 "capabilities" : [ "Shader" ],
4958 "enumerant" : "CallableDataNV",
4960 "extensions" : [ "SPV_NV_ray_tracing" ],
4961 "capabilities" : [ "RayTracingNV" ]
4964 "enumerant" : "IncomingCallableDataNV",
4966 "extensions" : [ "SPV_NV_ray_tracing" ],
4967 "capabilities" : [ "RayTracingNV" ]
4970 "enumerant" : "RayPayloadNV",
4972 "extensions" : [ "SPV_NV_ray_tracing" ],
4973 "capabilities" : [ "RayTracingNV" ]
4976 "enumerant" : "HitAttributeNV",
4978 "extensions" : [ "SPV_NV_ray_tracing" ],
4979 "capabilities" : [ "RayTracingNV" ]
4982 "enumerant" : "IncomingRayPayloadNV",
4984 "extensions" : [ "SPV_NV_ray_tracing" ],
4985 "capabilities" : [ "RayTracingNV" ]
4988 "enumerant" : "ShaderRecordBufferNV",
4990 "extensions" : [ "SPV_NV_ray_tracing" ],
4991 "capabilities" : [ "RayTracingNV" ]
4994 "enumerant" : "PhysicalStorageBufferEXT",
4996 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
4997 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
5002 "category" : "ValueEnum",
5008 "capabilities" : [ "Sampled1D", "Image1D" ]
5013 "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
5020 "enumerant" : "Cube",
5022 "capabilities" : [ "Shader", "ImageCubeArray" ]
5025 "enumerant" : "Rect",
5027 "capabilities" : [ "SampledRect", "ImageRect" ]
5030 "enumerant" : "Buffer",
5032 "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
5035 "enumerant" : "SubpassData",
5037 "capabilities" : [ "InputAttachment" ]
5042 "category" : "ValueEnum",
5043 "kind" : "SamplerAddressingMode",
5046 "enumerant" : "None",
5048 "capabilities" : [ "Kernel" ]
5051 "enumerant" : "ClampToEdge",
5053 "capabilities" : [ "Kernel" ]
5056 "enumerant" : "Clamp",
5058 "capabilities" : [ "Kernel" ]
5061 "enumerant" : "Repeat",
5063 "capabilities" : [ "Kernel" ]
5066 "enumerant" : "RepeatMirrored",
5068 "capabilities" : [ "Kernel" ]
5073 "category" : "ValueEnum",
5074 "kind" : "SamplerFilterMode",
5077 "enumerant" : "Nearest",
5079 "capabilities" : [ "Kernel" ]
5082 "enumerant" : "Linear",
5084 "capabilities" : [ "Kernel" ]
5089 "category" : "ValueEnum",
5090 "kind" : "ImageFormat",
5093 "enumerant" : "Unknown",
5097 "enumerant" : "Rgba32f",
5099 "capabilities" : [ "Shader" ]
5102 "enumerant" : "Rgba16f",
5104 "capabilities" : [ "Shader" ]
5107 "enumerant" : "R32f",
5109 "capabilities" : [ "Shader" ]
5112 "enumerant" : "Rgba8",
5114 "capabilities" : [ "Shader" ]
5117 "enumerant" : "Rgba8Snorm",
5119 "capabilities" : [ "Shader" ]
5122 "enumerant" : "Rg32f",
5124 "capabilities" : [ "StorageImageExtendedFormats" ]
5127 "enumerant" : "Rg16f",
5129 "capabilities" : [ "StorageImageExtendedFormats" ]
5132 "enumerant" : "R11fG11fB10f",
5134 "capabilities" : [ "StorageImageExtendedFormats" ]
5137 "enumerant" : "R16f",
5139 "capabilities" : [ "StorageImageExtendedFormats" ]
5142 "enumerant" : "Rgba16",
5144 "capabilities" : [ "StorageImageExtendedFormats" ]
5147 "enumerant" : "Rgb10A2",
5149 "capabilities" : [ "StorageImageExtendedFormats" ]
5152 "enumerant" : "Rg16",
5154 "capabilities" : [ "StorageImageExtendedFormats" ]
5157 "enumerant" : "Rg8",
5159 "capabilities" : [ "StorageImageExtendedFormats" ]
5162 "enumerant" : "R16",
5164 "capabilities" : [ "StorageImageExtendedFormats" ]
5169 "capabilities" : [ "StorageImageExtendedFormats" ]
5172 "enumerant" : "Rgba16Snorm",
5174 "capabilities" : [ "StorageImageExtendedFormats" ]
5177 "enumerant" : "Rg16Snorm",
5179 "capabilities" : [ "StorageImageExtendedFormats" ]
5182 "enumerant" : "Rg8Snorm",
5184 "capabilities" : [ "StorageImageExtendedFormats" ]
5187 "enumerant" : "R16Snorm",
5189 "capabilities" : [ "StorageImageExtendedFormats" ]
5192 "enumerant" : "R8Snorm",
5194 "capabilities" : [ "StorageImageExtendedFormats" ]
5197 "enumerant" : "Rgba32i",
5199 "capabilities" : [ "Shader" ]
5202 "enumerant" : "Rgba16i",
5204 "capabilities" : [ "Shader" ]
5207 "enumerant" : "Rgba8i",
5209 "capabilities" : [ "Shader" ]
5212 "enumerant" : "R32i",
5214 "capabilities" : [ "Shader" ]
5217 "enumerant" : "Rg32i",
5219 "capabilities" : [ "StorageImageExtendedFormats" ]
5222 "enumerant" : "Rg16i",
5224 "capabilities" : [ "StorageImageExtendedFormats" ]
5227 "enumerant" : "Rg8i",
5229 "capabilities" : [ "StorageImageExtendedFormats" ]
5232 "enumerant" : "R16i",
5234 "capabilities" : [ "StorageImageExtendedFormats" ]
5237 "enumerant" : "R8i",
5239 "capabilities" : [ "StorageImageExtendedFormats" ]
5242 "enumerant" : "Rgba32ui",
5244 "capabilities" : [ "Shader" ]
5247 "enumerant" : "Rgba16ui",
5249 "capabilities" : [ "Shader" ]
5252 "enumerant" : "Rgba8ui",
5254 "capabilities" : [ "Shader" ]
5257 "enumerant" : "R32ui",
5259 "capabilities" : [ "Shader" ]
5262 "enumerant" : "Rgb10a2ui",
5264 "capabilities" : [ "StorageImageExtendedFormats" ]
5267 "enumerant" : "Rg32ui",
5269 "capabilities" : [ "StorageImageExtendedFormats" ]
5272 "enumerant" : "Rg16ui",
5274 "capabilities" : [ "StorageImageExtendedFormats" ]
5277 "enumerant" : "Rg8ui",
5279 "capabilities" : [ "StorageImageExtendedFormats" ]
5282 "enumerant" : "R16ui",
5284 "capabilities" : [ "StorageImageExtendedFormats" ]
5287 "enumerant" : "R8ui",
5289 "capabilities" : [ "StorageImageExtendedFormats" ]
5294 "category" : "ValueEnum",
5295 "kind" : "ImageChannelOrder",
5300 "capabilities" : [ "Kernel" ]
5305 "capabilities" : [ "Kernel" ]
5310 "capabilities" : [ "Kernel" ]
5315 "capabilities" : [ "Kernel" ]
5318 "enumerant" : "RGB",
5320 "capabilities" : [ "Kernel" ]
5323 "enumerant" : "RGBA",
5325 "capabilities" : [ "Kernel" ]
5328 "enumerant" : "BGRA",
5330 "capabilities" : [ "Kernel" ]
5333 "enumerant" : "ARGB",
5335 "capabilities" : [ "Kernel" ]
5338 "enumerant" : "Intensity",
5340 "capabilities" : [ "Kernel" ]
5343 "enumerant" : "Luminance",
5345 "capabilities" : [ "Kernel" ]
5350 "capabilities" : [ "Kernel" ]
5353 "enumerant" : "RGx",
5355 "capabilities" : [ "Kernel" ]
5358 "enumerant" : "RGBx",
5360 "capabilities" : [ "Kernel" ]
5363 "enumerant" : "Depth",
5365 "capabilities" : [ "Kernel" ]
5368 "enumerant" : "DepthStencil",
5370 "capabilities" : [ "Kernel" ]
5373 "enumerant" : "sRGB",
5375 "capabilities" : [ "Kernel" ]
5378 "enumerant" : "sRGBx",
5380 "capabilities" : [ "Kernel" ]
5383 "enumerant" : "sRGBA",
5385 "capabilities" : [ "Kernel" ]
5388 "enumerant" : "sBGRA",
5390 "capabilities" : [ "Kernel" ]
5393 "enumerant" : "ABGR",
5395 "capabilities" : [ "Kernel" ]
5400 "category" : "ValueEnum",
5401 "kind" : "ImageChannelDataType",
5404 "enumerant" : "SnormInt8",
5406 "capabilities" : [ "Kernel" ]
5409 "enumerant" : "SnormInt16",
5411 "capabilities" : [ "Kernel" ]
5414 "enumerant" : "UnormInt8",
5416 "capabilities" : [ "Kernel" ]
5419 "enumerant" : "UnormInt16",
5421 "capabilities" : [ "Kernel" ]
5424 "enumerant" : "UnormShort565",
5426 "capabilities" : [ "Kernel" ]
5429 "enumerant" : "UnormShort555",
5431 "capabilities" : [ "Kernel" ]
5434 "enumerant" : "UnormInt101010",
5436 "capabilities" : [ "Kernel" ]
5439 "enumerant" : "SignedInt8",
5441 "capabilities" : [ "Kernel" ]
5444 "enumerant" : "SignedInt16",
5446 "capabilities" : [ "Kernel" ]
5449 "enumerant" : "SignedInt32",
5451 "capabilities" : [ "Kernel" ]
5454 "enumerant" : "UnsignedInt8",
5456 "capabilities" : [ "Kernel" ]
5459 "enumerant" : "UnsignedInt16",
5461 "capabilities" : [ "Kernel" ]
5464 "enumerant" : "UnsignedInt32",
5466 "capabilities" : [ "Kernel" ]
5469 "enumerant" : "HalfFloat",
5471 "capabilities" : [ "Kernel" ]
5474 "enumerant" : "Float",
5476 "capabilities" : [ "Kernel" ]
5479 "enumerant" : "UnormInt24",
5481 "capabilities" : [ "Kernel" ]
5484 "enumerant" : "UnormInt101010_2",
5486 "capabilities" : [ "Kernel" ]
5491 "category" : "ValueEnum",
5492 "kind" : "FPRoundingMode",
5495 "enumerant" : "RTE",
5499 "enumerant" : "RTZ",
5503 "enumerant" : "RTP",
5507 "enumerant" : "RTN",
5513 "category" : "ValueEnum",
5514 "kind" : "LinkageType",
5517 "enumerant" : "Export",
5519 "capabilities" : [ "Linkage" ]
5522 "enumerant" : "Import",
5524 "capabilities" : [ "Linkage" ]
5529 "category" : "ValueEnum",
5530 "kind" : "AccessQualifier",
5533 "enumerant" : "ReadOnly",
5535 "capabilities" : [ "Kernel" ]
5538 "enumerant" : "WriteOnly",
5540 "capabilities" : [ "Kernel" ]
5543 "enumerant" : "ReadWrite",
5545 "capabilities" : [ "Kernel" ]
5550 "category" : "ValueEnum",
5551 "kind" : "FunctionParameterAttribute",
5554 "enumerant" : "Zext",
5556 "capabilities" : [ "Kernel" ]
5559 "enumerant" : "Sext",
5561 "capabilities" : [ "Kernel" ]
5564 "enumerant" : "ByVal",
5566 "capabilities" : [ "Kernel" ]
5569 "enumerant" : "Sret",
5571 "capabilities" : [ "Kernel" ]
5574 "enumerant" : "NoAlias",
5576 "capabilities" : [ "Kernel" ]
5579 "enumerant" : "NoCapture",
5581 "capabilities" : [ "Kernel" ]
5584 "enumerant" : "NoWrite",
5586 "capabilities" : [ "Kernel" ]
5589 "enumerant" : "NoReadWrite",
5591 "capabilities" : [ "Kernel" ]
5596 "category" : "ValueEnum",
5597 "kind" : "Decoration",
5600 "enumerant" : "RelaxedPrecision",
5602 "capabilities" : [ "Shader" ]
5605 "enumerant" : "SpecId",
5607 "capabilities" : [ "Shader", "Kernel" ],
5609 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
5613 "enumerant" : "Block",
5615 "capabilities" : [ "Shader" ]
5618 "enumerant" : "BufferBlock",
5620 "capabilities" : [ "Shader" ]
5623 "enumerant" : "RowMajor",
5625 "capabilities" : [ "Matrix" ]
5628 "enumerant" : "ColMajor",
5630 "capabilities" : [ "Matrix" ]
5633 "enumerant" : "ArrayStride",
5635 "capabilities" : [ "Shader" ],
5637 { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
5641 "enumerant" : "MatrixStride",
5643 "capabilities" : [ "Matrix" ],
5645 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
5649 "enumerant" : "GLSLShared",
5651 "capabilities" : [ "Shader" ]
5654 "enumerant" : "GLSLPacked",
5656 "capabilities" : [ "Shader" ]
5659 "enumerant" : "CPacked",
5661 "capabilities" : [ "Kernel" ]
5664 "enumerant" : "BuiltIn",
5667 { "kind" : "BuiltIn" }
5671 "enumerant" : "NoPerspective",
5673 "capabilities" : [ "Shader" ]
5676 "enumerant" : "Flat",
5678 "capabilities" : [ "Shader" ]
5681 "enumerant" : "Patch",
5683 "capabilities" : [ "Tessellation" ]
5686 "enumerant" : "Centroid",
5688 "capabilities" : [ "Shader" ]
5691 "enumerant" : "Sample",
5693 "capabilities" : [ "SampleRateShading" ]
5696 "enumerant" : "Invariant",
5698 "capabilities" : [ "Shader" ]
5701 "enumerant" : "Restrict",
5705 "enumerant" : "Aliased",
5709 "enumerant" : "Volatile",
5713 "enumerant" : "Constant",
5715 "capabilities" : [ "Kernel" ]
5718 "enumerant" : "Coherent",
5722 "enumerant" : "NonWritable",
5726 "enumerant" : "NonReadable",
5730 "enumerant" : "Uniform",
5732 "capabilities" : [ "Shader" ]
5735 "enumerant" : "SaturatedConversion",
5737 "capabilities" : [ "Kernel" ]
5740 "enumerant" : "Stream",
5742 "capabilities" : [ "GeometryStreams" ],
5744 { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
5748 "enumerant" : "Location",
5750 "capabilities" : [ "Shader" ],
5752 { "kind" : "LiteralInteger", "name" : "'Location'" }
5756 "enumerant" : "Component",
5758 "capabilities" : [ "Shader" ],
5760 { "kind" : "LiteralInteger", "name" : "'Component'" }
5764 "enumerant" : "Index",
5766 "capabilities" : [ "Shader" ],
5768 { "kind" : "LiteralInteger", "name" : "'Index'" }
5772 "enumerant" : "Binding",
5774 "capabilities" : [ "Shader" ],
5776 { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
5780 "enumerant" : "DescriptorSet",
5782 "capabilities" : [ "Shader" ],
5784 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
5788 "enumerant" : "Offset",
5790 "capabilities" : [ "Shader" ],
5792 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
5796 "enumerant" : "XfbBuffer",
5798 "capabilities" : [ "TransformFeedback" ],
5800 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
5804 "enumerant" : "XfbStride",
5806 "capabilities" : [ "TransformFeedback" ],
5808 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
5812 "enumerant" : "FuncParamAttr",
5814 "capabilities" : [ "Kernel" ],
5816 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
5820 "enumerant" : "FPRoundingMode",
5823 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
5827 "enumerant" : "FPFastMathMode",
5829 "capabilities" : [ "Kernel" ],
5831 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
5835 "enumerant" : "LinkageAttributes",
5837 "capabilities" : [ "Linkage" ],
5839 { "kind" : "LiteralString", "name" : "'Name'" },
5840 { "kind" : "LinkageType", "name" : "'Linkage Type'" }
5844 "enumerant" : "NoContraction",
5846 "capabilities" : [ "Shader" ]
5849 "enumerant" : "InputAttachmentIndex",
5851 "capabilities" : [ "InputAttachment" ],
5853 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
5857 "enumerant" : "Alignment",
5859 "capabilities" : [ "Kernel" ],
5861 { "kind" : "LiteralInteger", "name" : "'Alignment'" }
5865 "enumerant" : "MaxByteOffset",
5867 "capabilities" : [ "Addresses" ],
5869 { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
5874 "enumerant" : "AlignmentId",
5876 "capabilities" : [ "Kernel" ],
5878 { "kind" : "IdRef", "name" : "'Alignment'" }
5883 "enumerant" : "MaxByteOffsetId",
5885 "capabilities" : [ "Addresses" ],
5887 { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
5892 "enumerant" : "NoSignedWrap",
5894 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
5898 "enumerant" : "NoUnsignedWrap",
5900 "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
5904 "enumerant" : "ExplicitInterpAMD",
5906 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5910 "enumerant" : "OverrideCoverageNV",
5912 "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
5913 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
5917 "enumerant" : "PassthroughNV",
5919 "capabilities" : [ "GeometryShaderPassthroughNV" ],
5920 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
5924 "enumerant" : "ViewportRelativeNV",
5926 "capabilities" : [ "ShaderViewportMaskNV" ],
5930 "enumerant" : "SecondaryViewportRelativeNV",
5932 "capabilities" : [ "ShaderStereoViewNV" ],
5933 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
5936 { "kind" : "LiteralInteger", "name" : "'Offset'" }
5940 "enumerant" : "PerPrimitiveNV",
5942 "capabilities" : [ "MeshShadingNV" ],
5943 "extensions" : [ "SPV_NV_mesh_shader" ],
5947 "enumerant" : "PerViewNV",
5949 "capabilities" : [ "MeshShadingNV" ],
5950 "extensions" : [ "SPV_NV_mesh_shader" ],
5954 "enumerant" : "PerTaskNV",
5956 "capabilities" : [ "MeshShadingNV" ],
5957 "extensions" : [ "SPV_NV_mesh_shader" ],
5961 "enumerant" : "PerVertexNV",
5963 "capabilities" : [ "FragmentBarycentricNV" ],
5964 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
5968 "enumerant" : "NonUniformEXT",
5970 "capabilities" : [ "ShaderNonUniformEXT" ]
5973 "enumerant" : "HlslCounterBufferGOOGLE",
5976 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
5978 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
5982 "enumerant" : "HlslSemanticGOOGLE",
5985 { "kind" : "LiteralString", "name" : "'Semantic'" }
5987 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
5991 "enumerant" : "RestrictPointerEXT",
5993 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
5994 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
5998 "enumerant" : "AliasedPointerEXT",
6000 "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
6001 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
6007 "category" : "ValueEnum",
6011 "enumerant" : "Position",
6013 "capabilities" : [ "Shader" ]
6016 "enumerant" : "PointSize",
6018 "capabilities" : [ "Shader" ]
6021 "enumerant" : "ClipDistance",
6023 "capabilities" : [ "ClipDistance" ]
6026 "enumerant" : "CullDistance",
6028 "capabilities" : [ "CullDistance" ]
6031 "enumerant" : "VertexId",
6033 "capabilities" : [ "Shader" ]
6036 "enumerant" : "InstanceId",
6038 "capabilities" : [ "Shader" ]
6041 "enumerant" : "PrimitiveId",
6043 "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ]
6046 "enumerant" : "InvocationId",
6048 "capabilities" : [ "Geometry", "Tessellation" ]
6051 "enumerant" : "Layer",
6053 "capabilities" : [ "Geometry" ]
6056 "enumerant" : "ViewportIndex",
6058 "capabilities" : [ "MultiViewport" ]
6061 "enumerant" : "TessLevelOuter",
6063 "capabilities" : [ "Tessellation" ]
6066 "enumerant" : "TessLevelInner",
6068 "capabilities" : [ "Tessellation" ]
6071 "enumerant" : "TessCoord",
6073 "capabilities" : [ "Tessellation" ]
6076 "enumerant" : "PatchVertices",
6078 "capabilities" : [ "Tessellation" ]
6081 "enumerant" : "FragCoord",
6083 "capabilities" : [ "Shader" ]
6086 "enumerant" : "PointCoord",
6088 "capabilities" : [ "Shader" ]
6091 "enumerant" : "FrontFacing",
6093 "capabilities" : [ "Shader" ]
6096 "enumerant" : "SampleId",
6098 "capabilities" : [ "SampleRateShading" ]
6101 "enumerant" : "SamplePosition",
6103 "capabilities" : [ "SampleRateShading" ]
6106 "enumerant" : "SampleMask",
6108 "capabilities" : [ "Shader" ]
6111 "enumerant" : "FragDepth",
6113 "capabilities" : [ "Shader" ]
6116 "enumerant" : "HelperInvocation",
6118 "capabilities" : [ "Shader" ]
6121 "enumerant" : "NumWorkgroups",
6125 "enumerant" : "WorkgroupSize",
6129 "enumerant" : "WorkgroupId",
6133 "enumerant" : "LocalInvocationId",
6137 "enumerant" : "GlobalInvocationId",
6141 "enumerant" : "LocalInvocationIndex",
6145 "enumerant" : "WorkDim",
6147 "capabilities" : [ "Kernel" ]
6150 "enumerant" : "GlobalSize",
6152 "capabilities" : [ "Kernel" ]
6155 "enumerant" : "EnqueuedWorkgroupSize",
6157 "capabilities" : [ "Kernel" ]
6160 "enumerant" : "GlobalOffset",
6162 "capabilities" : [ "Kernel" ]
6165 "enumerant" : "GlobalLinearId",
6167 "capabilities" : [ "Kernel" ]
6170 "enumerant" : "SubgroupSize",
6172 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
6175 "enumerant" : "SubgroupMaxSize",
6177 "capabilities" : [ "Kernel" ]
6180 "enumerant" : "NumSubgroups",
6182 "capabilities" : [ "Kernel", "GroupNonUniform" ]
6185 "enumerant" : "NumEnqueuedSubgroups",
6187 "capabilities" : [ "Kernel" ]
6190 "enumerant" : "SubgroupId",
6192 "capabilities" : [ "Kernel", "GroupNonUniform" ]
6195 "enumerant" : "SubgroupLocalInvocationId",
6197 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
6200 "enumerant" : "VertexIndex",
6202 "capabilities" : [ "Shader" ]
6205 "enumerant" : "InstanceIndex",
6207 "capabilities" : [ "Shader" ]
6210 "enumerant" : "SubgroupEqMask",
6212 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6216 "enumerant" : "SubgroupGeMask",
6218 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6222 "enumerant" : "SubgroupGtMask",
6224 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6228 "enumerant" : "SubgroupLeMask",
6230 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6234 "enumerant" : "SubgroupLtMask",
6236 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6240 "enumerant" : "SubgroupEqMaskKHR",
6242 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6243 "extensions" : [ "SPV_KHR_shader_ballot" ],
6247 "enumerant" : "SubgroupGeMaskKHR",
6249 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6250 "extensions" : [ "SPV_KHR_shader_ballot" ],
6254 "enumerant" : "SubgroupGtMaskKHR",
6256 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6257 "extensions" : [ "SPV_KHR_shader_ballot" ],
6261 "enumerant" : "SubgroupLeMaskKHR",
6263 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6264 "extensions" : [ "SPV_KHR_shader_ballot" ],
6268 "enumerant" : "SubgroupLtMaskKHR",
6270 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
6271 "extensions" : [ "SPV_KHR_shader_ballot" ],
6275 "enumerant" : "BaseVertex",
6277 "capabilities" : [ "DrawParameters" ],
6278 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
6282 "enumerant" : "BaseInstance",
6284 "capabilities" : [ "DrawParameters" ],
6285 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
6289 "enumerant" : "DrawIndex",
6291 "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
6292 "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
6296 "enumerant" : "DeviceIndex",
6298 "capabilities" : [ "DeviceGroup" ],
6299 "extensions" : [ "SPV_KHR_device_group" ],
6303 "enumerant" : "ViewIndex",
6305 "capabilities" : [ "MultiView" ],
6306 "extensions" : [ "SPV_KHR_multiview" ],
6310 "enumerant" : "BaryCoordNoPerspAMD",
6312 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6316 "enumerant" : "BaryCoordNoPerspCentroidAMD",
6318 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6322 "enumerant" : "BaryCoordNoPerspSampleAMD",
6324 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6328 "enumerant" : "BaryCoordSmoothAMD",
6330 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6334 "enumerant" : "BaryCoordSmoothCentroidAMD",
6336 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6340 "enumerant" : "BaryCoordSmoothSampleAMD",
6342 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6346 "enumerant" : "BaryCoordPullModelAMD",
6348 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
6352 "enumerant" : "FragStencilRefEXT",
6354 "capabilities" : [ "StencilExportEXT" ],
6355 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
6359 "enumerant" : "ViewportMaskNV",
6361 "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
6362 "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
6366 "enumerant" : "SecondaryPositionNV",
6368 "capabilities" : [ "ShaderStereoViewNV" ],
6369 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
6373 "enumerant" : "SecondaryViewportMaskNV",
6375 "capabilities" : [ "ShaderStereoViewNV" ],
6376 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
6380 "enumerant" : "PositionPerViewNV",
6382 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
6383 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
6387 "enumerant" : "ViewportMaskPerViewNV",
6389 "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
6390 "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
6394 "enumerant" : "FullyCoveredEXT",
6396 "capabilities" : [ "FragmentFullyCoveredEXT" ],
6397 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
6401 "enumerant" : "TaskCountNV",
6403 "capabilities" : [ "MeshShadingNV" ],
6404 "extensions" : [ "SPV_NV_mesh_shader" ],
6408 "enumerant" : "PrimitiveCountNV",
6410 "capabilities" : [ "MeshShadingNV" ],
6411 "extensions" : [ "SPV_NV_mesh_shader" ],
6415 "enumerant" : "PrimitiveIndicesNV",
6417 "capabilities" : [ "MeshShadingNV" ],
6418 "extensions" : [ "SPV_NV_mesh_shader" ],
6422 "enumerant" : "ClipDistancePerViewNV",
6424 "capabilities" : [ "MeshShadingNV" ],
6425 "extensions" : [ "SPV_NV_mesh_shader" ],
6429 "enumerant" : "CullDistancePerViewNV",
6431 "capabilities" : [ "MeshShadingNV" ],
6432 "extensions" : [ "SPV_NV_mesh_shader" ],
6436 "enumerant" : "LayerPerViewNV",
6438 "capabilities" : [ "MeshShadingNV" ],
6439 "extensions" : [ "SPV_NV_mesh_shader" ],
6443 "enumerant" : "MeshViewCountNV",
6445 "capabilities" : [ "MeshShadingNV" ],
6446 "extensions" : [ "SPV_NV_mesh_shader" ],
6450 "enumerant" : "MeshViewIndicesNV",
6452 "capabilities" : [ "MeshShadingNV" ],
6453 "extensions" : [ "SPV_NV_mesh_shader" ],
6457 "enumerant" : "BaryCoordNV",
6459 "capabilities" : [ "FragmentBarycentricNV" ],
6460 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
6464 "enumerant" : "BaryCoordNoPerspNV",
6466 "capabilities" : [ "FragmentBarycentricNV" ],
6467 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
6471 "enumerant" : "FragSizeEXT",
6473 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
6474 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
6478 "enumerant" : "FragmentSizeNV",
6480 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
6481 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
6485 "enumerant" : "FragInvocationCountEXT",
6487 "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
6488 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
6492 "enumerant" : "InvocationsPerPixelNV",
6494 "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
6495 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
6499 "enumerant" : "LaunchIdNV",
6501 "capabilities" : [ "RayTracingNV" ],
6502 "extensions" : [ "SPV_NV_ray_tracing" ]
6505 "enumerant" : "LaunchSizeNV",
6507 "capabilities" : [ "RayTracingNV" ],
6508 "extensions" : [ "SPV_NV_ray_tracing" ]
6511 "enumerant" : "WorldRayOriginNV",
6513 "capabilities" : [ "RayTracingNV" ],
6514 "extensions" : [ "SPV_NV_ray_tracing" ]
6517 "enumerant" : "WorldRayDirectionNV",
6519 "capabilities" : [ "RayTracingNV" ],
6520 "extensions" : [ "SPV_NV_ray_tracing" ]
6523 "enumerant" : "ObjectRayOriginNV",
6525 "capabilities" : [ "RayTracingNV" ],
6526 "extensions" : [ "SPV_NV_ray_tracing" ]
6529 "enumerant" : "ObjectRayDirectionNV",
6531 "capabilities" : [ "RayTracingNV" ],
6532 "extensions" : [ "SPV_NV_ray_tracing" ]
6535 "enumerant" : "RayTminNV",
6537 "capabilities" : [ "RayTracingNV" ],
6538 "extensions" : [ "SPV_NV_ray_tracing" ]
6541 "enumerant" : "RayTmaxNV",
6543 "capabilities" : [ "RayTracingNV" ],
6544 "extensions" : [ "SPV_NV_ray_tracing" ]
6547 "enumerant" : "InstanceCustomIndexNV",
6549 "capabilities" : [ "RayTracingNV" ],
6550 "extensions" : [ "SPV_NV_ray_tracing" ]
6553 "enumerant" : "ObjectToWorldNV",
6555 "capabilities" : [ "RayTracingNV" ],
6556 "extensions" : [ "SPV_NV_ray_tracing" ]
6559 "enumerant" : "WorldToObjectNV",
6561 "capabilities" : [ "RayTracingNV" ],
6562 "extensions" : [ "SPV_NV_ray_tracing" ]
6565 "enumerant" : "HitTNV",
6567 "capabilities" : [ "RayTracingNV" ],
6568 "extensions" : [ "SPV_NV_ray_tracing" ]
6571 "enumerant" : "HitKindNV",
6573 "capabilities" : [ "RayTracingNV" ],
6574 "extensions" : [ "SPV_NV_ray_tracing" ]
6577 "enumerant" : "IncomingRayFlagsNV",
6579 "capabilities" : [ "RayTracingNV" ],
6580 "extensions" : [ "SPV_NV_ray_tracing" ]
6585 "category" : "ValueEnum",
6589 "enumerant" : "CrossDevice",
6593 "enumerant" : "Device",
6597 "enumerant" : "Workgroup",
6601 "enumerant" : "Subgroup",
6605 "enumerant" : "Invocation",
6609 "enumerant" : "QueueFamilyKHR",
6611 "capabilities" : [ "VulkanMemoryModelKHR" ]
6616 "category" : "ValueEnum",
6617 "kind" : "GroupOperation",
6620 "enumerant" : "Reduce",
6622 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6625 "enumerant" : "InclusiveScan",
6627 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6630 "enumerant" : "ExclusiveScan",
6632 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6635 "enumerant" : "ClusteredReduce",
6637 "capabilities" : [ "GroupNonUniformClustered" ],
6641 "enumerant" : "PartitionedReduceNV",
6643 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6644 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6648 "enumerant" : "PartitionedInclusiveScanNV",
6650 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6651 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6655 "enumerant" : "PartitionedExclusiveScanNV",
6657 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6658 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6664 "category" : "ValueEnum",
6665 "kind" : "KernelEnqueueFlags",
6668 "enumerant" : "NoWait",
6670 "capabilities" : [ "Kernel" ]
6673 "enumerant" : "WaitKernel",
6675 "capabilities" : [ "Kernel" ]
6678 "enumerant" : "WaitWorkGroup",
6680 "capabilities" : [ "Kernel" ]
6685 "category" : "ValueEnum",
6686 "kind" : "Capability",
6689 "enumerant" : "Matrix",
6693 "enumerant" : "Shader",
6695 "capabilities" : [ "Matrix" ]
6698 "enumerant" : "Geometry",
6700 "capabilities" : [ "Shader" ]
6703 "enumerant" : "Tessellation",
6705 "capabilities" : [ "Shader" ]
6708 "enumerant" : "Addresses",
6712 "enumerant" : "Linkage",
6716 "enumerant" : "Kernel",
6720 "enumerant" : "Vector16",
6722 "capabilities" : [ "Kernel" ]
6725 "enumerant" : "Float16Buffer",
6727 "capabilities" : [ "Kernel" ]
6730 "enumerant" : "Float16",
6734 "enumerant" : "Float64",
6738 "enumerant" : "Int64",
6742 "enumerant" : "Int64Atomics",
6744 "capabilities" : [ "Int64" ]
6747 "enumerant" : "ImageBasic",
6749 "capabilities" : [ "Kernel" ]
6752 "enumerant" : "ImageReadWrite",
6754 "capabilities" : [ "ImageBasic" ]
6757 "enumerant" : "ImageMipmap",
6759 "capabilities" : [ "ImageBasic" ]
6762 "enumerant" : "Pipes",
6764 "capabilities" : [ "Kernel" ]
6767 "enumerant" : "Groups",
6771 "enumerant" : "DeviceEnqueue",
6773 "capabilities" : [ "Kernel" ]
6776 "enumerant" : "LiteralSampler",
6778 "capabilities" : [ "Kernel" ]
6781 "enumerant" : "AtomicStorage",
6783 "capabilities" : [ "Shader" ]
6786 "enumerant" : "Int16",
6790 "enumerant" : "TessellationPointSize",
6792 "capabilities" : [ "Tessellation" ]
6795 "enumerant" : "GeometryPointSize",
6797 "capabilities" : [ "Geometry" ]
6800 "enumerant" : "ImageGatherExtended",
6802 "capabilities" : [ "Shader" ]
6805 "enumerant" : "StorageImageMultisample",
6807 "capabilities" : [ "Shader" ]
6810 "enumerant" : "UniformBufferArrayDynamicIndexing",
6812 "capabilities" : [ "Shader" ]
6815 "enumerant" : "SampledImageArrayDynamicIndexing",
6817 "capabilities" : [ "Shader" ]
6820 "enumerant" : "StorageBufferArrayDynamicIndexing",
6822 "capabilities" : [ "Shader" ]
6825 "enumerant" : "StorageImageArrayDynamicIndexing",
6827 "capabilities" : [ "Shader" ]
6830 "enumerant" : "ClipDistance",
6832 "capabilities" : [ "Shader" ]
6835 "enumerant" : "CullDistance",
6837 "capabilities" : [ "Shader" ]
6840 "enumerant" : "ImageCubeArray",
6842 "capabilities" : [ "SampledCubeArray" ]
6845 "enumerant" : "SampleRateShading",
6847 "capabilities" : [ "Shader" ]
6850 "enumerant" : "ImageRect",
6852 "capabilities" : [ "SampledRect" ]
6855 "enumerant" : "SampledRect",
6857 "capabilities" : [ "Shader" ]
6860 "enumerant" : "GenericPointer",
6862 "capabilities" : [ "Addresses" ]
6865 "enumerant" : "Int8",
6869 "enumerant" : "InputAttachment",
6871 "capabilities" : [ "Shader" ]
6874 "enumerant" : "SparseResidency",
6876 "capabilities" : [ "Shader" ]
6879 "enumerant" : "MinLod",
6881 "capabilities" : [ "Shader" ]
6884 "enumerant" : "Sampled1D",
6888 "enumerant" : "Image1D",
6890 "capabilities" : [ "Sampled1D" ]
6893 "enumerant" : "SampledCubeArray",
6895 "capabilities" : [ "Shader" ]
6898 "enumerant" : "SampledBuffer",
6902 "enumerant" : "ImageBuffer",
6904 "capabilities" : [ "SampledBuffer" ]
6907 "enumerant" : "ImageMSArray",
6909 "capabilities" : [ "Shader" ]
6912 "enumerant" : "StorageImageExtendedFormats",
6914 "capabilities" : [ "Shader" ]
6917 "enumerant" : "ImageQuery",
6919 "capabilities" : [ "Shader" ]
6922 "enumerant" : "DerivativeControl",
6924 "capabilities" : [ "Shader" ]
6927 "enumerant" : "InterpolationFunction",
6929 "capabilities" : [ "Shader" ]
6932 "enumerant" : "TransformFeedback",
6934 "capabilities" : [ "Shader" ]
6937 "enumerant" : "GeometryStreams",
6939 "capabilities" : [ "Geometry" ]
6942 "enumerant" : "StorageImageReadWithoutFormat",
6944 "capabilities" : [ "Shader" ]
6947 "enumerant" : "StorageImageWriteWithoutFormat",
6949 "capabilities" : [ "Shader" ]
6952 "enumerant" : "MultiViewport",
6954 "capabilities" : [ "Geometry" ]
6957 "enumerant" : "SubgroupDispatch",
6959 "capabilities" : [ "DeviceEnqueue" ],
6963 "enumerant" : "NamedBarrier",
6965 "capabilities" : [ "Kernel" ],
6969 "enumerant" : "PipeStorage",
6971 "capabilities" : [ "Pipes" ],
6975 "enumerant" : "GroupNonUniform",
6980 "enumerant" : "GroupNonUniformVote",
6982 "capabilities" : [ "GroupNonUniform" ],
6986 "enumerant" : "GroupNonUniformArithmetic",
6988 "capabilities" : [ "GroupNonUniform" ],
6992 "enumerant" : "GroupNonUniformBallot",
6994 "capabilities" : [ "GroupNonUniform" ],
6998 "enumerant" : "GroupNonUniformShuffle",
7000 "capabilities" : [ "GroupNonUniform" ],
7004 "enumerant" : "GroupNonUniformShuffleRelative",
7006 "capabilities" : [ "GroupNonUniform" ],
7010 "enumerant" : "GroupNonUniformClustered",
7012 "capabilities" : [ "GroupNonUniform" ],
7016 "enumerant" : "GroupNonUniformQuad",
7018 "capabilities" : [ "GroupNonUniform" ],
7022 "enumerant" : "SubgroupBallotKHR",
7024 "extensions" : [ "SPV_KHR_shader_ballot" ],
7028 "enumerant" : "DrawParameters",
7030 "capabilities" : [ "Shader" ],
7031 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
7035 "enumerant" : "SubgroupVoteKHR",
7037 "extensions" : [ "SPV_KHR_subgroup_vote" ],
7041 "enumerant" : "StorageBuffer16BitAccess",
7043 "extensions" : [ "SPV_KHR_16bit_storage" ],
7047 "enumerant" : "StorageUniformBufferBlock16",
7049 "extensions" : [ "SPV_KHR_16bit_storage" ],
7053 "enumerant" : "UniformAndStorageBuffer16BitAccess",
7056 "StorageBuffer16BitAccess",
7057 "StorageUniformBufferBlock16"
7059 "extensions" : [ "SPV_KHR_16bit_storage" ],
7063 "enumerant" : "StorageUniform16",
7066 "StorageBuffer16BitAccess",
7067 "StorageUniformBufferBlock16"
7069 "extensions" : [ "SPV_KHR_16bit_storage" ],
7073 "enumerant" : "StoragePushConstant16",
7075 "extensions" : [ "SPV_KHR_16bit_storage" ],
7079 "enumerant" : "StorageInputOutput16",
7081 "extensions" : [ "SPV_KHR_16bit_storage" ],
7085 "enumerant" : "DeviceGroup",
7087 "extensions" : [ "SPV_KHR_device_group" ],
7091 "enumerant" : "MultiView",
7093 "capabilities" : [ "Shader" ],
7094 "extensions" : [ "SPV_KHR_multiview" ],
7098 "enumerant" : "VariablePointersStorageBuffer",
7100 "capabilities" : [ "Shader" ],
7101 "extensions" : [ "SPV_KHR_variable_pointers" ],
7105 "enumerant" : "VariablePointers",
7107 "capabilities" : [ "VariablePointersStorageBuffer" ],
7108 "extensions" : [ "SPV_KHR_variable_pointers" ],
7112 "enumerant" : "AtomicStorageOps",
7114 "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
7118 "enumerant" : "SampleMaskPostDepthCoverage",
7120 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
7124 "enumerant" : "StorageBuffer8BitAccess",
7126 "extensions" : [ "SPV_KHR_8bit_storage" ],
7130 "enumerant" : "UniformAndStorageBuffer8BitAccess",
7132 "capabilities" : [ "StorageBuffer8BitAccess" ],
7133 "extensions" : [ "SPV_KHR_8bit_storage" ],
7137 "enumerant" : "StoragePushConstant8",
7139 "extensions" : [ "SPV_KHR_8bit_storage" ],
7143 "enumerant" : "DenormPreserve",
7145 "extensions" : [ "SPV_KHR_float_controls" ],
7149 "enumerant" : "DenormFlushToZero",
7151 "extensions" : [ "SPV_KHR_float_controls" ],
7155 "enumerant" : "SignedZeroInfNanPreserve",
7157 "extensions" : [ "SPV_KHR_float_controls" ],
7161 "enumerant" : "RoundingModeRTE",
7163 "extensions" : [ "SPV_KHR_float_controls" ],
7167 "enumerant" : "RoundingModeRTZ",
7169 "extensions" : [ "SPV_KHR_float_controls" ],
7173 "enumerant" : "Float16ImageAMD",
7175 "capabilities" : [ "Shader" ],
7176 "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
7180 "enumerant" : "ImageGatherBiasLodAMD",
7182 "capabilities" : [ "Shader" ],
7183 "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
7187 "enumerant" : "FragmentMaskAMD",
7189 "capabilities" : [ "Shader" ],
7190 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
7194 "enumerant" : "StencilExportEXT",
7196 "capabilities" : [ "Shader" ],
7197 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
7201 "enumerant" : "ImageReadWriteLodAMD",
7203 "capabilities" : [ "Shader" ],
7204 "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
7208 "enumerant" : "SampleMaskOverrideCoverageNV",
7210 "capabilities" : [ "SampleRateShading" ],
7211 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
7215 "enumerant" : "GeometryShaderPassthroughNV",
7217 "capabilities" : [ "Geometry" ],
7218 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
7222 "enumerant" : "ShaderViewportIndexLayerEXT",
7224 "capabilities" : [ "MultiViewport" ],
7225 "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
7229 "enumerant" : "ShaderViewportIndexLayerNV",
7231 "capabilities" : [ "MultiViewport" ],
7232 "extensions" : [ "SPV_NV_viewport_array2" ],
7236 "enumerant" : "ShaderViewportMaskNV",
7238 "capabilities" : [ "ShaderViewportIndexLayerNV" ],
7239 "extensions" : [ "SPV_NV_viewport_array2" ],
7243 "enumerant" : "ShaderStereoViewNV",
7245 "capabilities" : [ "ShaderViewportMaskNV" ],
7246 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
7250 "enumerant" : "PerViewAttributesNV",
7252 "capabilities" : [ "MultiView" ],
7253 "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
7257 "enumerant" : "FragmentFullyCoveredEXT",
7259 "capabilities" : [ "Shader" ],
7260 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
7264 "enumerant" : "MeshShadingNV",
7266 "capabilities" : [ "Shader" ],
7267 "extensions" : [ "SPV_NV_mesh_shader" ],
7271 "enumerant" : "ShaderNonUniformEXT",
7273 "capabilities" : [ "Shader" ],
7274 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7278 "enumerant" : "RuntimeDescriptorArrayEXT",
7280 "capabilities" : [ "Shader" ],
7281 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7285 "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
7287 "capabilities" : [ "InputAttachment" ],
7288 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7292 "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
7294 "capabilities" : [ "SampledBuffer" ],
7295 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7299 "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
7301 "capabilities" : [ "ImageBuffer" ],
7302 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7306 "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
7308 "capabilities" : [ "ShaderNonUniformEXT" ],
7309 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7313 "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
7315 "capabilities" : [ "ShaderNonUniformEXT" ],
7316 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7320 "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
7322 "capabilities" : [ "ShaderNonUniformEXT" ],
7323 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7327 "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
7329 "capabilities" : [ "ShaderNonUniformEXT" ],
7330 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7334 "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
7336 "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ],
7337 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7341 "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
7343 "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ],
7344 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7348 "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
7350 "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ],
7351 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
7355 "enumerant" : "RayTracingNV",
7357 "capabilities" : [ "Shader" ],
7358 "extensions" : [ "SPV_NV_ray_tracing" ],
7362 "enumerant" : "SubgroupShuffleINTEL",
7364 "extensions" : [ "SPV_INTEL_subgroups" ],
7368 "enumerant" : "SubgroupBufferBlockIOINTEL",
7370 "extensions" : [ "SPV_INTEL_subgroups" ],
7374 "enumerant" : "SubgroupImageBlockIOINTEL",
7376 "extensions" : [ "SPV_INTEL_subgroups" ],
7380 "enumerant" : "GroupNonUniformPartitionedNV",
7382 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
7386 "enumerant" : "VulkanMemoryModelKHR",
7388 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7392 "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
7394 "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7398 "enumerant" : "ImageFootprintNV",
7400 "extensions" : [ "SPV_NV_shader_image_footprint" ],
7404 "enumerant" : "FragmentBarycentricNV",
7406 "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
7410 "enumerant" : "ComputeDerivativeGroupQuadsNV",
7412 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
7416 "enumerant" : "ComputeDerivativeGroupLinearNV",
7418 "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
7422 "enumerant" : "FragmentDensityEXT",
7424 "capabilities" : [ "Shader" ],
7425 "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
7429 "enumerant" : "ShadingRateNV",
7431 "capabilities" : [ "Shader" ],
7432 "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
7436 "enumerant" : "PhysicalStorageBufferAddressesEXT",
7438 "capabilities" : [ "Shader" ],
7439 "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7446 "kind" : "IdResultType",
7447 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
7451 "kind" : "IdResult",
7452 "doc" : "Definition of an <id> representing the result of the enclosing instruction"
7456 "kind" : "IdMemorySemantics",
7457 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
7462 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
7467 "doc" : "Reference to an <id>"
7470 "category" : "Literal",
7471 "kind" : "LiteralInteger",
7472 "doc" : "An integer consuming one or more words"
7475 "category" : "Literal",
7476 "kind" : "LiteralString",
7477 "doc" : "A null-terminated stream of characters consuming an integral number of words"
7480 "category" : "Literal",
7481 "kind" : "LiteralContextDependentNumber",
7482 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
7485 "category" : "Literal",
7486 "kind" : "LiteralExtInstInteger",
7487 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
7490 "category" : "Literal",
7491 "kind" : "LiteralSpecConstantOpInteger",
7492 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
7495 "category" : "Composite",
7496 "kind" : "PairLiteralIntegerIdRef",
7497 "bases" : [ "LiteralInteger", "IdRef" ]
7500 "category" : "Composite",
7501 "kind" : "PairIdRefLiteralInteger",
7502 "bases" : [ "IdRef", "LiteralInteger" ]
7505 "category" : "Composite",
7506 "kind" : "PairIdRefIdRef",
7507 "bases" : [ "IdRef", "IdRef" ]