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" }
342 "capabilities" : [ "Addresses" ]
345 "opname" : "OpConstantTrue",
348 { "kind" : "IdResultType" },
349 { "kind" : "IdResult" }
353 "opname" : "OpConstantFalse",
356 { "kind" : "IdResultType" },
357 { "kind" : "IdResult" }
361 "opname" : "OpConstant",
364 { "kind" : "IdResultType" },
365 { "kind" : "IdResult" },
366 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
370 "opname" : "OpConstantComposite",
373 { "kind" : "IdResultType" },
374 { "kind" : "IdResult" },
375 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
379 "opname" : "OpConstantSampler",
382 { "kind" : "IdResultType" },
383 { "kind" : "IdResult" },
384 { "kind" : "SamplerAddressingMode" },
385 { "kind" : "LiteralInteger", "name" : "'Param'" },
386 { "kind" : "SamplerFilterMode" }
388 "capabilities" : [ "LiteralSampler" ]
391 "opname" : "OpConstantNull",
394 { "kind" : "IdResultType" },
395 { "kind" : "IdResult" }
399 "opname" : "OpSpecConstantTrue",
402 { "kind" : "IdResultType" },
403 { "kind" : "IdResult" }
407 "opname" : "OpSpecConstantFalse",
410 { "kind" : "IdResultType" },
411 { "kind" : "IdResult" }
415 "opname" : "OpSpecConstant",
418 { "kind" : "IdResultType" },
419 { "kind" : "IdResult" },
420 { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
424 "opname" : "OpSpecConstantComposite",
427 { "kind" : "IdResultType" },
428 { "kind" : "IdResult" },
429 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
433 "opname" : "OpSpecConstantOp",
436 { "kind" : "IdResultType" },
437 { "kind" : "IdResult" },
438 { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
442 "opname" : "OpFunction",
445 { "kind" : "IdResultType" },
446 { "kind" : "IdResult" },
447 { "kind" : "FunctionControl" },
448 { "kind" : "IdRef", "name" : "'Function Type'" }
452 "opname" : "OpFunctionParameter",
455 { "kind" : "IdResultType" },
456 { "kind" : "IdResult" }
460 "opname" : "OpFunctionEnd",
464 "opname" : "OpFunctionCall",
467 { "kind" : "IdResultType" },
468 { "kind" : "IdResult" },
469 { "kind" : "IdRef", "name" : "'Function'" },
470 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
474 "opname" : "OpVariable",
477 { "kind" : "IdResultType" },
478 { "kind" : "IdResult" },
479 { "kind" : "StorageClass" },
480 { "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
484 "opname" : "OpImageTexelPointer",
487 { "kind" : "IdResultType" },
488 { "kind" : "IdResult" },
489 { "kind" : "IdRef", "name" : "'Image'" },
490 { "kind" : "IdRef", "name" : "'Coordinate'" },
491 { "kind" : "IdRef", "name" : "'Sample'" }
498 { "kind" : "IdResultType" },
499 { "kind" : "IdResult" },
500 { "kind" : "IdRef", "name" : "'Pointer'" },
501 { "kind" : "MemoryAccess", "quantifier" : "?" }
505 "opname" : "OpStore",
508 { "kind" : "IdRef", "name" : "'Pointer'" },
509 { "kind" : "IdRef", "name" : "'Object'" },
510 { "kind" : "MemoryAccess", "quantifier" : "?" }
514 "opname" : "OpCopyMemory",
517 { "kind" : "IdRef", "name" : "'Target'" },
518 { "kind" : "IdRef", "name" : "'Source'" },
519 { "kind" : "MemoryAccess", "quantifier" : "?" }
523 "opname" : "OpCopyMemorySized",
526 { "kind" : "IdRef", "name" : "'Target'" },
527 { "kind" : "IdRef", "name" : "'Source'" },
528 { "kind" : "IdRef", "name" : "'Size'" },
529 { "kind" : "MemoryAccess", "quantifier" : "?" }
531 "capabilities" : [ "Addresses" ]
534 "opname" : "OpAccessChain",
537 { "kind" : "IdResultType" },
538 { "kind" : "IdResult" },
539 { "kind" : "IdRef", "name" : "'Base'" },
540 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
544 "opname" : "OpInBoundsAccessChain",
547 { "kind" : "IdResultType" },
548 { "kind" : "IdResult" },
549 { "kind" : "IdRef", "name" : "'Base'" },
550 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
554 "opname" : "OpPtrAccessChain",
557 { "kind" : "IdResultType" },
558 { "kind" : "IdResult" },
559 { "kind" : "IdRef", "name" : "'Base'" },
560 { "kind" : "IdRef", "name" : "'Element'" },
561 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
566 "VariablePointersStorageBuffer"
570 "opname" : "OpArrayLength",
573 { "kind" : "IdResultType" },
574 { "kind" : "IdResult" },
575 { "kind" : "IdRef", "name" : "'Structure'" },
576 { "kind" : "LiteralInteger", "name" : "'Array member'" }
578 "capabilities" : [ "Shader" ]
581 "opname" : "OpGenericPtrMemSemantics",
584 { "kind" : "IdResultType" },
585 { "kind" : "IdResult" },
586 { "kind" : "IdRef", "name" : "'Pointer'" }
588 "capabilities" : [ "Kernel" ]
591 "opname" : "OpInBoundsPtrAccessChain",
594 { "kind" : "IdResultType" },
595 { "kind" : "IdResult" },
596 { "kind" : "IdRef", "name" : "'Base'" },
597 { "kind" : "IdRef", "name" : "'Element'" },
598 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
600 "capabilities" : [ "Addresses" ]
603 "opname" : "OpDecorate",
606 { "kind" : "IdRef", "name" : "'Target'" },
607 { "kind" : "Decoration" }
611 "opname" : "OpMemberDecorate",
614 { "kind" : "IdRef", "name" : "'Structure Type'" },
615 { "kind" : "LiteralInteger", "name" : "'Member'" },
616 { "kind" : "Decoration" }
620 "opname" : "OpDecorationGroup",
623 { "kind" : "IdResult" }
627 "opname" : "OpGroupDecorate",
630 { "kind" : "IdRef", "name" : "'Decoration Group'" },
631 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
635 "opname" : "OpGroupMemberDecorate",
638 { "kind" : "IdRef", "name" : "'Decoration Group'" },
639 { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
643 "opname" : "OpVectorExtractDynamic",
646 { "kind" : "IdResultType" },
647 { "kind" : "IdResult" },
648 { "kind" : "IdRef", "name" : "'Vector'" },
649 { "kind" : "IdRef", "name" : "'Index'" }
653 "opname" : "OpVectorInsertDynamic",
656 { "kind" : "IdResultType" },
657 { "kind" : "IdResult" },
658 { "kind" : "IdRef", "name" : "'Vector'" },
659 { "kind" : "IdRef", "name" : "'Component'" },
660 { "kind" : "IdRef", "name" : "'Index'" }
664 "opname" : "OpVectorShuffle",
667 { "kind" : "IdResultType" },
668 { "kind" : "IdResult" },
669 { "kind" : "IdRef", "name" : "'Vector 1'" },
670 { "kind" : "IdRef", "name" : "'Vector 2'" },
671 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
675 "opname" : "OpCompositeConstruct",
678 { "kind" : "IdResultType" },
679 { "kind" : "IdResult" },
680 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" }
684 "opname" : "OpCompositeExtract",
687 { "kind" : "IdResultType" },
688 { "kind" : "IdResult" },
689 { "kind" : "IdRef", "name" : "'Composite'" },
690 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
694 "opname" : "OpCompositeInsert",
697 { "kind" : "IdResultType" },
698 { "kind" : "IdResult" },
699 { "kind" : "IdRef", "name" : "'Object'" },
700 { "kind" : "IdRef", "name" : "'Composite'" },
701 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
705 "opname" : "OpCopyObject",
708 { "kind" : "IdResultType" },
709 { "kind" : "IdResult" },
710 { "kind" : "IdRef", "name" : "'Operand'" }
714 "opname" : "OpTranspose",
717 { "kind" : "IdResultType" },
718 { "kind" : "IdResult" },
719 { "kind" : "IdRef", "name" : "'Matrix'" }
721 "capabilities" : [ "Matrix" ]
724 "opname" : "OpSampledImage",
727 { "kind" : "IdResultType" },
728 { "kind" : "IdResult" },
729 { "kind" : "IdRef", "name" : "'Image'" },
730 { "kind" : "IdRef", "name" : "'Sampler'" }
734 "opname" : "OpImageSampleImplicitLod",
737 { "kind" : "IdResultType" },
738 { "kind" : "IdResult" },
739 { "kind" : "IdRef", "name" : "'Sampled Image'" },
740 { "kind" : "IdRef", "name" : "'Coordinate'" },
741 { "kind" : "ImageOperands", "quantifier" : "?" }
743 "capabilities" : [ "Shader" ]
746 "opname" : "OpImageSampleExplicitLod",
749 { "kind" : "IdResultType" },
750 { "kind" : "IdResult" },
751 { "kind" : "IdRef", "name" : "'Sampled Image'" },
752 { "kind" : "IdRef", "name" : "'Coordinate'" },
753 { "kind" : "ImageOperands" }
757 "opname" : "OpImageSampleDrefImplicitLod",
760 { "kind" : "IdResultType" },
761 { "kind" : "IdResult" },
762 { "kind" : "IdRef", "name" : "'Sampled Image'" },
763 { "kind" : "IdRef", "name" : "'Coordinate'" },
764 { "kind" : "IdRef", "name" : "'D~ref~'" },
765 { "kind" : "ImageOperands", "quantifier" : "?" }
767 "capabilities" : [ "Shader" ]
770 "opname" : "OpImageSampleDrefExplicitLod",
773 { "kind" : "IdResultType" },
774 { "kind" : "IdResult" },
775 { "kind" : "IdRef", "name" : "'Sampled Image'" },
776 { "kind" : "IdRef", "name" : "'Coordinate'" },
777 { "kind" : "IdRef", "name" : "'D~ref~'" },
778 { "kind" : "ImageOperands" }
780 "capabilities" : [ "Shader" ]
783 "opname" : "OpImageSampleProjImplicitLod",
786 { "kind" : "IdResultType" },
787 { "kind" : "IdResult" },
788 { "kind" : "IdRef", "name" : "'Sampled Image'" },
789 { "kind" : "IdRef", "name" : "'Coordinate'" },
790 { "kind" : "ImageOperands", "quantifier" : "?" }
792 "capabilities" : [ "Shader" ]
795 "opname" : "OpImageSampleProjExplicitLod",
798 { "kind" : "IdResultType" },
799 { "kind" : "IdResult" },
800 { "kind" : "IdRef", "name" : "'Sampled Image'" },
801 { "kind" : "IdRef", "name" : "'Coordinate'" },
802 { "kind" : "ImageOperands" }
804 "capabilities" : [ "Shader" ]
807 "opname" : "OpImageSampleProjDrefImplicitLod",
810 { "kind" : "IdResultType" },
811 { "kind" : "IdResult" },
812 { "kind" : "IdRef", "name" : "'Sampled Image'" },
813 { "kind" : "IdRef", "name" : "'Coordinate'" },
814 { "kind" : "IdRef", "name" : "'D~ref~'" },
815 { "kind" : "ImageOperands", "quantifier" : "?" }
817 "capabilities" : [ "Shader" ]
820 "opname" : "OpImageSampleProjDrefExplicitLod",
823 { "kind" : "IdResultType" },
824 { "kind" : "IdResult" },
825 { "kind" : "IdRef", "name" : "'Sampled Image'" },
826 { "kind" : "IdRef", "name" : "'Coordinate'" },
827 { "kind" : "IdRef", "name" : "'D~ref~'" },
828 { "kind" : "ImageOperands" }
830 "capabilities" : [ "Shader" ]
833 "opname" : "OpImageFetch",
836 { "kind" : "IdResultType" },
837 { "kind" : "IdResult" },
838 { "kind" : "IdRef", "name" : "'Image'" },
839 { "kind" : "IdRef", "name" : "'Coordinate'" },
840 { "kind" : "ImageOperands", "quantifier" : "?" }
844 "opname" : "OpImageGather",
847 { "kind" : "IdResultType" },
848 { "kind" : "IdResult" },
849 { "kind" : "IdRef", "name" : "'Sampled Image'" },
850 { "kind" : "IdRef", "name" : "'Coordinate'" },
851 { "kind" : "IdRef", "name" : "'Component'" },
852 { "kind" : "ImageOperands", "quantifier" : "?" }
854 "capabilities" : [ "Shader" ]
857 "opname" : "OpImageDrefGather",
860 { "kind" : "IdResultType" },
861 { "kind" : "IdResult" },
862 { "kind" : "IdRef", "name" : "'Sampled Image'" },
863 { "kind" : "IdRef", "name" : "'Coordinate'" },
864 { "kind" : "IdRef", "name" : "'D~ref~'" },
865 { "kind" : "ImageOperands", "quantifier" : "?" }
867 "capabilities" : [ "Shader" ]
870 "opname" : "OpImageRead",
873 { "kind" : "IdResultType" },
874 { "kind" : "IdResult" },
875 { "kind" : "IdRef", "name" : "'Image'" },
876 { "kind" : "IdRef", "name" : "'Coordinate'" },
877 { "kind" : "ImageOperands", "quantifier" : "?" }
881 "opname" : "OpImageWrite",
884 { "kind" : "IdRef", "name" : "'Image'" },
885 { "kind" : "IdRef", "name" : "'Coordinate'" },
886 { "kind" : "IdRef", "name" : "'Texel'" },
887 { "kind" : "ImageOperands", "quantifier" : "?" }
891 "opname" : "OpImage",
894 { "kind" : "IdResultType" },
895 { "kind" : "IdResult" },
896 { "kind" : "IdRef", "name" : "'Sampled Image'" }
900 "opname" : "OpImageQueryFormat",
903 { "kind" : "IdResultType" },
904 { "kind" : "IdResult" },
905 { "kind" : "IdRef", "name" : "'Image'" }
907 "capabilities" : [ "Kernel" ]
910 "opname" : "OpImageQueryOrder",
913 { "kind" : "IdResultType" },
914 { "kind" : "IdResult" },
915 { "kind" : "IdRef", "name" : "'Image'" }
917 "capabilities" : [ "Kernel" ]
920 "opname" : "OpImageQuerySizeLod",
923 { "kind" : "IdResultType" },
924 { "kind" : "IdResult" },
925 { "kind" : "IdRef", "name" : "'Image'" },
926 { "kind" : "IdRef", "name" : "'Level of Detail'" }
928 "capabilities" : [ "Kernel", "ImageQuery" ]
931 "opname" : "OpImageQuerySize",
934 { "kind" : "IdResultType" },
935 { "kind" : "IdResult" },
936 { "kind" : "IdRef", "name" : "'Image'" }
938 "capabilities" : [ "Kernel", "ImageQuery" ]
941 "opname" : "OpImageQueryLod",
944 { "kind" : "IdResultType" },
945 { "kind" : "IdResult" },
946 { "kind" : "IdRef", "name" : "'Sampled Image'" },
947 { "kind" : "IdRef", "name" : "'Coordinate'" }
949 "capabilities" : [ "ImageQuery" ]
952 "opname" : "OpImageQueryLevels",
955 { "kind" : "IdResultType" },
956 { "kind" : "IdResult" },
957 { "kind" : "IdRef", "name" : "'Image'" }
959 "capabilities" : [ "Kernel", "ImageQuery" ]
962 "opname" : "OpImageQuerySamples",
965 { "kind" : "IdResultType" },
966 { "kind" : "IdResult" },
967 { "kind" : "IdRef", "name" : "'Image'" }
969 "capabilities" : [ "Kernel", "ImageQuery" ]
972 "opname" : "OpConvertFToU",
975 { "kind" : "IdResultType" },
976 { "kind" : "IdResult" },
977 { "kind" : "IdRef", "name" : "'Float Value'" }
981 "opname" : "OpConvertFToS",
984 { "kind" : "IdResultType" },
985 { "kind" : "IdResult" },
986 { "kind" : "IdRef", "name" : "'Float Value'" }
990 "opname" : "OpConvertSToF",
993 { "kind" : "IdResultType" },
994 { "kind" : "IdResult" },
995 { "kind" : "IdRef", "name" : "'Signed Value'" }
999 "opname" : "OpConvertUToF",
1002 { "kind" : "IdResultType" },
1003 { "kind" : "IdResult" },
1004 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1008 "opname" : "OpUConvert",
1011 { "kind" : "IdResultType" },
1012 { "kind" : "IdResult" },
1013 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1017 "opname" : "OpSConvert",
1020 { "kind" : "IdResultType" },
1021 { "kind" : "IdResult" },
1022 { "kind" : "IdRef", "name" : "'Signed Value'" }
1026 "opname" : "OpFConvert",
1029 { "kind" : "IdResultType" },
1030 { "kind" : "IdResult" },
1031 { "kind" : "IdRef", "name" : "'Float Value'" }
1035 "opname" : "OpQuantizeToF16",
1038 { "kind" : "IdResultType" },
1039 { "kind" : "IdResult" },
1040 { "kind" : "IdRef", "name" : "'Value'" }
1044 "opname" : "OpConvertPtrToU",
1047 { "kind" : "IdResultType" },
1048 { "kind" : "IdResult" },
1049 { "kind" : "IdRef", "name" : "'Pointer'" }
1051 "capabilities" : [ "Addresses" ]
1054 "opname" : "OpSatConvertSToU",
1057 { "kind" : "IdResultType" },
1058 { "kind" : "IdResult" },
1059 { "kind" : "IdRef", "name" : "'Signed Value'" }
1061 "capabilities" : [ "Kernel" ]
1064 "opname" : "OpSatConvertUToS",
1067 { "kind" : "IdResultType" },
1068 { "kind" : "IdResult" },
1069 { "kind" : "IdRef", "name" : "'Unsigned Value'" }
1071 "capabilities" : [ "Kernel" ]
1074 "opname" : "OpConvertUToPtr",
1077 { "kind" : "IdResultType" },
1078 { "kind" : "IdResult" },
1079 { "kind" : "IdRef", "name" : "'Integer Value'" }
1081 "capabilities" : [ "Addresses" ]
1084 "opname" : "OpPtrCastToGeneric",
1087 { "kind" : "IdResultType" },
1088 { "kind" : "IdResult" },
1089 { "kind" : "IdRef", "name" : "'Pointer'" }
1091 "capabilities" : [ "Kernel" ]
1094 "opname" : "OpGenericCastToPtr",
1097 { "kind" : "IdResultType" },
1098 { "kind" : "IdResult" },
1099 { "kind" : "IdRef", "name" : "'Pointer'" }
1101 "capabilities" : [ "Kernel" ]
1104 "opname" : "OpGenericCastToPtrExplicit",
1107 { "kind" : "IdResultType" },
1108 { "kind" : "IdResult" },
1109 { "kind" : "IdRef", "name" : "'Pointer'" },
1110 { "kind" : "StorageClass", "name" : "'Storage'" }
1112 "capabilities" : [ "Kernel" ]
1115 "opname" : "OpBitcast",
1118 { "kind" : "IdResultType" },
1119 { "kind" : "IdResult" },
1120 { "kind" : "IdRef", "name" : "'Operand'" }
1124 "opname" : "OpSNegate",
1127 { "kind" : "IdResultType" },
1128 { "kind" : "IdResult" },
1129 { "kind" : "IdRef", "name" : "'Operand'" }
1133 "opname" : "OpFNegate",
1136 { "kind" : "IdResultType" },
1137 { "kind" : "IdResult" },
1138 { "kind" : "IdRef", "name" : "'Operand'" }
1142 "opname" : "OpIAdd",
1145 { "kind" : "IdResultType" },
1146 { "kind" : "IdResult" },
1147 { "kind" : "IdRef", "name" : "'Operand 1'" },
1148 { "kind" : "IdRef", "name" : "'Operand 2'" }
1152 "opname" : "OpFAdd",
1155 { "kind" : "IdResultType" },
1156 { "kind" : "IdResult" },
1157 { "kind" : "IdRef", "name" : "'Operand 1'" },
1158 { "kind" : "IdRef", "name" : "'Operand 2'" }
1162 "opname" : "OpISub",
1165 { "kind" : "IdResultType" },
1166 { "kind" : "IdResult" },
1167 { "kind" : "IdRef", "name" : "'Operand 1'" },
1168 { "kind" : "IdRef", "name" : "'Operand 2'" }
1172 "opname" : "OpFSub",
1175 { "kind" : "IdResultType" },
1176 { "kind" : "IdResult" },
1177 { "kind" : "IdRef", "name" : "'Operand 1'" },
1178 { "kind" : "IdRef", "name" : "'Operand 2'" }
1182 "opname" : "OpIMul",
1185 { "kind" : "IdResultType" },
1186 { "kind" : "IdResult" },
1187 { "kind" : "IdRef", "name" : "'Operand 1'" },
1188 { "kind" : "IdRef", "name" : "'Operand 2'" }
1192 "opname" : "OpFMul",
1195 { "kind" : "IdResultType" },
1196 { "kind" : "IdResult" },
1197 { "kind" : "IdRef", "name" : "'Operand 1'" },
1198 { "kind" : "IdRef", "name" : "'Operand 2'" }
1202 "opname" : "OpUDiv",
1205 { "kind" : "IdResultType" },
1206 { "kind" : "IdResult" },
1207 { "kind" : "IdRef", "name" : "'Operand 1'" },
1208 { "kind" : "IdRef", "name" : "'Operand 2'" }
1212 "opname" : "OpSDiv",
1215 { "kind" : "IdResultType" },
1216 { "kind" : "IdResult" },
1217 { "kind" : "IdRef", "name" : "'Operand 1'" },
1218 { "kind" : "IdRef", "name" : "'Operand 2'" }
1222 "opname" : "OpFDiv",
1225 { "kind" : "IdResultType" },
1226 { "kind" : "IdResult" },
1227 { "kind" : "IdRef", "name" : "'Operand 1'" },
1228 { "kind" : "IdRef", "name" : "'Operand 2'" }
1232 "opname" : "OpUMod",
1235 { "kind" : "IdResultType" },
1236 { "kind" : "IdResult" },
1237 { "kind" : "IdRef", "name" : "'Operand 1'" },
1238 { "kind" : "IdRef", "name" : "'Operand 2'" }
1242 "opname" : "OpSRem",
1245 { "kind" : "IdResultType" },
1246 { "kind" : "IdResult" },
1247 { "kind" : "IdRef", "name" : "'Operand 1'" },
1248 { "kind" : "IdRef", "name" : "'Operand 2'" }
1252 "opname" : "OpSMod",
1255 { "kind" : "IdResultType" },
1256 { "kind" : "IdResult" },
1257 { "kind" : "IdRef", "name" : "'Operand 1'" },
1258 { "kind" : "IdRef", "name" : "'Operand 2'" }
1262 "opname" : "OpFRem",
1265 { "kind" : "IdResultType" },
1266 { "kind" : "IdResult" },
1267 { "kind" : "IdRef", "name" : "'Operand 1'" },
1268 { "kind" : "IdRef", "name" : "'Operand 2'" }
1272 "opname" : "OpFMod",
1275 { "kind" : "IdResultType" },
1276 { "kind" : "IdResult" },
1277 { "kind" : "IdRef", "name" : "'Operand 1'" },
1278 { "kind" : "IdRef", "name" : "'Operand 2'" }
1282 "opname" : "OpVectorTimesScalar",
1285 { "kind" : "IdResultType" },
1286 { "kind" : "IdResult" },
1287 { "kind" : "IdRef", "name" : "'Vector'" },
1288 { "kind" : "IdRef", "name" : "'Scalar'" }
1292 "opname" : "OpMatrixTimesScalar",
1295 { "kind" : "IdResultType" },
1296 { "kind" : "IdResult" },
1297 { "kind" : "IdRef", "name" : "'Matrix'" },
1298 { "kind" : "IdRef", "name" : "'Scalar'" }
1300 "capabilities" : [ "Matrix" ]
1303 "opname" : "OpVectorTimesMatrix",
1306 { "kind" : "IdResultType" },
1307 { "kind" : "IdResult" },
1308 { "kind" : "IdRef", "name" : "'Vector'" },
1309 { "kind" : "IdRef", "name" : "'Matrix'" }
1311 "capabilities" : [ "Matrix" ]
1314 "opname" : "OpMatrixTimesVector",
1317 { "kind" : "IdResultType" },
1318 { "kind" : "IdResult" },
1319 { "kind" : "IdRef", "name" : "'Matrix'" },
1320 { "kind" : "IdRef", "name" : "'Vector'" }
1322 "capabilities" : [ "Matrix" ]
1325 "opname" : "OpMatrixTimesMatrix",
1328 { "kind" : "IdResultType" },
1329 { "kind" : "IdResult" },
1330 { "kind" : "IdRef", "name" : "'LeftMatrix'" },
1331 { "kind" : "IdRef", "name" : "'RightMatrix'" }
1333 "capabilities" : [ "Matrix" ]
1336 "opname" : "OpOuterProduct",
1339 { "kind" : "IdResultType" },
1340 { "kind" : "IdResult" },
1341 { "kind" : "IdRef", "name" : "'Vector 1'" },
1342 { "kind" : "IdRef", "name" : "'Vector 2'" }
1344 "capabilities" : [ "Matrix" ]
1350 { "kind" : "IdResultType" },
1351 { "kind" : "IdResult" },
1352 { "kind" : "IdRef", "name" : "'Vector 1'" },
1353 { "kind" : "IdRef", "name" : "'Vector 2'" }
1357 "opname" : "OpIAddCarry",
1360 { "kind" : "IdResultType" },
1361 { "kind" : "IdResult" },
1362 { "kind" : "IdRef", "name" : "'Operand 1'" },
1363 { "kind" : "IdRef", "name" : "'Operand 2'" }
1367 "opname" : "OpISubBorrow",
1370 { "kind" : "IdResultType" },
1371 { "kind" : "IdResult" },
1372 { "kind" : "IdRef", "name" : "'Operand 1'" },
1373 { "kind" : "IdRef", "name" : "'Operand 2'" }
1377 "opname" : "OpUMulExtended",
1380 { "kind" : "IdResultType" },
1381 { "kind" : "IdResult" },
1382 { "kind" : "IdRef", "name" : "'Operand 1'" },
1383 { "kind" : "IdRef", "name" : "'Operand 2'" }
1387 "opname" : "OpSMulExtended",
1390 { "kind" : "IdResultType" },
1391 { "kind" : "IdResult" },
1392 { "kind" : "IdRef", "name" : "'Operand 1'" },
1393 { "kind" : "IdRef", "name" : "'Operand 2'" }
1400 { "kind" : "IdResultType" },
1401 { "kind" : "IdResult" },
1402 { "kind" : "IdRef", "name" : "'Vector'" }
1409 { "kind" : "IdResultType" },
1410 { "kind" : "IdResult" },
1411 { "kind" : "IdRef", "name" : "'Vector'" }
1415 "opname" : "OpIsNan",
1418 { "kind" : "IdResultType" },
1419 { "kind" : "IdResult" },
1420 { "kind" : "IdRef", "name" : "'x'" }
1424 "opname" : "OpIsInf",
1427 { "kind" : "IdResultType" },
1428 { "kind" : "IdResult" },
1429 { "kind" : "IdRef", "name" : "'x'" }
1433 "opname" : "OpIsFinite",
1436 { "kind" : "IdResultType" },
1437 { "kind" : "IdResult" },
1438 { "kind" : "IdRef", "name" : "'x'" }
1440 "capabilities" : [ "Kernel" ]
1443 "opname" : "OpIsNormal",
1446 { "kind" : "IdResultType" },
1447 { "kind" : "IdResult" },
1448 { "kind" : "IdRef", "name" : "'x'" }
1450 "capabilities" : [ "Kernel" ]
1453 "opname" : "OpSignBitSet",
1456 { "kind" : "IdResultType" },
1457 { "kind" : "IdResult" },
1458 { "kind" : "IdRef", "name" : "'x'" }
1460 "capabilities" : [ "Kernel" ]
1463 "opname" : "OpLessOrGreater",
1466 { "kind" : "IdResultType" },
1467 { "kind" : "IdResult" },
1468 { "kind" : "IdRef", "name" : "'x'" },
1469 { "kind" : "IdRef", "name" : "'y'" }
1471 "capabilities" : [ "Kernel" ]
1474 "opname" : "OpOrdered",
1477 { "kind" : "IdResultType" },
1478 { "kind" : "IdResult" },
1479 { "kind" : "IdRef", "name" : "'x'" },
1480 { "kind" : "IdRef", "name" : "'y'" }
1482 "capabilities" : [ "Kernel" ]
1485 "opname" : "OpUnordered",
1488 { "kind" : "IdResultType" },
1489 { "kind" : "IdResult" },
1490 { "kind" : "IdRef", "name" : "'x'" },
1491 { "kind" : "IdRef", "name" : "'y'" }
1493 "capabilities" : [ "Kernel" ]
1496 "opname" : "OpLogicalEqual",
1499 { "kind" : "IdResultType" },
1500 { "kind" : "IdResult" },
1501 { "kind" : "IdRef", "name" : "'Operand 1'" },
1502 { "kind" : "IdRef", "name" : "'Operand 2'" }
1506 "opname" : "OpLogicalNotEqual",
1509 { "kind" : "IdResultType" },
1510 { "kind" : "IdResult" },
1511 { "kind" : "IdRef", "name" : "'Operand 1'" },
1512 { "kind" : "IdRef", "name" : "'Operand 2'" }
1516 "opname" : "OpLogicalOr",
1519 { "kind" : "IdResultType" },
1520 { "kind" : "IdResult" },
1521 { "kind" : "IdRef", "name" : "'Operand 1'" },
1522 { "kind" : "IdRef", "name" : "'Operand 2'" }
1526 "opname" : "OpLogicalAnd",
1529 { "kind" : "IdResultType" },
1530 { "kind" : "IdResult" },
1531 { "kind" : "IdRef", "name" : "'Operand 1'" },
1532 { "kind" : "IdRef", "name" : "'Operand 2'" }
1536 "opname" : "OpLogicalNot",
1539 { "kind" : "IdResultType" },
1540 { "kind" : "IdResult" },
1541 { "kind" : "IdRef", "name" : "'Operand'" }
1545 "opname" : "OpSelect",
1548 { "kind" : "IdResultType" },
1549 { "kind" : "IdResult" },
1550 { "kind" : "IdRef", "name" : "'Condition'" },
1551 { "kind" : "IdRef", "name" : "'Object 1'" },
1552 { "kind" : "IdRef", "name" : "'Object 2'" }
1556 "opname" : "OpIEqual",
1559 { "kind" : "IdResultType" },
1560 { "kind" : "IdResult" },
1561 { "kind" : "IdRef", "name" : "'Operand 1'" },
1562 { "kind" : "IdRef", "name" : "'Operand 2'" }
1566 "opname" : "OpINotEqual",
1569 { "kind" : "IdResultType" },
1570 { "kind" : "IdResult" },
1571 { "kind" : "IdRef", "name" : "'Operand 1'" },
1572 { "kind" : "IdRef", "name" : "'Operand 2'" }
1576 "opname" : "OpUGreaterThan",
1579 { "kind" : "IdResultType" },
1580 { "kind" : "IdResult" },
1581 { "kind" : "IdRef", "name" : "'Operand 1'" },
1582 { "kind" : "IdRef", "name" : "'Operand 2'" }
1586 "opname" : "OpSGreaterThan",
1589 { "kind" : "IdResultType" },
1590 { "kind" : "IdResult" },
1591 { "kind" : "IdRef", "name" : "'Operand 1'" },
1592 { "kind" : "IdRef", "name" : "'Operand 2'" }
1596 "opname" : "OpUGreaterThanEqual",
1599 { "kind" : "IdResultType" },
1600 { "kind" : "IdResult" },
1601 { "kind" : "IdRef", "name" : "'Operand 1'" },
1602 { "kind" : "IdRef", "name" : "'Operand 2'" }
1606 "opname" : "OpSGreaterThanEqual",
1609 { "kind" : "IdResultType" },
1610 { "kind" : "IdResult" },
1611 { "kind" : "IdRef", "name" : "'Operand 1'" },
1612 { "kind" : "IdRef", "name" : "'Operand 2'" }
1616 "opname" : "OpULessThan",
1619 { "kind" : "IdResultType" },
1620 { "kind" : "IdResult" },
1621 { "kind" : "IdRef", "name" : "'Operand 1'" },
1622 { "kind" : "IdRef", "name" : "'Operand 2'" }
1626 "opname" : "OpSLessThan",
1629 { "kind" : "IdResultType" },
1630 { "kind" : "IdResult" },
1631 { "kind" : "IdRef", "name" : "'Operand 1'" },
1632 { "kind" : "IdRef", "name" : "'Operand 2'" }
1636 "opname" : "OpULessThanEqual",
1639 { "kind" : "IdResultType" },
1640 { "kind" : "IdResult" },
1641 { "kind" : "IdRef", "name" : "'Operand 1'" },
1642 { "kind" : "IdRef", "name" : "'Operand 2'" }
1646 "opname" : "OpSLessThanEqual",
1649 { "kind" : "IdResultType" },
1650 { "kind" : "IdResult" },
1651 { "kind" : "IdRef", "name" : "'Operand 1'" },
1652 { "kind" : "IdRef", "name" : "'Operand 2'" }
1656 "opname" : "OpFOrdEqual",
1659 { "kind" : "IdResultType" },
1660 { "kind" : "IdResult" },
1661 { "kind" : "IdRef", "name" : "'Operand 1'" },
1662 { "kind" : "IdRef", "name" : "'Operand 2'" }
1666 "opname" : "OpFUnordEqual",
1669 { "kind" : "IdResultType" },
1670 { "kind" : "IdResult" },
1671 { "kind" : "IdRef", "name" : "'Operand 1'" },
1672 { "kind" : "IdRef", "name" : "'Operand 2'" }
1676 "opname" : "OpFOrdNotEqual",
1679 { "kind" : "IdResultType" },
1680 { "kind" : "IdResult" },
1681 { "kind" : "IdRef", "name" : "'Operand 1'" },
1682 { "kind" : "IdRef", "name" : "'Operand 2'" }
1686 "opname" : "OpFUnordNotEqual",
1689 { "kind" : "IdResultType" },
1690 { "kind" : "IdResult" },
1691 { "kind" : "IdRef", "name" : "'Operand 1'" },
1692 { "kind" : "IdRef", "name" : "'Operand 2'" }
1696 "opname" : "OpFOrdLessThan",
1699 { "kind" : "IdResultType" },
1700 { "kind" : "IdResult" },
1701 { "kind" : "IdRef", "name" : "'Operand 1'" },
1702 { "kind" : "IdRef", "name" : "'Operand 2'" }
1706 "opname" : "OpFUnordLessThan",
1709 { "kind" : "IdResultType" },
1710 { "kind" : "IdResult" },
1711 { "kind" : "IdRef", "name" : "'Operand 1'" },
1712 { "kind" : "IdRef", "name" : "'Operand 2'" }
1716 "opname" : "OpFOrdGreaterThan",
1719 { "kind" : "IdResultType" },
1720 { "kind" : "IdResult" },
1721 { "kind" : "IdRef", "name" : "'Operand 1'" },
1722 { "kind" : "IdRef", "name" : "'Operand 2'" }
1726 "opname" : "OpFUnordGreaterThan",
1729 { "kind" : "IdResultType" },
1730 { "kind" : "IdResult" },
1731 { "kind" : "IdRef", "name" : "'Operand 1'" },
1732 { "kind" : "IdRef", "name" : "'Operand 2'" }
1736 "opname" : "OpFOrdLessThanEqual",
1739 { "kind" : "IdResultType" },
1740 { "kind" : "IdResult" },
1741 { "kind" : "IdRef", "name" : "'Operand 1'" },
1742 { "kind" : "IdRef", "name" : "'Operand 2'" }
1746 "opname" : "OpFUnordLessThanEqual",
1749 { "kind" : "IdResultType" },
1750 { "kind" : "IdResult" },
1751 { "kind" : "IdRef", "name" : "'Operand 1'" },
1752 { "kind" : "IdRef", "name" : "'Operand 2'" }
1756 "opname" : "OpFOrdGreaterThanEqual",
1759 { "kind" : "IdResultType" },
1760 { "kind" : "IdResult" },
1761 { "kind" : "IdRef", "name" : "'Operand 1'" },
1762 { "kind" : "IdRef", "name" : "'Operand 2'" }
1766 "opname" : "OpFUnordGreaterThanEqual",
1769 { "kind" : "IdResultType" },
1770 { "kind" : "IdResult" },
1771 { "kind" : "IdRef", "name" : "'Operand 1'" },
1772 { "kind" : "IdRef", "name" : "'Operand 2'" }
1776 "opname" : "OpShiftRightLogical",
1779 { "kind" : "IdResultType" },
1780 { "kind" : "IdResult" },
1781 { "kind" : "IdRef", "name" : "'Base'" },
1782 { "kind" : "IdRef", "name" : "'Shift'" }
1786 "opname" : "OpShiftRightArithmetic",
1789 { "kind" : "IdResultType" },
1790 { "kind" : "IdResult" },
1791 { "kind" : "IdRef", "name" : "'Base'" },
1792 { "kind" : "IdRef", "name" : "'Shift'" }
1796 "opname" : "OpShiftLeftLogical",
1799 { "kind" : "IdResultType" },
1800 { "kind" : "IdResult" },
1801 { "kind" : "IdRef", "name" : "'Base'" },
1802 { "kind" : "IdRef", "name" : "'Shift'" }
1806 "opname" : "OpBitwiseOr",
1809 { "kind" : "IdResultType" },
1810 { "kind" : "IdResult" },
1811 { "kind" : "IdRef", "name" : "'Operand 1'" },
1812 { "kind" : "IdRef", "name" : "'Operand 2'" }
1816 "opname" : "OpBitwiseXor",
1819 { "kind" : "IdResultType" },
1820 { "kind" : "IdResult" },
1821 { "kind" : "IdRef", "name" : "'Operand 1'" },
1822 { "kind" : "IdRef", "name" : "'Operand 2'" }
1826 "opname" : "OpBitwiseAnd",
1829 { "kind" : "IdResultType" },
1830 { "kind" : "IdResult" },
1831 { "kind" : "IdRef", "name" : "'Operand 1'" },
1832 { "kind" : "IdRef", "name" : "'Operand 2'" }
1839 { "kind" : "IdResultType" },
1840 { "kind" : "IdResult" },
1841 { "kind" : "IdRef", "name" : "'Operand'" }
1845 "opname" : "OpBitFieldInsert",
1848 { "kind" : "IdResultType" },
1849 { "kind" : "IdResult" },
1850 { "kind" : "IdRef", "name" : "'Base'" },
1851 { "kind" : "IdRef", "name" : "'Insert'" },
1852 { "kind" : "IdRef", "name" : "'Offset'" },
1853 { "kind" : "IdRef", "name" : "'Count'" }
1855 "capabilities" : [ "Shader" ]
1858 "opname" : "OpBitFieldSExtract",
1861 { "kind" : "IdResultType" },
1862 { "kind" : "IdResult" },
1863 { "kind" : "IdRef", "name" : "'Base'" },
1864 { "kind" : "IdRef", "name" : "'Offset'" },
1865 { "kind" : "IdRef", "name" : "'Count'" }
1867 "capabilities" : [ "Shader" ]
1870 "opname" : "OpBitFieldUExtract",
1873 { "kind" : "IdResultType" },
1874 { "kind" : "IdResult" },
1875 { "kind" : "IdRef", "name" : "'Base'" },
1876 { "kind" : "IdRef", "name" : "'Offset'" },
1877 { "kind" : "IdRef", "name" : "'Count'" }
1879 "capabilities" : [ "Shader" ]
1882 "opname" : "OpBitReverse",
1885 { "kind" : "IdResultType" },
1886 { "kind" : "IdResult" },
1887 { "kind" : "IdRef", "name" : "'Base'" }
1889 "capabilities" : [ "Shader" ]
1892 "opname" : "OpBitCount",
1895 { "kind" : "IdResultType" },
1896 { "kind" : "IdResult" },
1897 { "kind" : "IdRef", "name" : "'Base'" }
1901 "opname" : "OpDPdx",
1904 { "kind" : "IdResultType" },
1905 { "kind" : "IdResult" },
1906 { "kind" : "IdRef", "name" : "'P'" }
1908 "capabilities" : [ "Shader" ]
1911 "opname" : "OpDPdy",
1914 { "kind" : "IdResultType" },
1915 { "kind" : "IdResult" },
1916 { "kind" : "IdRef", "name" : "'P'" }
1918 "capabilities" : [ "Shader" ]
1921 "opname" : "OpFwidth",
1924 { "kind" : "IdResultType" },
1925 { "kind" : "IdResult" },
1926 { "kind" : "IdRef", "name" : "'P'" }
1928 "capabilities" : [ "Shader" ]
1931 "opname" : "OpDPdxFine",
1934 { "kind" : "IdResultType" },
1935 { "kind" : "IdResult" },
1936 { "kind" : "IdRef", "name" : "'P'" }
1938 "capabilities" : [ "DerivativeControl" ]
1941 "opname" : "OpDPdyFine",
1944 { "kind" : "IdResultType" },
1945 { "kind" : "IdResult" },
1946 { "kind" : "IdRef", "name" : "'P'" }
1948 "capabilities" : [ "DerivativeControl" ]
1951 "opname" : "OpFwidthFine",
1954 { "kind" : "IdResultType" },
1955 { "kind" : "IdResult" },
1956 { "kind" : "IdRef", "name" : "'P'" }
1958 "capabilities" : [ "DerivativeControl" ]
1961 "opname" : "OpDPdxCoarse",
1964 { "kind" : "IdResultType" },
1965 { "kind" : "IdResult" },
1966 { "kind" : "IdRef", "name" : "'P'" }
1968 "capabilities" : [ "DerivativeControl" ]
1971 "opname" : "OpDPdyCoarse",
1974 { "kind" : "IdResultType" },
1975 { "kind" : "IdResult" },
1976 { "kind" : "IdRef", "name" : "'P'" }
1978 "capabilities" : [ "DerivativeControl" ]
1981 "opname" : "OpFwidthCoarse",
1984 { "kind" : "IdResultType" },
1985 { "kind" : "IdResult" },
1986 { "kind" : "IdRef", "name" : "'P'" }
1988 "capabilities" : [ "DerivativeControl" ]
1991 "opname" : "OpEmitVertex",
1993 "capabilities" : [ "Geometry" ]
1996 "opname" : "OpEndPrimitive",
1998 "capabilities" : [ "Geometry" ]
2001 "opname" : "OpEmitStreamVertex",
2004 { "kind" : "IdRef", "name" : "'Stream'" }
2006 "capabilities" : [ "GeometryStreams" ]
2009 "opname" : "OpEndStreamPrimitive",
2012 { "kind" : "IdRef", "name" : "'Stream'" }
2014 "capabilities" : [ "GeometryStreams" ]
2017 "opname" : "OpControlBarrier",
2020 { "kind" : "IdScope", "name" : "'Execution'" },
2021 { "kind" : "IdScope", "name" : "'Memory'" },
2022 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2026 "opname" : "OpMemoryBarrier",
2029 { "kind" : "IdScope", "name" : "'Memory'" },
2030 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2034 "opname" : "OpAtomicLoad",
2037 { "kind" : "IdResultType" },
2038 { "kind" : "IdResult" },
2039 { "kind" : "IdRef", "name" : "'Pointer'" },
2040 { "kind" : "IdScope", "name" : "'Scope'" },
2041 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2045 "opname" : "OpAtomicStore",
2048 { "kind" : "IdRef", "name" : "'Pointer'" },
2049 { "kind" : "IdScope", "name" : "'Scope'" },
2050 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2051 { "kind" : "IdRef", "name" : "'Value'" }
2055 "opname" : "OpAtomicExchange",
2058 { "kind" : "IdResultType" },
2059 { "kind" : "IdResult" },
2060 { "kind" : "IdRef", "name" : "'Pointer'" },
2061 { "kind" : "IdScope", "name" : "'Scope'" },
2062 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2063 { "kind" : "IdRef", "name" : "'Value'" }
2067 "opname" : "OpAtomicCompareExchange",
2070 { "kind" : "IdResultType" },
2071 { "kind" : "IdResult" },
2072 { "kind" : "IdRef", "name" : "'Pointer'" },
2073 { "kind" : "IdScope", "name" : "'Scope'" },
2074 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2075 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2076 { "kind" : "IdRef", "name" : "'Value'" },
2077 { "kind" : "IdRef", "name" : "'Comparator'" }
2081 "opname" : "OpAtomicCompareExchangeWeak",
2084 { "kind" : "IdResultType" },
2085 { "kind" : "IdResult" },
2086 { "kind" : "IdRef", "name" : "'Pointer'" },
2087 { "kind" : "IdScope", "name" : "'Scope'" },
2088 { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2089 { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2090 { "kind" : "IdRef", "name" : "'Value'" },
2091 { "kind" : "IdRef", "name" : "'Comparator'" }
2093 "capabilities" : [ "Kernel" ]
2096 "opname" : "OpAtomicIIncrement",
2099 { "kind" : "IdResultType" },
2100 { "kind" : "IdResult" },
2101 { "kind" : "IdRef", "name" : "'Pointer'" },
2102 { "kind" : "IdScope", "name" : "'Scope'" },
2103 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2107 "opname" : "OpAtomicIDecrement",
2110 { "kind" : "IdResultType" },
2111 { "kind" : "IdResult" },
2112 { "kind" : "IdRef", "name" : "'Pointer'" },
2113 { "kind" : "IdScope", "name" : "'Scope'" },
2114 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2118 "opname" : "OpAtomicIAdd",
2121 { "kind" : "IdResultType" },
2122 { "kind" : "IdResult" },
2123 { "kind" : "IdRef", "name" : "'Pointer'" },
2124 { "kind" : "IdScope", "name" : "'Scope'" },
2125 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2126 { "kind" : "IdRef", "name" : "'Value'" }
2130 "opname" : "OpAtomicISub",
2133 { "kind" : "IdResultType" },
2134 { "kind" : "IdResult" },
2135 { "kind" : "IdRef", "name" : "'Pointer'" },
2136 { "kind" : "IdScope", "name" : "'Scope'" },
2137 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2138 { "kind" : "IdRef", "name" : "'Value'" }
2142 "opname" : "OpAtomicSMin",
2145 { "kind" : "IdResultType" },
2146 { "kind" : "IdResult" },
2147 { "kind" : "IdRef", "name" : "'Pointer'" },
2148 { "kind" : "IdScope", "name" : "'Scope'" },
2149 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2150 { "kind" : "IdRef", "name" : "'Value'" }
2154 "opname" : "OpAtomicUMin",
2157 { "kind" : "IdResultType" },
2158 { "kind" : "IdResult" },
2159 { "kind" : "IdRef", "name" : "'Pointer'" },
2160 { "kind" : "IdScope", "name" : "'Scope'" },
2161 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2162 { "kind" : "IdRef", "name" : "'Value'" }
2166 "opname" : "OpAtomicSMax",
2169 { "kind" : "IdResultType" },
2170 { "kind" : "IdResult" },
2171 { "kind" : "IdRef", "name" : "'Pointer'" },
2172 { "kind" : "IdScope", "name" : "'Scope'" },
2173 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2174 { "kind" : "IdRef", "name" : "'Value'" }
2178 "opname" : "OpAtomicUMax",
2181 { "kind" : "IdResultType" },
2182 { "kind" : "IdResult" },
2183 { "kind" : "IdRef", "name" : "'Pointer'" },
2184 { "kind" : "IdScope", "name" : "'Scope'" },
2185 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2186 { "kind" : "IdRef", "name" : "'Value'" }
2190 "opname" : "OpAtomicAnd",
2193 { "kind" : "IdResultType" },
2194 { "kind" : "IdResult" },
2195 { "kind" : "IdRef", "name" : "'Pointer'" },
2196 { "kind" : "IdScope", "name" : "'Scope'" },
2197 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2198 { "kind" : "IdRef", "name" : "'Value'" }
2202 "opname" : "OpAtomicOr",
2205 { "kind" : "IdResultType" },
2206 { "kind" : "IdResult" },
2207 { "kind" : "IdRef", "name" : "'Pointer'" },
2208 { "kind" : "IdScope", "name" : "'Scope'" },
2209 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2210 { "kind" : "IdRef", "name" : "'Value'" }
2214 "opname" : "OpAtomicXor",
2217 { "kind" : "IdResultType" },
2218 { "kind" : "IdResult" },
2219 { "kind" : "IdRef", "name" : "'Pointer'" },
2220 { "kind" : "IdScope", "name" : "'Scope'" },
2221 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2222 { "kind" : "IdRef", "name" : "'Value'" }
2229 { "kind" : "IdResultType" },
2230 { "kind" : "IdResult" },
2231 { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
2235 "opname" : "OpLoopMerge",
2238 { "kind" : "IdRef", "name" : "'Merge Block'" },
2239 { "kind" : "IdRef", "name" : "'Continue Target'" },
2240 { "kind" : "LoopControl" }
2244 "opname" : "OpSelectionMerge",
2247 { "kind" : "IdRef", "name" : "'Merge Block'" },
2248 { "kind" : "SelectionControl" }
2252 "opname" : "OpLabel",
2255 { "kind" : "IdResult" }
2259 "opname" : "OpBranch",
2262 { "kind" : "IdRef", "name" : "'Target Label'" }
2266 "opname" : "OpBranchConditional",
2269 { "kind" : "IdRef", "name" : "'Condition'" },
2270 { "kind" : "IdRef", "name" : "'True Label'" },
2271 { "kind" : "IdRef", "name" : "'False Label'" },
2272 { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
2276 "opname" : "OpSwitch",
2279 { "kind" : "IdRef", "name" : "'Selector'" },
2280 { "kind" : "IdRef", "name" : "'Default'" },
2281 { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
2285 "opname" : "OpKill",
2287 "capabilities" : [ "Shader" ]
2290 "opname" : "OpReturn",
2294 "opname" : "OpReturnValue",
2297 { "kind" : "IdRef", "name" : "'Value'" }
2301 "opname" : "OpUnreachable",
2305 "opname" : "OpLifetimeStart",
2308 { "kind" : "IdRef", "name" : "'Pointer'" },
2309 { "kind" : "LiteralInteger", "name" : "'Size'" }
2311 "capabilities" : [ "Kernel" ]
2314 "opname" : "OpLifetimeStop",
2317 { "kind" : "IdRef", "name" : "'Pointer'" },
2318 { "kind" : "LiteralInteger", "name" : "'Size'" }
2320 "capabilities" : [ "Kernel" ]
2323 "opname" : "OpGroupAsyncCopy",
2326 { "kind" : "IdResultType" },
2327 { "kind" : "IdResult" },
2328 { "kind" : "IdScope", "name" : "'Execution'" },
2329 { "kind" : "IdRef", "name" : "'Destination'" },
2330 { "kind" : "IdRef", "name" : "'Source'" },
2331 { "kind" : "IdRef", "name" : "'Num Elements'" },
2332 { "kind" : "IdRef", "name" : "'Stride'" },
2333 { "kind" : "IdRef", "name" : "'Event'" }
2335 "capabilities" : [ "Kernel" ]
2338 "opname" : "OpGroupWaitEvents",
2341 { "kind" : "IdScope", "name" : "'Execution'" },
2342 { "kind" : "IdRef", "name" : "'Num Events'" },
2343 { "kind" : "IdRef", "name" : "'Events List'" }
2345 "capabilities" : [ "Kernel" ]
2348 "opname" : "OpGroupAll",
2351 { "kind" : "IdResultType" },
2352 { "kind" : "IdResult" },
2353 { "kind" : "IdScope", "name" : "'Execution'" },
2354 { "kind" : "IdRef", "name" : "'Predicate'" }
2356 "capabilities" : [ "Groups" ]
2359 "opname" : "OpGroupAny",
2362 { "kind" : "IdResultType" },
2363 { "kind" : "IdResult" },
2364 { "kind" : "IdScope", "name" : "'Execution'" },
2365 { "kind" : "IdRef", "name" : "'Predicate'" }
2367 "capabilities" : [ "Groups" ]
2370 "opname" : "OpGroupBroadcast",
2373 { "kind" : "IdResultType" },
2374 { "kind" : "IdResult" },
2375 { "kind" : "IdScope", "name" : "'Execution'" },
2376 { "kind" : "IdRef", "name" : "'Value'" },
2377 { "kind" : "IdRef", "name" : "'LocalId'" }
2379 "capabilities" : [ "Groups" ]
2382 "opname" : "OpGroupIAdd",
2385 { "kind" : "IdResultType" },
2386 { "kind" : "IdResult" },
2387 { "kind" : "IdScope", "name" : "'Execution'" },
2388 { "kind" : "GroupOperation", "name" : "'Operation'" },
2389 { "kind" : "IdRef", "name" : "'X'" }
2391 "capabilities" : [ "Groups" ]
2394 "opname" : "OpGroupFAdd",
2397 { "kind" : "IdResultType" },
2398 { "kind" : "IdResult" },
2399 { "kind" : "IdScope", "name" : "'Execution'" },
2400 { "kind" : "GroupOperation", "name" : "'Operation'" },
2401 { "kind" : "IdRef", "name" : "'X'" }
2403 "capabilities" : [ "Groups" ]
2406 "opname" : "OpGroupFMin",
2409 { "kind" : "IdResultType" },
2410 { "kind" : "IdResult" },
2411 { "kind" : "IdScope", "name" : "'Execution'" },
2412 { "kind" : "GroupOperation", "name" : "'Operation'" },
2413 { "kind" : "IdRef", "name" : "'X'" }
2415 "capabilities" : [ "Groups" ]
2418 "opname" : "OpGroupUMin",
2421 { "kind" : "IdResultType" },
2422 { "kind" : "IdResult" },
2423 { "kind" : "IdScope", "name" : "'Execution'" },
2424 { "kind" : "GroupOperation", "name" : "'Operation'" },
2425 { "kind" : "IdRef", "name" : "'X'" }
2427 "capabilities" : [ "Groups" ]
2430 "opname" : "OpGroupSMin",
2433 { "kind" : "IdResultType" },
2434 { "kind" : "IdResult" },
2435 { "kind" : "IdScope", "name" : "'Execution'" },
2436 { "kind" : "GroupOperation", "name" : "'Operation'" },
2437 { "kind" : "IdRef", "name" : "'X'" }
2439 "capabilities" : [ "Groups" ]
2442 "opname" : "OpGroupFMax",
2445 { "kind" : "IdResultType" },
2446 { "kind" : "IdResult" },
2447 { "kind" : "IdScope", "name" : "'Execution'" },
2448 { "kind" : "GroupOperation", "name" : "'Operation'" },
2449 { "kind" : "IdRef", "name" : "'X'" }
2451 "capabilities" : [ "Groups" ]
2454 "opname" : "OpGroupUMax",
2457 { "kind" : "IdResultType" },
2458 { "kind" : "IdResult" },
2459 { "kind" : "IdScope", "name" : "'Execution'" },
2460 { "kind" : "GroupOperation", "name" : "'Operation'" },
2461 { "kind" : "IdRef", "name" : "'X'" }
2463 "capabilities" : [ "Groups" ]
2466 "opname" : "OpGroupSMax",
2469 { "kind" : "IdResultType" },
2470 { "kind" : "IdResult" },
2471 { "kind" : "IdScope", "name" : "'Execution'" },
2472 { "kind" : "GroupOperation", "name" : "'Operation'" },
2473 { "kind" : "IdRef", "name" : "'X'" }
2475 "capabilities" : [ "Groups" ]
2478 "opname" : "OpReadPipe",
2481 { "kind" : "IdResultType" },
2482 { "kind" : "IdResult" },
2483 { "kind" : "IdRef", "name" : "'Pipe'" },
2484 { "kind" : "IdRef", "name" : "'Pointer'" },
2485 { "kind" : "IdRef", "name" : "'Packet Size'" },
2486 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2488 "capabilities" : [ "Pipes" ]
2491 "opname" : "OpWritePipe",
2494 { "kind" : "IdResultType" },
2495 { "kind" : "IdResult" },
2496 { "kind" : "IdRef", "name" : "'Pipe'" },
2497 { "kind" : "IdRef", "name" : "'Pointer'" },
2498 { "kind" : "IdRef", "name" : "'Packet Size'" },
2499 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2501 "capabilities" : [ "Pipes" ]
2504 "opname" : "OpReservedReadPipe",
2507 { "kind" : "IdResultType" },
2508 { "kind" : "IdResult" },
2509 { "kind" : "IdRef", "name" : "'Pipe'" },
2510 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2511 { "kind" : "IdRef", "name" : "'Index'" },
2512 { "kind" : "IdRef", "name" : "'Pointer'" },
2513 { "kind" : "IdRef", "name" : "'Packet Size'" },
2514 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2516 "capabilities" : [ "Pipes" ]
2519 "opname" : "OpReservedWritePipe",
2522 { "kind" : "IdResultType" },
2523 { "kind" : "IdResult" },
2524 { "kind" : "IdRef", "name" : "'Pipe'" },
2525 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2526 { "kind" : "IdRef", "name" : "'Index'" },
2527 { "kind" : "IdRef", "name" : "'Pointer'" },
2528 { "kind" : "IdRef", "name" : "'Packet Size'" },
2529 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2531 "capabilities" : [ "Pipes" ]
2534 "opname" : "OpReserveReadPipePackets",
2537 { "kind" : "IdResultType" },
2538 { "kind" : "IdResult" },
2539 { "kind" : "IdRef", "name" : "'Pipe'" },
2540 { "kind" : "IdRef", "name" : "'Num Packets'" },
2541 { "kind" : "IdRef", "name" : "'Packet Size'" },
2542 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2544 "capabilities" : [ "Pipes" ]
2547 "opname" : "OpReserveWritePipePackets",
2550 { "kind" : "IdResultType" },
2551 { "kind" : "IdResult" },
2552 { "kind" : "IdRef", "name" : "'Pipe'" },
2553 { "kind" : "IdRef", "name" : "'Num Packets'" },
2554 { "kind" : "IdRef", "name" : "'Packet Size'" },
2555 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2557 "capabilities" : [ "Pipes" ]
2560 "opname" : "OpCommitReadPipe",
2563 { "kind" : "IdRef", "name" : "'Pipe'" },
2564 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2565 { "kind" : "IdRef", "name" : "'Packet Size'" },
2566 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2568 "capabilities" : [ "Pipes" ]
2571 "opname" : "OpCommitWritePipe",
2574 { "kind" : "IdRef", "name" : "'Pipe'" },
2575 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2576 { "kind" : "IdRef", "name" : "'Packet Size'" },
2577 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2579 "capabilities" : [ "Pipes" ]
2582 "opname" : "OpIsValidReserveId",
2585 { "kind" : "IdResultType" },
2586 { "kind" : "IdResult" },
2587 { "kind" : "IdRef", "name" : "'Reserve Id'" }
2589 "capabilities" : [ "Pipes" ]
2592 "opname" : "OpGetNumPipePackets",
2595 { "kind" : "IdResultType" },
2596 { "kind" : "IdResult" },
2597 { "kind" : "IdRef", "name" : "'Pipe'" },
2598 { "kind" : "IdRef", "name" : "'Packet Size'" },
2599 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2601 "capabilities" : [ "Pipes" ]
2604 "opname" : "OpGetMaxPipePackets",
2607 { "kind" : "IdResultType" },
2608 { "kind" : "IdResult" },
2609 { "kind" : "IdRef", "name" : "'Pipe'" },
2610 { "kind" : "IdRef", "name" : "'Packet Size'" },
2611 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2613 "capabilities" : [ "Pipes" ]
2616 "opname" : "OpGroupReserveReadPipePackets",
2619 { "kind" : "IdResultType" },
2620 { "kind" : "IdResult" },
2621 { "kind" : "IdScope", "name" : "'Execution'" },
2622 { "kind" : "IdRef", "name" : "'Pipe'" },
2623 { "kind" : "IdRef", "name" : "'Num Packets'" },
2624 { "kind" : "IdRef", "name" : "'Packet Size'" },
2625 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2627 "capabilities" : [ "Pipes" ]
2630 "opname" : "OpGroupReserveWritePipePackets",
2633 { "kind" : "IdResultType" },
2634 { "kind" : "IdResult" },
2635 { "kind" : "IdScope", "name" : "'Execution'" },
2636 { "kind" : "IdRef", "name" : "'Pipe'" },
2637 { "kind" : "IdRef", "name" : "'Num Packets'" },
2638 { "kind" : "IdRef", "name" : "'Packet Size'" },
2639 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2641 "capabilities" : [ "Pipes" ]
2644 "opname" : "OpGroupCommitReadPipe",
2647 { "kind" : "IdScope", "name" : "'Execution'" },
2648 { "kind" : "IdRef", "name" : "'Pipe'" },
2649 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2650 { "kind" : "IdRef", "name" : "'Packet Size'" },
2651 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2653 "capabilities" : [ "Pipes" ]
2656 "opname" : "OpGroupCommitWritePipe",
2659 { "kind" : "IdScope", "name" : "'Execution'" },
2660 { "kind" : "IdRef", "name" : "'Pipe'" },
2661 { "kind" : "IdRef", "name" : "'Reserve Id'" },
2662 { "kind" : "IdRef", "name" : "'Packet Size'" },
2663 { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2665 "capabilities" : [ "Pipes" ]
2668 "opname" : "OpEnqueueMarker",
2671 { "kind" : "IdResultType" },
2672 { "kind" : "IdResult" },
2673 { "kind" : "IdRef", "name" : "'Queue'" },
2674 { "kind" : "IdRef", "name" : "'Num Events'" },
2675 { "kind" : "IdRef", "name" : "'Wait Events'" },
2676 { "kind" : "IdRef", "name" : "'Ret Event'" }
2678 "capabilities" : [ "DeviceEnqueue" ]
2681 "opname" : "OpEnqueueKernel",
2684 { "kind" : "IdResultType" },
2685 { "kind" : "IdResult" },
2686 { "kind" : "IdRef", "name" : "'Queue'" },
2687 { "kind" : "IdRef", "name" : "'Flags'" },
2688 { "kind" : "IdRef", "name" : "'ND Range'" },
2689 { "kind" : "IdRef", "name" : "'Num Events'" },
2690 { "kind" : "IdRef", "name" : "'Wait Events'" },
2691 { "kind" : "IdRef", "name" : "'Ret Event'" },
2692 { "kind" : "IdRef", "name" : "'Invoke'" },
2693 { "kind" : "IdRef", "name" : "'Param'" },
2694 { "kind" : "IdRef", "name" : "'Param Size'" },
2695 { "kind" : "IdRef", "name" : "'Param Align'" },
2696 { "kind" : "IdRef", "quantifier" : "*", "name" : "'Local Size'" }
2698 "capabilities" : [ "DeviceEnqueue" ]
2701 "opname" : "OpGetKernelNDrangeSubGroupCount",
2704 { "kind" : "IdResultType" },
2705 { "kind" : "IdResult" },
2706 { "kind" : "IdRef", "name" : "'ND Range'" },
2707 { "kind" : "IdRef", "name" : "'Invoke'" },
2708 { "kind" : "IdRef", "name" : "'Param'" },
2709 { "kind" : "IdRef", "name" : "'Param Size'" },
2710 { "kind" : "IdRef", "name" : "'Param Align'" }
2712 "capabilities" : [ "DeviceEnqueue" ]
2715 "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
2718 { "kind" : "IdResultType" },
2719 { "kind" : "IdResult" },
2720 { "kind" : "IdRef", "name" : "'ND Range'" },
2721 { "kind" : "IdRef", "name" : "'Invoke'" },
2722 { "kind" : "IdRef", "name" : "'Param'" },
2723 { "kind" : "IdRef", "name" : "'Param Size'" },
2724 { "kind" : "IdRef", "name" : "'Param Align'" }
2726 "capabilities" : [ "DeviceEnqueue" ]
2729 "opname" : "OpGetKernelWorkGroupSize",
2732 { "kind" : "IdResultType" },
2733 { "kind" : "IdResult" },
2734 { "kind" : "IdRef", "name" : "'Invoke'" },
2735 { "kind" : "IdRef", "name" : "'Param'" },
2736 { "kind" : "IdRef", "name" : "'Param Size'" },
2737 { "kind" : "IdRef", "name" : "'Param Align'" }
2739 "capabilities" : [ "DeviceEnqueue" ]
2742 "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
2745 { "kind" : "IdResultType" },
2746 { "kind" : "IdResult" },
2747 { "kind" : "IdRef", "name" : "'Invoke'" },
2748 { "kind" : "IdRef", "name" : "'Param'" },
2749 { "kind" : "IdRef", "name" : "'Param Size'" },
2750 { "kind" : "IdRef", "name" : "'Param Align'" }
2752 "capabilities" : [ "DeviceEnqueue" ]
2755 "opname" : "OpRetainEvent",
2758 { "kind" : "IdRef", "name" : "'Event'" }
2760 "capabilities" : [ "DeviceEnqueue" ]
2763 "opname" : "OpReleaseEvent",
2766 { "kind" : "IdRef", "name" : "'Event'" }
2768 "capabilities" : [ "DeviceEnqueue" ]
2771 "opname" : "OpCreateUserEvent",
2774 { "kind" : "IdResultType" },
2775 { "kind" : "IdResult" }
2777 "capabilities" : [ "DeviceEnqueue" ]
2780 "opname" : "OpIsValidEvent",
2783 { "kind" : "IdResultType" },
2784 { "kind" : "IdResult" },
2785 { "kind" : "IdRef", "name" : "'Event'" }
2787 "capabilities" : [ "DeviceEnqueue" ]
2790 "opname" : "OpSetUserEventStatus",
2793 { "kind" : "IdRef", "name" : "'Event'" },
2794 { "kind" : "IdRef", "name" : "'Status'" }
2796 "capabilities" : [ "DeviceEnqueue" ]
2799 "opname" : "OpCaptureEventProfilingInfo",
2802 { "kind" : "IdRef", "name" : "'Event'" },
2803 { "kind" : "IdRef", "name" : "'Profiling Info'" },
2804 { "kind" : "IdRef", "name" : "'Value'" }
2806 "capabilities" : [ "DeviceEnqueue" ]
2809 "opname" : "OpGetDefaultQueue",
2812 { "kind" : "IdResultType" },
2813 { "kind" : "IdResult" }
2815 "capabilities" : [ "DeviceEnqueue" ]
2818 "opname" : "OpBuildNDRange",
2821 { "kind" : "IdResultType" },
2822 { "kind" : "IdResult" },
2823 { "kind" : "IdRef", "name" : "'GlobalWorkSize'" },
2824 { "kind" : "IdRef", "name" : "'LocalWorkSize'" },
2825 { "kind" : "IdRef", "name" : "'GlobalWorkOffset'" }
2827 "capabilities" : [ "DeviceEnqueue" ]
2830 "opname" : "OpImageSparseSampleImplicitLod",
2833 { "kind" : "IdResultType" },
2834 { "kind" : "IdResult" },
2835 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2836 { "kind" : "IdRef", "name" : "'Coordinate'" },
2837 { "kind" : "ImageOperands", "quantifier" : "?" }
2839 "capabilities" : [ "SparseResidency" ]
2842 "opname" : "OpImageSparseSampleExplicitLod",
2845 { "kind" : "IdResultType" },
2846 { "kind" : "IdResult" },
2847 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2848 { "kind" : "IdRef", "name" : "'Coordinate'" },
2849 { "kind" : "ImageOperands" }
2851 "capabilities" : [ "SparseResidency" ]
2854 "opname" : "OpImageSparseSampleDrefImplicitLod",
2857 { "kind" : "IdResultType" },
2858 { "kind" : "IdResult" },
2859 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2860 { "kind" : "IdRef", "name" : "'Coordinate'" },
2861 { "kind" : "IdRef", "name" : "'D~ref~'" },
2862 { "kind" : "ImageOperands", "quantifier" : "?" }
2864 "capabilities" : [ "SparseResidency" ]
2867 "opname" : "OpImageSparseSampleDrefExplicitLod",
2870 { "kind" : "IdResultType" },
2871 { "kind" : "IdResult" },
2872 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2873 { "kind" : "IdRef", "name" : "'Coordinate'" },
2874 { "kind" : "IdRef", "name" : "'D~ref~'" },
2875 { "kind" : "ImageOperands" }
2877 "capabilities" : [ "SparseResidency" ]
2880 "opname" : "OpImageSparseSampleProjImplicitLod",
2883 { "kind" : "IdResultType" },
2884 { "kind" : "IdResult" },
2885 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2886 { "kind" : "IdRef", "name" : "'Coordinate'" },
2887 { "kind" : "ImageOperands", "quantifier" : "?" }
2889 "capabilities" : [ "SparseResidency" ],
2893 "opname" : "OpImageSparseSampleProjExplicitLod",
2896 { "kind" : "IdResultType" },
2897 { "kind" : "IdResult" },
2898 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2899 { "kind" : "IdRef", "name" : "'Coordinate'" },
2900 { "kind" : "ImageOperands" }
2902 "capabilities" : [ "SparseResidency" ],
2906 "opname" : "OpImageSparseSampleProjDrefImplicitLod",
2909 { "kind" : "IdResultType" },
2910 { "kind" : "IdResult" },
2911 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2912 { "kind" : "IdRef", "name" : "'Coordinate'" },
2913 { "kind" : "IdRef", "name" : "'D~ref~'" },
2914 { "kind" : "ImageOperands", "quantifier" : "?" }
2916 "capabilities" : [ "SparseResidency" ],
2920 "opname" : "OpImageSparseSampleProjDrefExplicitLod",
2923 { "kind" : "IdResultType" },
2924 { "kind" : "IdResult" },
2925 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2926 { "kind" : "IdRef", "name" : "'Coordinate'" },
2927 { "kind" : "IdRef", "name" : "'D~ref~'" },
2928 { "kind" : "ImageOperands" }
2930 "capabilities" : [ "SparseResidency" ],
2934 "opname" : "OpImageSparseFetch",
2937 { "kind" : "IdResultType" },
2938 { "kind" : "IdResult" },
2939 { "kind" : "IdRef", "name" : "'Image'" },
2940 { "kind" : "IdRef", "name" : "'Coordinate'" },
2941 { "kind" : "ImageOperands", "quantifier" : "?" }
2943 "capabilities" : [ "SparseResidency" ]
2946 "opname" : "OpImageSparseGather",
2949 { "kind" : "IdResultType" },
2950 { "kind" : "IdResult" },
2951 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2952 { "kind" : "IdRef", "name" : "'Coordinate'" },
2953 { "kind" : "IdRef", "name" : "'Component'" },
2954 { "kind" : "ImageOperands", "quantifier" : "?" }
2956 "capabilities" : [ "SparseResidency" ]
2959 "opname" : "OpImageSparseDrefGather",
2962 { "kind" : "IdResultType" },
2963 { "kind" : "IdResult" },
2964 { "kind" : "IdRef", "name" : "'Sampled Image'" },
2965 { "kind" : "IdRef", "name" : "'Coordinate'" },
2966 { "kind" : "IdRef", "name" : "'D~ref~'" },
2967 { "kind" : "ImageOperands", "quantifier" : "?" }
2969 "capabilities" : [ "SparseResidency" ]
2972 "opname" : "OpImageSparseTexelsResident",
2975 { "kind" : "IdResultType" },
2976 { "kind" : "IdResult" },
2977 { "kind" : "IdRef", "name" : "'Resident Code'" }
2979 "capabilities" : [ "SparseResidency" ]
2982 "opname" : "OpNoLine",
2986 "opname" : "OpAtomicFlagTestAndSet",
2989 { "kind" : "IdResultType" },
2990 { "kind" : "IdResult" },
2991 { "kind" : "IdRef", "name" : "'Pointer'" },
2992 { "kind" : "IdScope", "name" : "'Scope'" },
2993 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2995 "capabilities" : [ "Kernel" ]
2998 "opname" : "OpAtomicFlagClear",
3001 { "kind" : "IdRef", "name" : "'Pointer'" },
3002 { "kind" : "IdScope", "name" : "'Scope'" },
3003 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3005 "capabilities" : [ "Kernel" ]
3008 "opname" : "OpImageSparseRead",
3011 { "kind" : "IdResultType" },
3012 { "kind" : "IdResult" },
3013 { "kind" : "IdRef", "name" : "'Image'" },
3014 { "kind" : "IdRef", "name" : "'Coordinate'" },
3015 { "kind" : "ImageOperands", "quantifier" : "?" }
3017 "capabilities" : [ "SparseResidency" ]
3020 "opname" : "OpSizeOf",
3023 { "kind" : "IdResultType" },
3024 { "kind" : "IdResult" },
3025 { "kind" : "IdRef", "name" : "'Pointer'" }
3027 "capabilities" : [ "Addresses" ],
3031 "opname" : "OpTypePipeStorage",
3034 { "kind" : "IdResult" }
3036 "capabilities" : [ "PipeStorage" ],
3040 "opname" : "OpConstantPipeStorage",
3043 { "kind" : "IdResultType" },
3044 { "kind" : "IdResult" },
3045 { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
3046 { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
3047 { "kind" : "LiteralInteger", "name" : "'Capacity'" }
3049 "capabilities" : [ "PipeStorage" ],
3053 "opname" : "OpCreatePipeFromPipeStorage",
3056 { "kind" : "IdResultType" },
3057 { "kind" : "IdResult" },
3058 { "kind" : "IdRef", "name" : "'Pipe Storage'" }
3060 "capabilities" : [ "PipeStorage" ],
3064 "opname" : "OpGetKernelLocalSizeForSubgroupCount",
3067 { "kind" : "IdResultType" },
3068 { "kind" : "IdResult" },
3069 { "kind" : "IdRef", "name" : "'Subgroup Count'" },
3070 { "kind" : "IdRef", "name" : "'Invoke'" },
3071 { "kind" : "IdRef", "name" : "'Param'" },
3072 { "kind" : "IdRef", "name" : "'Param Size'" },
3073 { "kind" : "IdRef", "name" : "'Param Align'" }
3075 "capabilities" : [ "SubgroupDispatch" ],
3079 "opname" : "OpGetKernelMaxNumSubgroups",
3082 { "kind" : "IdResultType" },
3083 { "kind" : "IdResult" },
3084 { "kind" : "IdRef", "name" : "'Invoke'" },
3085 { "kind" : "IdRef", "name" : "'Param'" },
3086 { "kind" : "IdRef", "name" : "'Param Size'" },
3087 { "kind" : "IdRef", "name" : "'Param Align'" }
3089 "capabilities" : [ "SubgroupDispatch" ],
3093 "opname" : "OpTypeNamedBarrier",
3096 { "kind" : "IdResult" }
3098 "capabilities" : [ "NamedBarrier" ],
3102 "opname" : "OpNamedBarrierInitialize",
3105 { "kind" : "IdResultType" },
3106 { "kind" : "IdResult" },
3107 { "kind" : "IdRef", "name" : "'Subgroup Count'" }
3109 "capabilities" : [ "NamedBarrier" ],
3113 "opname" : "OpMemoryNamedBarrier",
3116 { "kind" : "IdRef", "name" : "'Named Barrier'" },
3117 { "kind" : "IdScope", "name" : "'Memory'" },
3118 { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3120 "capabilities" : [ "NamedBarrier" ],
3124 "opname" : "OpModuleProcessed",
3127 { "kind" : "LiteralString", "name" : "'Process'" }
3132 "opname" : "OpExecutionModeId",
3135 { "kind" : "IdRef", "name" : "'Entry Point'" },
3136 { "kind" : "ExecutionMode", "name" : "'Mode'" }
3141 "opname" : "OpDecorateId",
3144 { "kind" : "IdRef", "name" : "'Target'" },
3145 { "kind" : "Decoration" }
3147 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
3151 "opname" : "OpGroupNonUniformElect",
3154 { "kind" : "IdResultType" },
3155 { "kind" : "IdResult" },
3156 { "kind" : "IdScope", "name" : "'Execution'" }
3158 "capabilities" : [ "GroupNonUniform" ],
3162 "opname" : "OpGroupNonUniformAll",
3165 { "kind" : "IdResultType" },
3166 { "kind" : "IdResult" },
3167 { "kind" : "IdScope", "name" : "'Execution'" },
3168 { "kind" : "IdRef", "name" : "'Predicate'" }
3170 "capabilities" : [ "GroupNonUniformVote" ],
3174 "opname" : "OpGroupNonUniformAny",
3177 { "kind" : "IdResultType" },
3178 { "kind" : "IdResult" },
3179 { "kind" : "IdScope", "name" : "'Execution'" },
3180 { "kind" : "IdRef", "name" : "'Predicate'" }
3182 "capabilities" : [ "GroupNonUniformVote" ],
3186 "opname" : "OpGroupNonUniformAllEqual",
3189 { "kind" : "IdResultType" },
3190 { "kind" : "IdResult" },
3191 { "kind" : "IdScope", "name" : "'Execution'" },
3192 { "kind" : "IdRef", "name" : "'Value'" }
3194 "capabilities" : [ "GroupNonUniformVote" ],
3198 "opname" : "OpGroupNonUniformBroadcast",
3201 { "kind" : "IdResultType" },
3202 { "kind" : "IdResult" },
3203 { "kind" : "IdScope", "name" : "'Execution'" },
3204 { "kind" : "IdRef", "name" : "'Value'" },
3205 { "kind" : "IdRef", "name" : "'Id'" }
3207 "capabilities" : [ "GroupNonUniformBallot" ],
3211 "opname" : "OpGroupNonUniformBroadcastFirst",
3214 { "kind" : "IdResultType" },
3215 { "kind" : "IdResult" },
3216 { "kind" : "IdScope", "name" : "'Execution'" },
3217 { "kind" : "IdRef", "name" : "'Value'" }
3219 "capabilities" : [ "GroupNonUniformBallot" ],
3223 "opname" : "OpGroupNonUniformBallot",
3226 { "kind" : "IdResultType" },
3227 { "kind" : "IdResult" },
3228 { "kind" : "IdScope", "name" : "'Execution'" },
3229 { "kind" : "IdRef", "name" : "'Predicate'" }
3231 "capabilities" : [ "GroupNonUniformBallot" ],
3235 "opname" : "OpGroupNonUniformInverseBallot",
3238 { "kind" : "IdResultType" },
3239 { "kind" : "IdResult" },
3240 { "kind" : "IdScope", "name" : "'Execution'" },
3241 { "kind" : "IdRef", "name" : "'Value'" }
3243 "capabilities" : [ "GroupNonUniformBallot" ],
3247 "opname" : "OpGroupNonUniformBallotBitExtract",
3250 { "kind" : "IdResultType" },
3251 { "kind" : "IdResult" },
3252 { "kind" : "IdScope", "name" : "'Execution'" },
3253 { "kind" : "IdRef", "name" : "'Value'" },
3254 { "kind" : "IdRef", "name" : "'Index'" }
3256 "capabilities" : [ "GroupNonUniformBallot" ],
3260 "opname" : "OpGroupNonUniformBallotBitCount",
3263 { "kind" : "IdResultType" },
3264 { "kind" : "IdResult" },
3265 { "kind" : "IdScope", "name" : "'Execution'" },
3266 { "kind" : "GroupOperation", "name" : "'Operation'" },
3267 { "kind" : "IdRef", "name" : "'Value'" }
3269 "capabilities" : [ "GroupNonUniformBallot" ],
3273 "opname" : "OpGroupNonUniformBallotFindLSB",
3276 { "kind" : "IdResultType" },
3277 { "kind" : "IdResult" },
3278 { "kind" : "IdScope", "name" : "'Execution'" },
3279 { "kind" : "IdRef", "name" : "'Value'" }
3281 "capabilities" : [ "GroupNonUniformBallot" ],
3285 "opname" : "OpGroupNonUniformBallotFindMSB",
3288 { "kind" : "IdResultType" },
3289 { "kind" : "IdResult" },
3290 { "kind" : "IdScope", "name" : "'Execution'" },
3291 { "kind" : "IdRef", "name" : "'Value'" }
3293 "capabilities" : [ "GroupNonUniformBallot" ],
3297 "opname" : "OpGroupNonUniformShuffle",
3300 { "kind" : "IdResultType" },
3301 { "kind" : "IdResult" },
3302 { "kind" : "IdScope", "name" : "'Execution'" },
3303 { "kind" : "IdRef", "name" : "'Value'" },
3304 { "kind" : "IdRef", "name" : "'Id'" }
3306 "capabilities" : [ "GroupNonUniformShuffle" ],
3310 "opname" : "OpGroupNonUniformShuffleXor",
3313 { "kind" : "IdResultType" },
3314 { "kind" : "IdResult" },
3315 { "kind" : "IdScope", "name" : "'Execution'" },
3316 { "kind" : "IdRef", "name" : "'Value'" },
3317 { "kind" : "IdRef", "name" : "'Mask'" }
3319 "capabilities" : [ "GroupNonUniformShuffle" ],
3323 "opname" : "OpGroupNonUniformShuffleUp",
3326 { "kind" : "IdResultType" },
3327 { "kind" : "IdResult" },
3328 { "kind" : "IdScope", "name" : "'Execution'" },
3329 { "kind" : "IdRef", "name" : "'Value'" },
3330 { "kind" : "IdRef", "name" : "'Delta'" }
3332 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3336 "opname" : "OpGroupNonUniformShuffleDown",
3339 { "kind" : "IdResultType" },
3340 { "kind" : "IdResult" },
3341 { "kind" : "IdScope", "name" : "'Execution'" },
3342 { "kind" : "IdRef", "name" : "'Value'" },
3343 { "kind" : "IdRef", "name" : "'Delta'" }
3345 "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3349 "opname" : "OpGroupNonUniformIAdd",
3352 { "kind" : "IdResultType" },
3353 { "kind" : "IdResult" },
3354 { "kind" : "IdScope", "name" : "'Execution'" },
3355 { "kind" : "GroupOperation", "name" : "'Operation'" },
3356 { "kind" : "IdRef", "name" : "'Value'" },
3357 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3359 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3363 "opname" : "OpGroupNonUniformFAdd",
3366 { "kind" : "IdResultType" },
3367 { "kind" : "IdResult" },
3368 { "kind" : "IdScope", "name" : "'Execution'" },
3369 { "kind" : "GroupOperation", "name" : "'Operation'" },
3370 { "kind" : "IdRef", "name" : "'Value'" },
3371 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3373 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3377 "opname" : "OpGroupNonUniformIMul",
3380 { "kind" : "IdResultType" },
3381 { "kind" : "IdResult" },
3382 { "kind" : "IdScope", "name" : "'Execution'" },
3383 { "kind" : "GroupOperation", "name" : "'Operation'" },
3384 { "kind" : "IdRef", "name" : "'Value'" },
3385 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3387 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3391 "opname" : "OpGroupNonUniformFMul",
3394 { "kind" : "IdResultType" },
3395 { "kind" : "IdResult" },
3396 { "kind" : "IdScope", "name" : "'Execution'" },
3397 { "kind" : "GroupOperation", "name" : "'Operation'" },
3398 { "kind" : "IdRef", "name" : "'Value'" },
3399 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3401 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3405 "opname" : "OpGroupNonUniformSMin",
3408 { "kind" : "IdResultType" },
3409 { "kind" : "IdResult" },
3410 { "kind" : "IdScope", "name" : "'Execution'" },
3411 { "kind" : "GroupOperation", "name" : "'Operation'" },
3412 { "kind" : "IdRef", "name" : "'Value'" },
3413 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3415 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3419 "opname" : "OpGroupNonUniformUMin",
3422 { "kind" : "IdResultType" },
3423 { "kind" : "IdResult" },
3424 { "kind" : "IdScope", "name" : "'Execution'" },
3425 { "kind" : "GroupOperation", "name" : "'Operation'" },
3426 { "kind" : "IdRef", "name" : "'Value'" },
3427 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3429 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3433 "opname" : "OpGroupNonUniformFMin",
3436 { "kind" : "IdResultType" },
3437 { "kind" : "IdResult" },
3438 { "kind" : "IdScope", "name" : "'Execution'" },
3439 { "kind" : "GroupOperation", "name" : "'Operation'" },
3440 { "kind" : "IdRef", "name" : "'Value'" },
3441 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3443 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3447 "opname" : "OpGroupNonUniformSMax",
3450 { "kind" : "IdResultType" },
3451 { "kind" : "IdResult" },
3452 { "kind" : "IdScope", "name" : "'Execution'" },
3453 { "kind" : "GroupOperation", "name" : "'Operation'" },
3454 { "kind" : "IdRef", "name" : "'Value'" },
3455 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3457 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3461 "opname" : "OpGroupNonUniformUMax",
3464 { "kind" : "IdResultType" },
3465 { "kind" : "IdResult" },
3466 { "kind" : "IdScope", "name" : "'Execution'" },
3467 { "kind" : "GroupOperation", "name" : "'Operation'" },
3468 { "kind" : "IdRef", "name" : "'Value'" },
3469 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3471 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3475 "opname" : "OpGroupNonUniformFMax",
3478 { "kind" : "IdResultType" },
3479 { "kind" : "IdResult" },
3480 { "kind" : "IdScope", "name" : "'Execution'" },
3481 { "kind" : "GroupOperation", "name" : "'Operation'" },
3482 { "kind" : "IdRef", "name" : "'Value'" },
3483 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3485 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3489 "opname" : "OpGroupNonUniformBitwiseAnd",
3492 { "kind" : "IdResultType" },
3493 { "kind" : "IdResult" },
3494 { "kind" : "IdScope", "name" : "'Execution'" },
3495 { "kind" : "GroupOperation", "name" : "'Operation'" },
3496 { "kind" : "IdRef", "name" : "'Value'" },
3497 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3499 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3503 "opname" : "OpGroupNonUniformBitwiseOr",
3506 { "kind" : "IdResultType" },
3507 { "kind" : "IdResult" },
3508 { "kind" : "IdScope", "name" : "'Execution'" },
3509 { "kind" : "GroupOperation", "name" : "'Operation'" },
3510 { "kind" : "IdRef", "name" : "'Value'" },
3511 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3513 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3517 "opname" : "OpGroupNonUniformBitwiseXor",
3520 { "kind" : "IdResultType" },
3521 { "kind" : "IdResult" },
3522 { "kind" : "IdScope", "name" : "'Execution'" },
3523 { "kind" : "GroupOperation", "name" : "'Operation'" },
3524 { "kind" : "IdRef", "name" : "'Value'" },
3525 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3527 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3531 "opname" : "OpGroupNonUniformLogicalAnd",
3534 { "kind" : "IdResultType" },
3535 { "kind" : "IdResult" },
3536 { "kind" : "IdScope", "name" : "'Execution'" },
3537 { "kind" : "GroupOperation", "name" : "'Operation'" },
3538 { "kind" : "IdRef", "name" : "'Value'" },
3539 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3541 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3545 "opname" : "OpGroupNonUniformLogicalOr",
3548 { "kind" : "IdResultType" },
3549 { "kind" : "IdResult" },
3550 { "kind" : "IdScope", "name" : "'Execution'" },
3551 { "kind" : "GroupOperation", "name" : "'Operation'" },
3552 { "kind" : "IdRef", "name" : "'Value'" },
3553 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3555 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3559 "opname" : "OpGroupNonUniformLogicalXor",
3562 { "kind" : "IdResultType" },
3563 { "kind" : "IdResult" },
3564 { "kind" : "IdScope", "name" : "'Execution'" },
3565 { "kind" : "GroupOperation", "name" : "'Operation'" },
3566 { "kind" : "IdRef", "name" : "'Value'" },
3567 { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3569 "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
3573 "opname" : "OpGroupNonUniformQuadBroadcast",
3576 { "kind" : "IdResultType" },
3577 { "kind" : "IdResult" },
3578 { "kind" : "IdScope", "name" : "'Execution'" },
3579 { "kind" : "IdRef", "name" : "'Value'" },
3580 { "kind" : "IdRef", "name" : "'Index'" }
3582 "capabilities" : [ "GroupNonUniformQuad" ],
3586 "opname" : "OpGroupNonUniformQuadSwap",
3589 { "kind" : "IdResultType" },
3590 { "kind" : "IdResult" },
3591 { "kind" : "IdScope", "name" : "'Execution'" },
3592 { "kind" : "IdRef", "name" : "'Value'" },
3593 { "kind" : "IdRef", "name" : "'Direction'" }
3595 "capabilities" : [ "GroupNonUniformQuad" ],
3599 "opname" : "OpSubgroupBallotKHR",
3602 { "kind" : "IdResultType" },
3603 { "kind" : "IdResult" },
3604 { "kind" : "IdRef", "name" : "'Predicate'" }
3606 "capabilities" : [ "SubgroupBallotKHR" ],
3607 "extensions" : [ "SPV_KHR_shader_ballot" ],
3611 "opname" : "OpSubgroupFirstInvocationKHR",
3614 { "kind" : "IdResultType" },
3615 { "kind" : "IdResult" },
3616 { "kind" : "IdRef", "name" : "'Value'" }
3618 "capabilities" : [ "SubgroupBallotKHR" ],
3619 "extensions" : [ "SPV_KHR_shader_ballot" ],
3623 "opname" : "OpSubgroupAllKHR",
3626 { "kind" : "IdResultType" },
3627 { "kind" : "IdResult" },
3628 { "kind" : "IdRef", "name" : "'Predicate'" }
3631 "SPV_KHR_subgroup_vote"
3633 "capabilities" : [ "SubgroupVoteKHR" ],
3637 "opname" : "OpSubgroupAnyKHR",
3640 { "kind" : "IdResultType" },
3641 { "kind" : "IdResult" },
3642 { "kind" : "IdRef", "name" : "'Predicate'" }
3645 "SPV_KHR_subgroup_vote"
3647 "capabilities" : [ "SubgroupVoteKHR" ],
3651 "opname" : "OpSubgroupAllEqualKHR",
3654 { "kind" : "IdResultType" },
3655 { "kind" : "IdResult" },
3656 { "kind" : "IdRef", "name" : "'Predicate'" }
3659 "SPV_KHR_subgroup_vote"
3661 "capabilities" : [ "SubgroupVoteKHR" ],
3665 "opname" : "OpSubgroupReadInvocationKHR",
3668 { "kind" : "IdResultType" },
3669 { "kind" : "IdResult" },
3670 { "kind" : "IdRef", "name" : "'Value'" },
3671 { "kind" : "IdRef", "name" : "'Index'" }
3673 "capabilities" : [ "SubgroupBallotKHR" ],
3674 "extensions" : [ "SPV_KHR_shader_ballot" ],
3678 "opname" : "OpGroupIAddNonUniformAMD",
3681 { "kind" : "IdResultType" },
3682 { "kind" : "IdResult" },
3683 { "kind" : "IdScope", "name" : "'Execution'" },
3684 { "kind" : "GroupOperation", "name" : "'Operation'" },
3685 { "kind" : "IdRef", "name" : "'X'" }
3687 "capabilities" : [ "Groups" ],
3688 "extensions" : [ "SPV_AMD_shader_ballot" ],
3692 "opname" : "OpGroupFAddNonUniformAMD",
3695 { "kind" : "IdResultType" },
3696 { "kind" : "IdResult" },
3697 { "kind" : "IdScope", "name" : "'Execution'" },
3698 { "kind" : "GroupOperation", "name" : "'Operation'" },
3699 { "kind" : "IdRef", "name" : "'X'" }
3701 "capabilities" : [ "Groups" ],
3702 "extensions" : [ "SPV_AMD_shader_ballot" ],
3706 "opname" : "OpGroupFMinNonUniformAMD",
3709 { "kind" : "IdResultType" },
3710 { "kind" : "IdResult" },
3711 { "kind" : "IdScope", "name" : "'Execution'" },
3712 { "kind" : "GroupOperation", "name" : "'Operation'" },
3713 { "kind" : "IdRef", "name" : "'X'" }
3715 "capabilities" : [ "Groups" ],
3716 "extensions" : [ "SPV_AMD_shader_ballot" ],
3720 "opname" : "OpGroupUMinNonUniformAMD",
3723 { "kind" : "IdResultType" },
3724 { "kind" : "IdResult" },
3725 { "kind" : "IdScope", "name" : "'Execution'" },
3726 { "kind" : "GroupOperation", "name" : "'Operation'" },
3727 { "kind" : "IdRef", "name" : "'X'" }
3729 "capabilities" : [ "Groups" ],
3730 "extensions" : [ "SPV_AMD_shader_ballot" ],
3734 "opname" : "OpGroupSMinNonUniformAMD",
3737 { "kind" : "IdResultType" },
3738 { "kind" : "IdResult" },
3739 { "kind" : "IdScope", "name" : "'Execution'" },
3740 { "kind" : "GroupOperation", "name" : "'Operation'" },
3741 { "kind" : "IdRef", "name" : "'X'" }
3743 "capabilities" : [ "Groups" ],
3744 "extensions" : [ "SPV_AMD_shader_ballot" ],
3748 "opname" : "OpGroupFMaxNonUniformAMD",
3751 { "kind" : "IdResultType" },
3752 { "kind" : "IdResult" },
3753 { "kind" : "IdScope", "name" : "'Execution'" },
3754 { "kind" : "GroupOperation", "name" : "'Operation'" },
3755 { "kind" : "IdRef", "name" : "'X'" }
3757 "capabilities" : [ "Groups" ],
3758 "extensions" : [ "SPV_AMD_shader_ballot" ],
3762 "opname" : "OpGroupUMaxNonUniformAMD",
3765 { "kind" : "IdResultType" },
3766 { "kind" : "IdResult" },
3767 { "kind" : "IdScope", "name" : "'Execution'" },
3768 { "kind" : "GroupOperation", "name" : "'Operation'" },
3769 { "kind" : "IdRef", "name" : "'X'" }
3771 "capabilities" : [ "Groups" ],
3772 "extensions" : [ "SPV_AMD_shader_ballot" ],
3776 "opname" : "OpGroupSMaxNonUniformAMD",
3779 { "kind" : "IdResultType" },
3780 { "kind" : "IdResult" },
3781 { "kind" : "IdScope", "name" : "'Execution'" },
3782 { "kind" : "GroupOperation", "name" : "'Operation'" },
3783 { "kind" : "IdRef", "name" : "'X'" }
3785 "capabilities" : [ "Groups" ],
3786 "extensions" : [ "SPV_AMD_shader_ballot" ],
3790 "opname" : "OpFragmentMaskFetchAMD",
3793 { "kind" : "IdResultType" },
3794 { "kind" : "IdResult" },
3795 { "kind" : "IdRef", "name" : "'Image'" },
3796 { "kind" : "IdRef", "name" : "'Coordinate'" }
3798 "capabilities" : [ "FragmentMaskAMD" ],
3799 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
3803 "opname" : "OpFragmentFetchAMD",
3806 { "kind" : "IdResultType" },
3807 { "kind" : "IdResult" },
3808 { "kind" : "IdRef", "name" : "'Image'" },
3809 { "kind" : "IdRef", "name" : "'Coordinate'" },
3810 { "kind" : "IdRef", "name" : "'Fragment Index'" }
3812 "capabilities" : [ "FragmentMaskAMD" ],
3813 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
3817 "opname" : "OpSubgroupShuffleINTEL",
3820 { "kind" : "IdResultType" },
3821 { "kind" : "IdResult" },
3822 { "kind" : "IdRef", "name" : "'Data'" },
3823 { "kind" : "IdRef", "name" : "'InvocationId'" }
3825 "capabilities" : [ "SubgroupShuffleINTEL" ],
3829 "opname" : "OpSubgroupShuffleDownINTEL",
3832 { "kind" : "IdResultType" },
3833 { "kind" : "IdResult" },
3834 { "kind" : "IdRef", "name" : "'Current'" },
3835 { "kind" : "IdRef", "name" : "'Next'" },
3836 { "kind" : "IdRef", "name" : "'Delta'" }
3838 "capabilities" : [ "SubgroupShuffleINTEL" ],
3842 "opname" : "OpSubgroupShuffleUpINTEL",
3845 { "kind" : "IdResultType" },
3846 { "kind" : "IdResult" },
3847 { "kind" : "IdRef", "name" : "'Previous'" },
3848 { "kind" : "IdRef", "name" : "'Current'" },
3849 { "kind" : "IdRef", "name" : "'Delta'" }
3851 "capabilities" : [ "SubgroupShuffleINTEL" ],
3855 "opname" : "OpSubgroupShuffleXorINTEL",
3858 { "kind" : "IdResultType" },
3859 { "kind" : "IdResult" },
3860 { "kind" : "IdRef", "name" : "'Data'" },
3861 { "kind" : "IdRef", "name" : "'Value'" }
3863 "capabilities" : [ "SubgroupShuffleINTEL" ],
3867 "opname" : "OpSubgroupBlockReadINTEL",
3870 { "kind" : "IdResultType" },
3871 { "kind" : "IdResult" },
3872 { "kind" : "IdRef", "name" : "'Ptr'" }
3874 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
3878 "opname" : "OpSubgroupBlockWriteINTEL",
3881 { "kind" : "IdRef", "name" : "'Ptr'" },
3882 { "kind" : "IdRef", "name" : "'Data'" }
3884 "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
3888 "opname" : "OpSubgroupImageBlockReadINTEL",
3891 { "kind" : "IdResultType" },
3892 { "kind" : "IdResult" },
3893 { "kind" : "IdRef", "name" : "'Image'" },
3894 { "kind" : "IdRef", "name" : "'Coordinate'" }
3896 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
3900 "opname" : "OpSubgroupImageBlockWriteINTEL",
3903 { "kind" : "IdRef", "name" : "'Image'" },
3904 { "kind" : "IdRef", "name" : "'Coordinate'" },
3905 { "kind" : "IdRef", "name" : "'Data'" }
3907 "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
3911 "opname" : "OpDecorateStringGOOGLE",
3914 { "kind" : "IdRef", "name" : "'Target'" },
3915 { "kind" : "Decoration" }
3917 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
3921 "opname" : "OpMemberDecorateStringGOOGLE",
3924 { "kind" : "IdRef", "name" : "'Struct Type'" },
3925 { "kind" : "LiteralInteger", "name" : "'Member'" },
3926 { "kind" : "Decoration" }
3928 "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
3932 "opname" : "OpGroupNonUniformPartitionNV",
3935 { "kind" : "IdResultType" },
3936 { "kind" : "IdResult" },
3937 { "kind" : "IdRef", "name" : "'Value'" }
3939 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
3940 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
3946 "category" : "BitEnum",
3947 "kind" : "ImageOperands",
3950 "enumerant" : "None",
3954 "enumerant" : "Bias",
3956 "capabilities" : [ "Shader" ],
3958 { "kind" : "IdRef" }
3962 "enumerant" : "Lod",
3965 { "kind" : "IdRef" }
3969 "enumerant" : "Grad",
3972 { "kind" : "IdRef" },
3973 { "kind" : "IdRef" }
3977 "enumerant" : "ConstOffset",
3980 { "kind" : "IdRef" }
3984 "enumerant" : "Offset",
3986 "capabilities" : [ "ImageGatherExtended" ],
3988 { "kind" : "IdRef" }
3992 "enumerant" : "ConstOffsets",
3994 "capabilities" : [ "ImageGatherExtended" ],
3996 { "kind" : "IdRef" }
4000 "enumerant" : "Sample",
4003 { "kind" : "IdRef" }
4007 "enumerant" : "MinLod",
4009 "capabilities" : [ "MinLod" ],
4011 { "kind" : "IdRef" }
4017 "category" : "BitEnum",
4018 "kind" : "FPFastMathMode",
4021 "enumerant" : "None",
4025 "enumerant" : "NotNaN",
4027 "capabilities" : [ "Kernel" ]
4030 "enumerant" : "NotInf",
4032 "capabilities" : [ "Kernel" ]
4035 "enumerant" : "NSZ",
4037 "capabilities" : [ "Kernel" ]
4040 "enumerant" : "AllowRecip",
4042 "capabilities" : [ "Kernel" ]
4045 "enumerant" : "Fast",
4047 "capabilities" : [ "Kernel" ]
4052 "category" : "BitEnum",
4053 "kind" : "SelectionControl",
4056 "enumerant" : "None",
4060 "enumerant" : "Flatten",
4064 "enumerant" : "DontFlatten",
4070 "category" : "BitEnum",
4071 "kind" : "LoopControl",
4074 "enumerant" : "None",
4078 "enumerant" : "Unroll",
4082 "enumerant" : "DontUnroll",
4086 "enumerant" : "DependencyInfinite",
4091 "enumerant" : "DependencyLength",
4094 { "kind" : "LiteralInteger" }
4101 "category" : "BitEnum",
4102 "kind" : "FunctionControl",
4105 "enumerant" : "None",
4109 "enumerant" : "Inline",
4113 "enumerant" : "DontInline",
4117 "enumerant" : "Pure",
4121 "enumerant" : "Const",
4127 "category" : "BitEnum",
4128 "kind" : "MemorySemantics",
4131 "enumerant" : "Relaxed",
4135 "enumerant" : "None",
4139 "enumerant" : "Acquire",
4143 "enumerant" : "Release",
4147 "enumerant" : "AcquireRelease",
4151 "enumerant" : "SequentiallyConsistent",
4155 "enumerant" : "UniformMemory",
4157 "capabilities" : [ "Shader" ]
4160 "enumerant" : "SubgroupMemory",
4164 "enumerant" : "WorkgroupMemory",
4168 "enumerant" : "CrossWorkgroupMemory",
4172 "enumerant" : "AtomicCounterMemory",
4174 "capabilities" : [ "AtomicStorage" ]
4177 "enumerant" : "ImageMemory",
4183 "category" : "BitEnum",
4184 "kind" : "MemoryAccess",
4187 "enumerant" : "None",
4191 "enumerant" : "Volatile",
4195 "enumerant" : "Aligned",
4198 { "kind" : "LiteralInteger" }
4202 "enumerant" : "Nontemporal",
4208 "category" : "BitEnum",
4209 "kind" : "KernelProfilingInfo",
4212 "enumerant" : "None",
4216 "enumerant" : "CmdExecTime",
4218 "capabilities" : [ "Kernel" ]
4223 "category" : "ValueEnum",
4224 "kind" : "SourceLanguage",
4227 "enumerant" : "Unknown",
4231 "enumerant" : "ESSL",
4235 "enumerant" : "GLSL",
4239 "enumerant" : "OpenCL_C",
4243 "enumerant" : "OpenCL_CPP",
4247 "enumerant" : "HLSL",
4253 "category" : "ValueEnum",
4254 "kind" : "ExecutionModel",
4257 "enumerant" : "Vertex",
4259 "capabilities" : [ "Shader" ]
4262 "enumerant" : "TessellationControl",
4264 "capabilities" : [ "Tessellation" ]
4267 "enumerant" : "TessellationEvaluation",
4269 "capabilities" : [ "Tessellation" ]
4272 "enumerant" : "Geometry",
4274 "capabilities" : [ "Geometry" ]
4277 "enumerant" : "Fragment",
4279 "capabilities" : [ "Shader" ]
4282 "enumerant" : "GLCompute",
4284 "capabilities" : [ "Shader" ]
4287 "enumerant" : "Kernel",
4289 "capabilities" : [ "Kernel" ]
4294 "category" : "ValueEnum",
4295 "kind" : "AddressingModel",
4298 "enumerant" : "Logical",
4302 "enumerant" : "Physical32",
4304 "capabilities" : [ "Addresses" ]
4307 "enumerant" : "Physical64",
4309 "capabilities" : [ "Addresses" ]
4314 "category" : "ValueEnum",
4315 "kind" : "MemoryModel",
4318 "enumerant" : "Simple",
4320 "capabilities" : [ "Shader" ]
4323 "enumerant" : "GLSL450",
4325 "capabilities" : [ "Shader" ]
4328 "enumerant" : "OpenCL",
4330 "capabilities" : [ "Kernel" ]
4335 "category" : "ValueEnum",
4336 "kind" : "ExecutionMode",
4339 "enumerant" : "Invocations",
4341 "capabilities" : [ "Geometry" ],
4343 { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
4347 "enumerant" : "SpacingEqual",
4349 "capabilities" : [ "Tessellation" ]
4352 "enumerant" : "SpacingFractionalEven",
4354 "capabilities" : [ "Tessellation" ]
4357 "enumerant" : "SpacingFractionalOdd",
4359 "capabilities" : [ "Tessellation" ]
4362 "enumerant" : "VertexOrderCw",
4364 "capabilities" : [ "Tessellation" ]
4367 "enumerant" : "VertexOrderCcw",
4369 "capabilities" : [ "Tessellation" ]
4372 "enumerant" : "PixelCenterInteger",
4374 "capabilities" : [ "Shader" ]
4377 "enumerant" : "OriginUpperLeft",
4379 "capabilities" : [ "Shader" ]
4382 "enumerant" : "OriginLowerLeft",
4384 "capabilities" : [ "Shader" ]
4387 "enumerant" : "EarlyFragmentTests",
4389 "capabilities" : [ "Shader" ]
4392 "enumerant" : "PointMode",
4394 "capabilities" : [ "Tessellation" ]
4397 "enumerant" : "Xfb",
4399 "capabilities" : [ "TransformFeedback" ]
4402 "enumerant" : "DepthReplacing",
4404 "capabilities" : [ "Shader" ]
4407 "enumerant" : "DepthGreater",
4409 "capabilities" : [ "Shader" ]
4412 "enumerant" : "DepthLess",
4414 "capabilities" : [ "Shader" ]
4417 "enumerant" : "DepthUnchanged",
4419 "capabilities" : [ "Shader" ]
4422 "enumerant" : "LocalSize",
4425 { "kind" : "LiteralInteger", "name" : "'x size'" },
4426 { "kind" : "LiteralInteger", "name" : "'y size'" },
4427 { "kind" : "LiteralInteger", "name" : "'z size'" }
4431 "enumerant" : "LocalSizeHint",
4433 "capabilities" : [ "Kernel" ],
4435 { "kind" : "LiteralInteger", "name" : "'x size'" },
4436 { "kind" : "LiteralInteger", "name" : "'y size'" },
4437 { "kind" : "LiteralInteger", "name" : "'z size'" }
4441 "enumerant" : "InputPoints",
4443 "capabilities" : [ "Geometry" ]
4446 "enumerant" : "InputLines",
4448 "capabilities" : [ "Geometry" ]
4451 "enumerant" : "InputLinesAdjacency",
4453 "capabilities" : [ "Geometry" ]
4456 "enumerant" : "Triangles",
4458 "capabilities" : [ "Geometry", "Tessellation" ]
4461 "enumerant" : "InputTrianglesAdjacency",
4463 "capabilities" : [ "Geometry" ]
4466 "enumerant" : "Quads",
4468 "capabilities" : [ "Tessellation" ]
4471 "enumerant" : "Isolines",
4473 "capabilities" : [ "Tessellation" ]
4476 "enumerant" : "OutputVertices",
4478 "capabilities" : [ "Geometry", "Tessellation" ],
4480 { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
4484 "enumerant" : "OutputPoints",
4486 "capabilities" : [ "Geometry" ]
4489 "enumerant" : "OutputLineStrip",
4491 "capabilities" : [ "Geometry" ]
4494 "enumerant" : "OutputTriangleStrip",
4496 "capabilities" : [ "Geometry" ]
4499 "enumerant" : "VecTypeHint",
4501 "capabilities" : [ "Kernel" ],
4503 { "kind" : "LiteralInteger", "name" : "'Vector type'" }
4507 "enumerant" : "ContractionOff",
4509 "capabilities" : [ "Kernel" ]
4512 "enumerant" : "Initializer",
4514 "capabilities" : [ "Kernel" ],
4518 "enumerant" : "Finalizer",
4520 "capabilities" : [ "Kernel" ],
4524 "enumerant" : "SubgroupSize",
4526 "capabilities" : [ "SubgroupDispatch" ],
4528 { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
4533 "enumerant" : "SubgroupsPerWorkgroup",
4535 "capabilities" : [ "SubgroupDispatch" ],
4537 { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
4542 "enumerant" : "SubgroupsPerWorkgroupId",
4544 "capabilities" : [ "SubgroupDispatch" ],
4546 { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
4551 "enumerant" : "LocalSizeId",
4554 { "kind" : "IdRef", "name" : "'x size'" },
4555 { "kind" : "IdRef", "name" : "'y size'" },
4556 { "kind" : "IdRef", "name" : "'z size'" }
4561 "enumerant" : "LocalSizeHintId",
4563 "capabilities" : [ "Kernel" ],
4565 { "kind" : "IdRef", "name" : "'Local Size Hint'" }
4570 "enumerant" : "PostDepthCoverage",
4572 "capabilities" : [ "SampleMaskPostDepthCoverage" ],
4573 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
4577 "enumerant" : "StencilRefReplacingEXT",
4579 "capabilities" : [ "StencilExportEXT" ],
4580 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
4586 "category" : "ValueEnum",
4587 "kind" : "StorageClass",
4590 "enumerant" : "UniformConstant",
4594 "enumerant" : "Input",
4598 "enumerant" : "Uniform",
4600 "capabilities" : [ "Shader" ]
4603 "enumerant" : "Output",
4605 "capabilities" : [ "Shader" ]
4608 "enumerant" : "Workgroup",
4612 "enumerant" : "CrossWorkgroup",
4616 "enumerant" : "Private",
4618 "capabilities" : [ "Shader" ]
4621 "enumerant" : "Function",
4625 "enumerant" : "Generic",
4627 "capabilities" : [ "GenericPointer" ]
4630 "enumerant" : "PushConstant",
4632 "capabilities" : [ "Shader" ]
4635 "enumerant" : "AtomicCounter",
4637 "capabilities" : [ "AtomicStorage" ]
4640 "enumerant" : "Image",
4644 "enumerant" : "StorageBuffer",
4647 "SPV_KHR_storage_buffer_storage_class",
4648 "SPV_KHR_variable_pointers"
4650 "capabilities" : [ "Shader" ],
4656 "category" : "ValueEnum",
4662 "capabilities" : [ "Sampled1D" ]
4673 "enumerant" : "Cube",
4675 "capabilities" : [ "Shader" ]
4678 "enumerant" : "Rect",
4680 "capabilities" : [ "SampledRect" ]
4683 "enumerant" : "Buffer",
4685 "capabilities" : [ "SampledBuffer" ]
4688 "enumerant" : "SubpassData",
4690 "capabilities" : [ "InputAttachment" ]
4695 "category" : "ValueEnum",
4696 "kind" : "SamplerAddressingMode",
4699 "enumerant" : "None",
4701 "capabilities" : [ "Kernel" ]
4704 "enumerant" : "ClampToEdge",
4706 "capabilities" : [ "Kernel" ]
4709 "enumerant" : "Clamp",
4711 "capabilities" : [ "Kernel" ]
4714 "enumerant" : "Repeat",
4716 "capabilities" : [ "Kernel" ]
4719 "enumerant" : "RepeatMirrored",
4721 "capabilities" : [ "Kernel" ]
4726 "category" : "ValueEnum",
4727 "kind" : "SamplerFilterMode",
4730 "enumerant" : "Nearest",
4732 "capabilities" : [ "Kernel" ]
4735 "enumerant" : "Linear",
4737 "capabilities" : [ "Kernel" ]
4742 "category" : "ValueEnum",
4743 "kind" : "ImageFormat",
4746 "enumerant" : "Unknown",
4750 "enumerant" : "Rgba32f",
4752 "capabilities" : [ "Shader" ]
4755 "enumerant" : "Rgba16f",
4757 "capabilities" : [ "Shader" ]
4760 "enumerant" : "R32f",
4762 "capabilities" : [ "Shader" ]
4765 "enumerant" : "Rgba8",
4767 "capabilities" : [ "Shader" ]
4770 "enumerant" : "Rgba8Snorm",
4772 "capabilities" : [ "Shader" ]
4775 "enumerant" : "Rg32f",
4777 "capabilities" : [ "StorageImageExtendedFormats" ]
4780 "enumerant" : "Rg16f",
4782 "capabilities" : [ "StorageImageExtendedFormats" ]
4785 "enumerant" : "R11fG11fB10f",
4787 "capabilities" : [ "StorageImageExtendedFormats" ]
4790 "enumerant" : "R16f",
4792 "capabilities" : [ "StorageImageExtendedFormats" ]
4795 "enumerant" : "Rgba16",
4797 "capabilities" : [ "StorageImageExtendedFormats" ]
4800 "enumerant" : "Rgb10A2",
4802 "capabilities" : [ "StorageImageExtendedFormats" ]
4805 "enumerant" : "Rg16",
4807 "capabilities" : [ "StorageImageExtendedFormats" ]
4810 "enumerant" : "Rg8",
4812 "capabilities" : [ "StorageImageExtendedFormats" ]
4815 "enumerant" : "R16",
4817 "capabilities" : [ "StorageImageExtendedFormats" ]
4822 "capabilities" : [ "StorageImageExtendedFormats" ]
4825 "enumerant" : "Rgba16Snorm",
4827 "capabilities" : [ "StorageImageExtendedFormats" ]
4830 "enumerant" : "Rg16Snorm",
4832 "capabilities" : [ "StorageImageExtendedFormats" ]
4835 "enumerant" : "Rg8Snorm",
4837 "capabilities" : [ "StorageImageExtendedFormats" ]
4840 "enumerant" : "R16Snorm",
4842 "capabilities" : [ "StorageImageExtendedFormats" ]
4845 "enumerant" : "R8Snorm",
4847 "capabilities" : [ "StorageImageExtendedFormats" ]
4850 "enumerant" : "Rgba32i",
4852 "capabilities" : [ "Shader" ]
4855 "enumerant" : "Rgba16i",
4857 "capabilities" : [ "Shader" ]
4860 "enumerant" : "Rgba8i",
4862 "capabilities" : [ "Shader" ]
4865 "enumerant" : "R32i",
4867 "capabilities" : [ "Shader" ]
4870 "enumerant" : "Rg32i",
4872 "capabilities" : [ "StorageImageExtendedFormats" ]
4875 "enumerant" : "Rg16i",
4877 "capabilities" : [ "StorageImageExtendedFormats" ]
4880 "enumerant" : "Rg8i",
4882 "capabilities" : [ "StorageImageExtendedFormats" ]
4885 "enumerant" : "R16i",
4887 "capabilities" : [ "StorageImageExtendedFormats" ]
4890 "enumerant" : "R8i",
4892 "capabilities" : [ "StorageImageExtendedFormats" ]
4895 "enumerant" : "Rgba32ui",
4897 "capabilities" : [ "Shader" ]
4900 "enumerant" : "Rgba16ui",
4902 "capabilities" : [ "Shader" ]
4905 "enumerant" : "Rgba8ui",
4907 "capabilities" : [ "Shader" ]
4910 "enumerant" : "R32ui",
4912 "capabilities" : [ "Shader" ]
4915 "enumerant" : "Rgb10a2ui",
4917 "capabilities" : [ "StorageImageExtendedFormats" ]
4920 "enumerant" : "Rg32ui",
4922 "capabilities" : [ "StorageImageExtendedFormats" ]
4925 "enumerant" : "Rg16ui",
4927 "capabilities" : [ "StorageImageExtendedFormats" ]
4930 "enumerant" : "Rg8ui",
4932 "capabilities" : [ "StorageImageExtendedFormats" ]
4935 "enumerant" : "R16ui",
4937 "capabilities" : [ "StorageImageExtendedFormats" ]
4940 "enumerant" : "R8ui",
4942 "capabilities" : [ "StorageImageExtendedFormats" ]
4947 "category" : "ValueEnum",
4948 "kind" : "ImageChannelOrder",
4953 "capabilities" : [ "Kernel" ]
4958 "capabilities" : [ "Kernel" ]
4963 "capabilities" : [ "Kernel" ]
4968 "capabilities" : [ "Kernel" ]
4971 "enumerant" : "RGB",
4973 "capabilities" : [ "Kernel" ]
4976 "enumerant" : "RGBA",
4978 "capabilities" : [ "Kernel" ]
4981 "enumerant" : "BGRA",
4983 "capabilities" : [ "Kernel" ]
4986 "enumerant" : "ARGB",
4988 "capabilities" : [ "Kernel" ]
4991 "enumerant" : "Intensity",
4993 "capabilities" : [ "Kernel" ]
4996 "enumerant" : "Luminance",
4998 "capabilities" : [ "Kernel" ]
5003 "capabilities" : [ "Kernel" ]
5006 "enumerant" : "RGx",
5008 "capabilities" : [ "Kernel" ]
5011 "enumerant" : "RGBx",
5013 "capabilities" : [ "Kernel" ]
5016 "enumerant" : "Depth",
5018 "capabilities" : [ "Kernel" ]
5021 "enumerant" : "DepthStencil",
5023 "capabilities" : [ "Kernel" ]
5026 "enumerant" : "sRGB",
5028 "capabilities" : [ "Kernel" ]
5031 "enumerant" : "sRGBx",
5033 "capabilities" : [ "Kernel" ]
5036 "enumerant" : "sRGBA",
5038 "capabilities" : [ "Kernel" ]
5041 "enumerant" : "sBGRA",
5043 "capabilities" : [ "Kernel" ]
5046 "enumerant" : "ABGR",
5048 "capabilities" : [ "Kernel" ]
5053 "category" : "ValueEnum",
5054 "kind" : "ImageChannelDataType",
5057 "enumerant" : "SnormInt8",
5059 "capabilities" : [ "Kernel" ]
5062 "enumerant" : "SnormInt16",
5064 "capabilities" : [ "Kernel" ]
5067 "enumerant" : "UnormInt8",
5069 "capabilities" : [ "Kernel" ]
5072 "enumerant" : "UnormInt16",
5074 "capabilities" : [ "Kernel" ]
5077 "enumerant" : "UnormShort565",
5079 "capabilities" : [ "Kernel" ]
5082 "enumerant" : "UnormShort555",
5084 "capabilities" : [ "Kernel" ]
5087 "enumerant" : "UnormInt101010",
5089 "capabilities" : [ "Kernel" ]
5092 "enumerant" : "SignedInt8",
5094 "capabilities" : [ "Kernel" ]
5097 "enumerant" : "SignedInt16",
5099 "capabilities" : [ "Kernel" ]
5102 "enumerant" : "SignedInt32",
5104 "capabilities" : [ "Kernel" ]
5107 "enumerant" : "UnsignedInt8",
5109 "capabilities" : [ "Kernel" ]
5112 "enumerant" : "UnsignedInt16",
5114 "capabilities" : [ "Kernel" ]
5117 "enumerant" : "UnsignedInt32",
5119 "capabilities" : [ "Kernel" ]
5122 "enumerant" : "HalfFloat",
5124 "capabilities" : [ "Kernel" ]
5127 "enumerant" : "Float",
5129 "capabilities" : [ "Kernel" ]
5132 "enumerant" : "UnormInt24",
5134 "capabilities" : [ "Kernel" ]
5137 "enumerant" : "UnormInt101010_2",
5139 "capabilities" : [ "Kernel" ]
5144 "category" : "ValueEnum",
5145 "kind" : "FPRoundingMode",
5148 "enumerant" : "RTE",
5152 "enumerant" : "RTZ",
5156 "enumerant" : "RTP",
5160 "enumerant" : "RTN",
5166 "category" : "ValueEnum",
5167 "kind" : "LinkageType",
5170 "enumerant" : "Export",
5172 "capabilities" : [ "Linkage" ]
5175 "enumerant" : "Import",
5177 "capabilities" : [ "Linkage" ]
5182 "category" : "ValueEnum",
5183 "kind" : "AccessQualifier",
5186 "enumerant" : "ReadOnly",
5188 "capabilities" : [ "Kernel" ]
5191 "enumerant" : "WriteOnly",
5193 "capabilities" : [ "Kernel" ]
5196 "enumerant" : "ReadWrite",
5198 "capabilities" : [ "Kernel" ]
5203 "category" : "ValueEnum",
5204 "kind" : "FunctionParameterAttribute",
5207 "enumerant" : "Zext",
5209 "capabilities" : [ "Kernel" ]
5212 "enumerant" : "Sext",
5214 "capabilities" : [ "Kernel" ]
5217 "enumerant" : "ByVal",
5219 "capabilities" : [ "Kernel" ]
5222 "enumerant" : "Sret",
5224 "capabilities" : [ "Kernel" ]
5227 "enumerant" : "NoAlias",
5229 "capabilities" : [ "Kernel" ]
5232 "enumerant" : "NoCapture",
5234 "capabilities" : [ "Kernel" ]
5237 "enumerant" : "NoWrite",
5239 "capabilities" : [ "Kernel" ]
5242 "enumerant" : "NoReadWrite",
5244 "capabilities" : [ "Kernel" ]
5249 "category" : "ValueEnum",
5250 "kind" : "Decoration",
5253 "enumerant" : "RelaxedPrecision",
5255 "capabilities" : [ "Shader" ]
5258 "enumerant" : "SpecId",
5260 "capabilities" : [ "Shader", "Kernel" ],
5262 { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
5266 "enumerant" : "Block",
5268 "capabilities" : [ "Shader" ]
5271 "enumerant" : "BufferBlock",
5273 "capabilities" : [ "Shader" ]
5276 "enumerant" : "RowMajor",
5278 "capabilities" : [ "Matrix" ]
5281 "enumerant" : "ColMajor",
5283 "capabilities" : [ "Matrix" ]
5286 "enumerant" : "ArrayStride",
5288 "capabilities" : [ "Shader" ],
5290 { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
5294 "enumerant" : "MatrixStride",
5296 "capabilities" : [ "Matrix" ],
5298 { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
5302 "enumerant" : "GLSLShared",
5304 "capabilities" : [ "Shader" ]
5307 "enumerant" : "GLSLPacked",
5309 "capabilities" : [ "Shader" ]
5312 "enumerant" : "CPacked",
5314 "capabilities" : [ "Kernel" ]
5317 "enumerant" : "BuiltIn",
5320 { "kind" : "BuiltIn" }
5324 "enumerant" : "NoPerspective",
5326 "capabilities" : [ "Shader" ]
5329 "enumerant" : "Flat",
5331 "capabilities" : [ "Shader" ]
5334 "enumerant" : "Patch",
5336 "capabilities" : [ "Tessellation" ]
5339 "enumerant" : "Centroid",
5341 "capabilities" : [ "Shader" ]
5344 "enumerant" : "Sample",
5346 "capabilities" : [ "SampleRateShading" ]
5349 "enumerant" : "Invariant",
5351 "capabilities" : [ "Shader" ]
5354 "enumerant" : "Restrict",
5358 "enumerant" : "Aliased",
5362 "enumerant" : "Volatile",
5366 "enumerant" : "Constant",
5368 "capabilities" : [ "Kernel" ]
5371 "enumerant" : "Coherent",
5375 "enumerant" : "NonWritable",
5379 "enumerant" : "NonReadable",
5383 "enumerant" : "Uniform",
5385 "capabilities" : [ "Shader" ]
5388 "enumerant" : "SaturatedConversion",
5390 "capabilities" : [ "Kernel" ]
5393 "enumerant" : "Stream",
5395 "capabilities" : [ "GeometryStreams" ],
5397 { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
5401 "enumerant" : "Location",
5403 "capabilities" : [ "Shader" ],
5405 { "kind" : "LiteralInteger", "name" : "'Location'" }
5409 "enumerant" : "Component",
5411 "capabilities" : [ "Shader" ],
5413 { "kind" : "LiteralInteger", "name" : "'Component'" }
5417 "enumerant" : "Index",
5419 "capabilities" : [ "Shader" ],
5421 { "kind" : "LiteralInteger", "name" : "'Index'" }
5425 "enumerant" : "Binding",
5427 "capabilities" : [ "Shader" ],
5429 { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
5433 "enumerant" : "DescriptorSet",
5435 "capabilities" : [ "Shader" ],
5437 { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
5441 "enumerant" : "Offset",
5443 "capabilities" : [ "Shader" ],
5445 { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
5449 "enumerant" : "XfbBuffer",
5451 "capabilities" : [ "TransformFeedback" ],
5453 { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
5457 "enumerant" : "XfbStride",
5459 "capabilities" : [ "TransformFeedback" ],
5461 { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
5465 "enumerant" : "FuncParamAttr",
5467 "capabilities" : [ "Kernel" ],
5469 { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
5473 "enumerant" : "FPRoundingMode",
5476 { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
5480 "enumerant" : "FPFastMathMode",
5482 "capabilities" : [ "Kernel" ],
5484 { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
5488 "enumerant" : "LinkageAttributes",
5490 "capabilities" : [ "Linkage" ],
5492 { "kind" : "LiteralString", "name" : "'Name'" },
5493 { "kind" : "LinkageType", "name" : "'Linkage Type'" }
5497 "enumerant" : "NoContraction",
5499 "capabilities" : [ "Shader" ]
5502 "enumerant" : "InputAttachmentIndex",
5504 "capabilities" : [ "InputAttachment" ],
5506 { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
5510 "enumerant" : "Alignment",
5512 "capabilities" : [ "Kernel" ],
5514 { "kind" : "LiteralInteger", "name" : "'Alignment'" }
5518 "enumerant" : "MaxByteOffset",
5520 "capabilities" : [ "Addresses" ],
5522 { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
5527 "enumerant" : "AlignmentId",
5529 "capabilities" : [ "Kernel" ],
5531 { "kind" : "IdRef", "name" : "'Alignment'" }
5536 "enumerant" : "MaxByteOffsetId",
5538 "capabilities" : [ "Addresses" ],
5540 { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
5545 "enumerant" : "ExplicitInterpAMD",
5547 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5551 "enumerant" : "OverrideCoverageNV",
5553 "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
5554 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
5558 "enumerant" : "PassthroughNV",
5560 "capabilities" : [ "GeometryShaderPassthroughNV" ],
5561 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
5565 "enumerant" : "ViewportRelativeNV",
5567 "capabilities" : [ "ShaderViewportMaskNV" ],
5571 "enumerant" : "SecondaryViewportRelativeNV",
5573 "capabilities" : [ "ShaderStereoViewNV" ],
5574 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
5577 { "kind" : "LiteralInteger", "name" : "'Offset'" }
5581 "enumerant" : "NonUniformEXT",
5583 "capabilities" : [ "ShaderNonUniformEXT" ]
5586 "enumerant" : "HlslCounterBufferGOOGLE",
5589 { "kind" : "IdRef", "name" : "'Counter Buffer'" }
5591 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
5595 "enumerant" : "HlslSemanticGOOGLE",
5598 { "kind" : "LiteralString", "name" : "'Semantic'" }
5600 "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
5606 "category" : "ValueEnum",
5610 "enumerant" : "Position",
5612 "capabilities" : [ "Shader" ]
5615 "enumerant" : "PointSize",
5617 "capabilities" : [ "Shader" ]
5620 "enumerant" : "ClipDistance",
5622 "capabilities" : [ "ClipDistance" ]
5625 "enumerant" : "CullDistance",
5627 "capabilities" : [ "CullDistance" ]
5630 "enumerant" : "VertexId",
5632 "capabilities" : [ "Shader" ]
5635 "enumerant" : "InstanceId",
5637 "capabilities" : [ "Shader" ]
5640 "enumerant" : "PrimitiveId",
5642 "capabilities" : [ "Geometry", "Tessellation" ]
5645 "enumerant" : "InvocationId",
5647 "capabilities" : [ "Geometry", "Tessellation" ]
5650 "enumerant" : "Layer",
5652 "capabilities" : [ "Geometry" ]
5655 "enumerant" : "ViewportIndex",
5657 "capabilities" : [ "MultiViewport" ]
5660 "enumerant" : "TessLevelOuter",
5662 "capabilities" : [ "Tessellation" ]
5665 "enumerant" : "TessLevelInner",
5667 "capabilities" : [ "Tessellation" ]
5670 "enumerant" : "TessCoord",
5672 "capabilities" : [ "Tessellation" ]
5675 "enumerant" : "PatchVertices",
5677 "capabilities" : [ "Tessellation" ]
5680 "enumerant" : "FragCoord",
5682 "capabilities" : [ "Shader" ]
5685 "enumerant" : "PointCoord",
5687 "capabilities" : [ "Shader" ]
5690 "enumerant" : "FrontFacing",
5692 "capabilities" : [ "Shader" ]
5695 "enumerant" : "SampleId",
5697 "capabilities" : [ "SampleRateShading" ]
5700 "enumerant" : "SamplePosition",
5702 "capabilities" : [ "SampleRateShading" ]
5705 "enumerant" : "SampleMask",
5707 "capabilities" : [ "Shader" ]
5710 "enumerant" : "FragDepth",
5712 "capabilities" : [ "Shader" ]
5715 "enumerant" : "HelperInvocation",
5717 "capabilities" : [ "Shader" ]
5720 "enumerant" : "NumWorkgroups",
5724 "enumerant" : "WorkgroupSize",
5728 "enumerant" : "WorkgroupId",
5732 "enumerant" : "LocalInvocationId",
5736 "enumerant" : "GlobalInvocationId",
5740 "enumerant" : "LocalInvocationIndex",
5744 "enumerant" : "WorkDim",
5746 "capabilities" : [ "Kernel" ]
5749 "enumerant" : "GlobalSize",
5751 "capabilities" : [ "Kernel" ]
5754 "enumerant" : "EnqueuedWorkgroupSize",
5756 "capabilities" : [ "Kernel" ]
5759 "enumerant" : "GlobalOffset",
5761 "capabilities" : [ "Kernel" ]
5764 "enumerant" : "GlobalLinearId",
5766 "capabilities" : [ "Kernel" ]
5769 "enumerant" : "SubgroupSize",
5771 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
5774 "enumerant" : "SubgroupMaxSize",
5776 "capabilities" : [ "Kernel" ]
5779 "enumerant" : "NumSubgroups",
5781 "capabilities" : [ "Kernel", "GroupNonUniform" ]
5784 "enumerant" : "NumEnqueuedSubgroups",
5786 "capabilities" : [ "Kernel" ]
5789 "enumerant" : "SubgroupId",
5791 "capabilities" : [ "Kernel", "GroupNonUniform" ]
5794 "enumerant" : "SubgroupLocalInvocationId",
5796 "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
5799 "enumerant" : "VertexIndex",
5801 "capabilities" : [ "Shader" ]
5804 "enumerant" : "InstanceIndex",
5806 "capabilities" : [ "Shader" ]
5809 "enumerant" : "SubgroupEqMask",
5811 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5815 "enumerant" : "SubgroupGeMask",
5817 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5821 "enumerant" : "SubgroupGtMask",
5823 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5827 "enumerant" : "SubgroupLeMask",
5829 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5833 "enumerant" : "SubgroupLtMask",
5835 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5839 "enumerant" : "SubgroupEqMaskKHR",
5841 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5842 "extensions" : [ "SPV_KHR_shader_ballot" ],
5846 "enumerant" : "SubgroupGeMaskKHR",
5848 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5849 "extensions" : [ "SPV_KHR_shader_ballot" ],
5853 "enumerant" : "SubgroupGtMaskKHR",
5855 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5856 "extensions" : [ "SPV_KHR_shader_ballot" ],
5860 "enumerant" : "SubgroupLeMaskKHR",
5862 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5863 "extensions" : [ "SPV_KHR_shader_ballot" ],
5867 "enumerant" : "SubgroupLtMaskKHR",
5869 "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
5870 "extensions" : [ "SPV_KHR_shader_ballot" ],
5874 "enumerant" : "BaseVertex",
5876 "capabilities" : [ "DrawParameters" ],
5877 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
5881 "enumerant" : "BaseInstance",
5883 "capabilities" : [ "DrawParameters" ],
5884 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
5888 "enumerant" : "DrawIndex",
5890 "capabilities" : [ "DrawParameters" ],
5891 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
5895 "enumerant" : "DeviceIndex",
5897 "capabilities" : [ "DeviceGroup" ],
5898 "extensions" : [ "SPV_KHR_device_group" ],
5902 "enumerant" : "ViewIndex",
5904 "capabilities" : [ "MultiView" ],
5905 "extensions" : [ "SPV_KHR_multiview" ],
5909 "enumerant" : "BaryCoordNoPerspAMD",
5911 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5915 "enumerant" : "BaryCoordNoPerspCentroidAMD",
5917 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5921 "enumerant" : "BaryCoordNoPerspSampleAMD",
5923 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5927 "enumerant" : "BaryCoordSmoothAMD",
5929 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5933 "enumerant" : "BaryCoordSmoothCentroidAMD",
5935 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5939 "enumerant" : "BaryCoordSmoothSampleAMD",
5941 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5945 "enumerant" : "BaryCoordPullModelAMD",
5947 "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
5951 "enumerant" : "FragStencilRefEXT",
5953 "capabilities" : [ "StencilExportEXT" ],
5954 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
5958 "enumerant" : "ViewportMaskNV",
5960 "capabilities" : [ "ShaderViewportMaskNV" ],
5964 "enumerant" : "SecondaryPositionNV",
5966 "capabilities" : [ "ShaderStereoViewNV" ],
5967 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
5971 "enumerant" : "SecondaryViewportMaskNV",
5973 "capabilities" : [ "ShaderStereoViewNV" ],
5974 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
5978 "enumerant" : "PositionPerViewNV",
5980 "capabilities" : [ "PerViewAttributesNV" ],
5984 "enumerant" : "ViewportMaskPerViewNV",
5986 "capabilities" : [ "PerViewAttributesNV" ],
5990 "enumerant" : "FullyCoveredEXT",
5992 "capabilities" : [ "FragmentFullyCoveredEXT" ],
5993 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
5999 "category" : "ValueEnum",
6003 "enumerant" : "CrossDevice",
6007 "enumerant" : "Device",
6011 "enumerant" : "Workgroup",
6015 "enumerant" : "Subgroup",
6019 "enumerant" : "Invocation",
6025 "category" : "ValueEnum",
6026 "kind" : "GroupOperation",
6029 "enumerant" : "Reduce",
6031 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6034 "enumerant" : "InclusiveScan",
6036 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6039 "enumerant" : "ExclusiveScan",
6041 "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
6044 "enumerant" : "ClusteredReduce",
6046 "capabilities" : [ "GroupNonUniformClustered" ],
6050 "enumerant" : "PartitionedReduceNV",
6052 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6053 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6057 "enumerant" : "PartitionedInclusiveScanNV",
6059 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6060 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6064 "enumerant" : "PartitionedExclusiveScanNV",
6066 "capabilities" : [ "GroupNonUniformPartitionedNV" ],
6067 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6073 "category" : "ValueEnum",
6074 "kind" : "KernelEnqueueFlags",
6077 "enumerant" : "NoWait",
6079 "capabilities" : [ "Kernel" ]
6082 "enumerant" : "WaitKernel",
6084 "capabilities" : [ "Kernel" ]
6087 "enumerant" : "WaitWorkGroup",
6089 "capabilities" : [ "Kernel" ]
6094 "category" : "ValueEnum",
6095 "kind" : "Capability",
6098 "enumerant" : "Matrix",
6102 "enumerant" : "Shader",
6104 "capabilities" : [ "Matrix" ]
6107 "enumerant" : "Geometry",
6109 "capabilities" : [ "Shader" ]
6112 "enumerant" : "Tessellation",
6114 "capabilities" : [ "Shader" ]
6117 "enumerant" : "Addresses",
6121 "enumerant" : "Linkage",
6125 "enumerant" : "Kernel",
6129 "enumerant" : "Vector16",
6131 "capabilities" : [ "Kernel" ]
6134 "enumerant" : "Float16Buffer",
6136 "capabilities" : [ "Kernel" ]
6139 "enumerant" : "Float16",
6143 "enumerant" : "Float64",
6147 "enumerant" : "Int64",
6151 "enumerant" : "Int64Atomics",
6153 "capabilities" : [ "Int64" ]
6156 "enumerant" : "ImageBasic",
6158 "capabilities" : [ "Kernel" ]
6161 "enumerant" : "ImageReadWrite",
6163 "capabilities" : [ "ImageBasic" ]
6166 "enumerant" : "ImageMipmap",
6168 "capabilities" : [ "ImageBasic" ]
6171 "enumerant" : "Pipes",
6173 "capabilities" : [ "Kernel" ]
6176 "enumerant" : "Groups",
6180 "enumerant" : "DeviceEnqueue",
6182 "capabilities" : [ "Kernel" ]
6185 "enumerant" : "LiteralSampler",
6187 "capabilities" : [ "Kernel" ]
6190 "enumerant" : "AtomicStorage",
6192 "capabilities" : [ "Shader" ]
6195 "enumerant" : "Int16",
6199 "enumerant" : "TessellationPointSize",
6201 "capabilities" : [ "Tessellation" ]
6204 "enumerant" : "GeometryPointSize",
6206 "capabilities" : [ "Geometry" ]
6209 "enumerant" : "ImageGatherExtended",
6211 "capabilities" : [ "Shader" ]
6214 "enumerant" : "StorageImageMultisample",
6216 "capabilities" : [ "Shader" ]
6219 "enumerant" : "UniformBufferArrayDynamicIndexing",
6221 "capabilities" : [ "Shader" ]
6224 "enumerant" : "SampledImageArrayDynamicIndexing",
6226 "capabilities" : [ "Shader" ]
6229 "enumerant" : "StorageBufferArrayDynamicIndexing",
6231 "capabilities" : [ "Shader" ]
6234 "enumerant" : "StorageImageArrayDynamicIndexing",
6236 "capabilities" : [ "Shader" ]
6239 "enumerant" : "ClipDistance",
6241 "capabilities" : [ "Shader" ]
6244 "enumerant" : "CullDistance",
6246 "capabilities" : [ "Shader" ]
6249 "enumerant" : "ImageCubeArray",
6251 "capabilities" : [ "SampledCubeArray" ]
6254 "enumerant" : "SampleRateShading",
6256 "capabilities" : [ "Shader" ]
6259 "enumerant" : "ImageRect",
6261 "capabilities" : [ "SampledRect" ]
6264 "enumerant" : "SampledRect",
6266 "capabilities" : [ "Shader" ]
6269 "enumerant" : "GenericPointer",
6271 "capabilities" : [ "Addresses" ]
6274 "enumerant" : "Int8",
6278 "enumerant" : "InputAttachment",
6280 "capabilities" : [ "Shader" ]
6283 "enumerant" : "SparseResidency",
6285 "capabilities" : [ "Shader" ]
6288 "enumerant" : "MinLod",
6290 "capabilities" : [ "Shader" ]
6293 "enumerant" : "Sampled1D",
6297 "enumerant" : "Image1D",
6299 "capabilities" : [ "Sampled1D" ]
6302 "enumerant" : "SampledCubeArray",
6304 "capabilities" : [ "Shader" ]
6307 "enumerant" : "SampledBuffer",
6311 "enumerant" : "ImageBuffer",
6313 "capabilities" : [ "SampledBuffer" ]
6316 "enumerant" : "ImageMSArray",
6318 "capabilities" : [ "Shader" ]
6321 "enumerant" : "StorageImageExtendedFormats",
6323 "capabilities" : [ "Shader" ]
6326 "enumerant" : "ImageQuery",
6328 "capabilities" : [ "Shader" ]
6331 "enumerant" : "DerivativeControl",
6333 "capabilities" : [ "Shader" ]
6336 "enumerant" : "InterpolationFunction",
6338 "capabilities" : [ "Shader" ]
6341 "enumerant" : "TransformFeedback",
6343 "capabilities" : [ "Shader" ]
6346 "enumerant" : "GeometryStreams",
6348 "capabilities" : [ "Geometry" ]
6351 "enumerant" : "StorageImageReadWithoutFormat",
6353 "capabilities" : [ "Shader" ]
6356 "enumerant" : "StorageImageWriteWithoutFormat",
6358 "capabilities" : [ "Shader" ]
6361 "enumerant" : "MultiViewport",
6363 "capabilities" : [ "Geometry" ]
6366 "enumerant" : "SubgroupDispatch",
6368 "capabilities" : [ "DeviceEnqueue" ],
6372 "enumerant" : "NamedBarrier",
6374 "capabilities" : [ "Kernel" ],
6378 "enumerant" : "PipeStorage",
6380 "capabilities" : [ "Pipes" ],
6384 "enumerant" : "GroupNonUniform",
6389 "enumerant" : "GroupNonUniformVote",
6391 "capabilities" : [ "GroupNonUniform" ],
6395 "enumerant" : "GroupNonUniformArithmetic",
6397 "capabilities" : [ "GroupNonUniform" ],
6401 "enumerant" : "GroupNonUniformBallot",
6403 "capabilities" : [ "GroupNonUniform" ],
6407 "enumerant" : "GroupNonUniformShuffle",
6409 "capabilities" : [ "GroupNonUniform" ],
6413 "enumerant" : "GroupNonUniformShuffleRelative",
6415 "capabilities" : [ "GroupNonUniform" ],
6419 "enumerant" : "GroupNonUniformClustered",
6421 "capabilities" : [ "GroupNonUniform" ],
6425 "enumerant" : "GroupNonUniformQuad",
6427 "capabilities" : [ "GroupNonUniform" ],
6431 "enumerant" : "SubgroupBallotKHR",
6433 "extensions" : [ "SPV_KHR_shader_ballot" ],
6437 "enumerant" : "DrawParameters",
6439 "capabilities" : [ "Shader" ],
6440 "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
6444 "enumerant" : "SubgroupVoteKHR",
6446 "extensions" : [ "SPV_KHR_subgroup_vote" ],
6450 "enumerant" : "StorageBuffer16BitAccess",
6452 "extensions" : [ "SPV_KHR_16bit_storage" ],
6456 "enumerant" : "StorageUniformBufferBlock16",
6458 "extensions" : [ "SPV_KHR_16bit_storage" ],
6462 "enumerant" : "UniformAndStorageBuffer16BitAccess",
6465 "StorageBuffer16BitAccess",
6466 "StorageUniformBufferBlock16"
6468 "extensions" : [ "SPV_KHR_16bit_storage" ],
6472 "enumerant" : "StorageUniform16",
6475 "StorageBuffer16BitAccess",
6476 "StorageUniformBufferBlock16"
6478 "extensions" : [ "SPV_KHR_16bit_storage" ],
6482 "enumerant" : "StoragePushConstant16",
6484 "extensions" : [ "SPV_KHR_16bit_storage" ],
6488 "enumerant" : "StorageInputOutput16",
6490 "extensions" : [ "SPV_KHR_16bit_storage" ],
6494 "enumerant" : "DeviceGroup",
6496 "extensions" : [ "SPV_KHR_device_group" ],
6500 "enumerant" : "MultiView",
6502 "capabilities" : [ "Shader" ],
6503 "extensions" : [ "SPV_KHR_multiview" ],
6507 "enumerant" : "VariablePointersStorageBuffer",
6509 "capabilities" : [ "Shader" ],
6510 "extensions" : [ "SPV_KHR_variable_pointers" ],
6514 "enumerant" : "VariablePointers",
6516 "capabilities" : [ "VariablePointersStorageBuffer" ],
6517 "extensions" : [ "SPV_KHR_variable_pointers" ],
6521 "enumerant" : "AtomicStorageOps",
6523 "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
6527 "enumerant" : "SampleMaskPostDepthCoverage",
6529 "extensions" : [ "SPV_KHR_post_depth_coverage" ],
6533 "enumerant" : "StorageBuffer8BitAccess",
6535 "extensions" : [ "SPV_KHR_8bit_storage" ],
6539 "enumerant" : "UniformAndStorageBuffer8BitAccess",
6541 "capabilities" : [ "StorageBuffer8BitAccess" ],
6542 "extensions" : [ "SPV_KHR_8bit_storage" ],
6546 "enumerant" : "StoragePushConstant8",
6548 "extensions" : [ "SPV_KHR_8bit_storage" ],
6552 "enumerant" : "Float16ImageAMD",
6554 "capabilities" : [ "Shader" ],
6555 "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
6559 "enumerant" : "ImageGatherBiasLodAMD",
6561 "capabilities" : [ "Shader" ],
6562 "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
6566 "enumerant" : "FragmentMaskAMD",
6568 "capabilities" : [ "Shader" ],
6569 "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
6573 "enumerant" : "StencilExportEXT",
6575 "capabilities" : [ "Shader" ],
6576 "extensions" : [ "SPV_EXT_shader_stencil_export" ],
6580 "enumerant" : "ImageReadWriteLodAMD",
6582 "capabilities" : [ "Shader" ],
6583 "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
6587 "enumerant" : "SampleMaskOverrideCoverageNV",
6589 "capabilities" : [ "SampleRateShading" ],
6590 "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
6594 "enumerant" : "GeometryShaderPassthroughNV",
6596 "capabilities" : [ "Geometry" ],
6597 "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
6601 "enumerant" : "ShaderViewportIndexLayerEXT",
6603 "capabilities" : [ "MultiViewport" ],
6604 "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
6608 "enumerant" : "ShaderViewportIndexLayerNV",
6610 "capabilities" : [ "MultiViewport" ],
6611 "extensions" : [ "SPV_NV_viewport_array2" ],
6615 "enumerant" : "ShaderViewportMaskNV",
6617 "capabilities" : [ "ShaderViewportIndexLayerNV" ],
6618 "extensions" : [ "SPV_NV_viewport_array2" ],
6622 "enumerant" : "ShaderStereoViewNV",
6624 "capabilities" : [ "ShaderViewportMaskNV" ],
6625 "extensions" : [ "SPV_NV_stereo_view_rendering" ],
6629 "enumerant" : "PerViewAttributesNV",
6631 "capabilities" : [ "MultiView" ],
6632 "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
6636 "enumerant" : "FragmentFullyCoveredEXT",
6638 "capabilities" : [ "Shader" ],
6639 "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
6643 "enumerant" : "ShaderNonUniformEXT",
6645 "capabilities" : [ "Shader" ],
6646 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6650 "enumerant" : "RuntimeDescriptorArrayEXT",
6652 "capabilities" : [ "Shader" ],
6653 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6657 "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
6659 "capabilities" : [ "InputAttachment" ],
6660 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6664 "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
6666 "capabilities" : [ "SampledBuffer" ],
6667 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6671 "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
6673 "capabilities" : [ "ImageBuffer" ],
6674 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6678 "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
6680 "capabilities" : [ "ShaderNonUniformEXT" ],
6681 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6685 "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
6687 "capabilities" : [ "ShaderNonUniformEXT" ],
6688 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6692 "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
6694 "capabilities" : [ "ShaderNonUniformEXT" ],
6695 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6699 "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
6701 "capabilities" : [ "ShaderNonUniformEXT" ],
6702 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6706 "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
6708 "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ],
6709 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6713 "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
6715 "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ],
6716 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6720 "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
6722 "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ],
6723 "extensions" : [ "SPV_EXT_descriptor_indexing" ],
6727 "enumerant" : "SubgroupShuffleINTEL",
6729 "extensions" : [ "SPV_INTEL_subgroups" ],
6733 "enumerant" : "SubgroupBufferBlockIOINTEL",
6735 "extensions" : [ "SPV_INTEL_subgroups" ],
6739 "enumerant" : "SubgroupImageBlockIOINTEL",
6741 "extensions" : [ "SPV_INTEL_subgroups" ],
6745 "enumerant" : "GroupNonUniformPartitionedNV",
6747 "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
6754 "kind" : "IdResultType",
6755 "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
6759 "kind" : "IdResult",
6760 "doc" : "Definition of an <id> representing the result of the enclosing instruction"
6764 "kind" : "IdMemorySemantics",
6765 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
6770 "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
6775 "doc" : "Reference to an <id>"
6778 "category" : "Literal",
6779 "kind" : "LiteralInteger",
6780 "doc" : "An integer consuming one or more words"
6783 "category" : "Literal",
6784 "kind" : "LiteralString",
6785 "doc" : "A null-terminated stream of characters consuming an integral number of words"
6788 "category" : "Literal",
6789 "kind" : "LiteralContextDependentNumber",
6790 "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
6793 "category" : "Literal",
6794 "kind" : "LiteralExtInstInteger",
6795 "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
6798 "category" : "Literal",
6799 "kind" : "LiteralSpecConstantOpInteger",
6800 "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
6803 "category" : "Composite",
6804 "kind" : "PairLiteralIntegerIdRef",
6805 "bases" : [ "LiteralInteger", "IdRef" ]
6808 "category" : "Composite",
6809 "kind" : "PairIdRefLiteralInteger",
6810 "bases" : [ "IdRef", "LiteralInteger" ]
6813 "category" : "Composite",
6814 "kind" : "PairIdRefIdRef",
6815 "bases" : [ "IdRef", "IdRef" ]