04eb87e3f3c18bbffa8ca45eea042461b53cd450
[platform/upstream/SPIRV-Headers.git] / include / spirv / unified1 / spirv.core.grammar.json
1 {
2   "copyright" : [
3     "Copyright (c) 2014-2020 The Khronos Group Inc.",
4     "",
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:",
11     "",
12     "The above copyright notice and this permission notice shall be included in",
13     "all copies or substantial portions of the Materials.",
14     "",
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/ ",
18     "",
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",
25     "IN THE MATERIALS."
26   ],
27   "magic_number" : "0x07230203",
28   "major_version" : 1,
29   "minor_version" : 5,
30   "revision" : 4,
31   "instruction_printing_class" : [
32     {
33       "tag"     : "@exclude"
34     },
35     {
36       "tag"     : "Miscellaneous",
37       "heading" : "Miscellaneous Instructions"
38     },
39     {
40       "tag"     : "Debug",
41       "heading" : "Debug Instructions"
42     },
43     {
44       "tag"     : "Annotation",
45       "heading" : "Annotation Instructions"
46     },
47     {
48       "tag"     : "Extension",
49       "heading" : "Extension Instructions"
50     },
51     {
52       "tag"     : "Mode-Setting",
53       "heading" : "Mode-Setting Instructions"
54     },
55     {
56       "tag"     : "Type-Declaration",
57       "heading" : "Type-Declaration Instructions"
58     },
59     {
60       "tag"     : "Constant-Creation",
61       "heading" : "Constant-Creation Instructions"
62     },
63     {
64       "tag"     : "Memory",
65       "heading" : "Memory Instructions"
66     },
67     {
68       "tag"     : "Function",
69       "heading" : "Function Instructions"
70     },
71     {
72       "tag"     : "Image",
73       "heading" : "Image Instructions"
74     },
75     {
76       "tag"     : "Conversion",
77       "heading" : "Conversion Instructions"
78     },
79     {
80       "tag"     : "Composite",
81       "heading" : "Composite Instructions"
82     },
83     {
84       "tag"     : "Arithmetic",
85       "heading" : "Arithmetic Instructions"
86     },
87     {
88       "tag"     : "Bit",
89       "heading" : "Bit Instructions"
90     },
91     {
92       "tag"     : "Relational_and_Logical",
93       "heading" : "Relational and Logical Instructions"
94     },
95     {
96       "tag"     : "Derivative",
97       "heading" : "Derivative Instructions"
98     },
99     {
100       "tag"     : "Control-Flow",
101       "heading" : "Control-Flow Instructions"
102     },
103     {
104       "tag"     : "Atomic",
105       "heading" : "Atomic Instructions"
106     },
107     {
108       "tag"     : "Primitive",
109       "heading" : "Primitive Instructions"
110     },
111     {
112       "tag"     : "Barrier",
113       "heading" : "Barrier Instructions"
114     },
115     {
116       "tag"     : "Group",
117       "heading" : "Group and Subgroup Instructions"
118     },
119     {
120       "tag"     : "Device-Side_Enqueue",
121       "heading" : "Device-Side Enqueue Instructions"
122     },
123     {
124       "tag"     : "Pipe",
125       "heading" : "Pipe Instructions"
126     },
127     {
128       "tag"     : "Non-Uniform",
129       "heading" : "Non-Uniform Instructions"
130     },
131     {
132       "tag"     : "Reserved",
133       "heading" : "Reserved Instructions"
134     }
135   ],
136   "instructions" : [
137     {
138       "opname" : "OpNop",
139       "class"  : "Miscellaneous",
140       "opcode" : 0
141     },
142     {
143       "opname" : "OpUndef",
144       "class"  : "Miscellaneous",
145       "opcode" : 1,
146       "operands" : [
147         { "kind" : "IdResultType" },
148         { "kind" : "IdResult" }
149       ]
150     },
151     {
152       "opname" : "OpSourceContinued",
153       "class"  : "Debug",
154       "opcode" : 2,
155       "operands" : [
156         { "kind" : "LiteralString", "name" : "'Continued Source'" }
157       ]
158     },
159     {
160       "opname" : "OpSource",
161       "class"  : "Debug",
162       "opcode" : 3,
163       "operands" : [
164         { "kind" : "SourceLanguage" },
165         { "kind" : "LiteralInteger",                     "name" : "'Version'" },
166         { "kind" : "IdRef",          "quantifier" : "?", "name" : "'File'" },
167         { "kind" : "LiteralString",  "quantifier" : "?", "name" : "'Source'" }
168       ]
169     },
170     {
171       "opname" : "OpSourceExtension",
172       "class"  : "Debug",
173       "opcode" : 4,
174       "operands" : [
175         { "kind" : "LiteralString", "name" : "'Extension'" }
176       ]
177     },
178     {
179       "opname" : "OpName",
180       "class"  : "Debug",
181       "opcode" : 5,
182       "operands" : [
183         { "kind" : "IdRef",         "name" : "'Target'" },
184         { "kind" : "LiteralString", "name" : "'Name'" }
185       ]
186     },
187     {
188       "opname" : "OpMemberName",
189       "class"  : "Debug",
190       "opcode" : 6,
191       "operands" : [
192         { "kind" : "IdRef",          "name" : "'Type'" },
193         { "kind" : "LiteralInteger", "name" : "'Member'" },
194         { "kind" : "LiteralString",  "name" : "'Name'" }
195       ]
196     },
197     {
198       "opname" : "OpString",
199       "class"  : "Debug",
200       "opcode" : 7,
201       "operands" : [
202         { "kind" : "IdResult" },
203         { "kind" : "LiteralString", "name" : "'String'" }
204       ]
205     },
206     {
207       "opname" : "OpLine",
208       "class"  : "Debug",
209       "opcode" : 8,
210       "operands" : [
211         { "kind" : "IdRef",          "name" : "'File'" },
212         { "kind" : "LiteralInteger", "name" : "'Line'" },
213         { "kind" : "LiteralInteger", "name" : "'Column'" }
214       ]
215     },
216     {
217       "opname" : "OpExtension",
218       "class"  : "Extension",
219       "opcode" : 10,
220       "operands" : [
221         { "kind" : "LiteralString", "name" : "'Name'" }
222       ]
223     },
224     {
225       "opname" : "OpExtInstImport",
226       "class"  : "Extension",
227       "opcode" : 11,
228       "operands" : [
229         { "kind" : "IdResult" },
230         { "kind" : "LiteralString", "name" : "'Name'" }
231       ]
232     },
233     {
234       "opname" : "OpExtInst",
235       "class"  : "Extension",
236       "opcode" : 12,
237       "operands" : [
238         { "kind" : "IdResultType" },
239         { "kind" : "IdResult" },
240         { "kind" : "IdRef",                                     "name" : "'Set'" },
241         { "kind" : "LiteralExtInstInteger",                     "name" : "'Instruction'" },
242         { "kind" : "IdRef",                 "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
243       ]
244     },
245     {
246       "opname" : "OpMemoryModel",
247       "class"  : "Mode-Setting",
248       "opcode" : 14,
249       "operands" : [
250         { "kind" : "AddressingModel" },
251         { "kind" : "MemoryModel" }
252       ]
253     },
254     {
255       "opname" : "OpEntryPoint",
256       "class"  : "Mode-Setting",
257       "opcode" : 15,
258       "operands" : [
259         { "kind" : "ExecutionModel" },
260         { "kind" : "IdRef",                              "name" : "'Entry Point'" },
261         { "kind" : "LiteralString",                      "name" : "'Name'" },
262         { "kind" : "IdRef",          "quantifier" : "*", "name" : "'Interface'" }
263       ]
264     },
265     {
266       "opname" : "OpExecutionMode",
267       "class"  : "Mode-Setting",
268       "opcode" : 16,
269       "operands" : [
270         { "kind" : "IdRef",         "name" : "'Entry Point'" },
271         { "kind" : "ExecutionMode", "name" : "'Mode'" }
272       ]
273     },
274     {
275       "opname" : "OpCapability",
276       "class"  : "Mode-Setting",
277       "opcode" : 17,
278       "operands" : [
279         { "kind" : "Capability", "name" : "'Capability'" }
280       ]
281     },
282     {
283       "opname" : "OpTypeVoid",
284       "class"  : "Type-Declaration",
285       "opcode" : 19,
286       "operands" : [
287         { "kind" : "IdResult" }
288       ]
289     },
290     {
291       "opname" : "OpTypeBool",
292       "class"  : "Type-Declaration",
293       "opcode" : 20,
294       "operands" : [
295         { "kind" : "IdResult" }
296       ]
297     },
298     {
299       "opname" : "OpTypeInt",
300       "class"  : "Type-Declaration",
301       "opcode" : 21,
302       "operands" : [
303         { "kind" : "IdResult" },
304         { "kind" : "LiteralInteger", "name" : "'Width'" },
305         { "kind" : "LiteralInteger", "name" : "'Signedness'" }
306       ]
307     },
308     {
309       "opname" : "OpTypeFloat",
310       "class"  : "Type-Declaration",
311       "opcode" : 22,
312       "operands" : [
313         { "kind" : "IdResult" },
314         { "kind" : "LiteralInteger", "name" : "'Width'" }
315       ]
316     },
317     {
318       "opname" : "OpTypeVector",
319       "class"  : "Type-Declaration",
320       "opcode" : 23,
321       "operands" : [
322         { "kind" : "IdResult" },
323         { "kind" : "IdRef",          "name" : "'Component Type'" },
324         { "kind" : "LiteralInteger", "name" : "'Component Count'" }
325       ]
326     },
327     {
328       "opname" : "OpTypeMatrix",
329       "class"  : "Type-Declaration",
330       "opcode" : 24,
331       "operands" : [
332         { "kind" : "IdResult" },
333         { "kind" : "IdRef",          "name" : "'Column Type'" },
334         { "kind" : "LiteralInteger", "name" : "'Column Count'" }
335       ],
336       "capabilities" : [ "Matrix" ]
337     },
338     {
339       "opname" : "OpTypeImage",
340       "class"  : "Type-Declaration",
341       "opcode" : 25,
342       "operands" : [
343         { "kind" : "IdResult" },
344         { "kind" : "IdRef",                               "name" : "'Sampled Type'" },
345         { "kind" : "Dim" },
346         { "kind" : "LiteralInteger",                      "name" : "'Depth'" },
347         { "kind" : "LiteralInteger",                      "name" : "'Arrayed'" },
348         { "kind" : "LiteralInteger",                      "name" : "'MS'" },
349         { "kind" : "LiteralInteger",                      "name" : "'Sampled'" },
350         { "kind" : "ImageFormat" },
351         { "kind" : "AccessQualifier", "quantifier" : "?" }
352       ]
353     },
354     {
355       "opname" : "OpTypeSampler",
356       "class"  : "Type-Declaration",
357       "opcode" : 26,
358       "operands" : [
359         { "kind" : "IdResult" }
360       ]
361     },
362     {
363       "opname" : "OpTypeSampledImage",
364       "class"  : "Type-Declaration",
365       "opcode" : 27,
366       "operands" : [
367         { "kind" : "IdResult" },
368         { "kind" : "IdRef",    "name" : "'Image Type'" }
369       ]
370     },
371     {
372       "opname" : "OpTypeArray",
373       "class"  : "Type-Declaration",
374       "opcode" : 28,
375       "operands" : [
376         { "kind" : "IdResult" },
377         { "kind" : "IdRef",    "name" : "'Element Type'" },
378         { "kind" : "IdRef",    "name" : "'Length'" }
379       ]
380     },
381     {
382       "opname" : "OpTypeRuntimeArray",
383       "class"  : "Type-Declaration",
384       "opcode" : 29,
385       "operands" : [
386         { "kind" : "IdResult" },
387         { "kind" : "IdRef",    "name" : "'Element Type'" }
388       ],
389       "capabilities" : [ "Shader" ]
390     },
391     {
392       "opname" : "OpTypeStruct",
393       "class"  : "Type-Declaration",
394       "opcode" : 30,
395       "operands" : [
396         { "kind" : "IdResult" },
397         { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
398       ]
399     },
400     {
401       "opname" : "OpTypeOpaque",
402       "class"  : "Type-Declaration",
403       "opcode" : 31,
404       "operands" : [
405         { "kind" : "IdResult" },
406         { "kind" : "LiteralString", "name" : "The name of the opaque type." }
407       ],
408       "capabilities" : [ "Kernel" ]
409     },
410     {
411       "opname" : "OpTypePointer",
412       "class"  : "Type-Declaration",
413       "opcode" : 32,
414       "operands" : [
415         { "kind" : "IdResult" },
416         { "kind" : "StorageClass" },
417         { "kind" : "IdRef",        "name" : "'Type'" }
418       ]
419     },
420     {
421       "opname" : "OpTypeFunction",
422       "class"  : "Type-Declaration",
423       "opcode" : 33,
424       "operands" : [
425         { "kind" : "IdResult" },
426         { "kind" : "IdRef",                        "name" : "'Return Type'" },
427         { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
428       ]
429     },
430     {
431       "opname" : "OpTypeEvent",
432       "class"  : "Type-Declaration",
433       "opcode" : 34,
434       "operands" : [
435         { "kind" : "IdResult" }
436       ],
437       "capabilities" : [ "Kernel" ]
438     },
439     {
440       "opname" : "OpTypeDeviceEvent",
441       "class"  : "Type-Declaration",
442       "opcode" : 35,
443       "operands" : [
444         { "kind" : "IdResult" }
445       ],
446       "capabilities" : [ "DeviceEnqueue" ]
447     },
448     {
449       "opname" : "OpTypeReserveId",
450       "class"  : "Type-Declaration",
451       "opcode" : 36,
452       "operands" : [
453         { "kind" : "IdResult" }
454       ],
455       "capabilities" : [ "Pipes" ]
456     },
457     {
458       "opname" : "OpTypeQueue",
459       "class"  : "Type-Declaration",
460       "opcode" : 37,
461       "operands" : [
462         { "kind" : "IdResult" }
463       ],
464       "capabilities" : [ "DeviceEnqueue" ]
465     },
466     {
467       "opname" : "OpTypePipe",
468       "class"  : "Type-Declaration",
469       "opcode" : 38,
470       "operands" : [
471         { "kind" : "IdResult" },
472         { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
473       ],
474       "capabilities" : [ "Pipes" ]
475     },
476     {
477       "opname" : "OpTypeForwardPointer",
478       "class"  : "Type-Declaration",
479       "opcode" : 39,
480       "operands" : [
481         { "kind" : "IdRef",        "name" : "'Pointer Type'" },
482         { "kind" : "StorageClass" }
483       ],
484       "capabilities" : [
485         "Addresses",
486         "PhysicalStorageBufferAddresses"
487       ]
488     },
489     {
490       "opname" : "OpConstantTrue",
491       "class"  : "Constant-Creation",
492       "opcode" : 41,
493       "operands" : [
494         { "kind" : "IdResultType" },
495         { "kind" : "IdResult" }
496       ]
497     },
498     {
499       "opname" : "OpConstantFalse",
500       "class"  : "Constant-Creation",
501       "opcode" : 42,
502       "operands" : [
503         { "kind" : "IdResultType" },
504         { "kind" : "IdResult" }
505       ]
506     },
507     {
508       "opname" : "OpConstant",
509       "class"  : "Constant-Creation",
510       "opcode" : 43,
511       "operands" : [
512         { "kind" : "IdResultType" },
513         { "kind" : "IdResult" },
514         { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
515       ]
516     },
517     {
518       "opname" : "OpConstantComposite",
519       "class"  : "Constant-Creation",
520       "opcode" : 44,
521       "operands" : [
522         { "kind" : "IdResultType" },
523         { "kind" : "IdResult" },
524         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
525       ]
526     },
527     {
528       "opname" : "OpConstantSampler",
529       "class"  : "Constant-Creation",
530       "opcode" : 45,
531       "operands" : [
532         { "kind" : "IdResultType" },
533         { "kind" : "IdResult" },
534         { "kind" : "SamplerAddressingMode" },
535         { "kind" : "LiteralInteger",        "name" : "'Param'" },
536         { "kind" : "SamplerFilterMode" }
537       ],
538       "capabilities" : [ "LiteralSampler" ]
539     },
540     {
541       "opname" : "OpConstantNull",
542       "class"  : "Constant-Creation",
543       "opcode" : 46,
544       "operands" : [
545         { "kind" : "IdResultType" },
546         { "kind" : "IdResult" }
547       ]
548     },
549     {
550       "opname" : "OpSpecConstantTrue",
551       "class"  : "Constant-Creation",
552       "opcode" : 48,
553       "operands" : [
554         { "kind" : "IdResultType" },
555         { "kind" : "IdResult" }
556       ]
557     },
558     {
559       "opname" : "OpSpecConstantFalse",
560       "class"  : "Constant-Creation",
561       "opcode" : 49,
562       "operands" : [
563         { "kind" : "IdResultType" },
564         { "kind" : "IdResult" }
565       ]
566     },
567     {
568       "opname" : "OpSpecConstant",
569       "class"  : "Constant-Creation",
570       "opcode" : 50,
571       "operands" : [
572         { "kind" : "IdResultType" },
573         { "kind" : "IdResult" },
574         { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
575       ]
576     },
577     {
578       "opname" : "OpSpecConstantComposite",
579       "class"  : "Constant-Creation",
580       "opcode" : 51,
581       "operands" : [
582         { "kind" : "IdResultType" },
583         { "kind" : "IdResult" },
584         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
585       ]
586     },
587     {
588       "opname" : "OpSpecConstantOp",
589       "class"  : "Constant-Creation",
590       "opcode" : 52,
591       "operands" : [
592         { "kind" : "IdResultType" },
593         { "kind" : "IdResult" },
594         { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
595       ]
596     },
597     {
598       "opname" : "OpFunction",
599       "class"  : "Function",
600       "opcode" : 54,
601       "operands" : [
602         { "kind" : "IdResultType" },
603         { "kind" : "IdResult" },
604         { "kind" : "FunctionControl" },
605         { "kind" : "IdRef",           "name" : "'Function Type'" }
606       ]
607     },
608     {
609       "opname" : "OpFunctionParameter",
610       "class"  : "Function",
611       "opcode" : 55,
612       "operands" : [
613         { "kind" : "IdResultType" },
614         { "kind" : "IdResult" }
615       ]
616     },
617     {
618       "opname" : "OpFunctionEnd",
619       "class"  : "Function",
620       "opcode" : 56
621     },
622     {
623       "opname" : "OpFunctionCall",
624       "class"  : "Function",
625       "opcode" : 57,
626       "operands" : [
627         { "kind" : "IdResultType" },
628         { "kind" : "IdResult" },
629         { "kind" : "IdRef",                            "name" : "'Function'" },
630         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
631       ]
632     },
633     {
634       "opname" : "OpVariable",
635       "class"  : "Memory",
636       "opcode" : 59,
637       "operands" : [
638         { "kind" : "IdResultType" },
639         { "kind" : "IdResult" },
640         { "kind" : "StorageClass" },
641         { "kind" : "IdRef",        "quantifier" : "?", "name" : "'Initializer'" }
642       ]
643     },
644     {
645       "opname" : "OpImageTexelPointer",
646       "class"  : "Memory",
647       "opcode" : 60,
648       "operands" : [
649         { "kind" : "IdResultType" },
650         { "kind" : "IdResult" },
651         { "kind" : "IdRef",        "name" : "'Image'" },
652         { "kind" : "IdRef",        "name" : "'Coordinate'" },
653         { "kind" : "IdRef",        "name" : "'Sample'" }
654       ]
655     },
656     {
657       "opname" : "OpLoad",
658       "class"  : "Memory",
659       "opcode" : 61,
660       "operands" : [
661         { "kind" : "IdResultType" },
662         { "kind" : "IdResult" },
663         { "kind" : "IdRef",                            "name" : "'Pointer'" },
664         { "kind" : "MemoryAccess", "quantifier" : "?" }
665       ]
666     },
667     {
668       "opname" : "OpStore",
669       "class"  : "Memory",
670       "opcode" : 62,
671       "operands" : [
672         { "kind" : "IdRef",                            "name" : "'Pointer'" },
673         { "kind" : "IdRef",                            "name" : "'Object'" },
674         { "kind" : "MemoryAccess", "quantifier" : "?" }
675       ]
676     },
677     {
678       "opname" : "OpCopyMemory",
679       "class"  : "Memory",
680       "opcode" : 63,
681       "operands" : [
682         { "kind" : "IdRef",                            "name" : "'Target'" },
683         { "kind" : "IdRef",                            "name" : "'Source'" },
684         { "kind" : "MemoryAccess", "quantifier" : "?" },
685         { "kind" : "MemoryAccess", "quantifier" : "?" }
686       ]
687     },
688     {
689       "opname" : "OpCopyMemorySized",
690       "class"  : "Memory",
691       "opcode" : 64,
692       "operands" : [
693         { "kind" : "IdRef",                            "name" : "'Target'" },
694         { "kind" : "IdRef",                            "name" : "'Source'" },
695         { "kind" : "IdRef",                            "name" : "'Size'" },
696         { "kind" : "MemoryAccess", "quantifier" : "?" },
697         { "kind" : "MemoryAccess", "quantifier" : "?" }
698       ],
699       "capabilities" : [ "Addresses" ]
700     },
701     {
702       "opname" : "OpAccessChain",
703       "class"  : "Memory",
704       "opcode" : 65,
705       "operands" : [
706         { "kind" : "IdResultType" },
707         { "kind" : "IdResult" },
708         { "kind" : "IdRef",                            "name" : "'Base'" },
709         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
710       ]
711     },
712     {
713       "opname" : "OpInBoundsAccessChain",
714       "class"  : "Memory",
715       "opcode" : 66,
716       "operands" : [
717         { "kind" : "IdResultType" },
718         { "kind" : "IdResult" },
719         { "kind" : "IdRef",                            "name" : "'Base'" },
720         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
721       ]
722     },
723     {
724       "opname" : "OpPtrAccessChain",
725       "class"  : "Memory",
726       "opcode" : 67,
727       "operands" : [
728         { "kind" : "IdResultType" },
729         { "kind" : "IdResult" },
730         { "kind" : "IdRef",                            "name" : "'Base'" },
731         { "kind" : "IdRef",                            "name" : "'Element'" },
732         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
733       ],
734       "capabilities" : [
735         "Addresses",
736         "VariablePointers",
737         "VariablePointersStorageBuffer",
738         "PhysicalStorageBufferAddresses"
739       ]
740     },
741     {
742       "opname" : "OpArrayLength",
743       "class"  : "Memory",
744       "opcode" : 68,
745       "operands" : [
746         { "kind" : "IdResultType" },
747         { "kind" : "IdResult" },
748         { "kind" : "IdRef",          "name" : "'Structure'" },
749         { "kind" : "LiteralInteger", "name" : "'Array member'" }
750       ],
751       "capabilities" : [ "Shader" ]
752     },
753     {
754       "opname" : "OpGenericPtrMemSemantics",
755       "class"  : "Memory",
756       "opcode" : 69,
757       "operands" : [
758         { "kind" : "IdResultType" },
759         { "kind" : "IdResult" },
760         { "kind" : "IdRef",        "name" : "'Pointer'" }
761       ],
762       "capabilities" : [ "Kernel" ]
763     },
764     {
765       "opname" : "OpInBoundsPtrAccessChain",
766       "class"  : "Memory",
767       "opcode" : 70,
768       "operands" : [
769         { "kind" : "IdResultType" },
770         { "kind" : "IdResult" },
771         { "kind" : "IdRef",                            "name" : "'Base'" },
772         { "kind" : "IdRef",                            "name" : "'Element'" },
773         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
774       ],
775       "capabilities" : [ "Addresses" ]
776     },
777     {
778       "opname" : "OpDecorate",
779       "class"  : "Annotation",
780       "opcode" : 71,
781       "operands" : [
782         { "kind" : "IdRef",      "name" : "'Target'" },
783         { "kind" : "Decoration" }
784       ]
785     },
786     {
787       "opname" : "OpMemberDecorate",
788       "class"  : "Annotation",
789       "opcode" : 72,
790       "operands" : [
791         { "kind" : "IdRef",          "name" : "'Structure Type'" },
792         { "kind" : "LiteralInteger", "name" : "'Member'" },
793         { "kind" : "Decoration" }
794       ]
795     },
796     {
797       "opname" : "OpDecorationGroup",
798       "class"  : "Annotation",
799       "opcode" : 73,
800       "operands" : [
801         { "kind" : "IdResult" }
802       ]
803     },
804     {
805       "opname" : "OpGroupDecorate",
806       "class"  : "Annotation",
807       "opcode" : 74,
808       "operands" : [
809         { "kind" : "IdRef",                     "name" : "'Decoration Group'" },
810         { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
811       ]
812     },
813     {
814       "opname" : "OpGroupMemberDecorate",
815       "class"  : "Annotation",
816       "opcode" : 75,
817       "operands" : [
818         { "kind" : "IdRef",                                       "name" : "'Decoration Group'" },
819         { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
820       ]
821     },
822     {
823       "opname" : "OpVectorExtractDynamic",
824       "class"  : "Composite",
825       "opcode" : 77,
826       "operands" : [
827         { "kind" : "IdResultType" },
828         { "kind" : "IdResult" },
829         { "kind" : "IdRef",        "name" : "'Vector'" },
830         { "kind" : "IdRef",        "name" : "'Index'" }
831       ]
832     },
833     {
834       "opname" : "OpVectorInsertDynamic",
835       "class"  : "Composite",
836       "opcode" : 78,
837       "operands" : [
838         { "kind" : "IdResultType" },
839         { "kind" : "IdResult" },
840         { "kind" : "IdRef",        "name" : "'Vector'" },
841         { "kind" : "IdRef",        "name" : "'Component'" },
842         { "kind" : "IdRef",        "name" : "'Index'" }
843       ]
844     },
845     {
846       "opname" : "OpVectorShuffle",
847       "class"  : "Composite",
848       "opcode" : 79,
849       "operands" : [
850         { "kind" : "IdResultType" },
851         { "kind" : "IdResult" },
852         { "kind" : "IdRef",                              "name" : "'Vector 1'" },
853         { "kind" : "IdRef",                              "name" : "'Vector 2'" },
854         { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
855       ]
856     },
857     {
858       "opname" : "OpCompositeConstruct",
859       "class"  : "Composite",
860       "opcode" : 80,
861       "operands" : [
862         { "kind" : "IdResultType" },
863         { "kind" : "IdResult" },
864         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
865       ]
866     },
867     {
868       "opname" : "OpCompositeExtract",
869       "class"  : "Composite",
870       "opcode" : 81,
871       "operands" : [
872         { "kind" : "IdResultType" },
873         { "kind" : "IdResult" },
874         { "kind" : "IdRef",                              "name" : "'Composite'" },
875         { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
876       ]
877     },
878     {
879       "opname" : "OpCompositeInsert",
880       "class"  : "Composite",
881       "opcode" : 82,
882       "operands" : [
883         { "kind" : "IdResultType" },
884         { "kind" : "IdResult" },
885         { "kind" : "IdRef",                              "name" : "'Object'" },
886         { "kind" : "IdRef",                              "name" : "'Composite'" },
887         { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
888       ]
889     },
890     {
891       "opname" : "OpCopyObject",
892       "class"  : "Composite",
893       "opcode" : 83,
894       "operands" : [
895         { "kind" : "IdResultType" },
896         { "kind" : "IdResult" },
897         { "kind" : "IdRef",        "name" : "'Operand'" }
898       ]
899     },
900     {
901       "opname" : "OpTranspose",
902       "class"  : "Composite",
903       "opcode" : 84,
904       "operands" : [
905         { "kind" : "IdResultType" },
906         { "kind" : "IdResult" },
907         { "kind" : "IdRef",        "name" : "'Matrix'" }
908       ],
909       "capabilities" : [ "Matrix" ]
910     },
911     {
912       "opname" : "OpSampledImage",
913       "class"  : "Image",
914       "opcode" : 86,
915       "operands" : [
916         { "kind" : "IdResultType" },
917         { "kind" : "IdResult" },
918         { "kind" : "IdRef",        "name" : "'Image'" },
919         { "kind" : "IdRef",        "name" : "'Sampler'" }
920       ]
921     },
922     {
923       "opname" : "OpImageSampleImplicitLod",
924       "class"  : "Image",
925       "opcode" : 87,
926       "operands" : [
927         { "kind" : "IdResultType" },
928         { "kind" : "IdResult" },
929         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
930         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
931         { "kind" : "ImageOperands", "quantifier" : "?" }
932       ],
933       "capabilities" : [ "Shader" ]
934     },
935     {
936       "opname" : "OpImageSampleExplicitLod",
937       "class"  : "Image",
938       "opcode" : 88,
939       "operands" : [
940         { "kind" : "IdResultType" },
941         { "kind" : "IdResult" },
942         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
943         { "kind" : "IdRef",         "name" : "'Coordinate'" },
944         { "kind" : "ImageOperands" }
945       ]
946     },
947     {
948       "opname" : "OpImageSampleDrefImplicitLod",
949       "class"  : "Image",
950       "opcode" : 89,
951       "operands" : [
952         { "kind" : "IdResultType" },
953         { "kind" : "IdResult" },
954         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
955         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
956         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
957         { "kind" : "ImageOperands", "quantifier" : "?" }
958       ],
959       "capabilities" : [ "Shader" ]
960     },
961     {
962       "opname" : "OpImageSampleDrefExplicitLod",
963       "class"  : "Image",
964       "opcode" : 90,
965       "operands" : [
966         { "kind" : "IdResultType" },
967         { "kind" : "IdResult" },
968         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
969         { "kind" : "IdRef",         "name" : "'Coordinate'" },
970         { "kind" : "IdRef",         "name" : "'D~ref~'" },
971         { "kind" : "ImageOperands" }
972       ],
973       "capabilities" : [ "Shader" ]
974     },
975     {
976       "opname" : "OpImageSampleProjImplicitLod",
977       "class"  : "Image",
978       "opcode" : 91,
979       "operands" : [
980         { "kind" : "IdResultType" },
981         { "kind" : "IdResult" },
982         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
983         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
984         { "kind" : "ImageOperands", "quantifier" : "?" }
985       ],
986       "capabilities" : [ "Shader" ]
987     },
988     {
989       "opname" : "OpImageSampleProjExplicitLod",
990       "class"  : "Image",
991       "opcode" : 92,
992       "operands" : [
993         { "kind" : "IdResultType" },
994         { "kind" : "IdResult" },
995         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
996         { "kind" : "IdRef",         "name" : "'Coordinate'" },
997         { "kind" : "ImageOperands" }
998       ],
999       "capabilities" : [ "Shader" ]
1000     },
1001     {
1002       "opname" : "OpImageSampleProjDrefImplicitLod",
1003       "class"  : "Image",
1004       "opcode" : 93,
1005       "operands" : [
1006         { "kind" : "IdResultType" },
1007         { "kind" : "IdResult" },
1008         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1009         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1010         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
1011         { "kind" : "ImageOperands", "quantifier" : "?" }
1012       ],
1013       "capabilities" : [ "Shader" ]
1014     },
1015     {
1016       "opname" : "OpImageSampleProjDrefExplicitLod",
1017       "class"  : "Image",
1018       "opcode" : 94,
1019       "operands" : [
1020         { "kind" : "IdResultType" },
1021         { "kind" : "IdResult" },
1022         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
1023         { "kind" : "IdRef",         "name" : "'Coordinate'" },
1024         { "kind" : "IdRef",         "name" : "'D~ref~'" },
1025         { "kind" : "ImageOperands" }
1026       ],
1027       "capabilities" : [ "Shader" ]
1028     },
1029     {
1030       "opname" : "OpImageFetch",
1031       "class"  : "Image",
1032       "opcode" : 95,
1033       "operands" : [
1034         { "kind" : "IdResultType" },
1035         { "kind" : "IdResult" },
1036         { "kind" : "IdRef",                             "name" : "'Image'" },
1037         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1038         { "kind" : "ImageOperands", "quantifier" : "?" }
1039       ]
1040     },
1041     {
1042       "opname" : "OpImageGather",
1043       "class"  : "Image",
1044       "opcode" : 96,
1045       "operands" : [
1046         { "kind" : "IdResultType" },
1047         { "kind" : "IdResult" },
1048         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1049         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1050         { "kind" : "IdRef",                             "name" : "'Component'" },
1051         { "kind" : "ImageOperands", "quantifier" : "?" }
1052       ],
1053       "capabilities" : [ "Shader" ]
1054     },
1055     {
1056       "opname" : "OpImageDrefGather",
1057       "class"  : "Image",
1058       "opcode" : 97,
1059       "operands" : [
1060         { "kind" : "IdResultType" },
1061         { "kind" : "IdResult" },
1062         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1063         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1064         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
1065         { "kind" : "ImageOperands", "quantifier" : "?" }
1066       ],
1067       "capabilities" : [ "Shader" ]
1068     },
1069     {
1070       "opname" : "OpImageRead",
1071       "class"  : "Image",
1072       "opcode" : 98,
1073       "operands" : [
1074         { "kind" : "IdResultType" },
1075         { "kind" : "IdResult" },
1076         { "kind" : "IdRef",                             "name" : "'Image'" },
1077         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1078         { "kind" : "ImageOperands", "quantifier" : "?" }
1079       ]
1080     },
1081     {
1082       "opname" : "OpImageWrite",
1083       "class"  : "Image",
1084       "opcode" : 99,
1085       "operands" : [
1086         { "kind" : "IdRef",                             "name" : "'Image'" },
1087         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1088         { "kind" : "IdRef",                             "name" : "'Texel'" },
1089         { "kind" : "ImageOperands", "quantifier" : "?" }
1090       ]
1091     },
1092     {
1093       "opname" : "OpImage",
1094       "class"  : "Image",
1095       "opcode" : 100,
1096       "operands" : [
1097         { "kind" : "IdResultType" },
1098         { "kind" : "IdResult" },
1099         { "kind" : "IdRef",        "name" : "'Sampled Image'" }
1100       ]
1101     },
1102     {
1103       "opname" : "OpImageQueryFormat",
1104       "class"  : "Image",
1105       "opcode" : 101,
1106       "operands" : [
1107         { "kind" : "IdResultType" },
1108         { "kind" : "IdResult" },
1109         { "kind" : "IdRef",        "name" : "'Image'" }
1110       ],
1111       "capabilities" : [ "Kernel" ]
1112     },
1113     {
1114       "opname" : "OpImageQueryOrder",
1115       "class"  : "Image",
1116       "opcode" : 102,
1117       "operands" : [
1118         { "kind" : "IdResultType" },
1119         { "kind" : "IdResult" },
1120         { "kind" : "IdRef",        "name" : "'Image'" }
1121       ],
1122       "capabilities" : [ "Kernel" ]
1123     },
1124     {
1125       "opname" : "OpImageQuerySizeLod",
1126       "class"  : "Image",
1127       "opcode" : 103,
1128       "operands" : [
1129         { "kind" : "IdResultType" },
1130         { "kind" : "IdResult" },
1131         { "kind" : "IdRef",        "name" : "'Image'" },
1132         { "kind" : "IdRef",        "name" : "'Level of Detail'" }
1133       ],
1134       "capabilities" : [ "Kernel", "ImageQuery" ]
1135     },
1136     {
1137       "opname" : "OpImageQuerySize",
1138       "class"  : "Image",
1139       "opcode" : 104,
1140       "operands" : [
1141         { "kind" : "IdResultType" },
1142         { "kind" : "IdResult" },
1143         { "kind" : "IdRef",        "name" : "'Image'" }
1144       ],
1145       "capabilities" : [ "Kernel", "ImageQuery" ]
1146     },
1147     {
1148       "opname" : "OpImageQueryLod",
1149       "class"  : "Image",
1150       "opcode" : 105,
1151       "operands" : [
1152         { "kind" : "IdResultType" },
1153         { "kind" : "IdResult" },
1154         { "kind" : "IdRef",        "name" : "'Sampled Image'" },
1155         { "kind" : "IdRef",        "name" : "'Coordinate'" }
1156       ],
1157       "capabilities" : [ "ImageQuery" ]
1158     },
1159     {
1160       "opname" : "OpImageQueryLevels",
1161       "class"  : "Image",
1162       "opcode" : 106,
1163       "operands" : [
1164         { "kind" : "IdResultType" },
1165         { "kind" : "IdResult" },
1166         { "kind" : "IdRef",        "name" : "'Image'" }
1167       ],
1168       "capabilities" : [ "Kernel", "ImageQuery" ]
1169     },
1170     {
1171       "opname" : "OpImageQuerySamples",
1172       "class"  : "Image",
1173       "opcode" : 107,
1174       "operands" : [
1175         { "kind" : "IdResultType" },
1176         { "kind" : "IdResult" },
1177         { "kind" : "IdRef",        "name" : "'Image'" }
1178       ],
1179       "capabilities" : [ "Kernel", "ImageQuery" ]
1180     },
1181     {
1182       "opname" : "OpConvertFToU",
1183       "class"  : "Conversion",
1184       "opcode" : 109,
1185       "operands" : [
1186         { "kind" : "IdResultType" },
1187         { "kind" : "IdResult" },
1188         { "kind" : "IdRef",        "name" : "'Float Value'" }
1189       ]
1190     },
1191     {
1192       "opname" : "OpConvertFToS",
1193       "class"  : "Conversion",
1194       "opcode" : 110,
1195       "operands" : [
1196         { "kind" : "IdResultType" },
1197         { "kind" : "IdResult" },
1198         { "kind" : "IdRef",        "name" : "'Float Value'" }
1199       ]
1200     },
1201     {
1202       "opname" : "OpConvertSToF",
1203       "class"  : "Conversion",
1204       "opcode" : 111,
1205       "operands" : [
1206         { "kind" : "IdResultType" },
1207         { "kind" : "IdResult" },
1208         { "kind" : "IdRef",        "name" : "'Signed Value'" }
1209       ]
1210     },
1211     {
1212       "opname" : "OpConvertUToF",
1213       "class"  : "Conversion",
1214       "opcode" : 112,
1215       "operands" : [
1216         { "kind" : "IdResultType" },
1217         { "kind" : "IdResult" },
1218         { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1219       ]
1220     },
1221     {
1222       "opname" : "OpUConvert",
1223       "class"  : "Conversion",
1224       "opcode" : 113,
1225       "operands" : [
1226         { "kind" : "IdResultType" },
1227         { "kind" : "IdResult" },
1228         { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1229       ]
1230     },
1231     {
1232       "opname" : "OpSConvert",
1233       "class"  : "Conversion",
1234       "opcode" : 114,
1235       "operands" : [
1236         { "kind" : "IdResultType" },
1237         { "kind" : "IdResult" },
1238         { "kind" : "IdRef",        "name" : "'Signed Value'" }
1239       ]
1240     },
1241     {
1242       "opname" : "OpFConvert",
1243       "class"  : "Conversion",
1244       "opcode" : 115,
1245       "operands" : [
1246         { "kind" : "IdResultType" },
1247         { "kind" : "IdResult" },
1248         { "kind" : "IdRef",        "name" : "'Float Value'" }
1249       ]
1250     },
1251     {
1252       "opname" : "OpQuantizeToF16",
1253       "class"  : "Conversion",
1254       "opcode" : 116,
1255       "operands" : [
1256         { "kind" : "IdResultType" },
1257         { "kind" : "IdResult" },
1258         { "kind" : "IdRef",        "name" : "'Value'" }
1259       ]
1260     },
1261     {
1262       "opname" : "OpConvertPtrToU",
1263       "class"  : "Conversion",
1264       "opcode" : 117,
1265       "operands" : [
1266         { "kind" : "IdResultType" },
1267         { "kind" : "IdResult" },
1268         { "kind" : "IdRef",        "name" : "'Pointer'" }
1269       ],
1270       "capabilities" : [
1271         "Addresses",
1272         "PhysicalStorageBufferAddresses"
1273       ]
1274     },
1275     {
1276       "opname" : "OpSatConvertSToU",
1277       "class"  : "Conversion",
1278       "opcode" : 118,
1279       "operands" : [
1280         { "kind" : "IdResultType" },
1281         { "kind" : "IdResult" },
1282         { "kind" : "IdRef",        "name" : "'Signed Value'" }
1283       ],
1284       "capabilities" : [ "Kernel" ]
1285     },
1286     {
1287       "opname" : "OpSatConvertUToS",
1288       "class"  : "Conversion",
1289       "opcode" : 119,
1290       "operands" : [
1291         { "kind" : "IdResultType" },
1292         { "kind" : "IdResult" },
1293         { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1294       ],
1295       "capabilities" : [ "Kernel" ]
1296     },
1297     {
1298       "opname" : "OpConvertUToPtr",
1299       "class"  : "Conversion",
1300       "opcode" : 120,
1301       "operands" : [
1302         { "kind" : "IdResultType" },
1303         { "kind" : "IdResult" },
1304         { "kind" : "IdRef",        "name" : "'Integer Value'" }
1305       ],
1306       "capabilities" : [
1307         "Addresses",
1308         "PhysicalStorageBufferAddresses"
1309       ]
1310     },
1311     {
1312       "opname" : "OpPtrCastToGeneric",
1313       "class"  : "Conversion",
1314       "opcode" : 121,
1315       "operands" : [
1316         { "kind" : "IdResultType" },
1317         { "kind" : "IdResult" },
1318         { "kind" : "IdRef",        "name" : "'Pointer'" }
1319       ],
1320       "capabilities" : [ "Kernel" ]
1321     },
1322     {
1323       "opname" : "OpGenericCastToPtr",
1324       "class"  : "Conversion",
1325       "opcode" : 122,
1326       "operands" : [
1327         { "kind" : "IdResultType" },
1328         { "kind" : "IdResult" },
1329         { "kind" : "IdRef",        "name" : "'Pointer'" }
1330       ],
1331       "capabilities" : [ "Kernel" ]
1332     },
1333     {
1334       "opname" : "OpGenericCastToPtrExplicit",
1335       "class"  : "Conversion",
1336       "opcode" : 123,
1337       "operands" : [
1338         { "kind" : "IdResultType" },
1339         { "kind" : "IdResult" },
1340         { "kind" : "IdRef",        "name" : "'Pointer'" },
1341         { "kind" : "StorageClass", "name" : "'Storage'" }
1342       ],
1343       "capabilities" : [ "Kernel" ]
1344     },
1345     {
1346       "opname" : "OpBitcast",
1347       "class"  : "Conversion",
1348       "opcode" : 124,
1349       "operands" : [
1350         { "kind" : "IdResultType" },
1351         { "kind" : "IdResult" },
1352         { "kind" : "IdRef",        "name" : "'Operand'" }
1353       ]
1354     },
1355     {
1356       "opname" : "OpSNegate",
1357       "class"  : "Arithmetic",
1358       "opcode" : 126,
1359       "operands" : [
1360         { "kind" : "IdResultType" },
1361         { "kind" : "IdResult" },
1362         { "kind" : "IdRef",        "name" : "'Operand'" }
1363       ]
1364     },
1365     {
1366       "opname" : "OpFNegate",
1367       "class"  : "Arithmetic",
1368       "opcode" : 127,
1369       "operands" : [
1370         { "kind" : "IdResultType" },
1371         { "kind" : "IdResult" },
1372         { "kind" : "IdRef",        "name" : "'Operand'" }
1373       ]
1374     },
1375     {
1376       "opname" : "OpIAdd",
1377       "class"  : "Arithmetic",
1378       "opcode" : 128,
1379       "operands" : [
1380         { "kind" : "IdResultType" },
1381         { "kind" : "IdResult" },
1382         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1383         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1384       ]
1385     },
1386     {
1387       "opname" : "OpFAdd",
1388       "class"  : "Arithmetic",
1389       "opcode" : 129,
1390       "operands" : [
1391         { "kind" : "IdResultType" },
1392         { "kind" : "IdResult" },
1393         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1394         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1395       ]
1396     },
1397     {
1398       "opname" : "OpISub",
1399       "class"  : "Arithmetic",
1400       "opcode" : 130,
1401       "operands" : [
1402         { "kind" : "IdResultType" },
1403         { "kind" : "IdResult" },
1404         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1405         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1406       ]
1407     },
1408     {
1409       "opname" : "OpFSub",
1410       "class"  : "Arithmetic",
1411       "opcode" : 131,
1412       "operands" : [
1413         { "kind" : "IdResultType" },
1414         { "kind" : "IdResult" },
1415         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1416         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1417       ]
1418     },
1419     {
1420       "opname" : "OpIMul",
1421       "class"  : "Arithmetic",
1422       "opcode" : 132,
1423       "operands" : [
1424         { "kind" : "IdResultType" },
1425         { "kind" : "IdResult" },
1426         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1427         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1428       ]
1429     },
1430     {
1431       "opname" : "OpFMul",
1432       "class"  : "Arithmetic",
1433       "opcode" : 133,
1434       "operands" : [
1435         { "kind" : "IdResultType" },
1436         { "kind" : "IdResult" },
1437         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1438         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1439       ]
1440     },
1441     {
1442       "opname" : "OpUDiv",
1443       "class"  : "Arithmetic",
1444       "opcode" : 134,
1445       "operands" : [
1446         { "kind" : "IdResultType" },
1447         { "kind" : "IdResult" },
1448         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1449         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1450       ]
1451     },
1452     {
1453       "opname" : "OpSDiv",
1454       "class"  : "Arithmetic",
1455       "opcode" : 135,
1456       "operands" : [
1457         { "kind" : "IdResultType" },
1458         { "kind" : "IdResult" },
1459         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1460         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1461       ]
1462     },
1463     {
1464       "opname" : "OpFDiv",
1465       "class"  : "Arithmetic",
1466       "opcode" : 136,
1467       "operands" : [
1468         { "kind" : "IdResultType" },
1469         { "kind" : "IdResult" },
1470         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1471         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1472       ]
1473     },
1474     {
1475       "opname" : "OpUMod",
1476       "class"  : "Arithmetic",
1477       "opcode" : 137,
1478       "operands" : [
1479         { "kind" : "IdResultType" },
1480         { "kind" : "IdResult" },
1481         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1482         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1483       ]
1484     },
1485     {
1486       "opname" : "OpSRem",
1487       "class"  : "Arithmetic",
1488       "opcode" : 138,
1489       "operands" : [
1490         { "kind" : "IdResultType" },
1491         { "kind" : "IdResult" },
1492         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1493         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1494       ]
1495     },
1496     {
1497       "opname" : "OpSMod",
1498       "class"  : "Arithmetic",
1499       "opcode" : 139,
1500       "operands" : [
1501         { "kind" : "IdResultType" },
1502         { "kind" : "IdResult" },
1503         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1504         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1505       ]
1506     },
1507     {
1508       "opname" : "OpFRem",
1509       "class"  : "Arithmetic",
1510       "opcode" : 140,
1511       "operands" : [
1512         { "kind" : "IdResultType" },
1513         { "kind" : "IdResult" },
1514         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1515         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1516       ]
1517     },
1518     {
1519       "opname" : "OpFMod",
1520       "class"  : "Arithmetic",
1521       "opcode" : 141,
1522       "operands" : [
1523         { "kind" : "IdResultType" },
1524         { "kind" : "IdResult" },
1525         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1526         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1527       ]
1528     },
1529     {
1530       "opname" : "OpVectorTimesScalar",
1531       "class"  : "Arithmetic",
1532       "opcode" : 142,
1533       "operands" : [
1534         { "kind" : "IdResultType" },
1535         { "kind" : "IdResult" },
1536         { "kind" : "IdRef",        "name" : "'Vector'" },
1537         { "kind" : "IdRef",        "name" : "'Scalar'" }
1538       ]
1539     },
1540     {
1541       "opname" : "OpMatrixTimesScalar",
1542       "class"  : "Arithmetic",
1543       "opcode" : 143,
1544       "operands" : [
1545         { "kind" : "IdResultType" },
1546         { "kind" : "IdResult" },
1547         { "kind" : "IdRef",        "name" : "'Matrix'" },
1548         { "kind" : "IdRef",        "name" : "'Scalar'" }
1549       ],
1550       "capabilities" : [ "Matrix" ]
1551     },
1552     {
1553       "opname" : "OpVectorTimesMatrix",
1554       "class"  : "Arithmetic",
1555       "opcode" : 144,
1556       "operands" : [
1557         { "kind" : "IdResultType" },
1558         { "kind" : "IdResult" },
1559         { "kind" : "IdRef",        "name" : "'Vector'" },
1560         { "kind" : "IdRef",        "name" : "'Matrix'" }
1561       ],
1562       "capabilities" : [ "Matrix" ]
1563     },
1564     {
1565       "opname" : "OpMatrixTimesVector",
1566       "class"  : "Arithmetic",
1567       "opcode" : 145,
1568       "operands" : [
1569         { "kind" : "IdResultType" },
1570         { "kind" : "IdResult" },
1571         { "kind" : "IdRef",        "name" : "'Matrix'" },
1572         { "kind" : "IdRef",        "name" : "'Vector'" }
1573       ],
1574       "capabilities" : [ "Matrix" ]
1575     },
1576     {
1577       "opname" : "OpMatrixTimesMatrix",
1578       "class"  : "Arithmetic",
1579       "opcode" : 146,
1580       "operands" : [
1581         { "kind" : "IdResultType" },
1582         { "kind" : "IdResult" },
1583         { "kind" : "IdRef",        "name" : "'LeftMatrix'" },
1584         { "kind" : "IdRef",        "name" : "'RightMatrix'" }
1585       ],
1586       "capabilities" : [ "Matrix" ]
1587     },
1588     {
1589       "opname" : "OpOuterProduct",
1590       "class"  : "Arithmetic",
1591       "opcode" : 147,
1592       "operands" : [
1593         { "kind" : "IdResultType" },
1594         { "kind" : "IdResult" },
1595         { "kind" : "IdRef",        "name" : "'Vector 1'" },
1596         { "kind" : "IdRef",        "name" : "'Vector 2'" }
1597       ],
1598       "capabilities" : [ "Matrix" ]
1599     },
1600     {
1601       "opname" : "OpDot",
1602       "class"  : "Arithmetic",
1603       "opcode" : 148,
1604       "operands" : [
1605         { "kind" : "IdResultType" },
1606         { "kind" : "IdResult" },
1607         { "kind" : "IdRef",        "name" : "'Vector 1'" },
1608         { "kind" : "IdRef",        "name" : "'Vector 2'" }
1609       ]
1610     },
1611     {
1612       "opname" : "OpIAddCarry",
1613       "class"  : "Arithmetic",
1614       "opcode" : 149,
1615       "operands" : [
1616         { "kind" : "IdResultType" },
1617         { "kind" : "IdResult" },
1618         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1619         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1620       ]
1621     },
1622     {
1623       "opname" : "OpISubBorrow",
1624       "class"  : "Arithmetic",
1625       "opcode" : 150,
1626       "operands" : [
1627         { "kind" : "IdResultType" },
1628         { "kind" : "IdResult" },
1629         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1630         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1631       ]
1632     },
1633     {
1634       "opname" : "OpUMulExtended",
1635       "class"  : "Arithmetic",
1636       "opcode" : 151,
1637       "operands" : [
1638         { "kind" : "IdResultType" },
1639         { "kind" : "IdResult" },
1640         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1641         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1642       ]
1643     },
1644     {
1645       "opname" : "OpSMulExtended",
1646       "class"  : "Arithmetic",
1647       "opcode" : 152,
1648       "operands" : [
1649         { "kind" : "IdResultType" },
1650         { "kind" : "IdResult" },
1651         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1652         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1653       ]
1654     },
1655     {
1656       "opname" : "OpAny",
1657       "class"  : "Relational_and_Logical",
1658       "opcode" : 154,
1659       "operands" : [
1660         { "kind" : "IdResultType" },
1661         { "kind" : "IdResult" },
1662         { "kind" : "IdRef",        "name" : "'Vector'" }
1663       ]
1664     },
1665     {
1666       "opname" : "OpAll",
1667       "class"  : "Relational_and_Logical",
1668       "opcode" : 155,
1669       "operands" : [
1670         { "kind" : "IdResultType" },
1671         { "kind" : "IdResult" },
1672         { "kind" : "IdRef",        "name" : "'Vector'" }
1673       ]
1674     },
1675     {
1676       "opname" : "OpIsNan",
1677       "class"  : "Relational_and_Logical",
1678       "opcode" : 156,
1679       "operands" : [
1680         { "kind" : "IdResultType" },
1681         { "kind" : "IdResult" },
1682         { "kind" : "IdRef",        "name" : "'x'" }
1683       ]
1684     },
1685     {
1686       "opname" : "OpIsInf",
1687       "class"  : "Relational_and_Logical",
1688       "opcode" : 157,
1689       "operands" : [
1690         { "kind" : "IdResultType" },
1691         { "kind" : "IdResult" },
1692         { "kind" : "IdRef",        "name" : "'x'" }
1693       ]
1694     },
1695     {
1696       "opname" : "OpIsFinite",
1697       "class"  : "Relational_and_Logical",
1698       "opcode" : 158,
1699       "operands" : [
1700         { "kind" : "IdResultType" },
1701         { "kind" : "IdResult" },
1702         { "kind" : "IdRef",        "name" : "'x'" }
1703       ],
1704       "capabilities" : [ "Kernel" ]
1705     },
1706     {
1707       "opname" : "OpIsNormal",
1708       "class"  : "Relational_and_Logical",
1709       "opcode" : 159,
1710       "operands" : [
1711         { "kind" : "IdResultType" },
1712         { "kind" : "IdResult" },
1713         { "kind" : "IdRef",        "name" : "'x'" }
1714       ],
1715       "capabilities" : [ "Kernel" ]
1716     },
1717     {
1718       "opname" : "OpSignBitSet",
1719       "class"  : "Relational_and_Logical",
1720       "opcode" : 160,
1721       "operands" : [
1722         { "kind" : "IdResultType" },
1723         { "kind" : "IdResult" },
1724         { "kind" : "IdRef",        "name" : "'x'" }
1725       ],
1726       "capabilities" : [ "Kernel" ]
1727     },
1728     {
1729       "opname" : "OpLessOrGreater",
1730       "class"  : "Relational_and_Logical",
1731       "opcode" : 161,
1732       "operands" : [
1733         { "kind" : "IdResultType" },
1734         { "kind" : "IdResult" },
1735         { "kind" : "IdRef",        "name" : "'x'" },
1736         { "kind" : "IdRef",        "name" : "'y'" }
1737       ],
1738       "capabilities" : [ "Kernel" ]
1739     },
1740     {
1741       "opname" : "OpOrdered",
1742       "class"  : "Relational_and_Logical",
1743       "opcode" : 162,
1744       "operands" : [
1745         { "kind" : "IdResultType" },
1746         { "kind" : "IdResult" },
1747         { "kind" : "IdRef",        "name" : "'x'" },
1748         { "kind" : "IdRef",        "name" : "'y'" }
1749       ],
1750       "capabilities" : [ "Kernel" ]
1751     },
1752     {
1753       "opname" : "OpUnordered",
1754       "class"  : "Relational_and_Logical",
1755       "opcode" : 163,
1756       "operands" : [
1757         { "kind" : "IdResultType" },
1758         { "kind" : "IdResult" },
1759         { "kind" : "IdRef",        "name" : "'x'" },
1760         { "kind" : "IdRef",        "name" : "'y'" }
1761       ],
1762       "capabilities" : [ "Kernel" ]
1763     },
1764     {
1765       "opname" : "OpLogicalEqual",
1766       "class"  : "Relational_and_Logical",
1767       "opcode" : 164,
1768       "operands" : [
1769         { "kind" : "IdResultType" },
1770         { "kind" : "IdResult" },
1771         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1772         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1773       ]
1774     },
1775     {
1776       "opname" : "OpLogicalNotEqual",
1777       "class"  : "Relational_and_Logical",
1778       "opcode" : 165,
1779       "operands" : [
1780         { "kind" : "IdResultType" },
1781         { "kind" : "IdResult" },
1782         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1783         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1784       ]
1785     },
1786     {
1787       "opname" : "OpLogicalOr",
1788       "class"  : "Relational_and_Logical",
1789       "opcode" : 166,
1790       "operands" : [
1791         { "kind" : "IdResultType" },
1792         { "kind" : "IdResult" },
1793         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1794         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1795       ]
1796     },
1797     {
1798       "opname" : "OpLogicalAnd",
1799       "class"  : "Relational_and_Logical",
1800       "opcode" : 167,
1801       "operands" : [
1802         { "kind" : "IdResultType" },
1803         { "kind" : "IdResult" },
1804         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1805         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1806       ]
1807     },
1808     {
1809       "opname" : "OpLogicalNot",
1810       "class"  : "Relational_and_Logical",
1811       "opcode" : 168,
1812       "operands" : [
1813         { "kind" : "IdResultType" },
1814         { "kind" : "IdResult" },
1815         { "kind" : "IdRef",        "name" : "'Operand'" }
1816       ]
1817     },
1818     {
1819       "opname" : "OpSelect",
1820       "class"  : "Relational_and_Logical",
1821       "opcode" : 169,
1822       "operands" : [
1823         { "kind" : "IdResultType" },
1824         { "kind" : "IdResult" },
1825         { "kind" : "IdRef",        "name" : "'Condition'" },
1826         { "kind" : "IdRef",        "name" : "'Object 1'" },
1827         { "kind" : "IdRef",        "name" : "'Object 2'" }
1828       ]
1829     },
1830     {
1831       "opname" : "OpIEqual",
1832       "class"  : "Relational_and_Logical",
1833       "opcode" : 170,
1834       "operands" : [
1835         { "kind" : "IdResultType" },
1836         { "kind" : "IdResult" },
1837         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1838         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1839       ]
1840     },
1841     {
1842       "opname" : "OpINotEqual",
1843       "class"  : "Relational_and_Logical",
1844       "opcode" : 171,
1845       "operands" : [
1846         { "kind" : "IdResultType" },
1847         { "kind" : "IdResult" },
1848         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1849         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1850       ]
1851     },
1852     {
1853       "opname" : "OpUGreaterThan",
1854       "class"  : "Relational_and_Logical",
1855       "opcode" : 172,
1856       "operands" : [
1857         { "kind" : "IdResultType" },
1858         { "kind" : "IdResult" },
1859         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1860         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1861       ]
1862     },
1863     {
1864       "opname" : "OpSGreaterThan",
1865       "class"  : "Relational_and_Logical",
1866       "opcode" : 173,
1867       "operands" : [
1868         { "kind" : "IdResultType" },
1869         { "kind" : "IdResult" },
1870         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1871         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1872       ]
1873     },
1874     {
1875       "opname" : "OpUGreaterThanEqual",
1876       "class"  : "Relational_and_Logical",
1877       "opcode" : 174,
1878       "operands" : [
1879         { "kind" : "IdResultType" },
1880         { "kind" : "IdResult" },
1881         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1882         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1883       ]
1884     },
1885     {
1886       "opname" : "OpSGreaterThanEqual",
1887       "class"  : "Relational_and_Logical",
1888       "opcode" : 175,
1889       "operands" : [
1890         { "kind" : "IdResultType" },
1891         { "kind" : "IdResult" },
1892         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1893         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1894       ]
1895     },
1896     {
1897       "opname" : "OpULessThan",
1898       "class"  : "Relational_and_Logical",
1899       "opcode" : 176,
1900       "operands" : [
1901         { "kind" : "IdResultType" },
1902         { "kind" : "IdResult" },
1903         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1904         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1905       ]
1906     },
1907     {
1908       "opname" : "OpSLessThan",
1909       "class"  : "Relational_and_Logical",
1910       "opcode" : 177,
1911       "operands" : [
1912         { "kind" : "IdResultType" },
1913         { "kind" : "IdResult" },
1914         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1915         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1916       ]
1917     },
1918     {
1919       "opname" : "OpULessThanEqual",
1920       "class"  : "Relational_and_Logical",
1921       "opcode" : 178,
1922       "operands" : [
1923         { "kind" : "IdResultType" },
1924         { "kind" : "IdResult" },
1925         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1926         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1927       ]
1928     },
1929     {
1930       "opname" : "OpSLessThanEqual",
1931       "class"  : "Relational_and_Logical",
1932       "opcode" : 179,
1933       "operands" : [
1934         { "kind" : "IdResultType" },
1935         { "kind" : "IdResult" },
1936         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1937         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1938       ]
1939     },
1940     {
1941       "opname" : "OpFOrdEqual",
1942       "class"  : "Relational_and_Logical",
1943       "opcode" : 180,
1944       "operands" : [
1945         { "kind" : "IdResultType" },
1946         { "kind" : "IdResult" },
1947         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1948         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1949       ]
1950     },
1951     {
1952       "opname" : "OpFUnordEqual",
1953       "class"  : "Relational_and_Logical",
1954       "opcode" : 181,
1955       "operands" : [
1956         { "kind" : "IdResultType" },
1957         { "kind" : "IdResult" },
1958         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1959         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1960       ]
1961     },
1962     {
1963       "opname" : "OpFOrdNotEqual",
1964       "class"  : "Relational_and_Logical",
1965       "opcode" : 182,
1966       "operands" : [
1967         { "kind" : "IdResultType" },
1968         { "kind" : "IdResult" },
1969         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1970         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1971       ]
1972     },
1973     {
1974       "opname" : "OpFUnordNotEqual",
1975       "class"  : "Relational_and_Logical",
1976       "opcode" : 183,
1977       "operands" : [
1978         { "kind" : "IdResultType" },
1979         { "kind" : "IdResult" },
1980         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1981         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1982       ]
1983     },
1984     {
1985       "opname" : "OpFOrdLessThan",
1986       "class"  : "Relational_and_Logical",
1987       "opcode" : 184,
1988       "operands" : [
1989         { "kind" : "IdResultType" },
1990         { "kind" : "IdResult" },
1991         { "kind" : "IdRef",        "name" : "'Operand 1'" },
1992         { "kind" : "IdRef",        "name" : "'Operand 2'" }
1993       ]
1994     },
1995     {
1996       "opname" : "OpFUnordLessThan",
1997       "class"  : "Relational_and_Logical",
1998       "opcode" : 185,
1999       "operands" : [
2000         { "kind" : "IdResultType" },
2001         { "kind" : "IdResult" },
2002         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2003         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2004       ]
2005     },
2006     {
2007       "opname" : "OpFOrdGreaterThan",
2008       "class"  : "Relational_and_Logical",
2009       "opcode" : 186,
2010       "operands" : [
2011         { "kind" : "IdResultType" },
2012         { "kind" : "IdResult" },
2013         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2014         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2015       ]
2016     },
2017     {
2018       "opname" : "OpFUnordGreaterThan",
2019       "class"  : "Relational_and_Logical",
2020       "opcode" : 187,
2021       "operands" : [
2022         { "kind" : "IdResultType" },
2023         { "kind" : "IdResult" },
2024         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2025         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2026       ]
2027     },
2028     {
2029       "opname" : "OpFOrdLessThanEqual",
2030       "class"  : "Relational_and_Logical",
2031       "opcode" : 188,
2032       "operands" : [
2033         { "kind" : "IdResultType" },
2034         { "kind" : "IdResult" },
2035         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2036         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2037       ]
2038     },
2039     {
2040       "opname" : "OpFUnordLessThanEqual",
2041       "class"  : "Relational_and_Logical",
2042       "opcode" : 189,
2043       "operands" : [
2044         { "kind" : "IdResultType" },
2045         { "kind" : "IdResult" },
2046         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2047         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2048       ]
2049     },
2050     {
2051       "opname" : "OpFOrdGreaterThanEqual",
2052       "class"  : "Relational_and_Logical",
2053       "opcode" : 190,
2054       "operands" : [
2055         { "kind" : "IdResultType" },
2056         { "kind" : "IdResult" },
2057         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2058         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2059       ]
2060     },
2061     {
2062       "opname" : "OpFUnordGreaterThanEqual",
2063       "class"  : "Relational_and_Logical",
2064       "opcode" : 191,
2065       "operands" : [
2066         { "kind" : "IdResultType" },
2067         { "kind" : "IdResult" },
2068         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2069         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2070       ]
2071     },
2072     {
2073       "opname" : "OpShiftRightLogical",
2074       "class"  : "Bit",
2075       "opcode" : 194,
2076       "operands" : [
2077         { "kind" : "IdResultType" },
2078         { "kind" : "IdResult" },
2079         { "kind" : "IdRef",        "name" : "'Base'" },
2080         { "kind" : "IdRef",        "name" : "'Shift'" }
2081       ]
2082     },
2083     {
2084       "opname" : "OpShiftRightArithmetic",
2085       "class"  : "Bit",
2086       "opcode" : 195,
2087       "operands" : [
2088         { "kind" : "IdResultType" },
2089         { "kind" : "IdResult" },
2090         { "kind" : "IdRef",        "name" : "'Base'" },
2091         { "kind" : "IdRef",        "name" : "'Shift'" }
2092       ]
2093     },
2094     {
2095       "opname" : "OpShiftLeftLogical",
2096       "class"  : "Bit",
2097       "opcode" : 196,
2098       "operands" : [
2099         { "kind" : "IdResultType" },
2100         { "kind" : "IdResult" },
2101         { "kind" : "IdRef",        "name" : "'Base'" },
2102         { "kind" : "IdRef",        "name" : "'Shift'" }
2103       ]
2104     },
2105     {
2106       "opname" : "OpBitwiseOr",
2107       "class"  : "Bit",
2108       "opcode" : 197,
2109       "operands" : [
2110         { "kind" : "IdResultType" },
2111         { "kind" : "IdResult" },
2112         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2113         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2114       ]
2115     },
2116     {
2117       "opname" : "OpBitwiseXor",
2118       "class"  : "Bit",
2119       "opcode" : 198,
2120       "operands" : [
2121         { "kind" : "IdResultType" },
2122         { "kind" : "IdResult" },
2123         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2124         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2125       ]
2126     },
2127     {
2128       "opname" : "OpBitwiseAnd",
2129       "class"  : "Bit",
2130       "opcode" : 199,
2131       "operands" : [
2132         { "kind" : "IdResultType" },
2133         { "kind" : "IdResult" },
2134         { "kind" : "IdRef",        "name" : "'Operand 1'" },
2135         { "kind" : "IdRef",        "name" : "'Operand 2'" }
2136       ]
2137     },
2138     {
2139       "opname" : "OpNot",
2140       "class"  : "Bit",
2141       "opcode" : 200,
2142       "operands" : [
2143         { "kind" : "IdResultType" },
2144         { "kind" : "IdResult" },
2145         { "kind" : "IdRef",        "name" : "'Operand'" }
2146       ]
2147     },
2148     {
2149       "opname" : "OpBitFieldInsert",
2150       "class"  : "Bit",
2151       "opcode" : 201,
2152       "operands" : [
2153         { "kind" : "IdResultType" },
2154         { "kind" : "IdResult" },
2155         { "kind" : "IdRef",        "name" : "'Base'" },
2156         { "kind" : "IdRef",        "name" : "'Insert'" },
2157         { "kind" : "IdRef",        "name" : "'Offset'" },
2158         { "kind" : "IdRef",        "name" : "'Count'" }
2159       ],
2160       "capabilities" : [ "Shader" ]
2161     },
2162     {
2163       "opname" : "OpBitFieldSExtract",
2164       "class"  : "Bit",
2165       "opcode" : 202,
2166       "operands" : [
2167         { "kind" : "IdResultType" },
2168         { "kind" : "IdResult" },
2169         { "kind" : "IdRef",        "name" : "'Base'" },
2170         { "kind" : "IdRef",        "name" : "'Offset'" },
2171         { "kind" : "IdRef",        "name" : "'Count'" }
2172       ],
2173       "capabilities" : [ "Shader" ]
2174     },
2175     {
2176       "opname" : "OpBitFieldUExtract",
2177       "class"  : "Bit",
2178       "opcode" : 203,
2179       "operands" : [
2180         { "kind" : "IdResultType" },
2181         { "kind" : "IdResult" },
2182         { "kind" : "IdRef",        "name" : "'Base'" },
2183         { "kind" : "IdRef",        "name" : "'Offset'" },
2184         { "kind" : "IdRef",        "name" : "'Count'" }
2185       ],
2186       "capabilities" : [ "Shader" ]
2187     },
2188     {
2189       "opname" : "OpBitReverse",
2190       "class"  : "Bit",
2191       "opcode" : 204,
2192       "operands" : [
2193         { "kind" : "IdResultType" },
2194         { "kind" : "IdResult" },
2195         { "kind" : "IdRef",        "name" : "'Base'" }
2196       ],
2197       "capabilities" : [ "Shader" ]
2198     },
2199     {
2200       "opname" : "OpBitCount",
2201       "class"  : "Bit",
2202       "opcode" : 205,
2203       "operands" : [
2204         { "kind" : "IdResultType" },
2205         { "kind" : "IdResult" },
2206         { "kind" : "IdRef",        "name" : "'Base'" }
2207       ]
2208     },
2209     {
2210       "opname" : "OpDPdx",
2211       "class"  : "Derivative",
2212       "opcode" : 207,
2213       "operands" : [
2214         { "kind" : "IdResultType" },
2215         { "kind" : "IdResult" },
2216         { "kind" : "IdRef",        "name" : "'P'" }
2217       ],
2218       "capabilities" : [ "Shader" ]
2219     },
2220     {
2221       "opname" : "OpDPdy",
2222       "class"  : "Derivative",
2223       "opcode" : 208,
2224       "operands" : [
2225         { "kind" : "IdResultType" },
2226         { "kind" : "IdResult" },
2227         { "kind" : "IdRef",        "name" : "'P'" }
2228       ],
2229       "capabilities" : [ "Shader" ]
2230     },
2231     {
2232       "opname" : "OpFwidth",
2233       "class"  : "Derivative",
2234       "opcode" : 209,
2235       "operands" : [
2236         { "kind" : "IdResultType" },
2237         { "kind" : "IdResult" },
2238         { "kind" : "IdRef",        "name" : "'P'" }
2239       ],
2240       "capabilities" : [ "Shader" ]
2241     },
2242     {
2243       "opname" : "OpDPdxFine",
2244       "class"  : "Derivative",
2245       "opcode" : 210,
2246       "operands" : [
2247         { "kind" : "IdResultType" },
2248         { "kind" : "IdResult" },
2249         { "kind" : "IdRef",        "name" : "'P'" }
2250       ],
2251       "capabilities" : [ "DerivativeControl" ]
2252     },
2253     {
2254       "opname" : "OpDPdyFine",
2255       "class"  : "Derivative",
2256       "opcode" : 211,
2257       "operands" : [
2258         { "kind" : "IdResultType" },
2259         { "kind" : "IdResult" },
2260         { "kind" : "IdRef",        "name" : "'P'" }
2261       ],
2262       "capabilities" : [ "DerivativeControl" ]
2263     },
2264     {
2265       "opname" : "OpFwidthFine",
2266       "class"  : "Derivative",
2267       "opcode" : 212,
2268       "operands" : [
2269         { "kind" : "IdResultType" },
2270         { "kind" : "IdResult" },
2271         { "kind" : "IdRef",        "name" : "'P'" }
2272       ],
2273       "capabilities" : [ "DerivativeControl" ]
2274     },
2275     {
2276       "opname" : "OpDPdxCoarse",
2277       "class"  : "Derivative",
2278       "opcode" : 213,
2279       "operands" : [
2280         { "kind" : "IdResultType" },
2281         { "kind" : "IdResult" },
2282         { "kind" : "IdRef",        "name" : "'P'" }
2283       ],
2284       "capabilities" : [ "DerivativeControl" ]
2285     },
2286     {
2287       "opname" : "OpDPdyCoarse",
2288       "class"  : "Derivative",
2289       "opcode" : 214,
2290       "operands" : [
2291         { "kind" : "IdResultType" },
2292         { "kind" : "IdResult" },
2293         { "kind" : "IdRef",        "name" : "'P'" }
2294       ],
2295       "capabilities" : [ "DerivativeControl" ]
2296     },
2297     {
2298       "opname" : "OpFwidthCoarse",
2299       "class"  : "Derivative",
2300       "opcode" : 215,
2301       "operands" : [
2302         { "kind" : "IdResultType" },
2303         { "kind" : "IdResult" },
2304         { "kind" : "IdRef",        "name" : "'P'" }
2305       ],
2306       "capabilities" : [ "DerivativeControl" ]
2307     },
2308     {
2309       "opname" : "OpEmitVertex",
2310       "class"  : "Primitive",
2311       "opcode" : 218,
2312       "capabilities" : [ "Geometry" ]
2313     },
2314     {
2315       "opname" : "OpEndPrimitive",
2316       "class"  : "Primitive",
2317       "opcode" : 219,
2318       "capabilities" : [ "Geometry" ]
2319     },
2320     {
2321       "opname" : "OpEmitStreamVertex",
2322       "class"  : "Primitive",
2323       "opcode" : 220,
2324       "operands" : [
2325         { "kind" : "IdRef", "name" : "'Stream'" }
2326       ],
2327       "capabilities" : [ "GeometryStreams" ]
2328     },
2329     {
2330       "opname" : "OpEndStreamPrimitive",
2331       "class"  : "Primitive",
2332       "opcode" : 221,
2333       "operands" : [
2334         { "kind" : "IdRef", "name" : "'Stream'" }
2335       ],
2336       "capabilities" : [ "GeometryStreams" ]
2337     },
2338     {
2339       "opname" : "OpControlBarrier",
2340       "class"  : "Barrier",
2341       "opcode" : 224,
2342       "operands" : [
2343         { "kind" : "IdScope",           "name" : "'Execution'" },
2344         { "kind" : "IdScope",           "name" : "'Memory'" },
2345         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2346       ]
2347     },
2348     {
2349       "opname" : "OpMemoryBarrier",
2350       "class"  : "Barrier",
2351       "opcode" : 225,
2352       "operands" : [
2353         { "kind" : "IdScope",           "name" : "'Memory'" },
2354         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2355       ]
2356     },
2357     {
2358       "opname" : "OpAtomicLoad",
2359       "class"  : "Atomic",
2360       "opcode" : 227,
2361       "operands" : [
2362         { "kind" : "IdResultType" },
2363         { "kind" : "IdResult" },
2364         { "kind" : "IdRef",             "name" : "'Pointer'" },
2365         { "kind" : "IdScope",           "name" : "'Memory'" },
2366         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2367       ]
2368     },
2369     {
2370       "opname" : "OpAtomicStore",
2371       "class"  : "Atomic",
2372       "opcode" : 228,
2373       "operands" : [
2374         { "kind" : "IdRef",             "name" : "'Pointer'" },
2375         { "kind" : "IdScope",           "name" : "'Memory'" },
2376         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2377         { "kind" : "IdRef",             "name" : "'Value'" }
2378       ]
2379     },
2380     {
2381       "opname" : "OpAtomicExchange",
2382       "class"  : "Atomic",
2383       "opcode" : 229,
2384       "operands" : [
2385         { "kind" : "IdResultType" },
2386         { "kind" : "IdResult" },
2387         { "kind" : "IdRef",             "name" : "'Pointer'" },
2388         { "kind" : "IdScope",           "name" : "'Memory'" },
2389         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2390         { "kind" : "IdRef",             "name" : "'Value'" }
2391       ]
2392     },
2393     {
2394       "opname" : "OpAtomicCompareExchange",
2395       "class"  : "Atomic",
2396       "opcode" : 230,
2397       "operands" : [
2398         { "kind" : "IdResultType" },
2399         { "kind" : "IdResult" },
2400         { "kind" : "IdRef",             "name" : "'Pointer'" },
2401         { "kind" : "IdScope",           "name" : "'Memory'" },
2402         { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2403         { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2404         { "kind" : "IdRef",             "name" : "'Value'" },
2405         { "kind" : "IdRef",             "name" : "'Comparator'" }
2406       ]
2407     },
2408     {
2409       "opname" : "OpAtomicCompareExchangeWeak",
2410       "class"  : "Atomic",
2411       "opcode" : 231,
2412       "operands" : [
2413         { "kind" : "IdResultType" },
2414         { "kind" : "IdResult" },
2415         { "kind" : "IdRef",             "name" : "'Pointer'" },
2416         { "kind" : "IdScope",           "name" : "'Memory'" },
2417         { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2418         { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2419         { "kind" : "IdRef",             "name" : "'Value'" },
2420         { "kind" : "IdRef",             "name" : "'Comparator'" }
2421       ],
2422       "capabilities" : [ "Kernel" ],
2423       "lastVersion" : "1.3"
2424     },
2425     {
2426       "opname" : "OpAtomicIIncrement",
2427       "class"  : "Atomic",
2428       "opcode" : 232,
2429       "operands" : [
2430         { "kind" : "IdResultType" },
2431         { "kind" : "IdResult" },
2432         { "kind" : "IdRef",             "name" : "'Pointer'" },
2433         { "kind" : "IdScope",           "name" : "'Memory'" },
2434         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2435       ]
2436     },
2437     {
2438       "opname" : "OpAtomicIDecrement",
2439       "class"  : "Atomic",
2440       "opcode" : 233,
2441       "operands" : [
2442         { "kind" : "IdResultType" },
2443         { "kind" : "IdResult" },
2444         { "kind" : "IdRef",             "name" : "'Pointer'" },
2445         { "kind" : "IdScope",           "name" : "'Memory'" },
2446         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2447       ]
2448     },
2449     {
2450       "opname" : "OpAtomicIAdd",
2451       "class"  : "Atomic",
2452       "opcode" : 234,
2453       "operands" : [
2454         { "kind" : "IdResultType" },
2455         { "kind" : "IdResult" },
2456         { "kind" : "IdRef",             "name" : "'Pointer'" },
2457         { "kind" : "IdScope",           "name" : "'Memory'" },
2458         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2459         { "kind" : "IdRef",             "name" : "'Value'" }
2460       ]
2461     },
2462     {
2463       "opname" : "OpAtomicISub",
2464       "class"  : "Atomic",
2465       "opcode" : 235,
2466       "operands" : [
2467         { "kind" : "IdResultType" },
2468         { "kind" : "IdResult" },
2469         { "kind" : "IdRef",             "name" : "'Pointer'" },
2470         { "kind" : "IdScope",           "name" : "'Memory'" },
2471         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2472         { "kind" : "IdRef",             "name" : "'Value'" }
2473       ]
2474     },
2475     {
2476       "opname" : "OpAtomicSMin",
2477       "class"  : "Atomic",
2478       "opcode" : 236,
2479       "operands" : [
2480         { "kind" : "IdResultType" },
2481         { "kind" : "IdResult" },
2482         { "kind" : "IdRef",             "name" : "'Pointer'" },
2483         { "kind" : "IdScope",           "name" : "'Memory'" },
2484         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2485         { "kind" : "IdRef",             "name" : "'Value'" }
2486       ]
2487     },
2488     {
2489       "opname" : "OpAtomicUMin",
2490       "class"  : "Atomic",
2491       "opcode" : 237,
2492       "operands" : [
2493         { "kind" : "IdResultType" },
2494         { "kind" : "IdResult" },
2495         { "kind" : "IdRef",             "name" : "'Pointer'" },
2496         { "kind" : "IdScope",           "name" : "'Memory'" },
2497         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2498         { "kind" : "IdRef",             "name" : "'Value'" }
2499       ]
2500     },
2501     {
2502       "opname" : "OpAtomicSMax",
2503       "class"  : "Atomic",
2504       "opcode" : 238,
2505       "operands" : [
2506         { "kind" : "IdResultType" },
2507         { "kind" : "IdResult" },
2508         { "kind" : "IdRef",             "name" : "'Pointer'" },
2509         { "kind" : "IdScope",           "name" : "'Memory'" },
2510         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2511         { "kind" : "IdRef",             "name" : "'Value'" }
2512       ]
2513     },
2514     {
2515       "opname" : "OpAtomicUMax",
2516       "class"  : "Atomic",
2517       "opcode" : 239,
2518       "operands" : [
2519         { "kind" : "IdResultType" },
2520         { "kind" : "IdResult" },
2521         { "kind" : "IdRef",             "name" : "'Pointer'" },
2522         { "kind" : "IdScope",           "name" : "'Memory'" },
2523         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2524         { "kind" : "IdRef",             "name" : "'Value'" }
2525       ]
2526     },
2527     {
2528       "opname" : "OpAtomicAnd",
2529       "class"  : "Atomic",
2530       "opcode" : 240,
2531       "operands" : [
2532         { "kind" : "IdResultType" },
2533         { "kind" : "IdResult" },
2534         { "kind" : "IdRef",             "name" : "'Pointer'" },
2535         { "kind" : "IdScope",           "name" : "'Memory'" },
2536         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2537         { "kind" : "IdRef",             "name" : "'Value'" }
2538       ]
2539     },
2540     {
2541       "opname" : "OpAtomicOr",
2542       "class"  : "Atomic",
2543       "opcode" : 241,
2544       "operands" : [
2545         { "kind" : "IdResultType" },
2546         { "kind" : "IdResult" },
2547         { "kind" : "IdRef",             "name" : "'Pointer'" },
2548         { "kind" : "IdScope",           "name" : "'Memory'" },
2549         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2550         { "kind" : "IdRef",             "name" : "'Value'" }
2551       ]
2552     },
2553     {
2554       "opname" : "OpAtomicXor",
2555       "class"  : "Atomic",
2556       "opcode" : 242,
2557       "operands" : [
2558         { "kind" : "IdResultType" },
2559         { "kind" : "IdResult" },
2560         { "kind" : "IdRef",             "name" : "'Pointer'" },
2561         { "kind" : "IdScope",           "name" : "'Memory'" },
2562         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2563         { "kind" : "IdRef",             "name" : "'Value'" }
2564       ]
2565     },
2566     {
2567       "opname" : "OpPhi",
2568       "class"  : "Control-Flow",
2569       "opcode" : 245,
2570       "operands" : [
2571         { "kind" : "IdResultType" },
2572         { "kind" : "IdResult" },
2573         { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
2574       ]
2575     },
2576     {
2577       "opname" : "OpLoopMerge",
2578       "class"  : "Control-Flow",
2579       "opcode" : 246,
2580       "operands" : [
2581         { "kind" : "IdRef",       "name" : "'Merge Block'" },
2582         { "kind" : "IdRef",       "name" : "'Continue Target'" },
2583         { "kind" : "LoopControl" }
2584       ]
2585     },
2586     {
2587       "opname" : "OpSelectionMerge",
2588       "class"  : "Control-Flow",
2589       "opcode" : 247,
2590       "operands" : [
2591         { "kind" : "IdRef",            "name" : "'Merge Block'" },
2592         { "kind" : "SelectionControl" }
2593       ]
2594     },
2595     {
2596       "opname" : "OpLabel",
2597       "class"  : "Control-Flow",
2598       "opcode" : 248,
2599       "operands" : [
2600         { "kind" : "IdResult" }
2601       ]
2602     },
2603     {
2604       "opname" : "OpBranch",
2605       "class"  : "Control-Flow",
2606       "opcode" : 249,
2607       "operands" : [
2608         { "kind" : "IdRef", "name" : "'Target Label'" }
2609       ]
2610     },
2611     {
2612       "opname" : "OpBranchConditional",
2613       "class"  : "Control-Flow",
2614       "opcode" : 250,
2615       "operands" : [
2616         { "kind" : "IdRef",                              "name" : "'Condition'" },
2617         { "kind" : "IdRef",                              "name" : "'True Label'" },
2618         { "kind" : "IdRef",                              "name" : "'False Label'" },
2619         { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
2620       ]
2621     },
2622     {
2623       "opname" : "OpSwitch",
2624       "class"  : "Control-Flow",
2625       "opcode" : 251,
2626       "operands" : [
2627         { "kind" : "IdRef",                                       "name" : "'Selector'" },
2628         { "kind" : "IdRef",                                       "name" : "'Default'" },
2629         { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
2630       ]
2631     },
2632     {
2633       "opname" : "OpKill",
2634       "class"  : "Control-Flow",
2635       "opcode" : 252,
2636       "capabilities" : [ "Shader" ]
2637     },
2638     {
2639       "opname" : "OpReturn",
2640       "class"  : "Control-Flow",
2641       "opcode" : 253
2642     },
2643     {
2644       "opname" : "OpReturnValue",
2645       "class"  : "Control-Flow",
2646       "opcode" : 254,
2647       "operands" : [
2648         { "kind" : "IdRef", "name" : "'Value'" }
2649       ]
2650     },
2651     {
2652       "opname" : "OpUnreachable",
2653       "class"  : "Control-Flow",
2654       "opcode" : 255
2655     },
2656     {
2657       "opname" : "OpLifetimeStart",
2658       "class"  : "Control-Flow",
2659       "opcode" : 256,
2660       "operands" : [
2661         { "kind" : "IdRef",          "name" : "'Pointer'" },
2662         { "kind" : "LiteralInteger", "name" : "'Size'" }
2663       ],
2664       "capabilities" : [ "Kernel" ]
2665     },
2666     {
2667       "opname" : "OpLifetimeStop",
2668       "class"  : "Control-Flow",
2669       "opcode" : 257,
2670       "operands" : [
2671         { "kind" : "IdRef",          "name" : "'Pointer'" },
2672         { "kind" : "LiteralInteger", "name" : "'Size'" }
2673       ],
2674       "capabilities" : [ "Kernel" ]
2675     },
2676     {
2677       "opname" : "OpGroupAsyncCopy",
2678       "class"  : "Group",
2679       "opcode" : 259,
2680       "operands" : [
2681         { "kind" : "IdResultType" },
2682         { "kind" : "IdResult" },
2683         { "kind" : "IdScope",      "name" : "'Execution'" },
2684         { "kind" : "IdRef",        "name" : "'Destination'" },
2685         { "kind" : "IdRef",        "name" : "'Source'" },
2686         { "kind" : "IdRef",        "name" : "'Num Elements'" },
2687         { "kind" : "IdRef",        "name" : "'Stride'" },
2688         { "kind" : "IdRef",        "name" : "'Event'" }
2689       ],
2690       "capabilities" : [ "Kernel" ]
2691     },
2692     {
2693       "opname" : "OpGroupWaitEvents",
2694       "class"  : "Group",
2695       "opcode" : 260,
2696       "operands" : [
2697         { "kind" : "IdScope", "name" : "'Execution'" },
2698         { "kind" : "IdRef",   "name" : "'Num Events'" },
2699         { "kind" : "IdRef",   "name" : "'Events List'" }
2700       ],
2701       "capabilities" : [ "Kernel" ]
2702     },
2703     {
2704       "opname" : "OpGroupAll",
2705       "class"  : "Group",
2706       "opcode" : 261,
2707       "operands" : [
2708         { "kind" : "IdResultType" },
2709         { "kind" : "IdResult" },
2710         { "kind" : "IdScope",      "name" : "'Execution'" },
2711         { "kind" : "IdRef",        "name" : "'Predicate'" }
2712       ],
2713       "capabilities" : [ "Groups" ]
2714     },
2715     {
2716       "opname" : "OpGroupAny",
2717       "class"  : "Group",
2718       "opcode" : 262,
2719       "operands" : [
2720         { "kind" : "IdResultType" },
2721         { "kind" : "IdResult" },
2722         { "kind" : "IdScope",      "name" : "'Execution'" },
2723         { "kind" : "IdRef",        "name" : "'Predicate'" }
2724       ],
2725       "capabilities" : [ "Groups" ]
2726     },
2727     {
2728       "opname" : "OpGroupBroadcast",
2729       "class"  : "Group",
2730       "opcode" : 263,
2731       "operands" : [
2732         { "kind" : "IdResultType" },
2733         { "kind" : "IdResult" },
2734         { "kind" : "IdScope",      "name" : "'Execution'" },
2735         { "kind" : "IdRef",        "name" : "'Value'" },
2736         { "kind" : "IdRef",        "name" : "'LocalId'" }
2737       ],
2738       "capabilities" : [ "Groups" ]
2739     },
2740     {
2741       "opname" : "OpGroupIAdd",
2742       "class"  : "Group",
2743       "opcode" : 264,
2744       "operands" : [
2745         { "kind" : "IdResultType" },
2746         { "kind" : "IdResult" },
2747         { "kind" : "IdScope",        "name" : "'Execution'" },
2748         { "kind" : "GroupOperation", "name" : "'Operation'" },
2749         { "kind" : "IdRef",          "name" : "'X'" }
2750       ],
2751       "capabilities" : [ "Groups" ]
2752     },
2753     {
2754       "opname" : "OpGroupFAdd",
2755       "class"  : "Group",
2756       "opcode" : 265,
2757       "operands" : [
2758         { "kind" : "IdResultType" },
2759         { "kind" : "IdResult" },
2760         { "kind" : "IdScope",        "name" : "'Execution'" },
2761         { "kind" : "GroupOperation", "name" : "'Operation'" },
2762         { "kind" : "IdRef",          "name" : "'X'" }
2763       ],
2764       "capabilities" : [ "Groups" ]
2765     },
2766     {
2767       "opname" : "OpGroupFMin",
2768       "class"  : "Group",
2769       "opcode" : 266,
2770       "operands" : [
2771         { "kind" : "IdResultType" },
2772         { "kind" : "IdResult" },
2773         { "kind" : "IdScope",        "name" : "'Execution'" },
2774         { "kind" : "GroupOperation", "name" : "'Operation'" },
2775         { "kind" : "IdRef",          "name" : "'X'" }
2776       ],
2777       "capabilities" : [ "Groups" ]
2778     },
2779     {
2780       "opname" : "OpGroupUMin",
2781       "class"  : "Group",
2782       "opcode" : 267,
2783       "operands" : [
2784         { "kind" : "IdResultType" },
2785         { "kind" : "IdResult" },
2786         { "kind" : "IdScope",        "name" : "'Execution'" },
2787         { "kind" : "GroupOperation", "name" : "'Operation'" },
2788         { "kind" : "IdRef",          "name" : "'X'" }
2789       ],
2790       "capabilities" : [ "Groups" ]
2791     },
2792     {
2793       "opname" : "OpGroupSMin",
2794       "class"  : "Group",
2795       "opcode" : 268,
2796       "operands" : [
2797         { "kind" : "IdResultType" },
2798         { "kind" : "IdResult" },
2799         { "kind" : "IdScope",        "name" : "'Execution'" },
2800         { "kind" : "GroupOperation", "name" : "'Operation'" },
2801         { "kind" : "IdRef",          "name" : "'X'" }
2802       ],
2803       "capabilities" : [ "Groups" ]
2804     },
2805     {
2806       "opname" : "OpGroupFMax",
2807       "class"  : "Group",
2808       "opcode" : 269,
2809       "operands" : [
2810         { "kind" : "IdResultType" },
2811         { "kind" : "IdResult" },
2812         { "kind" : "IdScope",        "name" : "'Execution'" },
2813         { "kind" : "GroupOperation", "name" : "'Operation'" },
2814         { "kind" : "IdRef",          "name" : "'X'" }
2815       ],
2816       "capabilities" : [ "Groups" ]
2817     },
2818     {
2819       "opname" : "OpGroupUMax",
2820       "class"  : "Group",
2821       "opcode" : 270,
2822       "operands" : [
2823         { "kind" : "IdResultType" },
2824         { "kind" : "IdResult" },
2825         { "kind" : "IdScope",        "name" : "'Execution'" },
2826         { "kind" : "GroupOperation", "name" : "'Operation'" },
2827         { "kind" : "IdRef",          "name" : "'X'" }
2828       ],
2829       "capabilities" : [ "Groups" ]
2830     },
2831     {
2832       "opname" : "OpGroupSMax",
2833       "class"  : "Group",
2834       "opcode" : 271,
2835       "operands" : [
2836         { "kind" : "IdResultType" },
2837         { "kind" : "IdResult" },
2838         { "kind" : "IdScope",        "name" : "'Execution'" },
2839         { "kind" : "GroupOperation", "name" : "'Operation'" },
2840         { "kind" : "IdRef",          "name" : "'X'" }
2841       ],
2842       "capabilities" : [ "Groups" ]
2843     },
2844     {
2845       "opname" : "OpReadPipe",
2846       "class"  : "Pipe",
2847       "opcode" : 274,
2848       "operands" : [
2849         { "kind" : "IdResultType" },
2850         { "kind" : "IdResult" },
2851         { "kind" : "IdRef",        "name" : "'Pipe'" },
2852         { "kind" : "IdRef",        "name" : "'Pointer'" },
2853         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2854         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2855       ],
2856       "capabilities" : [ "Pipes" ]
2857     },
2858     {
2859       "opname" : "OpWritePipe",
2860       "class"  : "Pipe",
2861       "opcode" : 275,
2862       "operands" : [
2863         { "kind" : "IdResultType" },
2864         { "kind" : "IdResult" },
2865         { "kind" : "IdRef",        "name" : "'Pipe'" },
2866         { "kind" : "IdRef",        "name" : "'Pointer'" },
2867         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2868         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2869       ],
2870       "capabilities" : [ "Pipes" ]
2871     },
2872     {
2873       "opname" : "OpReservedReadPipe",
2874       "class"  : "Pipe",
2875       "opcode" : 276,
2876       "operands" : [
2877         { "kind" : "IdResultType" },
2878         { "kind" : "IdResult" },
2879         { "kind" : "IdRef",        "name" : "'Pipe'" },
2880         { "kind" : "IdRef",        "name" : "'Reserve Id'" },
2881         { "kind" : "IdRef",        "name" : "'Index'" },
2882         { "kind" : "IdRef",        "name" : "'Pointer'" },
2883         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2884         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2885       ],
2886       "capabilities" : [ "Pipes" ]
2887     },
2888     {
2889       "opname" : "OpReservedWritePipe",
2890       "class"  : "Pipe",
2891       "opcode" : 277,
2892       "operands" : [
2893         { "kind" : "IdResultType" },
2894         { "kind" : "IdResult" },
2895         { "kind" : "IdRef",        "name" : "'Pipe'" },
2896         { "kind" : "IdRef",        "name" : "'Reserve Id'" },
2897         { "kind" : "IdRef",        "name" : "'Index'" },
2898         { "kind" : "IdRef",        "name" : "'Pointer'" },
2899         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2900         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2901       ],
2902       "capabilities" : [ "Pipes" ]
2903     },
2904     {
2905       "opname" : "OpReserveReadPipePackets",
2906       "class"  : "Pipe",
2907       "opcode" : 278,
2908       "operands" : [
2909         { "kind" : "IdResultType" },
2910         { "kind" : "IdResult" },
2911         { "kind" : "IdRef",        "name" : "'Pipe'" },
2912         { "kind" : "IdRef",        "name" : "'Num Packets'" },
2913         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2914         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2915       ],
2916       "capabilities" : [ "Pipes" ]
2917     },
2918     {
2919       "opname" : "OpReserveWritePipePackets",
2920       "class"  : "Pipe",
2921       "opcode" : 279,
2922       "operands" : [
2923         { "kind" : "IdResultType" },
2924         { "kind" : "IdResult" },
2925         { "kind" : "IdRef",        "name" : "'Pipe'" },
2926         { "kind" : "IdRef",        "name" : "'Num Packets'" },
2927         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2928         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2929       ],
2930       "capabilities" : [ "Pipes" ]
2931     },
2932     {
2933       "opname" : "OpCommitReadPipe",
2934       "class"  : "Pipe",
2935       "opcode" : 280,
2936       "operands" : [
2937         { "kind" : "IdRef", "name" : "'Pipe'" },
2938         { "kind" : "IdRef", "name" : "'Reserve Id'" },
2939         { "kind" : "IdRef", "name" : "'Packet Size'" },
2940         { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2941       ],
2942       "capabilities" : [ "Pipes" ]
2943     },
2944     {
2945       "opname" : "OpCommitWritePipe",
2946       "class"  : "Pipe",
2947       "opcode" : 281,
2948       "operands" : [
2949         { "kind" : "IdRef", "name" : "'Pipe'" },
2950         { "kind" : "IdRef", "name" : "'Reserve Id'" },
2951         { "kind" : "IdRef", "name" : "'Packet Size'" },
2952         { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2953       ],
2954       "capabilities" : [ "Pipes" ]
2955     },
2956     {
2957       "opname" : "OpIsValidReserveId",
2958       "class"  : "Pipe",
2959       "opcode" : 282,
2960       "operands" : [
2961         { "kind" : "IdResultType" },
2962         { "kind" : "IdResult" },
2963         { "kind" : "IdRef",        "name" : "'Reserve Id'" }
2964       ],
2965       "capabilities" : [ "Pipes" ]
2966     },
2967     {
2968       "opname" : "OpGetNumPipePackets",
2969       "class"  : "Pipe",
2970       "opcode" : 283,
2971       "operands" : [
2972         { "kind" : "IdResultType" },
2973         { "kind" : "IdResult" },
2974         { "kind" : "IdRef",        "name" : "'Pipe'" },
2975         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2976         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2977       ],
2978       "capabilities" : [ "Pipes" ]
2979     },
2980     {
2981       "opname" : "OpGetMaxPipePackets",
2982       "class"  : "Pipe",
2983       "opcode" : 284,
2984       "operands" : [
2985         { "kind" : "IdResultType" },
2986         { "kind" : "IdResult" },
2987         { "kind" : "IdRef",        "name" : "'Pipe'" },
2988         { "kind" : "IdRef",        "name" : "'Packet Size'" },
2989         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2990       ],
2991       "capabilities" : [ "Pipes" ]
2992     },
2993     {
2994       "opname" : "OpGroupReserveReadPipePackets",
2995       "class"  : "Pipe",
2996       "opcode" : 285,
2997       "operands" : [
2998         { "kind" : "IdResultType" },
2999         { "kind" : "IdResult" },
3000         { "kind" : "IdScope",      "name" : "'Execution'" },
3001         { "kind" : "IdRef",        "name" : "'Pipe'" },
3002         { "kind" : "IdRef",        "name" : "'Num Packets'" },
3003         { "kind" : "IdRef",        "name" : "'Packet Size'" },
3004         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
3005       ],
3006       "capabilities" : [ "Pipes" ]
3007     },
3008     {
3009       "opname" : "OpGroupReserveWritePipePackets",
3010       "class"  : "Pipe",
3011       "opcode" : 286,
3012       "operands" : [
3013         { "kind" : "IdResultType" },
3014         { "kind" : "IdResult" },
3015         { "kind" : "IdScope",      "name" : "'Execution'" },
3016         { "kind" : "IdRef",        "name" : "'Pipe'" },
3017         { "kind" : "IdRef",        "name" : "'Num Packets'" },
3018         { "kind" : "IdRef",        "name" : "'Packet Size'" },
3019         { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
3020       ],
3021       "capabilities" : [ "Pipes" ]
3022     },
3023     {
3024       "opname" : "OpGroupCommitReadPipe",
3025       "class"  : "Pipe",
3026       "opcode" : 287,
3027       "operands" : [
3028         { "kind" : "IdScope", "name" : "'Execution'" },
3029         { "kind" : "IdRef",   "name" : "'Pipe'" },
3030         { "kind" : "IdRef",   "name" : "'Reserve Id'" },
3031         { "kind" : "IdRef",   "name" : "'Packet Size'" },
3032         { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
3033       ],
3034       "capabilities" : [ "Pipes" ]
3035     },
3036     {
3037       "opname" : "OpGroupCommitWritePipe",
3038       "class"  : "Pipe",
3039       "opcode" : 288,
3040       "operands" : [
3041         { "kind" : "IdScope", "name" : "'Execution'" },
3042         { "kind" : "IdRef",   "name" : "'Pipe'" },
3043         { "kind" : "IdRef",   "name" : "'Reserve Id'" },
3044         { "kind" : "IdRef",   "name" : "'Packet Size'" },
3045         { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
3046       ],
3047       "capabilities" : [ "Pipes" ]
3048     },
3049     {
3050       "opname" : "OpEnqueueMarker",
3051       "class"  : "Device-Side_Enqueue",
3052       "opcode" : 291,
3053       "operands" : [
3054         { "kind" : "IdResultType" },
3055         { "kind" : "IdResult" },
3056         { "kind" : "IdRef",        "name" : "'Queue'" },
3057         { "kind" : "IdRef",        "name" : "'Num Events'" },
3058         { "kind" : "IdRef",        "name" : "'Wait Events'" },
3059         { "kind" : "IdRef",        "name" : "'Ret Event'" }
3060       ],
3061       "capabilities" : [ "DeviceEnqueue" ]
3062     },
3063     {
3064       "opname" : "OpEnqueueKernel",
3065       "class"  : "Device-Side_Enqueue",
3066       "opcode" : 292,
3067       "operands" : [
3068         { "kind" : "IdResultType" },
3069         { "kind" : "IdResult" },
3070         { "kind" : "IdRef",                            "name" : "'Queue'" },
3071         { "kind" : "IdRef",                            "name" : "'Flags'" },
3072         { "kind" : "IdRef",                            "name" : "'ND Range'" },
3073         { "kind" : "IdRef",                            "name" : "'Num Events'" },
3074         { "kind" : "IdRef",                            "name" : "'Wait Events'" },
3075         { "kind" : "IdRef",                            "name" : "'Ret Event'" },
3076         { "kind" : "IdRef",                            "name" : "'Invoke'" },
3077         { "kind" : "IdRef",                            "name" : "'Param'" },
3078         { "kind" : "IdRef",                            "name" : "'Param Size'" },
3079         { "kind" : "IdRef",                            "name" : "'Param Align'" },
3080         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Local Size'" }
3081       ],
3082       "capabilities" : [ "DeviceEnqueue" ]
3083     },
3084     {
3085       "opname" : "OpGetKernelNDrangeSubGroupCount",
3086       "class"  : "Device-Side_Enqueue",
3087       "opcode" : 293,
3088       "operands" : [
3089         { "kind" : "IdResultType" },
3090         { "kind" : "IdResult" },
3091         { "kind" : "IdRef",        "name" : "'ND Range'" },
3092         { "kind" : "IdRef",        "name" : "'Invoke'" },
3093         { "kind" : "IdRef",        "name" : "'Param'" },
3094         { "kind" : "IdRef",        "name" : "'Param Size'" },
3095         { "kind" : "IdRef",        "name" : "'Param Align'" }
3096       ],
3097       "capabilities" : [ "DeviceEnqueue" ]
3098     },
3099     {
3100       "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
3101       "class"  : "Device-Side_Enqueue",
3102       "opcode" : 294,
3103       "operands" : [
3104         { "kind" : "IdResultType" },
3105         { "kind" : "IdResult" },
3106         { "kind" : "IdRef",        "name" : "'ND Range'" },
3107         { "kind" : "IdRef",        "name" : "'Invoke'" },
3108         { "kind" : "IdRef",        "name" : "'Param'" },
3109         { "kind" : "IdRef",        "name" : "'Param Size'" },
3110         { "kind" : "IdRef",        "name" : "'Param Align'" }
3111       ],
3112       "capabilities" : [ "DeviceEnqueue" ]
3113     },
3114     {
3115       "opname" : "OpGetKernelWorkGroupSize",
3116       "class"  : "Device-Side_Enqueue",
3117       "opcode" : 295,
3118       "operands" : [
3119         { "kind" : "IdResultType" },
3120         { "kind" : "IdResult" },
3121         { "kind" : "IdRef",        "name" : "'Invoke'" },
3122         { "kind" : "IdRef",        "name" : "'Param'" },
3123         { "kind" : "IdRef",        "name" : "'Param Size'" },
3124         { "kind" : "IdRef",        "name" : "'Param Align'" }
3125       ],
3126       "capabilities" : [ "DeviceEnqueue" ]
3127     },
3128     {
3129       "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
3130       "class"  : "Device-Side_Enqueue",
3131       "opcode" : 296,
3132       "operands" : [
3133         { "kind" : "IdResultType" },
3134         { "kind" : "IdResult" },
3135         { "kind" : "IdRef",        "name" : "'Invoke'" },
3136         { "kind" : "IdRef",        "name" : "'Param'" },
3137         { "kind" : "IdRef",        "name" : "'Param Size'" },
3138         { "kind" : "IdRef",        "name" : "'Param Align'" }
3139       ],
3140       "capabilities" : [ "DeviceEnqueue" ]
3141     },
3142     {
3143       "opname" : "OpRetainEvent",
3144       "class"  : "Device-Side_Enqueue",
3145       "opcode" : 297,
3146       "operands" : [
3147         { "kind" : "IdRef", "name" : "'Event'" }
3148       ],
3149       "capabilities" : [ "DeviceEnqueue" ]
3150     },
3151     {
3152       "opname" : "OpReleaseEvent",
3153       "class"  : "Device-Side_Enqueue",
3154       "opcode" : 298,
3155       "operands" : [
3156         { "kind" : "IdRef", "name" : "'Event'" }
3157       ],
3158       "capabilities" : [ "DeviceEnqueue" ]
3159     },
3160     {
3161       "opname" : "OpCreateUserEvent",
3162       "class"  : "Device-Side_Enqueue",
3163       "opcode" : 299,
3164       "operands" : [
3165         { "kind" : "IdResultType" },
3166         { "kind" : "IdResult" }
3167       ],
3168       "capabilities" : [ "DeviceEnqueue" ]
3169     },
3170     {
3171       "opname" : "OpIsValidEvent",
3172       "class"  : "Device-Side_Enqueue",
3173       "opcode" : 300,
3174       "operands" : [
3175         { "kind" : "IdResultType" },
3176         { "kind" : "IdResult" },
3177         { "kind" : "IdRef",        "name" : "'Event'" }
3178       ],
3179       "capabilities" : [ "DeviceEnqueue" ]
3180     },
3181     {
3182       "opname" : "OpSetUserEventStatus",
3183       "class"  : "Device-Side_Enqueue",
3184       "opcode" : 301,
3185       "operands" : [
3186         { "kind" : "IdRef", "name" : "'Event'" },
3187         { "kind" : "IdRef", "name" : "'Status'" }
3188       ],
3189       "capabilities" : [ "DeviceEnqueue" ]
3190     },
3191     {
3192       "opname" : "OpCaptureEventProfilingInfo",
3193       "class"  : "Device-Side_Enqueue",
3194       "opcode" : 302,
3195       "operands" : [
3196         { "kind" : "IdRef", "name" : "'Event'" },
3197         { "kind" : "IdRef", "name" : "'Profiling Info'" },
3198         { "kind" : "IdRef", "name" : "'Value'" }
3199       ],
3200       "capabilities" : [ "DeviceEnqueue" ]
3201     },
3202     {
3203       "opname" : "OpGetDefaultQueue",
3204       "class"  : "Device-Side_Enqueue",
3205       "opcode" : 303,
3206       "operands" : [
3207         { "kind" : "IdResultType" },
3208         { "kind" : "IdResult" }
3209       ],
3210       "capabilities" : [ "DeviceEnqueue" ]
3211     },
3212     {
3213       "opname" : "OpBuildNDRange",
3214       "class"  : "Device-Side_Enqueue",
3215       "opcode" : 304,
3216       "operands" : [
3217         { "kind" : "IdResultType" },
3218         { "kind" : "IdResult" },
3219         { "kind" : "IdRef",        "name" : "'GlobalWorkSize'" },
3220         { "kind" : "IdRef",        "name" : "'LocalWorkSize'" },
3221         { "kind" : "IdRef",        "name" : "'GlobalWorkOffset'" }
3222       ],
3223       "capabilities" : [ "DeviceEnqueue" ]
3224     },
3225     {
3226       "opname" : "OpImageSparseSampleImplicitLod",
3227       "class"  : "Image",
3228       "opcode" : 305,
3229       "operands" : [
3230         { "kind" : "IdResultType" },
3231         { "kind" : "IdResult" },
3232         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3233         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3234         { "kind" : "ImageOperands", "quantifier" : "?" }
3235       ],
3236       "capabilities" : [ "SparseResidency" ]
3237     },
3238     {
3239       "opname" : "OpImageSparseSampleExplicitLod",
3240       "class"  : "Image",
3241       "opcode" : 306,
3242       "operands" : [
3243         { "kind" : "IdResultType" },
3244         { "kind" : "IdResult" },
3245         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3246         { "kind" : "IdRef",         "name" : "'Coordinate'" },
3247         { "kind" : "ImageOperands" }
3248       ],
3249       "capabilities" : [ "SparseResidency" ]
3250     },
3251     {
3252       "opname" : "OpImageSparseSampleDrefImplicitLod",
3253       "class"  : "Image",
3254       "opcode" : 307,
3255       "operands" : [
3256         { "kind" : "IdResultType" },
3257         { "kind" : "IdResult" },
3258         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3259         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3260         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3261         { "kind" : "ImageOperands", "quantifier" : "?" }
3262       ],
3263       "capabilities" : [ "SparseResidency" ]
3264     },
3265     {
3266       "opname" : "OpImageSparseSampleDrefExplicitLod",
3267       "class"  : "Image",
3268       "opcode" : 308,
3269       "operands" : [
3270         { "kind" : "IdResultType" },
3271         { "kind" : "IdResult" },
3272         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3273         { "kind" : "IdRef",         "name" : "'Coordinate'" },
3274         { "kind" : "IdRef",         "name" : "'D~ref~'" },
3275         { "kind" : "ImageOperands" }
3276       ],
3277       "capabilities" : [ "SparseResidency" ]
3278     },
3279     {
3280       "opname" : "OpImageSparseSampleProjImplicitLod",
3281       "class"  : "Image",
3282       "opcode" : 309,
3283       "operands" : [
3284         { "kind" : "IdResultType" },
3285         { "kind" : "IdResult" },
3286         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3287         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3288         { "kind" : "ImageOperands", "quantifier" : "?" }
3289       ],
3290       "capabilities" : [ "SparseResidency" ],
3291       "version" : "None"
3292     },
3293     {
3294       "opname" : "OpImageSparseSampleProjExplicitLod",
3295       "class"  : "Image",
3296       "opcode" : 310,
3297       "operands" : [
3298         { "kind" : "IdResultType" },
3299         { "kind" : "IdResult" },
3300         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3301         { "kind" : "IdRef",         "name" : "'Coordinate'" },
3302         { "kind" : "ImageOperands" }
3303       ],
3304       "capabilities" : [ "SparseResidency" ],
3305       "version" : "None"
3306     },
3307     {
3308       "opname" : "OpImageSparseSampleProjDrefImplicitLod",
3309       "class"  : "Image",
3310       "opcode" : 311,
3311       "operands" : [
3312         { "kind" : "IdResultType" },
3313         { "kind" : "IdResult" },
3314         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3315         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3316         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3317         { "kind" : "ImageOperands", "quantifier" : "?" }
3318       ],
3319       "capabilities" : [ "SparseResidency" ],
3320       "version" : "None"
3321     },
3322     {
3323       "opname" : "OpImageSparseSampleProjDrefExplicitLod",
3324       "class"  : "Image",
3325       "opcode" : 312,
3326       "operands" : [
3327         { "kind" : "IdResultType" },
3328         { "kind" : "IdResult" },
3329         { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3330         { "kind" : "IdRef",         "name" : "'Coordinate'" },
3331         { "kind" : "IdRef",         "name" : "'D~ref~'" },
3332         { "kind" : "ImageOperands" }
3333       ],
3334       "capabilities" : [ "SparseResidency" ],
3335       "version" : "None"
3336     },
3337     {
3338       "opname" : "OpImageSparseFetch",
3339       "class"  : "Image",
3340       "opcode" : 313,
3341       "operands" : [
3342         { "kind" : "IdResultType" },
3343         { "kind" : "IdResult" },
3344         { "kind" : "IdRef",                             "name" : "'Image'" },
3345         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3346         { "kind" : "ImageOperands", "quantifier" : "?" }
3347       ],
3348       "capabilities" : [ "SparseResidency" ]
3349     },
3350     {
3351       "opname" : "OpImageSparseGather",
3352       "class"  : "Image",
3353       "opcode" : 314,
3354       "operands" : [
3355         { "kind" : "IdResultType" },
3356         { "kind" : "IdResult" },
3357         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3358         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3359         { "kind" : "IdRef",                             "name" : "'Component'" },
3360         { "kind" : "ImageOperands", "quantifier" : "?" }
3361       ],
3362       "capabilities" : [ "SparseResidency" ]
3363     },
3364     {
3365       "opname" : "OpImageSparseDrefGather",
3366       "class"  : "Image",
3367       "opcode" : 315,
3368       "operands" : [
3369         { "kind" : "IdResultType" },
3370         { "kind" : "IdResult" },
3371         { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3372         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3373         { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3374         { "kind" : "ImageOperands", "quantifier" : "?" }
3375       ],
3376       "capabilities" : [ "SparseResidency" ]
3377     },
3378     {
3379       "opname" : "OpImageSparseTexelsResident",
3380       "class"  : "Image",
3381       "opcode" : 316,
3382       "operands" : [
3383         { "kind" : "IdResultType" },
3384         { "kind" : "IdResult" },
3385         { "kind" : "IdRef",        "name" : "'Resident Code'" }
3386       ],
3387       "capabilities" : [ "SparseResidency" ]
3388     },
3389     {
3390       "opname" : "OpNoLine",
3391       "class"  : "Debug",
3392       "opcode" : 317
3393     },
3394     {
3395       "opname" : "OpAtomicFlagTestAndSet",
3396       "class"  : "Atomic",
3397       "opcode" : 318,
3398       "operands" : [
3399         { "kind" : "IdResultType" },
3400         { "kind" : "IdResult" },
3401         { "kind" : "IdRef",             "name" : "'Pointer'" },
3402         { "kind" : "IdScope",           "name" : "'Memory'" },
3403         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3404       ],
3405       "capabilities" : [ "Kernel" ]
3406     },
3407     {
3408       "opname" : "OpAtomicFlagClear",
3409       "class"  : "Atomic",
3410       "opcode" : 319,
3411       "operands" : [
3412         { "kind" : "IdRef",             "name" : "'Pointer'" },
3413         { "kind" : "IdScope",           "name" : "'Memory'" },
3414         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3415       ],
3416       "capabilities" : [ "Kernel" ]
3417     },
3418     {
3419       "opname" : "OpImageSparseRead",
3420       "class"  : "Image",
3421       "opcode" : 320,
3422       "operands" : [
3423         { "kind" : "IdResultType" },
3424         { "kind" : "IdResult" },
3425         { "kind" : "IdRef",                             "name" : "'Image'" },
3426         { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3427         { "kind" : "ImageOperands", "quantifier" : "?" }
3428       ],
3429       "capabilities" : [ "SparseResidency" ]
3430     },
3431     {
3432       "opname" : "OpSizeOf",
3433       "class"  : "Miscellaneous",
3434       "opcode" : 321,
3435       "operands" : [
3436         { "kind" : "IdResultType" },
3437         { "kind" : "IdResult" },
3438         { "kind" : "IdRef", "name" : "'Pointer'" }
3439       ],
3440       "capabilities" : [ "Addresses" ],
3441       "version" : "1.1"
3442     },
3443     {
3444       "opname" : "OpTypePipeStorage",
3445       "class"  : "Type-Declaration",
3446       "opcode" : 322,
3447       "operands" : [
3448         { "kind" : "IdResult" }
3449       ],
3450       "capabilities" : [ "PipeStorage" ],
3451       "version" : "1.1"
3452     },
3453     {
3454       "opname" : "OpConstantPipeStorage",
3455       "class"  : "Pipe",
3456       "opcode" : 323,
3457       "operands" : [
3458         { "kind" : "IdResultType" },
3459         { "kind" : "IdResult" },
3460         { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
3461         { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
3462         { "kind" : "LiteralInteger", "name" : "'Capacity'" }
3463       ],
3464       "capabilities" : [ "PipeStorage" ],
3465       "version" : "1.1"
3466     },
3467     {
3468       "opname" : "OpCreatePipeFromPipeStorage",
3469       "class"  : "Pipe",
3470       "opcode" : 324,
3471       "operands" : [
3472         { "kind" : "IdResultType" },
3473         { "kind" : "IdResult" },
3474         { "kind" : "IdRef", "name" : "'Pipe Storage'" }
3475       ],
3476       "capabilities" : [ "PipeStorage" ],
3477       "version" : "1.1"
3478     },
3479     {
3480       "opname" : "OpGetKernelLocalSizeForSubgroupCount",
3481       "class"  : "Device-Side_Enqueue",
3482       "opcode" : 325,
3483       "operands" : [
3484         { "kind" : "IdResultType" },
3485         { "kind" : "IdResult" },
3486         { "kind" : "IdRef", "name" : "'Subgroup Count'" },
3487         { "kind" : "IdRef", "name" : "'Invoke'" },
3488         { "kind" : "IdRef", "name" : "'Param'" },
3489         { "kind" : "IdRef", "name" : "'Param Size'" },
3490         { "kind" : "IdRef", "name" : "'Param Align'" }
3491       ],
3492       "capabilities" : [ "SubgroupDispatch" ],
3493       "version" : "1.1"
3494     },
3495     {
3496       "opname" : "OpGetKernelMaxNumSubgroups",
3497       "class"  : "Device-Side_Enqueue",
3498       "opcode" : 326,
3499       "operands" : [
3500         { "kind" : "IdResultType" },
3501         { "kind" : "IdResult" },
3502         { "kind" : "IdRef", "name" : "'Invoke'" },
3503         { "kind" : "IdRef", "name" : "'Param'" },
3504         { "kind" : "IdRef", "name" : "'Param Size'" },
3505         { "kind" : "IdRef", "name" : "'Param Align'" }
3506       ],
3507       "capabilities" : [ "SubgroupDispatch" ],
3508       "version" : "1.1"
3509     },
3510     {
3511       "opname" : "OpTypeNamedBarrier",
3512       "class"  : "Type-Declaration",
3513       "opcode" : 327,
3514       "operands" : [
3515         { "kind" : "IdResult" }
3516       ],
3517       "capabilities" : [ "NamedBarrier" ],
3518       "version" : "1.1"
3519     },
3520     {
3521       "opname" : "OpNamedBarrierInitialize",
3522       "class"  : "Barrier",
3523       "opcode" : 328,
3524       "operands" : [
3525         { "kind" : "IdResultType" },
3526         { "kind" : "IdResult" },
3527         { "kind" : "IdRef", "name" : "'Subgroup Count'" }
3528       ],
3529       "capabilities" : [ "NamedBarrier" ],
3530       "version" : "1.1"
3531     },
3532     {
3533       "opname" : "OpMemoryNamedBarrier",
3534       "class"  : "Barrier",
3535       "opcode" : 329,
3536       "operands" : [
3537         { "kind" : "IdRef", "name" : "'Named Barrier'" },
3538         { "kind" : "IdScope", "name" : "'Memory'" },
3539         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3540       ],
3541       "capabilities" : [ "NamedBarrier" ],
3542       "version" : "1.1"
3543     },
3544     {
3545       "opname" : "OpModuleProcessed",
3546       "class"  : "Debug",
3547       "opcode" : 330,
3548       "operands" : [
3549         { "kind" : "LiteralString", "name" : "'Process'" }
3550       ],
3551       "version" : "1.1"
3552     },
3553     {
3554       "opname" : "OpExecutionModeId",
3555       "class"  : "Mode-Setting",
3556       "opcode" : 331,
3557       "operands" : [
3558         { "kind" : "IdRef", "name" : "'Entry Point'" },
3559         { "kind" : "ExecutionMode", "name" : "'Mode'" }
3560       ],
3561       "version" : "1.2"
3562     },
3563     {
3564       "opname" : "OpDecorateId",
3565       "class"  : "Annotation",
3566       "opcode" : 332,
3567       "operands" : [
3568         { "kind" : "IdRef", "name" : "'Target'" },
3569         { "kind" : "Decoration" }
3570       ],
3571       "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
3572       "version" : "1.2"
3573     },
3574     {
3575       "opname" : "OpGroupNonUniformElect",
3576       "class"  : "Non-Uniform",
3577       "opcode" : 333,
3578       "operands" : [
3579         { "kind" : "IdResultType" },
3580         { "kind" : "IdResult" },
3581         { "kind" : "IdScope", "name" : "'Execution'" }
3582       ],
3583       "capabilities" : [ "GroupNonUniform" ],
3584       "version" : "1.3"
3585     },
3586     {
3587       "opname" : "OpGroupNonUniformAll",
3588       "class"  : "Non-Uniform",
3589       "opcode" : 334,
3590       "operands" : [
3591         { "kind" : "IdResultType" },
3592         { "kind" : "IdResult" },
3593         { "kind" : "IdScope", "name" : "'Execution'" },
3594         { "kind" : "IdRef", "name" : "'Predicate'" }
3595       ],
3596       "capabilities" : [ "GroupNonUniformVote" ],
3597       "version" : "1.3"
3598     },
3599     {
3600       "opname" : "OpGroupNonUniformAny",
3601       "class"  : "Non-Uniform",
3602       "opcode" : 335,
3603       "operands" : [
3604         { "kind" : "IdResultType" },
3605         { "kind" : "IdResult" },
3606         { "kind" : "IdScope", "name" : "'Execution'" },
3607         { "kind" : "IdRef", "name" : "'Predicate'" }
3608       ],
3609       "capabilities" : [ "GroupNonUniformVote" ],
3610       "version" : "1.3"
3611     },
3612     {
3613       "opname" : "OpGroupNonUniformAllEqual",
3614       "class"  : "Non-Uniform",
3615       "opcode" : 336,
3616       "operands" : [
3617         { "kind" : "IdResultType" },
3618         { "kind" : "IdResult" },
3619         { "kind" : "IdScope", "name" : "'Execution'" },
3620         { "kind" : "IdRef", "name" : "'Value'" }
3621       ],
3622       "capabilities" : [ "GroupNonUniformVote" ],
3623       "version" : "1.3"
3624     },
3625     {
3626       "opname" : "OpGroupNonUniformBroadcast",
3627       "class"  : "Non-Uniform",
3628       "opcode" : 337,
3629       "operands" : [
3630         { "kind" : "IdResultType" },
3631         { "kind" : "IdResult" },
3632         { "kind" : "IdScope", "name" : "'Execution'" },
3633         { "kind" : "IdRef", "name" : "'Value'" },
3634         { "kind" : "IdRef", "name" : "'Id'" }
3635       ],
3636       "capabilities" : [ "GroupNonUniformBallot" ],
3637       "version" : "1.3"
3638     },
3639     {
3640       "opname" : "OpGroupNonUniformBroadcastFirst",
3641       "class"  : "Non-Uniform",
3642       "opcode" : 338,
3643       "operands" : [
3644         { "kind" : "IdResultType" },
3645         { "kind" : "IdResult" },
3646         { "kind" : "IdScope", "name" : "'Execution'" },
3647         { "kind" : "IdRef", "name" : "'Value'" }
3648       ],
3649       "capabilities" : [ "GroupNonUniformBallot" ],
3650       "version" : "1.3"
3651     },
3652     {
3653       "opname" : "OpGroupNonUniformBallot",
3654       "class"  : "Non-Uniform",
3655       "opcode" : 339,
3656       "operands" : [
3657         { "kind" : "IdResultType" },
3658         { "kind" : "IdResult" },
3659         { "kind" : "IdScope", "name" : "'Execution'" },
3660         { "kind" : "IdRef", "name" : "'Predicate'" }
3661       ],
3662       "capabilities" : [ "GroupNonUniformBallot" ],
3663       "version" : "1.3"
3664     },
3665     {
3666       "opname" : "OpGroupNonUniformInverseBallot",
3667       "class"  : "Non-Uniform",
3668       "opcode" : 340,
3669       "operands" : [
3670         { "kind" : "IdResultType" },
3671         { "kind" : "IdResult" },
3672         { "kind" : "IdScope", "name" : "'Execution'" },
3673         { "kind" : "IdRef", "name" : "'Value'" }
3674       ],
3675       "capabilities" : [ "GroupNonUniformBallot" ],
3676       "version" : "1.3"
3677     },
3678     {
3679       "opname" : "OpGroupNonUniformBallotBitExtract",
3680       "class"  : "Non-Uniform",
3681       "opcode" : 341,
3682       "operands" : [
3683         { "kind" : "IdResultType" },
3684         { "kind" : "IdResult" },
3685         { "kind" : "IdScope", "name" : "'Execution'" },
3686         { "kind" : "IdRef", "name" : "'Value'" },
3687         { "kind" : "IdRef", "name" : "'Index'" }
3688       ],
3689       "capabilities" : [ "GroupNonUniformBallot" ],
3690       "version" : "1.3"
3691     },
3692     {
3693       "opname" : "OpGroupNonUniformBallotBitCount",
3694       "class"  : "Non-Uniform",
3695       "opcode" : 342,
3696       "operands" : [
3697         { "kind" : "IdResultType" },
3698         { "kind" : "IdResult" },
3699         { "kind" : "IdScope", "name" : "'Execution'" },
3700         { "kind" : "GroupOperation", "name" : "'Operation'" },
3701         { "kind" : "IdRef", "name" : "'Value'" }
3702       ],
3703       "capabilities" : [ "GroupNonUniformBallot" ],
3704       "version" : "1.3"
3705     },
3706     {
3707       "opname" : "OpGroupNonUniformBallotFindLSB",
3708       "class"  : "Non-Uniform",
3709       "opcode" : 343,
3710       "operands" : [
3711         { "kind" : "IdResultType" },
3712         { "kind" : "IdResult" },
3713         { "kind" : "IdScope", "name" : "'Execution'" },
3714         { "kind" : "IdRef", "name" : "'Value'" }
3715       ],
3716       "capabilities" : [ "GroupNonUniformBallot" ],
3717       "version" : "1.3"
3718     },
3719     {
3720       "opname" : "OpGroupNonUniformBallotFindMSB",
3721       "class"  : "Non-Uniform",
3722       "opcode" : 344,
3723       "operands" : [
3724         { "kind" : "IdResultType" },
3725         { "kind" : "IdResult" },
3726         { "kind" : "IdScope", "name" : "'Execution'" },
3727         { "kind" : "IdRef", "name" : "'Value'" }
3728       ],
3729       "capabilities" : [ "GroupNonUniformBallot" ],
3730       "version" : "1.3"
3731     },
3732     {
3733       "opname" : "OpGroupNonUniformShuffle",
3734       "class"  : "Non-Uniform",
3735       "opcode" : 345,
3736       "operands" : [
3737         { "kind" : "IdResultType" },
3738         { "kind" : "IdResult" },
3739         { "kind" : "IdScope", "name" : "'Execution'" },
3740         { "kind" : "IdRef", "name" : "'Value'" },
3741         { "kind" : "IdRef", "name" : "'Id'" }
3742       ],
3743       "capabilities" : [ "GroupNonUniformShuffle" ],
3744       "version" : "1.3"
3745     },
3746     {
3747       "opname" : "OpGroupNonUniformShuffleXor",
3748       "class"  : "Non-Uniform",
3749       "opcode" : 346,
3750       "operands" : [
3751         { "kind" : "IdResultType" },
3752         { "kind" : "IdResult" },
3753         { "kind" : "IdScope", "name" : "'Execution'" },
3754         { "kind" : "IdRef", "name" : "'Value'" },
3755         { "kind" : "IdRef", "name" : "'Mask'" }
3756       ],
3757       "capabilities" : [ "GroupNonUniformShuffle" ],
3758       "version" : "1.3"
3759     },
3760     {
3761       "opname" : "OpGroupNonUniformShuffleUp",
3762       "class"  : "Non-Uniform",
3763       "opcode" : 347,
3764       "operands" : [
3765         { "kind" : "IdResultType" },
3766         { "kind" : "IdResult" },
3767         { "kind" : "IdScope", "name" : "'Execution'" },
3768         { "kind" : "IdRef", "name" : "'Value'" },
3769         { "kind" : "IdRef", "name" : "'Delta'" }
3770       ],
3771       "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3772       "version" : "1.3"
3773     },
3774     {
3775       "opname" : "OpGroupNonUniformShuffleDown",
3776       "class"  : "Non-Uniform",
3777       "opcode" : 348,
3778       "operands" : [
3779         { "kind" : "IdResultType" },
3780         { "kind" : "IdResult" },
3781         { "kind" : "IdScope", "name" : "'Execution'" },
3782         { "kind" : "IdRef", "name" : "'Value'" },
3783         { "kind" : "IdRef", "name" : "'Delta'" }
3784       ],
3785       "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3786       "version" : "1.3"
3787     },
3788     {
3789       "opname" : "OpGroupNonUniformIAdd",
3790       "class"  : "Non-Uniform",
3791       "opcode" : 349,
3792       "operands" : [
3793         { "kind" : "IdResultType" },
3794         { "kind" : "IdResult" },
3795         { "kind" : "IdScope", "name" : "'Execution'" },
3796         { "kind" : "GroupOperation", "name" : "'Operation'" },
3797         { "kind" : "IdRef", "name" : "'Value'" },
3798         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3799       ],
3800       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3801       "version" : "1.3"
3802     },
3803     {
3804       "opname" : "OpGroupNonUniformFAdd",
3805       "class"  : "Non-Uniform",
3806       "opcode" : 350,
3807       "operands" : [
3808         { "kind" : "IdResultType" },
3809         { "kind" : "IdResult" },
3810         { "kind" : "IdScope", "name" : "'Execution'" },
3811         { "kind" : "GroupOperation", "name" : "'Operation'" },
3812         { "kind" : "IdRef", "name" : "'Value'" },
3813         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3814       ],
3815       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3816       "version" : "1.3"
3817     },
3818     {
3819       "opname" : "OpGroupNonUniformIMul",
3820       "class"  : "Non-Uniform",
3821       "opcode" : 351,
3822       "operands" : [
3823         { "kind" : "IdResultType" },
3824         { "kind" : "IdResult" },
3825         { "kind" : "IdScope", "name" : "'Execution'" },
3826         { "kind" : "GroupOperation", "name" : "'Operation'" },
3827         { "kind" : "IdRef", "name" : "'Value'" },
3828         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3829       ],
3830       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3831       "version" : "1.3"
3832     },
3833     {
3834       "opname" : "OpGroupNonUniformFMul",
3835       "class"  : "Non-Uniform",
3836       "opcode" : 352,
3837       "operands" : [
3838         { "kind" : "IdResultType" },
3839         { "kind" : "IdResult" },
3840         { "kind" : "IdScope", "name" : "'Execution'" },
3841         { "kind" : "GroupOperation", "name" : "'Operation'" },
3842         { "kind" : "IdRef", "name" : "'Value'" },
3843         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3844       ],
3845       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3846       "version" : "1.3"
3847     },
3848     {
3849       "opname" : "OpGroupNonUniformSMin",
3850       "class"  : "Non-Uniform",
3851       "opcode" : 353,
3852       "operands" : [
3853         { "kind" : "IdResultType" },
3854         { "kind" : "IdResult" },
3855         { "kind" : "IdScope", "name" : "'Execution'" },
3856         { "kind" : "GroupOperation", "name" : "'Operation'" },
3857         { "kind" : "IdRef", "name" : "'Value'" },
3858         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3859       ],
3860       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3861       "version" : "1.3"
3862     },
3863     {
3864       "opname" : "OpGroupNonUniformUMin",
3865       "class"  : "Non-Uniform",
3866       "opcode" : 354,
3867       "operands" : [
3868         { "kind" : "IdResultType" },
3869         { "kind" : "IdResult" },
3870         { "kind" : "IdScope", "name" : "'Execution'" },
3871         { "kind" : "GroupOperation", "name" : "'Operation'" },
3872         { "kind" : "IdRef", "name" : "'Value'" },
3873         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3874       ],
3875       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3876       "version" : "1.3"
3877     },
3878     {
3879       "opname" : "OpGroupNonUniformFMin",
3880       "class"  : "Non-Uniform",
3881       "opcode" : 355,
3882       "operands" : [
3883         { "kind" : "IdResultType" },
3884         { "kind" : "IdResult" },
3885         { "kind" : "IdScope", "name" : "'Execution'" },
3886         { "kind" : "GroupOperation", "name" : "'Operation'" },
3887         { "kind" : "IdRef", "name" : "'Value'" },
3888         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3889       ],
3890       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3891       "version" : "1.3"
3892     },
3893     {
3894       "opname" : "OpGroupNonUniformSMax",
3895       "class"  : "Non-Uniform",
3896       "opcode" : 356,
3897       "operands" : [
3898         { "kind" : "IdResultType" },
3899         { "kind" : "IdResult" },
3900         { "kind" : "IdScope", "name" : "'Execution'" },
3901         { "kind" : "GroupOperation", "name" : "'Operation'" },
3902         { "kind" : "IdRef", "name" : "'Value'" },
3903         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3904       ],
3905       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3906       "version" : "1.3"
3907     },
3908     {
3909       "opname" : "OpGroupNonUniformUMax",
3910       "class"  : "Non-Uniform",
3911       "opcode" : 357,
3912       "operands" : [
3913         { "kind" : "IdResultType" },
3914         { "kind" : "IdResult" },
3915         { "kind" : "IdScope", "name" : "'Execution'" },
3916         { "kind" : "GroupOperation", "name" : "'Operation'" },
3917         { "kind" : "IdRef", "name" : "'Value'" },
3918         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3919       ],
3920       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3921       "version" : "1.3"
3922     },
3923     {
3924       "opname" : "OpGroupNonUniformFMax",
3925       "class"  : "Non-Uniform",
3926       "opcode" : 358,
3927       "operands" : [
3928         { "kind" : "IdResultType" },
3929         { "kind" : "IdResult" },
3930         { "kind" : "IdScope", "name" : "'Execution'" },
3931         { "kind" : "GroupOperation", "name" : "'Operation'" },
3932         { "kind" : "IdRef", "name" : "'Value'" },
3933         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3934       ],
3935       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3936       "version" : "1.3"
3937     },
3938     {
3939       "opname" : "OpGroupNonUniformBitwiseAnd",
3940       "class"  : "Non-Uniform",
3941       "opcode" : 359,
3942       "operands" : [
3943         { "kind" : "IdResultType" },
3944         { "kind" : "IdResult" },
3945         { "kind" : "IdScope", "name" : "'Execution'" },
3946         { "kind" : "GroupOperation", "name" : "'Operation'" },
3947         { "kind" : "IdRef", "name" : "'Value'" },
3948         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3949       ],
3950       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3951       "version" : "1.3"
3952     },
3953     {
3954       "opname" : "OpGroupNonUniformBitwiseOr",
3955       "class"  : "Non-Uniform",
3956       "opcode" : 360,
3957       "operands" : [
3958         { "kind" : "IdResultType" },
3959         { "kind" : "IdResult" },
3960         { "kind" : "IdScope", "name" : "'Execution'" },
3961         { "kind" : "GroupOperation", "name" : "'Operation'" },
3962         { "kind" : "IdRef", "name" : "'Value'" },
3963         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3964       ],
3965       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3966       "version" : "1.3"
3967     },
3968     {
3969       "opname" : "OpGroupNonUniformBitwiseXor",
3970       "class"  : "Non-Uniform",
3971       "opcode" : 361,
3972       "operands" : [
3973         { "kind" : "IdResultType" },
3974         { "kind" : "IdResult" },
3975         { "kind" : "IdScope", "name" : "'Execution'" },
3976         { "kind" : "GroupOperation", "name" : "'Operation'" },
3977         { "kind" : "IdRef", "name" : "'Value'" },
3978         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3979       ],
3980       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3981       "version" : "1.3"
3982     },
3983     {
3984       "opname" : "OpGroupNonUniformLogicalAnd",
3985       "class"  : "Non-Uniform",
3986       "opcode" : 362,
3987       "operands" : [
3988         { "kind" : "IdResultType" },
3989         { "kind" : "IdResult" },
3990         { "kind" : "IdScope", "name" : "'Execution'" },
3991         { "kind" : "GroupOperation", "name" : "'Operation'" },
3992         { "kind" : "IdRef", "name" : "'Value'" },
3993         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3994       ],
3995       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3996       "version" : "1.3"
3997     },
3998     {
3999       "opname" : "OpGroupNonUniformLogicalOr",
4000       "class"  : "Non-Uniform",
4001       "opcode" : 363,
4002       "operands" : [
4003         { "kind" : "IdResultType" },
4004         { "kind" : "IdResult" },
4005         { "kind" : "IdScope", "name" : "'Execution'" },
4006         { "kind" : "GroupOperation", "name" : "'Operation'" },
4007         { "kind" : "IdRef", "name" : "'Value'" },
4008         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4009       ],
4010       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4011       "version" : "1.3"
4012     },
4013     {
4014       "opname" : "OpGroupNonUniformLogicalXor",
4015       "class"  : "Non-Uniform",
4016       "opcode" : 364,
4017       "operands" : [
4018         { "kind" : "IdResultType" },
4019         { "kind" : "IdResult" },
4020         { "kind" : "IdScope", "name" : "'Execution'" },
4021         { "kind" : "GroupOperation", "name" : "'Operation'" },
4022         { "kind" : "IdRef", "name" : "'Value'" },
4023         { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4024       ],
4025       "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4026       "version" : "1.3"
4027     },
4028     {
4029       "opname" : "OpGroupNonUniformQuadBroadcast",
4030       "class"  : "Non-Uniform",
4031       "opcode" : 365,
4032       "operands" : [
4033         { "kind" : "IdResultType" },
4034         { "kind" : "IdResult" },
4035         { "kind" : "IdScope", "name" : "'Execution'" },
4036         { "kind" : "IdRef", "name" : "'Value'" },
4037         { "kind" : "IdRef", "name" : "'Index'" }
4038       ],
4039       "capabilities" : [ "GroupNonUniformQuad" ],
4040       "version" : "1.3"
4041     },
4042     {
4043       "opname" : "OpGroupNonUniformQuadSwap",
4044       "class"  : "Non-Uniform",
4045       "opcode" : 366,
4046       "operands" : [
4047         { "kind" : "IdResultType" },
4048         { "kind" : "IdResult" },
4049         { "kind" : "IdScope", "name" : "'Execution'" },
4050         { "kind" : "IdRef", "name" : "'Value'" },
4051         { "kind" : "IdRef", "name" : "'Direction'" }
4052       ],
4053       "capabilities" : [ "GroupNonUniformQuad" ],
4054       "version" : "1.3"
4055     },
4056     {
4057       "opname" : "OpCopyLogical",
4058       "class"  : "Composite",
4059       "opcode" : 400,
4060       "operands" : [
4061         { "kind" : "IdResultType" },
4062         { "kind" : "IdResult" },
4063         { "kind" : "IdRef",        "name" : "'Operand'" }
4064       ],
4065       "version" : "1.4"
4066     },
4067     {
4068       "opname" : "OpPtrEqual",
4069       "class"  : "Memory",
4070       "opcode" : 401,
4071       "operands" : [
4072         { "kind" : "IdResultType" },
4073         { "kind" : "IdResult" },
4074         { "kind" : "IdRef",        "name" : "'Operand 1'" },
4075         { "kind" : "IdRef",        "name" : "'Operand 2'" }
4076       ],
4077       "version" : "1.4"
4078     },
4079     {
4080       "opname" : "OpPtrNotEqual",
4081       "class"  : "Memory",
4082       "opcode" : 402,
4083       "operands" : [
4084         { "kind" : "IdResultType" },
4085         { "kind" : "IdResult" },
4086         { "kind" : "IdRef",        "name" : "'Operand 1'" },
4087         { "kind" : "IdRef",        "name" : "'Operand 2'" }
4088       ],
4089       "version" : "1.4"
4090     },
4091     {
4092       "opname" : "OpPtrDiff",
4093       "class"  : "Memory",
4094       "opcode" : 403,
4095       "operands" : [
4096         { "kind" : "IdResultType" },
4097         { "kind" : "IdResult" },
4098         { "kind" : "IdRef",        "name" : "'Operand 1'" },
4099         { "kind" : "IdRef",        "name" : "'Operand 2'" }
4100       ],
4101       "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
4102       "version" : "1.4"
4103     },
4104     {
4105       "opname" : "OpTerminateInvocation",
4106       "class"  : "Control-Flow",
4107       "opcode" : 4416,
4108       "extensions" : [
4109         "SPV_KHR_terminate_invocation"
4110       ],
4111       "capabilities" : [ "Shader" ],
4112       "version" : "None"
4113     },
4114     {
4115       "opname" : "OpSubgroupBallotKHR",
4116       "class"  : "Group",
4117       "opcode" : 4421,
4118       "operands" : [
4119         { "kind" : "IdResultType" },
4120         { "kind" : "IdResult" },
4121         { "kind" : "IdRef", "name" : "'Predicate'" }
4122       ],
4123       "capabilities" : [ "SubgroupBallotKHR" ],
4124       "extensions" : [ "SPV_KHR_shader_ballot" ],
4125       "version" : "None"
4126     },
4127     {
4128       "opname" : "OpSubgroupFirstInvocationKHR",
4129       "class"  : "Group",
4130       "opcode" : 4422,
4131       "operands" : [
4132         { "kind" : "IdResultType" },
4133         { "kind" : "IdResult" },
4134         { "kind" : "IdRef", "name" : "'Value'" }
4135       ],
4136       "capabilities" : [ "SubgroupBallotKHR" ],
4137       "extensions" : [ "SPV_KHR_shader_ballot" ],
4138       "version" : "None"
4139     },
4140     {
4141       "opname" : "OpSubgroupAllKHR",
4142       "class"  : "Group",
4143       "opcode" : 4428,
4144       "operands" : [
4145         { "kind" : "IdResultType" },
4146         { "kind" : "IdResult" },
4147         { "kind" : "IdRef", "name" : "'Predicate'" }
4148       ],
4149       "extensions" : [
4150         "SPV_KHR_subgroup_vote"
4151       ],
4152       "capabilities" : [ "SubgroupVoteKHR" ],
4153       "version" : "None"
4154     },
4155     {
4156       "opname" : "OpSubgroupAnyKHR",
4157       "class"  : "Group",
4158       "opcode" : 4429,
4159       "operands" : [
4160         { "kind" : "IdResultType" },
4161         { "kind" : "IdResult" },
4162         { "kind" : "IdRef", "name" : "'Predicate'" }
4163       ],
4164       "extensions" : [
4165         "SPV_KHR_subgroup_vote"
4166       ],
4167       "capabilities" : [ "SubgroupVoteKHR" ],
4168       "version" : "None"
4169     },
4170     {
4171       "opname" : "OpSubgroupAllEqualKHR",
4172       "class"  : "Group",
4173       "opcode" : 4430,
4174       "operands" : [
4175         { "kind" : "IdResultType" },
4176         { "kind" : "IdResult" },
4177         { "kind" : "IdRef", "name" : "'Predicate'" }
4178       ],
4179       "extensions" : [
4180         "SPV_KHR_subgroup_vote"
4181       ],
4182       "capabilities" : [ "SubgroupVoteKHR" ],
4183       "version" : "None"
4184     },
4185     {
4186       "opname" : "OpSubgroupReadInvocationKHR",
4187       "class"  : "Group",
4188       "opcode" : 4432,
4189       "operands" : [
4190         { "kind" : "IdResultType" },
4191         { "kind" : "IdResult" },
4192         { "kind" : "IdRef", "name" : "'Value'" },
4193         { "kind" : "IdRef", "name" : "'Index'" }
4194       ],
4195       "capabilities" : [ "SubgroupBallotKHR" ],
4196       "extensions" : [ "SPV_KHR_shader_ballot" ],
4197       "version" : "None"
4198     },
4199     {
4200       "opname" : "OpTraceRayKHR",
4201       "class"  : "Reserved",
4202       "opcode" : 4445,
4203       "operands" : [
4204
4205         { "kind" : "IdRef", "name" : "'Accel'" },
4206         { "kind" : "IdRef", "name" : "'Ray Flags'" },
4207         { "kind" : "IdRef", "name" : "'Cull Mask'" },
4208         { "kind" : "IdRef", "name" : "'SBT Offset'" },
4209         { "kind" : "IdRef", "name" : "'SBT Stride'" },
4210         { "kind" : "IdRef", "name" : "'Miss Index'" },
4211         { "kind" : "IdRef", "name" : "'Ray Origin'" },
4212         { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4213         { "kind" : "IdRef", "name" : "'Ray Direction'" },
4214         { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4215         { "kind" : "IdRef", "name" : "'Payload'" }
4216       ],
4217       "capabilities" : [ "RayTracingKHR" ],
4218       "extensions" : [ "SPV_KHR_ray_tracing" ],
4219       "version" : "None"
4220     },
4221     {
4222       "opname" : "OpExecuteCallableKHR",
4223       "class"  : "Reserved",
4224       "opcode" : 4446,
4225       "operands" : [
4226
4227         { "kind" : "IdRef", "name" : "'SBT Index'" },
4228         { "kind" : "IdRef", "name" : "'Callable Data'" }
4229       ],
4230       "capabilities" : [ "RayTracingKHR" ],
4231       "extensions" : [ "SPV_KHR_ray_tracing" ],
4232       "version" : "None"
4233     },
4234     {
4235       "opname" : "OpConvertUToAccelerationStructureKHR",
4236       "class"  : "Reserved",
4237       "opcode" : 4447,
4238       "operands" : [
4239         { "kind" : "IdResultType" },
4240         { "kind" : "IdResult" },
4241         { "kind" : "IdRef",        "name" : "'Accel'" }
4242       ],
4243       "capabilities" : [ "RayTracingKHR", "RayQueryKHR" ],
4244       "extensions" : [ "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4245       "version" : "None"
4246     },
4247     {
4248       "opname" : "OpIgnoreIntersectionKHR",
4249       "class"  : "Reserved",
4250       "opcode" : 4448,
4251       "capabilities" : [ "RayTracingKHR" ],
4252       "extensions" : [ "SPV_KHR_ray_tracing" ],
4253       "version" : "None"
4254     },
4255     {
4256       "opname" : "OpTerminateRayKHR",
4257       "class"  : "Reserved",
4258       "opcode" : 4449,
4259       "capabilities" : [ "RayTracingKHR" ],
4260       "extensions" : [ "SPV_KHR_ray_tracing" ],
4261       "version" : "None"
4262     },
4263     {
4264       "opname" : "OpSDotKHR",
4265       "class"  : "Arithmetic",
4266       "opcode" : 4450,
4267       "operands" : [
4268         { "kind" : "IdResultType" },
4269         { "kind" : "IdResult" },
4270         { "kind" : "IdRef", "name" : "'Vector 1'" },
4271         { "kind" : "IdRef", "name" : "'Vector 2'" },
4272         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4273       ],
4274       "capabilities" : [ "DotProductKHR" ],
4275       "version" : "None"
4276     },
4277     {
4278       "opname" : "OpUDotKHR",
4279       "class"  : "Arithmetic",
4280       "opcode" : 4451,
4281       "operands" : [
4282         { "kind" : "IdResultType" },
4283         { "kind" : "IdResult" },
4284         { "kind" : "IdRef", "name" : "'Vector 1'" },
4285         { "kind" : "IdRef", "name" : "'Vector 2'" },
4286         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4287       ],
4288       "capabilities" : [ "DotProductKHR" ],
4289       "version" : "None"
4290     },
4291     {
4292       "opname" : "OpSUDotKHR",
4293       "class"  : "Arithmetic",
4294       "opcode" : 4452,
4295       "operands" : [
4296         { "kind" : "IdResultType" },
4297         { "kind" : "IdResult" },
4298         { "kind" : "IdRef", "name" : "'Vector 1'" },
4299         { "kind" : "IdRef", "name" : "'Vector 2'" },
4300         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4301       ],
4302       "capabilities" : [ "DotProductKHR" ],
4303       "version" : "None"
4304     },
4305     {
4306       "opname" : "OpSDotAccSatKHR",
4307       "class"  : "Arithmetic",
4308       "opcode" : 4453,
4309       "operands" : [
4310         { "kind" : "IdResultType" },
4311         { "kind" : "IdResult" },
4312         { "kind" : "IdRef", "name" : "'Vector 1'" },
4313         { "kind" : "IdRef", "name" : "'Vector 2'" },
4314         { "kind" : "IdRef", "name" : "'Accumulator'" },
4315         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4316       ],
4317       "capabilities" : [ "DotProductKHR" ],
4318       "version" : "None"
4319     },
4320     {
4321       "opname" : "OpUDotAccSatKHR",
4322       "class"  : "Arithmetic",
4323       "opcode" : 4454,
4324       "operands" : [
4325         { "kind" : "IdResultType" },
4326         { "kind" : "IdResult" },
4327         { "kind" : "IdRef", "name" : "'Vector 1'" },
4328         { "kind" : "IdRef", "name" : "'Vector 2'" },
4329         { "kind" : "IdRef", "name" : "'Accumulator'" },
4330         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4331       ],
4332       "capabilities" : [ "DotProductKHR" ],
4333       "version" : "None"
4334     },
4335     {
4336       "opname" : "OpSUDotAccSatKHR",
4337       "class"  : "Arithmetic",
4338       "opcode" : 4455,
4339       "operands" : [
4340         { "kind" : "IdResultType" },
4341         { "kind" : "IdResult" },
4342         { "kind" : "IdRef", "name" : "'Vector 1'" },
4343         { "kind" : "IdRef", "name" : "'Vector 2'" },
4344         { "kind" : "IdRef", "name" : "'Accumulator'" },
4345         { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" }
4346       ],
4347       "capabilities" : [ "DotProductKHR" ],
4348       "version" : "None"
4349     },
4350     {
4351         "opname" : "OpTypeRayQueryKHR",
4352         "class" : "Reserved",
4353         "opcode" : 4472,
4354         "operands" : [
4355             { "kind" : "IdResult" }
4356         ],
4357         "capabilities" : [ "RayQueryKHR" ],
4358         "extensions" : [ "SPV_KHR_ray_query" ],
4359         "version" : "None"
4360     },
4361     {
4362         "opname" : "OpRayQueryInitializeKHR",
4363         "class" : "Reserved",
4364         "opcode" : 4473,
4365         "operands" : [
4366             {
4367                 "kind" : "IdRef",
4368                 "name" : "'RayQuery'"
4369             },
4370             {
4371                 "kind" : "IdRef",
4372                 "name" : "'Accel'"
4373             },
4374             {
4375                 "kind" : "IdRef",
4376                 "name" : "'RayFlags'"
4377             },
4378             {
4379                 "kind" : "IdRef",
4380                 "name" : "'CullMask'"
4381             },
4382             {
4383                 "kind" : "IdRef",
4384                 "name" : "'RayOrigin'"
4385             },
4386             {
4387                 "kind" : "IdRef",
4388                 "name" : "'RayTMin'"
4389             },
4390             {
4391                 "kind" : "IdRef",
4392                 "name" : "'RayDirection'"
4393             },
4394             {
4395                 "kind" : "IdRef",
4396                 "name" : "'RayTMax'"
4397             }
4398
4399         ],
4400         "capabilities" : [ "RayQueryKHR" ],
4401         "extensions" : [ "SPV_KHR_ray_query" ],
4402         "version" : "None"
4403     },
4404     {
4405         "opname" : "OpRayQueryTerminateKHR",
4406         "class" : "Reserved",
4407         "opcode" : 4474,
4408         "operands" : [
4409             {
4410                 "kind" : "IdRef",
4411                 "name" : "'RayQuery'"
4412             }
4413         ],
4414         "capabilities" : [ "RayQueryKHR" ],
4415         "extensions" : [ "SPV_KHR_ray_query" ],
4416         "version" : "None"
4417     },
4418     {
4419         "opname" : "OpRayQueryGenerateIntersectionKHR",
4420         "class" : "Reserved",
4421         "opcode" : 4475,
4422         "operands" : [
4423             {
4424                 "kind" : "IdRef",
4425                 "name" : "'RayQuery'"
4426             },
4427             {
4428                 "kind" : "IdRef",
4429                 "name" : "'HitT'"
4430             }
4431         ],
4432         "capabilities" : [ "RayQueryKHR" ],
4433         "extensions" : [ "SPV_KHR_ray_query" ],
4434         "version" : "None"
4435     },
4436     {
4437         "opname" : "OpRayQueryConfirmIntersectionKHR",
4438         "class" : "Reserved",
4439         "opcode" : 4476,
4440         "operands" : [
4441             {
4442                 "kind" : "IdRef",
4443                 "name" : "'RayQuery'"
4444             }
4445         ],
4446         "capabilities" : [ "RayQueryKHR" ],
4447         "extensions" : [ "SPV_KHR_ray_query" ],
4448         "version" : "None"
4449     },
4450     {
4451         "opname" : "OpRayQueryProceedKHR",
4452         "class" : "Reserved",
4453         "opcode" : 4477,
4454         "operands" : [
4455             { "kind" : "IdResultType" },
4456             { "kind" : "IdResult" },
4457             {
4458                 "kind" : "IdRef",
4459                 "name" : "'RayQuery'"
4460             }
4461         ],
4462         "capabilities" : [ "RayQueryKHR" ],
4463         "extensions" : [ "SPV_KHR_ray_query" ],
4464         "version" : "None"
4465     },
4466     {
4467         "opname" : "OpRayQueryGetIntersectionTypeKHR",
4468         "class" : "Reserved",
4469         "opcode" : 4479,
4470         "operands" : [
4471             { "kind" : "IdResultType" },
4472             { "kind" : "IdResult" },
4473             {
4474                 "kind" : "IdRef",
4475                 "name" : "'RayQuery'"
4476             },
4477             {
4478                 "kind" : "IdRef",
4479                 "name" : "'Intersection'"
4480             }
4481         ],
4482         "capabilities" : [ "RayQueryKHR" ],
4483         "extensions" : [ "SPV_KHR_ray_query" ],
4484         "version" : "None"
4485     },
4486     {
4487       "opname" : "OpGroupIAddNonUniformAMD",
4488       "class"  : "Group",
4489       "opcode" : 5000,
4490       "operands" : [
4491         { "kind" : "IdResultType" },
4492         { "kind" : "IdResult" },
4493         { "kind" : "IdScope",        "name" : "'Execution'" },
4494         { "kind" : "GroupOperation", "name" : "'Operation'" },
4495         { "kind" : "IdRef",          "name" : "'X'" }
4496       ],
4497       "capabilities" : [ "Groups" ],
4498       "extensions" : [ "SPV_AMD_shader_ballot" ],
4499       "version" : "None"
4500     },
4501     {
4502       "opname" : "OpGroupFAddNonUniformAMD",
4503       "class"  : "Group",
4504       "opcode" : 5001,
4505       "operands" : [
4506         { "kind" : "IdResultType" },
4507         { "kind" : "IdResult" },
4508         { "kind" : "IdScope",        "name" : "'Execution'" },
4509         { "kind" : "GroupOperation", "name" : "'Operation'" },
4510         { "kind" : "IdRef",          "name" : "'X'" }
4511       ],
4512       "capabilities" : [ "Groups" ],
4513       "extensions" : [ "SPV_AMD_shader_ballot" ],
4514       "version" : "None"
4515     },
4516     {
4517       "opname" : "OpGroupFMinNonUniformAMD",
4518       "class"  : "Group",
4519       "opcode" : 5002,
4520       "operands" : [
4521         { "kind" : "IdResultType" },
4522         { "kind" : "IdResult" },
4523         { "kind" : "IdScope",        "name" : "'Execution'" },
4524         { "kind" : "GroupOperation", "name" : "'Operation'" },
4525         { "kind" : "IdRef",          "name" : "'X'" }
4526       ],
4527       "capabilities" : [ "Groups" ],
4528       "extensions" : [ "SPV_AMD_shader_ballot" ],
4529       "version" : "None"
4530     },
4531     {
4532       "opname" : "OpGroupUMinNonUniformAMD",
4533       "class"  : "Group",
4534       "opcode" : 5003,
4535       "operands" : [
4536         { "kind" : "IdResultType" },
4537         { "kind" : "IdResult" },
4538         { "kind" : "IdScope",        "name" : "'Execution'" },
4539         { "kind" : "GroupOperation", "name" : "'Operation'" },
4540         { "kind" : "IdRef",          "name" : "'X'" }
4541       ],
4542       "capabilities" : [ "Groups" ],
4543       "extensions" : [ "SPV_AMD_shader_ballot" ],
4544       "version" : "None"
4545     },
4546     {
4547       "opname" : "OpGroupSMinNonUniformAMD",
4548       "class"  : "Group",
4549       "opcode" : 5004,
4550       "operands" : [
4551         { "kind" : "IdResultType" },
4552         { "kind" : "IdResult" },
4553         { "kind" : "IdScope",        "name" : "'Execution'" },
4554         { "kind" : "GroupOperation", "name" : "'Operation'" },
4555         { "kind" : "IdRef",          "name" : "'X'" }
4556       ],
4557       "capabilities" : [ "Groups" ],
4558       "extensions" : [ "SPV_AMD_shader_ballot" ],
4559       "version" : "None"
4560     },
4561     {
4562       "opname" : "OpGroupFMaxNonUniformAMD",
4563       "class"  : "Group",
4564       "opcode" : 5005,
4565       "operands" : [
4566         { "kind" : "IdResultType" },
4567         { "kind" : "IdResult" },
4568         { "kind" : "IdScope",        "name" : "'Execution'" },
4569         { "kind" : "GroupOperation", "name" : "'Operation'" },
4570         { "kind" : "IdRef",          "name" : "'X'" }
4571       ],
4572       "capabilities" : [ "Groups" ],
4573       "extensions" : [ "SPV_AMD_shader_ballot" ],
4574       "version" : "None"
4575     },
4576     {
4577       "opname" : "OpGroupUMaxNonUniformAMD",
4578       "class"  : "Group",
4579       "opcode" : 5006,
4580       "operands" : [
4581         { "kind" : "IdResultType" },
4582         { "kind" : "IdResult" },
4583         { "kind" : "IdScope",        "name" : "'Execution'" },
4584         { "kind" : "GroupOperation", "name" : "'Operation'" },
4585         { "kind" : "IdRef",          "name" : "'X'" }
4586       ],
4587       "capabilities" : [ "Groups" ],
4588       "extensions" : [ "SPV_AMD_shader_ballot" ],
4589       "version" : "None"
4590     },
4591     {
4592       "opname" : "OpGroupSMaxNonUniformAMD",
4593       "class"  : "Group",
4594       "opcode" : 5007,
4595       "operands" : [
4596         { "kind" : "IdResultType" },
4597         { "kind" : "IdResult" },
4598         { "kind" : "IdScope",        "name" : "'Execution'" },
4599         { "kind" : "GroupOperation", "name" : "'Operation'" },
4600         { "kind" : "IdRef",          "name" : "'X'" }
4601       ],
4602       "capabilities" : [ "Groups" ],
4603       "extensions" : [ "SPV_AMD_shader_ballot" ],
4604       "version" : "None"
4605     },
4606     {
4607       "opname" : "OpFragmentMaskFetchAMD",
4608       "class"  : "Reserved",
4609       "opcode" : 5011,
4610       "operands" : [
4611         { "kind" : "IdResultType" },
4612         { "kind" : "IdResult" },
4613         { "kind" : "IdRef", "name" : "'Image'" },
4614         { "kind" : "IdRef", "name" : "'Coordinate'" }
4615       ],
4616       "capabilities" : [ "FragmentMaskAMD" ],
4617       "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4618       "version" : "None"
4619     },
4620     {
4621       "opname" : "OpFragmentFetchAMD",
4622       "class"  : "Reserved",
4623       "opcode" : 5012,
4624       "operands" : [
4625         { "kind" : "IdResultType" },
4626         { "kind" : "IdResult" },
4627         { "kind" : "IdRef", "name" : "'Image'" },
4628         { "kind" : "IdRef", "name" : "'Coordinate'" },
4629         { "kind" : "IdRef", "name" : "'Fragment Index'" }
4630       ],
4631       "capabilities" : [ "FragmentMaskAMD" ],
4632       "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4633       "version" : "None"
4634     },
4635     {
4636       "opname" : "OpReadClockKHR",
4637       "class"  : "Reserved",
4638       "opcode" : 5056,
4639       "operands" : [
4640         { "kind" : "IdResultType" },
4641         { "kind" : "IdResult" },
4642         { "kind" : "IdScope", "name" : "'Scope'" }
4643       ],
4644       "capabilities" : [ "ShaderClockKHR" ],
4645       "extensions" : [ "SPV_KHR_shader_clock" ],
4646       "version" : "None"
4647     },
4648     {
4649       "opname" : "OpImageSampleFootprintNV",
4650       "class"  : "Image",
4651       "opcode" : 5283,
4652       "operands" : [
4653         { "kind" : "IdResultType" },
4654         { "kind" : "IdResult" },
4655         { "kind" : "IdRef", "name" : "'Sampled Image'" },
4656         { "kind" : "IdRef", "name" : "'Coordinate'" },
4657         { "kind" : "IdRef", "name" : "'Granularity'" },
4658         { "kind" : "IdRef", "name" : "'Coarse'" },
4659         { "kind" : "ImageOperands", "quantifier" : "?" }
4660       ],
4661       "capabilities" : [ "ImageFootprintNV" ],
4662       "extensions" : [ "SPV_NV_shader_image_footprint" ],
4663       "version" : "None"
4664     },
4665     {
4666       "opname" : "OpGroupNonUniformPartitionNV",
4667       "class"  : "Non-Uniform",
4668       "opcode" : 5296,
4669       "operands" : [
4670         { "kind" : "IdResultType" },
4671         { "kind" : "IdResult" },
4672         { "kind" : "IdRef", "name" : "'Value'" }
4673       ],
4674       "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4675       "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4676       "version" : "None"
4677     },
4678     {
4679       "opname" : "OpWritePackedPrimitiveIndices4x8NV",
4680       "class"  : "Reserved",
4681       "opcode" : 5299,
4682       "operands" : [
4683         { "kind" : "IdRef", "name" : "'Index Offset'" },
4684         { "kind" : "IdRef", "name" : "'Packed Indices'" }
4685       ],
4686       "capabilities" : [ "MeshShadingNV" ],
4687       "extensions" : [ "SPV_NV_mesh_shader" ],
4688       "version" : "None"
4689     },
4690     {
4691       "opname" : "OpReportIntersectionNV",
4692       "class"  : "Reserved",
4693       "opcode" : 5334,
4694       "operands" : [
4695         { "kind" : "IdResultType" },
4696         { "kind" : "IdResult" },
4697         { "kind" : "IdRef", "name" : "'Hit'" },
4698         { "kind" : "IdRef", "name" : "'HitKind'" }
4699       ],
4700       "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
4701       "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4702       "version" : "None"
4703     },
4704     {
4705       "opname" : "OpReportIntersectionKHR",
4706       "class"  : "Reserved",
4707       "opcode" : 5334,
4708       "operands" : [
4709         { "kind" : "IdResultType" },
4710         { "kind" : "IdResult" },
4711         { "kind" : "IdRef", "name" : "'Hit'" },
4712         { "kind" : "IdRef", "name" : "'HitKind'" }
4713       ],
4714       "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
4715       "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4716       "version" : "None"
4717     },
4718     {
4719       "opname" : "OpIgnoreIntersectionNV",
4720       "class"  : "Reserved",
4721       "opcode" : 5335,
4722       "capabilities" : [ "RayTracingNV" ],
4723       "extensions" : [ "SPV_NV_ray_tracing" ],
4724       "version" : "None"
4725     },
4726     {
4727       "opname" : "OpTerminateRayNV",
4728       "class"  : "Reserved",
4729       "opcode" : 5336,
4730       "capabilities" : [ "RayTracingNV" ],
4731       "extensions" : [ "SPV_NV_ray_tracing" ],
4732       "version" : "None"
4733     },
4734     {
4735       "opname" : "OpTraceNV",
4736       "class"  : "Reserved",
4737       "opcode" : 5337,
4738       "operands" : [
4739
4740         { "kind" : "IdRef", "name" : "'Accel'" },
4741         { "kind" : "IdRef", "name" : "'Ray Flags'" },
4742         { "kind" : "IdRef", "name" : "'Cull Mask'" },
4743         { "kind" : "IdRef", "name" : "'SBT Offset'" },
4744         { "kind" : "IdRef", "name" : "'SBT Stride'" },
4745         { "kind" : "IdRef", "name" : "'Miss Index'" },
4746         { "kind" : "IdRef", "name" : "'Ray Origin'" },
4747         { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4748         { "kind" : "IdRef", "name" : "'Ray Direction'" },
4749         { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4750         { "kind" : "IdRef", "name" : "'PayloadId'" }
4751       ],
4752       "capabilities" : [ "RayTracingNV" ],
4753       "extensions" : [ "SPV_NV_ray_tracing" ],
4754       "version" : "None"
4755     },
4756     {
4757       "opname" : "OpTypeAccelerationStructureNV",
4758       "class"  : "Reserved",
4759       "opcode" : 5341,
4760       "operands" : [
4761         { "kind" : "IdResult" }
4762       ],
4763       "capabilities" : [ "RayTracingNV" , "RayTracingKHR", "RayQueryKHR" ],
4764       "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4765       "version" : "None"
4766     },
4767     {
4768       "opname" : "OpTypeAccelerationStructureKHR",
4769       "class"  : "Reserved",
4770       "opcode" : 5341,
4771       "operands" : [
4772         { "kind" : "IdResult" }
4773       ],
4774       "capabilities" : [ "RayTracingNV" , "RayTracingKHR", "RayQueryKHR" ],
4775       "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4776       "version" : "None"
4777     },
4778     {
4779       "opname" : "OpExecuteCallableNV",
4780       "class"  : "Reserved",
4781       "opcode" : 5344,
4782       "operands" : [
4783
4784         { "kind" : "IdRef", "name" : "'SBT Index'" },
4785         { "kind" : "IdRef", "name" : "'Callable DataId'" }
4786       ],
4787       "capabilities" : [ "RayTracingNV" ],
4788       "extensions" : [ "SPV_NV_ray_tracing" ],
4789       "version" : "None"
4790     },
4791     {
4792       "opname" : "OpTypeCooperativeMatrixNV",
4793       "class"  : "Reserved",
4794       "opcode" : 5358,
4795       "operands" : [
4796         { "kind" : "IdResult" },
4797         { "kind" : "IdRef",        "name" : "'Component Type'" },
4798         { "kind" : "IdScope",      "name" : "'Execution'" },
4799         { "kind" : "IdRef",        "name" : "'Rows'" },
4800         { "kind" : "IdRef",        "name" : "'Columns'" }
4801       ],
4802       "capabilities" : [ "CooperativeMatrixNV" ],
4803       "extensions" : [ "SPV_NV_cooperative_matrix" ],
4804       "version" : "None"
4805     },
4806     {
4807       "opname" : "OpCooperativeMatrixLoadNV",
4808       "class"  : "Reserved",
4809       "opcode" : 5359,
4810       "operands" : [
4811         { "kind" : "IdResultType" },
4812         { "kind" : "IdResult" },
4813         { "kind" : "IdRef",             "name" : "'Pointer'" },
4814         { "kind" : "IdRef",             "name" : "'Stride'" },
4815         { "kind" : "IdRef",             "name" : "'Column Major'" },
4816         { "kind" : "MemoryAccess",      "quantifier" : "?" }
4817       ],
4818       "capabilities" : [ "CooperativeMatrixNV" ],
4819       "extensions" : [ "SPV_NV_cooperative_matrix" ],
4820       "version" : "None"
4821     },
4822     {
4823       "opname" : "OpCooperativeMatrixStoreNV",
4824       "class"  : "Reserved",
4825       "opcode" : 5360,
4826       "operands" : [
4827         { "kind" : "IdRef",             "name" : "'Pointer'" },
4828         { "kind" : "IdRef",             "name" : "'Object'" },
4829         { "kind" : "IdRef",             "name" : "'Stride'" },
4830         { "kind" : "IdRef",             "name" : "'Column Major'" },
4831         { "kind" : "MemoryAccess",      "quantifier" : "?" }
4832       ],
4833       "capabilities" : [ "CooperativeMatrixNV" ],
4834       "extensions" : [ "SPV_NV_cooperative_matrix" ],
4835       "version" : "None"
4836     },
4837     {
4838       "opname" : "OpCooperativeMatrixMulAddNV",
4839       "class"  : "Reserved",
4840       "opcode" : 5361,
4841       "operands" : [
4842         { "kind" : "IdResultType" },
4843         { "kind" : "IdResult" },
4844         { "kind" : "IdRef",             "name" : "'A'" },
4845         { "kind" : "IdRef",             "name" : "'B'" },
4846         { "kind" : "IdRef",             "name" : "'C'" }
4847       ],
4848       "capabilities" : [ "CooperativeMatrixNV" ],
4849       "extensions" : [ "SPV_NV_cooperative_matrix" ],
4850       "version" : "None"
4851     },
4852     {
4853       "opname" : "OpCooperativeMatrixLengthNV",
4854       "class"  : "Reserved",
4855       "opcode" : 5362,
4856       "operands" : [
4857         { "kind" : "IdResultType" },
4858         { "kind" : "IdResult" },
4859         { "kind" : "IdRef",        "name" : "'Type'" }
4860       ],
4861       "capabilities" : [ "CooperativeMatrixNV" ],
4862       "extensions" : [ "SPV_NV_cooperative_matrix" ],
4863       "version" : "None"
4864     },
4865     {
4866       "opname" : "OpBeginInvocationInterlockEXT",
4867       "class"  : "Reserved",
4868       "opcode" : 5364,
4869       "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4870       "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4871       "version" : "None"
4872     },
4873     {
4874       "opname" : "OpEndInvocationInterlockEXT",
4875       "class"  : "Reserved",
4876       "opcode" : 5365,
4877       "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4878       "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4879       "version" : "None"
4880     },
4881     {
4882       "opname" : "OpDemoteToHelperInvocationEXT",
4883       "class"  : "Reserved",
4884       "opcode" : 5380,
4885       "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4886       "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4887       "version" : "None"
4888     },
4889     {
4890       "opname" : "OpIsHelperInvocationEXT",
4891       "class"  : "Reserved",
4892       "opcode" : 5381,
4893       "operands" : [
4894         { "kind" : "IdResultType" },
4895         { "kind" : "IdResult" }
4896       ],
4897       "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4898       "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4899       "version" : "None"
4900     },
4901     {
4902       "opname" : "OpSubgroupShuffleINTEL",
4903       "class"  : "Group",
4904       "opcode" : 5571,
4905       "operands" : [
4906         { "kind" : "IdResultType" },
4907         { "kind" : "IdResult" },
4908         { "kind" : "IdRef", "name" : "'Data'" },
4909         { "kind" : "IdRef", "name" : "'InvocationId'" }
4910       ],
4911       "capabilities" : [ "SubgroupShuffleINTEL" ],
4912       "version" : "None"
4913     },
4914     {
4915       "opname" : "OpSubgroupShuffleDownINTEL",
4916       "class"  : "Group",
4917       "opcode" : 5572,
4918       "operands" : [
4919         { "kind" : "IdResultType" },
4920         { "kind" : "IdResult" },
4921         { "kind" : "IdRef", "name" : "'Current'" },
4922         { "kind" : "IdRef", "name" : "'Next'" },
4923         { "kind" : "IdRef", "name" : "'Delta'" }
4924       ],
4925       "capabilities" : [ "SubgroupShuffleINTEL" ],
4926       "version" : "None"
4927     },
4928     {
4929       "opname" : "OpSubgroupShuffleUpINTEL",
4930       "class"  : "Group",
4931       "opcode" : 5573,
4932       "operands" : [
4933         { "kind" : "IdResultType" },
4934         { "kind" : "IdResult" },
4935         { "kind" : "IdRef", "name" : "'Previous'" },
4936         { "kind" : "IdRef", "name" : "'Current'" },
4937         { "kind" : "IdRef", "name" : "'Delta'" }
4938       ],
4939       "capabilities" : [ "SubgroupShuffleINTEL" ],
4940       "version" : "None"
4941     },
4942     {
4943       "opname" : "OpSubgroupShuffleXorINTEL",
4944       "class"  : "Group",
4945       "opcode" : 5574,
4946       "operands" : [
4947         { "kind" : "IdResultType" },
4948         { "kind" : "IdResult" },
4949         { "kind" : "IdRef", "name" : "'Data'" },
4950         { "kind" : "IdRef", "name" : "'Value'" }
4951       ],
4952       "capabilities" : [ "SubgroupShuffleINTEL" ],
4953       "version" : "None"
4954     },
4955     {
4956       "opname" : "OpSubgroupBlockReadINTEL",
4957       "class"  : "Group",
4958       "opcode" : 5575,
4959       "operands" : [
4960         { "kind" : "IdResultType" },
4961         { "kind" : "IdResult" },
4962         { "kind" : "IdRef", "name" : "'Ptr'" }
4963       ],
4964       "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4965       "version" : "None"
4966     },
4967     {
4968       "opname" : "OpSubgroupBlockWriteINTEL",
4969       "class"  : "Group",
4970       "opcode" : 5576,
4971       "operands" : [
4972         { "kind" : "IdRef", "name" : "'Ptr'" },
4973         { "kind" : "IdRef", "name" : "'Data'" }
4974       ],
4975       "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4976       "version" : "None"
4977     },
4978     {
4979       "opname" : "OpSubgroupImageBlockReadINTEL",
4980       "class"  : "Group",
4981       "opcode" : 5577,
4982       "operands" : [
4983         { "kind" : "IdResultType" },
4984         { "kind" : "IdResult" },
4985         { "kind" : "IdRef", "name" : "'Image'" },
4986         { "kind" : "IdRef", "name" : "'Coordinate'" }
4987       ],
4988       "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4989       "version" : "None"
4990     },
4991     {
4992       "opname" : "OpSubgroupImageBlockWriteINTEL",
4993       "class"  : "Group",
4994       "opcode" : 5578,
4995       "operands" : [
4996         { "kind" : "IdRef", "name" : "'Image'" },
4997         { "kind" : "IdRef", "name" : "'Coordinate'" },
4998         { "kind" : "IdRef", "name" : "'Data'" }
4999       ],
5000       "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
5001       "version" : "None"
5002     },
5003     {
5004       "opname" : "OpSubgroupImageMediaBlockReadINTEL",
5005       "class"  : "Group",
5006       "opcode" : 5580,
5007       "operands" : [
5008         { "kind" : "IdResultType" },
5009         { "kind" : "IdResult" },
5010         { "kind" : "IdRef", "name" : "'Image'" },
5011         { "kind" : "IdRef", "name" : "'Coordinate'" },
5012         { "kind" : "IdRef", "name" : "'Width'" },
5013         { "kind" : "IdRef", "name" : "'Height'" }
5014       ],
5015       "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
5016       "version" : "None"
5017     },
5018     {
5019       "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
5020       "class"  : "Group",
5021       "opcode" : 5581,
5022       "operands" : [
5023         { "kind" : "IdRef", "name" : "'Image'" },
5024         { "kind" : "IdRef", "name" : "'Coordinate'" },
5025         { "kind" : "IdRef", "name" : "'Width'" },
5026         { "kind" : "IdRef", "name" : "'Height'" },
5027         { "kind" : "IdRef", "name" : "'Data'" }
5028       ],
5029       "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
5030       "version" : "None"
5031     },
5032     {
5033       "opname" : "OpUCountLeadingZerosINTEL",
5034       "class"  : "Reserved",
5035       "opcode" : 5585,
5036       "operands" : [
5037         { "kind" : "IdResultType" },
5038         { "kind" : "IdResult" },
5039         { "kind" : "IdRef",        "name" : "'Operand'" }
5040       ],
5041       "capabilities" : [ "IntegerFunctions2INTEL" ],
5042       "version" : "None"
5043     },
5044     {
5045       "opname" : "OpUCountTrailingZerosINTEL",
5046       "class"  : "Reserved",
5047       "opcode" : 5586,
5048       "operands" : [
5049         { "kind" : "IdResultType" },
5050         { "kind" : "IdResult" },
5051         { "kind" : "IdRef",        "name" : "'Operand'" }
5052       ],
5053       "capabilities" : [ "IntegerFunctions2INTEL" ],
5054       "version" : "None"
5055     },
5056     {
5057       "opname" : "OpAbsISubINTEL",
5058       "class"  : "Reserved",
5059       "opcode" : 5587,
5060       "operands" : [
5061         { "kind" : "IdResultType" },
5062         { "kind" : "IdResult" },
5063         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5064         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5065       ],
5066       "capabilities" : [ "IntegerFunctions2INTEL" ],
5067       "version" : "None"
5068     },
5069     {
5070       "opname" : "OpAbsUSubINTEL",
5071       "class"  : "Reserved",
5072       "opcode" : 5588,
5073       "operands" : [
5074         { "kind" : "IdResultType" },
5075         { "kind" : "IdResult" },
5076         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5077         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5078       ],
5079       "capabilities" : [ "IntegerFunctions2INTEL" ],
5080       "version" : "None"
5081     },
5082     {
5083       "opname" : "OpIAddSatINTEL",
5084       "class"  : "Reserved",
5085       "opcode" : 5589,
5086       "operands" : [
5087         { "kind" : "IdResultType" },
5088         { "kind" : "IdResult" },
5089         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5090         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5091       ],
5092       "capabilities" : [ "IntegerFunctions2INTEL" ],
5093       "version" : "None"
5094     },
5095     {
5096       "opname" : "OpUAddSatINTEL",
5097       "class"  : "Reserved",
5098       "opcode" : 5590,
5099       "operands" : [
5100         { "kind" : "IdResultType" },
5101         { "kind" : "IdResult" },
5102         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5103         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5104       ],
5105       "capabilities" : [ "IntegerFunctions2INTEL" ],
5106       "version" : "None"
5107     },
5108     {
5109       "opname" : "OpIAverageINTEL",
5110       "class"  : "Reserved",
5111       "opcode" : 5591,
5112       "operands" : [
5113         { "kind" : "IdResultType" },
5114         { "kind" : "IdResult" },
5115         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5116         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5117       ],
5118       "capabilities" : [ "IntegerFunctions2INTEL" ],
5119       "version" : "None"
5120     },
5121     {
5122       "opname" : "OpUAverageINTEL",
5123       "class"  : "Reserved",
5124       "opcode" : 5592,
5125       "operands" : [
5126         { "kind" : "IdResultType" },
5127         { "kind" : "IdResult" },
5128         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5129         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5130       ],
5131       "capabilities" : [ "IntegerFunctions2INTEL" ],
5132       "version" : "None"
5133     },
5134     {
5135       "opname" : "OpIAverageRoundedINTEL",
5136       "class"  : "Reserved",
5137       "opcode" : 5593,
5138       "operands" : [
5139         { "kind" : "IdResultType" },
5140         { "kind" : "IdResult" },
5141         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5142         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5143       ],
5144       "capabilities" : [ "IntegerFunctions2INTEL" ],
5145       "version" : "None"
5146     },
5147     {
5148       "opname" : "OpUAverageRoundedINTEL",
5149       "class"  : "Reserved",
5150       "opcode" : 5594,
5151       "operands" : [
5152         { "kind" : "IdResultType" },
5153         { "kind" : "IdResult" },
5154         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5155         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5156       ],
5157       "capabilities" : [ "IntegerFunctions2INTEL" ],
5158       "version" : "None"
5159     },
5160     {
5161       "opname" : "OpISubSatINTEL",
5162       "class"  : "Reserved",
5163       "opcode" : 5595,
5164       "operands" : [
5165         { "kind" : "IdResultType" },
5166         { "kind" : "IdResult" },
5167         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5168         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5169       ],
5170       "capabilities" : [ "IntegerFunctions2INTEL" ],
5171       "version" : "None"
5172     },
5173     {
5174       "opname" : "OpUSubSatINTEL",
5175       "class"  : "Reserved",
5176       "opcode" : 5596,
5177       "operands" : [
5178         { "kind" : "IdResultType" },
5179         { "kind" : "IdResult" },
5180         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5181         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5182       ],
5183       "capabilities" : [ "IntegerFunctions2INTEL" ],
5184       "version" : "None"
5185     },
5186     {
5187       "opname" : "OpIMul32x16INTEL",
5188       "class"  : "Reserved",
5189       "opcode" : 5597,
5190       "operands" : [
5191         { "kind" : "IdResultType" },
5192         { "kind" : "IdResult" },
5193         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5194         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5195       ],
5196       "capabilities" : [ "IntegerFunctions2INTEL" ],
5197       "version" : "None"
5198     },
5199     {
5200       "opname" : "OpUMul32x16INTEL",
5201       "class"  : "Reserved",
5202       "opcode" : 5598,
5203       "operands" : [
5204         { "kind" : "IdResultType" },
5205         { "kind" : "IdResult" },
5206         { "kind" : "IdRef",        "name" : "'Operand 1'" },
5207         { "kind" : "IdRef",        "name" : "'Operand 2'" }
5208       ],
5209       "capabilities" : [ "IntegerFunctions2INTEL" ],
5210       "version" : "None"
5211     },
5212     {
5213       "opname" : "OpConstFunctionPointerINTEL",
5214       "class"  : "@exclude",
5215       "opcode" : 5600,
5216       "operands" : [
5217         { "kind" : "IdResultType" },
5218         { "kind" : "IdResult" },
5219         { "kind" : "IdRef",        "name" : "'Function'" }
5220       ],
5221       "capabilities" : [ "FunctionPointersINTEL" ],
5222       "extensions" : [ "SPV_INTEL_function_pointers" ],
5223       "version" : "None"
5224     },
5225     {
5226       "opname" : "OpFunctionPointerCallINTEL",
5227       "class"  : "@exclude",
5228       "opcode" : 5601,
5229       "operands" : [
5230         { "kind" : "IdResultType" },
5231         { "kind" : "IdResult" },
5232         { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
5233       ],
5234       "capabilities" : [ "FunctionPointersINTEL" ],
5235       "extensions" : [ "SPV_INTEL_function_pointers" ],
5236       "version" : "None"
5237     },
5238     {
5239       "opname" : "OpAsmTargetINTEL",
5240       "class"  : "@exclude",
5241       "opcode" : 5609,
5242       "operands" : [
5243         { "kind" : "IdResultType" },
5244         { "kind" : "IdResult" },
5245         { "kind" : "LiteralString", "name" : "'Asm target'" }
5246       ],
5247       "capabilities" : [ "AsmINTEL" ],
5248       "version" : "None"
5249     },
5250     {
5251       "opname" : "OpAsmINTEL",
5252       "class"  : "@exclude",
5253       "opcode" : 5610,
5254       "operands" : [
5255         { "kind" : "IdResultType" },
5256         { "kind" : "IdResult" },
5257         { "kind" : "IdRef", "name" : "'Asm type'" },
5258         { "kind" : "IdRef", "name" : "'Target'" },
5259         { "kind" : "LiteralString", "name" : "'Asm instructions'" },
5260         { "kind" : "LiteralString", "name" : "'Constraints'" }
5261       ],
5262       "capabilities" : [ "AsmINTEL" ],
5263       "version" : "None"
5264     },
5265     {
5266       "opname" : "OpAsmCallINTEL",
5267       "class"  : "@exclude",
5268       "opcode" : 5611,
5269       "operands" : [
5270         { "kind" : "IdResultType" },
5271         { "kind" : "IdResult" },
5272         { "kind" : "IdRef", "name" : "'Asm'" },
5273         { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0'" }
5274       ],
5275       "capabilities" : [ "AsmINTEL" ],
5276       "version" : "None"
5277     },
5278     {
5279       "opname" : "OpAtomicFMinEXT",
5280       "class"  : "Atomic",
5281       "opcode" : 5614,
5282       "operands" : [
5283         { "kind" : "IdResultType" },
5284         { "kind" : "IdResult" },
5285         { "kind" : "IdRef",             "name" : "'Pointer'" },
5286         { "kind" : "IdScope",           "name" : "'Memory'" },
5287         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
5288         { "kind" : "IdRef",             "name" : "'Value'" }
5289       ],
5290       "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
5291       "version" : "None"
5292     },
5293     {
5294       "opname" : "OpAtomicFMaxEXT",
5295       "class"  : "Atomic",
5296       "opcode" : 5615,
5297       "operands" : [
5298         { "kind" : "IdResultType" },
5299         { "kind" : "IdResult" },
5300         { "kind" : "IdRef",             "name" : "'Pointer'" },
5301         { "kind" : "IdScope",           "name" : "'Memory'" },
5302         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
5303         { "kind" : "IdRef",             "name" : "'Value'" }
5304       ],
5305       "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT" ],
5306       "version" : "None"
5307     },
5308     {
5309       "opname" : "OpAssumeTrueKHR",
5310       "class"  : "Miscellaneous",
5311       "opcode" : 5630,
5312       "operands" : [
5313         { "kind" : "IdRef", "name" : "'Condition'" }
5314       ],
5315       "capabilities" : [ "ExpectAssumeKHR" ],
5316       "extensions" : [ "SPV_KHR_expect_assume" ],
5317       "version" : "None"
5318     },
5319     {
5320       "opname" : "OpExpectKHR",
5321       "class"  : "Miscellaneous",
5322       "opcode" : 5631,
5323       "operands" : [
5324         { "kind" : "IdResultType" },
5325         { "kind" : "IdResult" },
5326         { "kind" : "IdRef", "name" : "'Value'" },
5327         { "kind" : "IdRef", "name" : "'ExpectedValue'" }
5328       ],
5329       "capabilities" : [ "ExpectAssumeKHR" ],
5330       "extensions" : [ "SPV_KHR_expect_assume" ],
5331       "version" : "None"
5332     },
5333     {
5334       "opname" : "OpDecorateString",
5335       "class"  : "Annotation",
5336       "opcode" : 5632,
5337       "operands" : [
5338         { "kind" : "IdRef",         "name" : "'Target'" },
5339         { "kind" : "Decoration" }
5340       ],
5341       "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5342       "version" : "1.4"
5343     },
5344     {
5345       "opname" : "OpDecorateStringGOOGLE",
5346       "class"  : "Annotation",
5347       "opcode" : 5632,
5348       "operands" : [
5349         { "kind" : "IdRef",         "name" : "'Target'" },
5350         { "kind" : "Decoration" }
5351       ],
5352       "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5353       "version" : "1.4"
5354     },
5355     {
5356       "opname" : "OpMemberDecorateString",
5357       "class"  : "Annotation",
5358       "opcode" : 5633,
5359       "operands" : [
5360         { "kind" : "IdRef",          "name" : "'Struct Type'" },
5361         { "kind" : "LiteralInteger", "name" : "'Member'" },
5362         { "kind" : "Decoration" }
5363       ],
5364       "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5365       "version" : "1.4"
5366     },
5367     {
5368       "opname" : "OpMemberDecorateStringGOOGLE",
5369       "class"  : "Annotation",
5370       "opcode" : 5633,
5371       "operands" : [
5372         { "kind" : "IdRef",          "name" : "'Struct Type'" },
5373         { "kind" : "LiteralInteger", "name" : "'Member'" },
5374         { "kind" : "Decoration" }
5375       ],
5376       "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5377       "version" : "1.4"
5378     },
5379     {
5380       "opname" : "OpVmeImageINTEL",
5381       "class"  : "@exclude",
5382       "opcode" : 5699,
5383       "operands" : [
5384         { "kind" : "IdResultType" },
5385         { "kind" : "IdResult" },
5386         { "kind" : "IdRef", "name" : "'Image Type'" },
5387         { "kind" : "IdRef", "name" : "'Sampler'" }
5388       ],
5389       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5390       "version" : "None"
5391     },
5392     {
5393       "opname" : "OpTypeVmeImageINTEL",
5394       "class"  : "@exclude",
5395       "opcode" : 5700,
5396       "operands" : [
5397         { "kind" : "IdResult" },
5398         { "kind" : "IdRef", "name" : "'Image Type'" }
5399       ],
5400       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5401       "version" : "None"
5402     },
5403     {
5404       "opname" : "OpTypeAvcImePayloadINTEL",
5405       "class"  : "@exclude",
5406       "opcode" : 5701,
5407       "operands" : [
5408         { "kind" : "IdResult" }
5409       ],
5410       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5411       "version" : "None"
5412     },
5413     {
5414       "opname" : "OpTypeAvcRefPayloadINTEL",
5415       "class"  : "@exclude",
5416       "opcode" : 5702,
5417       "operands" : [
5418         { "kind" : "IdResult" }
5419       ],
5420       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5421       "version" : "None"
5422     },
5423     {
5424       "opname" : "OpTypeAvcSicPayloadINTEL",
5425       "class"  : "@exclude",
5426       "opcode" : 5703,
5427       "operands" : [
5428         { "kind" : "IdResult" }
5429       ],
5430       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5431       "version" : "None"
5432     },
5433     {
5434       "opname" : "OpTypeAvcMcePayloadINTEL",
5435       "class"  : "@exclude",
5436       "opcode" : 5704,
5437       "operands" : [
5438         { "kind" : "IdResult" }
5439       ],
5440       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5441       "version" : "None"
5442     },
5443     {
5444       "opname" : "OpTypeAvcMceResultINTEL",
5445       "class"  : "@exclude",
5446       "opcode" : 5705,
5447       "operands" : [
5448         { "kind" : "IdResult" }
5449       ],
5450       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5451       "version" : "None"
5452     },
5453     {
5454       "opname" : "OpTypeAvcImeResultINTEL",
5455       "class"  : "@exclude",
5456       "opcode" : 5706,
5457       "operands" : [
5458         { "kind" : "IdResult" }
5459       ],
5460       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5461       "version" : "None"
5462     },
5463     {
5464       "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
5465       "class"  : "@exclude",
5466       "opcode" : 5707,
5467       "operands" : [
5468         { "kind" : "IdResult" }
5469       ],
5470       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5471       "version" : "None"
5472     },
5473     {
5474       "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
5475       "class"  : "@exclude",
5476       "opcode" : 5708,
5477       "operands" : [
5478         { "kind" : "IdResult" }
5479       ],
5480       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5481       "version" : "None"
5482     },
5483     {
5484       "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
5485       "class"  : "@exclude",
5486       "opcode" : 5709,
5487       "operands" : [
5488         { "kind" : "IdResult" }
5489       ],
5490       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5491       "version" : "None"
5492     },
5493     {
5494       "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
5495       "class"  : "@exclude",
5496       "opcode" : 5710,
5497       "operands" : [
5498         { "kind" : "IdResult" }
5499       ],
5500       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5501       "version" : "None"
5502     },
5503     {
5504       "opname" : "OpTypeAvcRefResultINTEL",
5505       "class"  : "@exclude",
5506       "opcode" : 5711,
5507       "operands" : [
5508         { "kind" : "IdResult" }
5509       ],
5510       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5511       "version" : "None"
5512     },
5513     {
5514       "opname" : "OpTypeAvcSicResultINTEL",
5515       "class"  : "@exclude",
5516       "opcode" : 5712,
5517       "operands" : [
5518         { "kind" : "IdResult" }
5519       ],
5520       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5521       "version" : "None"
5522     },
5523     {
5524       "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
5525       "class"  : "@exclude",
5526       "opcode" : 5713,
5527       "operands" : [
5528         { "kind" : "IdResultType" },
5529         { "kind" : "IdResult" },
5530         { "kind" : "IdRef", "name" : "'Slice Type'" },
5531         { "kind" : "IdRef", "name" : "'Qp'" }
5532       ],
5533       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5534       "version" : "None"
5535     },
5536     {
5537       "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
5538       "class"  : "@exclude",
5539       "opcode" : 5714,
5540       "operands" : [
5541         { "kind" : "IdResultType" },
5542         { "kind" : "IdResult" },
5543         { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
5544         { "kind" : "IdRef", "name" : "'Payload'" }
5545       ],
5546       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5547       "version" : "None"
5548     },
5549     {
5550       "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
5551       "class"  : "@exclude",
5552       "opcode" : 5715,
5553       "operands" : [
5554         { "kind" : "IdResultType" },
5555         { "kind" : "IdResult" },
5556         { "kind" : "IdRef", "name" : "'Slice Type'" },
5557         { "kind" : "IdRef", "name" : "'Qp'" }
5558       ],
5559       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5560       "version" : "None"
5561     },
5562     {
5563       "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
5564       "class"  : "@exclude",
5565       "opcode" : 5716,
5566       "operands" : [
5567         { "kind" : "IdResultType" },
5568         { "kind" : "IdResult" },
5569         { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
5570         { "kind" : "IdRef", "name" : "'Payload'" }
5571       ],
5572       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5573       "version" : "None"
5574     },
5575     {
5576       "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
5577       "class"  : "@exclude",
5578       "opcode" : 5717,
5579       "operands" : [
5580         { "kind" : "IdResultType" },
5581         { "kind" : "IdResult" },
5582         { "kind" : "IdRef", "name" : "'Slice Type'" },
5583         { "kind" : "IdRef", "name" : "'Qp'" }
5584       ],
5585       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5586       "version" : "None"
5587     },
5588     {
5589       "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
5590       "class"  : "@exclude",
5591       "opcode" : 5718,
5592       "operands" : [
5593         { "kind" : "IdResultType" },
5594         { "kind" : "IdResult" },
5595         { "kind" : "IdRef", "name" : "'Direction Cost'" },
5596         { "kind" : "IdRef", "name" : "'Payload'" }
5597       ],
5598       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5599       "version" : "None"
5600     },
5601     {
5602       "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
5603       "class"  : "@exclude",
5604       "opcode" : 5719,
5605       "operands" : [
5606         { "kind" : "IdResultType" },
5607         { "kind" : "IdResult" },
5608         { "kind" : "IdRef", "name" : "'Slice Type'" },
5609         { "kind" : "IdRef", "name" : "'Qp'" }
5610       ],
5611       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5612       "version" : "None"
5613     },
5614     {
5615       "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
5616       "class"  : "@exclude",
5617       "opcode" : 5720,
5618       "operands" : [
5619         { "kind" : "IdResultType" },
5620         { "kind" : "IdResult" },
5621         { "kind" : "IdRef", "name" : "'Slice Type'" },
5622         { "kind" : "IdRef", "name" : "'Qp'" }
5623       ],
5624       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5625       "version" : "None"
5626     },
5627     {
5628       "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
5629       "class"  : "@exclude",
5630       "opcode" : 5721,
5631       "operands" : [
5632         { "kind" : "IdResultType" },
5633         { "kind" : "IdResult" }
5634       ],
5635       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5636       "version" : "None"
5637     },
5638     {
5639       "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
5640       "class"  : "@exclude",
5641       "opcode" : 5722,
5642       "operands" : [
5643         { "kind" : "IdResultType" },
5644         { "kind" : "IdResult" }
5645       ],
5646       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5647       "version" : "None"
5648     },
5649     {
5650       "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
5651       "class"  : "@exclude",
5652       "opcode" : 5723,
5653       "operands" : [
5654         { "kind" : "IdResultType" },
5655         { "kind" : "IdResult" }
5656       ],
5657       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5658       "version" : "None"
5659     },
5660     {
5661       "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
5662       "class"  : "@exclude",
5663       "opcode" : 5724,
5664       "operands" : [
5665         { "kind" : "IdResultType" },
5666         { "kind" : "IdResult" },
5667         { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
5668         { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
5669         { "kind" : "IdRef", "name" : "'Cost Precision'" },
5670         { "kind" : "IdRef", "name" : "'Payload'" }
5671       ],
5672       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5673       "version" : "None"
5674     },
5675     {
5676       "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
5677       "class"  : "@exclude",
5678       "opcode" : 5725,
5679       "operands" : [
5680         { "kind" : "IdResultType" },
5681         { "kind" : "IdResult" },
5682         { "kind" : "IdRef", "name" : "'Slice Type'" },
5683         { "kind" : "IdRef", "name" : "'Qp'" }
5684       ],
5685       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5686       "version" : "None"
5687     },
5688     {
5689       "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
5690       "class"  : "@exclude",
5691       "opcode" : 5726,
5692       "operands" : [
5693         { "kind" : "IdResultType" },
5694         { "kind" : "IdResult" }
5695       ],
5696       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5697       "version" : "None"
5698     },
5699     {
5700       "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
5701       "class"  : "@exclude",
5702       "opcode" : 5727,
5703       "operands" : [
5704         { "kind" : "IdResultType" },
5705         { "kind" : "IdResult" }
5706       ],
5707       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
5708       "version" : "None"
5709     },
5710     {
5711       "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
5712       "class"  : "@exclude",
5713       "opcode" : 5728,
5714       "operands" : [
5715         { "kind" : "IdResultType" },
5716         { "kind" : "IdResult" },
5717         { "kind" : "IdRef", "name" : "'Payload'" }
5718       ],
5719       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5720       "version" : "None"
5721     },
5722     {
5723       "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
5724       "class"  : "@exclude",
5725       "opcode" : 5729,
5726       "operands" : [
5727         { "kind" : "IdResultType" },
5728         { "kind" : "IdResult" },
5729         { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
5730         { "kind" : "IdRef", "name" : "'Payload'" }
5731       ],
5732       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5733       "version" : "None"
5734     },
5735     {
5736       "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
5737       "class"  : "@exclude",
5738       "opcode" : 5730,
5739       "operands" : [
5740         { "kind" : "IdResultType" },
5741         { "kind" : "IdResult" },
5742         { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
5743         { "kind" : "IdRef", "name" : "'Payload'" }
5744       ],
5745       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5746       "version" : "None"
5747     },
5748     {
5749       "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
5750       "class"  : "@exclude",
5751       "opcode" : 5731,
5752       "operands" : [
5753         { "kind" : "IdResultType" },
5754         { "kind" : "IdResult" },
5755         { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
5756         { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
5757         { "kind" : "IdRef", "name" : "'Payload'" }
5758       ],
5759       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5760       "version" : "None"
5761     },
5762     {
5763       "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
5764       "class"  : "@exclude",
5765       "opcode" : 5732,
5766       "operands" : [
5767         { "kind" : "IdResultType" },
5768         { "kind" : "IdResult" },
5769         { "kind" : "IdRef", "name" : "'Payload'" }
5770       ],
5771       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5772       "version" : "None"
5773     },
5774     {
5775       "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
5776       "class"  : "@exclude",
5777       "opcode" : 5733,
5778       "operands" : [
5779         { "kind" : "IdResultType" },
5780         { "kind" : "IdResult" },
5781         { "kind" : "IdRef", "name" : "'Payload'" }
5782       ],
5783       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5784       "version" : "None"
5785     },
5786     {
5787       "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
5788       "class"  : "@exclude",
5789       "opcode" : 5734,
5790       "operands" : [
5791         { "kind" : "IdResultType" },
5792         { "kind" : "IdResult" },
5793         { "kind" : "IdRef", "name" : "'Payload'" }
5794       ],
5795       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5796       "version" : "None"
5797     },
5798     {
5799       "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
5800       "class"  : "@exclude",
5801       "opcode" : 5735,
5802       "operands" : [
5803         { "kind" : "IdResultType" },
5804         { "kind" : "IdResult" },
5805         { "kind" : "IdRef", "name" : "'Payload'" }
5806       ],
5807       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5808       "version" : "None"
5809     },
5810     {
5811       "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
5812       "class"  : "@exclude",
5813       "opcode" : 5736,
5814       "operands" : [
5815         { "kind" : "IdResultType" },
5816         { "kind" : "IdResult" },
5817         { "kind" : "IdRef", "name" : "'Payload'" }
5818       ],
5819       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5820       "version" : "None"
5821     },
5822     {
5823       "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
5824       "class"  : "@exclude",
5825       "opcode" : 5737,
5826       "operands" : [
5827         { "kind" : "IdResultType" },
5828         { "kind" : "IdResult" },
5829         { "kind" : "IdRef", "name" : "'Payload'" }
5830       ],
5831       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5832       "version" : "None"
5833     },
5834     {
5835       "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
5836       "class"  : "@exclude",
5837       "opcode" : 5738,
5838       "operands" : [
5839         { "kind" : "IdResultType" },
5840         { "kind" : "IdResult" },
5841         { "kind" : "IdRef", "name" : "'Payload'" }
5842       ],
5843       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5844       "version" : "None"
5845     },
5846     {
5847       "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
5848       "class"  : "@exclude",
5849       "opcode" : 5739,
5850       "operands" : [
5851         { "kind" : "IdResultType" },
5852         { "kind" : "IdResult" },
5853         { "kind" : "IdRef", "name" : "'Payload'" }
5854       ],
5855       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5856       "version" : "None"
5857     },
5858     {
5859       "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
5860       "class"  : "@exclude",
5861       "opcode" : 5740,
5862       "operands" : [
5863         { "kind" : "IdResultType" },
5864         { "kind" : "IdResult" },
5865         { "kind" : "IdRef", "name" : "'Payload'" }
5866       ],
5867       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5868       "version" : "None"
5869     },
5870     {
5871       "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
5872       "class"  : "@exclude",
5873       "opcode" : 5741,
5874       "operands" : [
5875         { "kind" : "IdResultType" },
5876         { "kind" : "IdResult" },
5877         { "kind" : "IdRef", "name" : "'Payload'" }
5878       ],
5879       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5880       "version" : "None"
5881     },
5882     {
5883       "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
5884       "class"  : "@exclude",
5885       "opcode" : 5742,
5886       "operands" : [
5887         { "kind" : "IdResultType" },
5888         { "kind" : "IdResult" },
5889         { "kind" : "IdRef", "name" : "'Payload'" }
5890       ],
5891       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5892       "version" : "None"
5893     },
5894     {
5895       "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
5896       "class"  : "@exclude",
5897       "opcode" : 5743,
5898       "operands" : [
5899         { "kind" : "IdResultType" },
5900         { "kind" : "IdResult" },
5901         { "kind" : "IdRef", "name" : "'Payload'" }
5902       ],
5903       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5904       "version" : "None"
5905     },
5906     {
5907       "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
5908       "class"  : "@exclude",
5909       "opcode" : 5744,
5910       "operands" : [
5911         { "kind" : "IdResultType" },
5912         { "kind" : "IdResult" },
5913         { "kind" : "IdRef", "name" : "'Payload'" }
5914       ],
5915       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5916       "version" : "None"
5917     },
5918     {
5919       "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
5920       "class"  : "@exclude",
5921       "opcode" : 5745,
5922       "operands" : [
5923         { "kind" : "IdResultType" },
5924         { "kind" : "IdResult" },
5925         { "kind" : "IdRef", "name" : "'Payload'" }
5926       ],
5927       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5928       "version" : "None"
5929     },
5930     {
5931       "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
5932       "class"  : "@exclude",
5933       "opcode" : 5746,
5934       "operands" : [
5935         { "kind" : "IdResultType" },
5936         { "kind" : "IdResult" },
5937         { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
5938         { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
5939         { "kind" : "IdRef", "name" : "'Payload'" }
5940       ],
5941       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5942       "version" : "None"
5943     },
5944     {
5945       "opname" : "OpSubgroupAvcImeInitializeINTEL",
5946       "class"  : "@exclude",
5947       "opcode" : 5747,
5948       "operands" : [
5949         { "kind" : "IdResultType" },
5950         { "kind" : "IdResult" },
5951         { "kind" : "IdRef", "name" : "'Src Coord'" },
5952         { "kind" : "IdRef", "name" : "'Partition Mask'" },
5953         { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
5954       ],
5955       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5956       "version" : "None"
5957     },
5958     {
5959       "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
5960       "class"  : "@exclude",
5961       "opcode" : 5748,
5962       "operands" : [
5963         { "kind" : "IdResultType" },
5964         { "kind" : "IdResult" },
5965         { "kind" : "IdRef", "name" : "'Ref Offset'" },
5966         { "kind" : "IdRef", "name" : "'Search Window Config'" },
5967         { "kind" : "IdRef", "name" : "'Payload'" }
5968       ],
5969       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5970       "version" : "None"
5971     },
5972     {
5973       "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
5974       "class"  : "@exclude",
5975       "opcode" : 5749,
5976       "operands" : [
5977         { "kind" : "IdResultType" },
5978         { "kind" : "IdResult" },
5979         { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
5980         { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
5981         { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
5982         { "kind" : "IdRef", "name" : "'Payload'" }
5983       ],
5984       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5985       "version" : "None"
5986     },
5987     {
5988       "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
5989       "class"  : "@exclude",
5990       "opcode" : 5750,
5991       "operands" : [
5992         { "kind" : "IdResultType" },
5993         { "kind" : "IdResult" },
5994         { "kind" : "IdRef", "name" : "'Search Window Config'" },
5995         { "kind" : "IdRef", "name" : "'Dual Ref'" }
5996       ],
5997       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5998       "version" : "None"
5999     },
6000     {
6001       "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
6002       "class"  : "@exclude",
6003       "opcode" : 5751,
6004       "operands" : [
6005         { "kind" : "IdResultType" },
6006         { "kind" : "IdResult" },
6007         { "kind" : "IdRef", "name" : "'Ref Offset'" },
6008         { "kind" : "IdRef", "name" : "'Src Coord'" },
6009         { "kind" : "IdRef", "name" : "'Ref Window Size'" },
6010         { "kind" : "IdRef", "name" : "'Image Size'" }
6011       ],
6012       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6013       "version" : "None"
6014     },
6015     {
6016       "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
6017       "class"  : "@exclude",
6018       "opcode" : 5752,
6019       "operands" : [
6020         { "kind" : "IdResultType" },
6021         { "kind" : "IdResult" },
6022         { "kind" : "IdRef", "name" : "'Payload'" }
6023       ],
6024       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6025       "version" : "None"
6026     },
6027     {
6028       "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
6029       "class"  : "@exclude",
6030       "opcode" : 5753,
6031       "operands" : [
6032         { "kind" : "IdResultType" },
6033         { "kind" : "IdResult" },
6034         { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
6035         { "kind" : "IdRef", "name" : "'Payload'" }
6036       ],
6037       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6038       "version" : "None"
6039     },
6040     {
6041       "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
6042       "class"  : "@exclude",
6043       "opcode" : 5754,
6044       "operands" : [
6045         { "kind" : "IdResultType" },
6046         { "kind" : "IdResult" },
6047         { "kind" : "IdRef", "name" : "'Payload'" }
6048       ],
6049       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6050       "version" : "None"
6051     },
6052     {
6053       "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
6054       "class"  : "@exclude",
6055       "opcode" : 5755,
6056       "operands" : [
6057         { "kind" : "IdResultType" },
6058         { "kind" : "IdResult" },
6059         { "kind" : "IdRef", "name" : "'Threshold'" },
6060         { "kind" : "IdRef", "name" : "'Payload'" }
6061       ],
6062       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6063       "version" : "None"
6064     },
6065     {
6066       "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
6067       "class"  : "@exclude",
6068       "opcode" : 5756,
6069       "operands" : [
6070         { "kind" : "IdResultType" },
6071         { "kind" : "IdResult" },
6072         { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
6073         { "kind" : "IdRef", "name" : "'Payload'" }
6074       ],
6075       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6076       "version" : "None"
6077     },
6078     {
6079       "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
6080       "class"  : "@exclude",
6081       "opcode" : 5757,
6082       "operands" : [
6083         { "kind" : "IdResultType" },
6084         { "kind" : "IdResult" },
6085         { "kind" : "IdRef", "name" : "'Src Image'" },
6086         { "kind" : "IdRef", "name" : "'Ref Image'" },
6087         { "kind" : "IdRef", "name" : "'Payload'" }
6088       ],
6089       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6090       "version" : "None"
6091     },
6092     {
6093       "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
6094       "class"  : "@exclude",
6095       "opcode" : 5758,
6096       "operands" : [
6097         { "kind" : "IdResultType" },
6098         { "kind" : "IdResult" },
6099         { "kind" : "IdRef", "name" : "'Src Image'" },
6100         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6101         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6102         { "kind" : "IdRef", "name" : "'Payload'" }
6103       ],
6104       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6105       "version" : "None"
6106     },
6107     {
6108       "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
6109       "class"  : "@exclude",
6110       "opcode" : 5759,
6111       "operands" : [
6112         { "kind" : "IdResultType" },
6113         { "kind" : "IdResult" },
6114         { "kind" : "IdRef", "name" : "'Src Image'" },
6115         { "kind" : "IdRef", "name" : "'Ref Image'" },
6116         { "kind" : "IdRef", "name" : "'Payload'" },
6117         { "kind" : "IdRef", "name" : "'Streamin Components'" }
6118       ],
6119       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6120       "version" : "None"
6121     },
6122     {
6123       "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
6124       "class"  : "@exclude",
6125       "opcode" : 5760,
6126       "operands" : [
6127         { "kind" : "IdResultType" },
6128         { "kind" : "IdResult" },
6129         { "kind" : "IdRef", "name" : "'Src Image'" },
6130         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6131         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6132         { "kind" : "IdRef", "name" : "'Payload'" },
6133         { "kind" : "IdRef", "name" : "'Streamin Components'" }
6134       ],
6135       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6136       "version" : "None"
6137     },
6138     {
6139       "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
6140       "class"  : "@exclude",
6141       "opcode" : 5761,
6142       "operands" : [
6143         { "kind" : "IdResultType" },
6144         { "kind" : "IdResult" },
6145         { "kind" : "IdRef", "name" : "'Src Image'" },
6146         { "kind" : "IdRef", "name" : "'Ref Image'" },
6147         { "kind" : "IdRef", "name" : "'Payload'" }
6148       ],
6149       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6150       "version" : "None"
6151     },
6152     {
6153       "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
6154       "class"  : "@exclude",
6155       "opcode" : 5762,
6156       "operands" : [
6157         { "kind" : "IdResultType" },
6158         { "kind" : "IdResult" },
6159         { "kind" : "IdRef", "name" : "'Src Image'" },
6160         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6161         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6162         { "kind" : "IdRef", "name" : "'Payload'" }
6163       ],
6164       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6165       "version" : "None"
6166     },
6167     {
6168       "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
6169       "class"  : "@exclude",
6170       "opcode" : 5763,
6171       "operands" : [
6172         { "kind" : "IdResultType" },
6173         { "kind" : "IdResult" },
6174         { "kind" : "IdRef", "name" : "'Src Image'" },
6175         { "kind" : "IdRef", "name" : "'Ref Image'" },
6176         { "kind" : "IdRef", "name" : "'Payload'" },
6177         { "kind" : "IdRef", "name" : "'Streamin Components'" }
6178       ],
6179       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6180       "version" : "None"
6181     },
6182     {
6183       "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
6184       "class"  : "@exclude",
6185       "opcode" : 5764,
6186       "operands" : [
6187         { "kind" : "IdResultType" },
6188         { "kind" : "IdResult" },
6189         { "kind" : "IdRef", "name" : "'Src Image'" },
6190         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6191         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6192         { "kind" : "IdRef", "name" : "'Payload'" },
6193         { "kind" : "IdRef", "name" : "'Streamin Components'" }
6194       ],
6195       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6196       "version" : "None"
6197     },
6198     {
6199       "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
6200       "class"  : "@exclude",
6201       "opcode" : 5765,
6202       "operands" : [
6203         { "kind" : "IdResultType" },
6204         { "kind" : "IdResult" },
6205         { "kind" : "IdRef", "name" : "'Payload'" }
6206       ],
6207       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6208       "version" : "None"
6209     },
6210     {
6211       "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
6212       "class"  : "@exclude",
6213       "opcode" : 5766,
6214       "operands" : [
6215         { "kind" : "IdResultType" },
6216         { "kind" : "IdResult" },
6217         { "kind" : "IdRef", "name" : "'Payload'" }
6218       ],
6219       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6220       "version" : "None"
6221     },
6222     {
6223       "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
6224       "class"  : "@exclude",
6225       "opcode" : 5767,
6226       "operands" : [
6227         { "kind" : "IdResultType" },
6228         { "kind" : "IdResult" },
6229         { "kind" : "IdRef", "name" : "'Payload'" }
6230       ],
6231       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6232       "version" : "None"
6233     },
6234     {
6235       "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
6236       "class"  : "@exclude",
6237       "opcode" : 5768,
6238       "operands" : [
6239         { "kind" : "IdResultType" },
6240         { "kind" : "IdResult" },
6241         { "kind" : "IdRef", "name" : "'Payload'" }
6242       ],
6243       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6244       "version" : "None"
6245     },
6246     {
6247       "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
6248       "class"  : "@exclude",
6249       "opcode" : 5769,
6250       "operands" : [
6251         { "kind" : "IdResultType" },
6252         { "kind" : "IdResult" },
6253         { "kind" : "IdRef", "name" : "'Payload'" }
6254       ],
6255       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6256       "version" : "None"
6257     },
6258     {
6259       "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
6260       "class"  : "@exclude",
6261       "opcode" : 5770,
6262       "operands" : [
6263         { "kind" : "IdResultType" },
6264         { "kind" : "IdResult" },
6265         { "kind" : "IdRef", "name" : "'Payload'" },
6266         { "kind" : "IdRef", "name" : "'Major Shape'" }
6267       ],
6268       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6269       "version" : "None"
6270     },
6271     {
6272       "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
6273       "class"  : "@exclude",
6274       "opcode" : 5771,
6275       "operands" : [
6276         { "kind" : "IdResultType" },
6277         { "kind" : "IdResult" },
6278         { "kind" : "IdRef", "name" : "'Payload'" },
6279         { "kind" : "IdRef", "name" : "'Major Shape'" }
6280       ],
6281       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6282       "version" : "None"
6283     },
6284     {
6285       "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
6286       "class"  : "@exclude",
6287       "opcode" : 5772,
6288       "operands" : [
6289         { "kind" : "IdResultType" },
6290         { "kind" : "IdResult" },
6291         { "kind" : "IdRef", "name" : "'Payload'" },
6292         { "kind" : "IdRef", "name" : "'Major Shape'" }
6293       ],
6294       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6295       "version" : "None"
6296     },
6297     {
6298       "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
6299       "class"  : "@exclude",
6300       "opcode" : 5773,
6301       "operands" : [
6302         { "kind" : "IdResultType" },
6303         { "kind" : "IdResult" },
6304         { "kind" : "IdRef", "name" : "'Payload'" },
6305         { "kind" : "IdRef", "name" : "'Major Shape'" },
6306         { "kind" : "IdRef", "name" : "'Direction'" }
6307       ],
6308       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6309       "version" : "None"
6310     },
6311     {
6312       "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
6313       "class"  : "@exclude",
6314       "opcode" : 5774,
6315       "operands" : [
6316         { "kind" : "IdResultType" },
6317         { "kind" : "IdResult" },
6318         { "kind" : "IdRef", "name" : "'Payload'" },
6319         { "kind" : "IdRef", "name" : "'Major Shape'" },
6320         { "kind" : "IdRef", "name" : "'Direction'" }
6321       ],
6322       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6323       "version" : "None"
6324     },
6325     {
6326       "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
6327       "class"  : "@exclude",
6328       "opcode" : 5775,
6329       "operands" : [
6330         { "kind" : "IdResultType" },
6331         { "kind" : "IdResult" },
6332         { "kind" : "IdRef", "name" : "'Payload'" },
6333         { "kind" : "IdRef", "name" : "'Major Shape'" },
6334         { "kind" : "IdRef", "name" : "'Direction'" }
6335       ],
6336       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6337       "version" : "None"
6338     },
6339     {
6340       "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
6341       "class"  : "@exclude",
6342       "opcode" : 5776,
6343       "operands" : [
6344         { "kind" : "IdResultType" },
6345         { "kind" : "IdResult" },
6346         { "kind" : "IdRef", "name" : "'Image Select'" },
6347         { "kind" : "IdRef", "name" : "'Payload'" }
6348       ],
6349       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6350       "version" : "None"
6351     },
6352     {
6353       "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
6354       "class"  : "@exclude",
6355       "opcode" : 5777,
6356       "operands" : [
6357         { "kind" : "IdResultType" },
6358         { "kind" : "IdResult" },
6359         { "kind" : "IdRef", "name" : "'Payload'" }
6360       ],
6361       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6362       "version" : "None"
6363     },
6364     {
6365       "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
6366       "class"  : "@exclude",
6367       "opcode" : 5778,
6368       "operands" : [
6369         { "kind" : "IdResultType" },
6370         { "kind" : "IdResult" },
6371         { "kind" : "IdRef", "name" : "'Payload'" }
6372       ],
6373       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6374       "version" : "None"
6375     },
6376     {
6377       "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
6378       "class"  : "@exclude",
6379       "opcode" : 5779,
6380       "operands" : [
6381         { "kind" : "IdResultType" },
6382         { "kind" : "IdResult" },
6383         { "kind" : "IdRef", "name" : "'Payload'" }
6384       ],
6385       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6386       "version" : "None"
6387     },
6388     {
6389       "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
6390       "class"  : "@exclude",
6391       "opcode" : 5780,
6392       "operands" : [
6393         { "kind" : "IdResultType" },
6394         { "kind" : "IdResult" },
6395         { "kind" : "IdRef", "name" : "'Payload'" }
6396       ],
6397       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6398       "version" : "None"
6399     },
6400     {
6401       "opname" : "OpSubgroupAvcFmeInitializeINTEL",
6402       "class"  : "@exclude",
6403       "opcode" : 5781,
6404       "operands" : [
6405         { "kind" : "IdResultType" },
6406         { "kind" : "IdResult" },
6407         { "kind" : "IdRef", "name" : "'Src Coord'" },
6408         { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6409         { "kind" : "IdRef", "name" : "'Major Shapes'" },
6410         { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6411         { "kind" : "IdRef", "name" : "'Direction'" },
6412         { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6413         { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6414       ],
6415       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6416       "version" : "None"
6417     },
6418     {
6419       "opname" : "OpSubgroupAvcBmeInitializeINTEL",
6420       "class"  : "@exclude",
6421       "opcode" : 5782,
6422       "operands" : [
6423         { "kind" : "IdResultType" },
6424         { "kind" : "IdResult" },
6425         { "kind" : "IdRef", "name" : "'Src Coord'" },
6426         { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6427         { "kind" : "IdRef", "name" : "'Major Shapes'" },
6428         { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6429         { "kind" : "IdRef", "name" : "'Direction'" },
6430         { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6431         { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6432         { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6433       ],
6434       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6435       "version" : "None"
6436     },
6437     {
6438       "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
6439       "class"  : "@exclude",
6440       "opcode" : 5783,
6441       "operands" : [
6442         { "kind" : "IdResultType" },
6443         { "kind" : "IdResult" },
6444         { "kind" : "IdRef", "name" : "'Payload'" }
6445       ],
6446       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6447       "version" : "None"
6448     },
6449     {
6450       "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
6451       "class"  : "@exclude",
6452       "opcode" : 5784,
6453       "operands" : [
6454         { "kind" : "IdResultType" },
6455         { "kind" : "IdResult" },
6456         { "kind" : "IdRef", "name" : "'Payload'" }
6457       ],
6458       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6459       "version" : "None"
6460     },
6461     {
6462       "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
6463       "class"  : "@exclude",
6464       "opcode" : 5785,
6465       "operands" : [
6466         { "kind" : "IdResultType" },
6467         { "kind" : "IdResult" },
6468         { "kind" : "IdRef", "name" : "'Payload'" }
6469       ],
6470       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6471       "version" : "None"
6472     },
6473     {
6474       "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
6475       "class"  : "@exclude",
6476       "opcode" : 5786,
6477       "operands" : [
6478         { "kind" : "IdResultType" },
6479         { "kind" : "IdResult" },
6480         { "kind" : "IdRef", "name" : "'Src Image'" },
6481         { "kind" : "IdRef", "name" : "'Ref Image'" },
6482         { "kind" : "IdRef", "name" : "'Payload'" }
6483       ],
6484       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6485       "version" : "None"
6486     },
6487     {
6488       "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
6489       "class"  : "@exclude",
6490       "opcode" : 5787,
6491       "operands" : [
6492         { "kind" : "IdResultType" },
6493         { "kind" : "IdResult" },
6494         { "kind" : "IdRef", "name" : "'Src Image'" },
6495         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6496         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6497         { "kind" : "IdRef", "name" : "'Payload'" }
6498       ],
6499       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6500       "version" : "None"
6501     },
6502     {
6503       "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
6504       "class"  : "@exclude",
6505       "opcode" : 5788,
6506       "operands" : [
6507         { "kind" : "IdResultType" },
6508         { "kind" : "IdResult" },
6509         { "kind" : "IdRef", "name" : "'Src Image'" },
6510         { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6511         { "kind" : "IdRef", "name" : "'Payload'" }
6512       ],
6513       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6514       "version" : "None"
6515     },
6516     {
6517       "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
6518       "class"  : "@exclude",
6519       "opcode" : 5789,
6520       "operands" : [
6521         { "kind" : "IdResultType" },
6522         { "kind" : "IdResult" },
6523         { "kind" : "IdRef", "name" : "'Src Image'" },
6524         { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6525         { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6526         { "kind" : "IdRef", "name" : "'Payload'" }
6527       ],
6528       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6529       "version" : "None"
6530     },
6531     {
6532       "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
6533       "class"  : "@exclude",
6534       "opcode" : 5790,
6535       "operands" : [
6536         { "kind" : "IdResultType" },
6537         { "kind" : "IdResult" },
6538         { "kind" : "IdRef", "name" : "'Payload'" }
6539       ],
6540       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6541       "version" : "None"
6542     },
6543     {
6544       "opname" : "OpSubgroupAvcSicInitializeINTEL",
6545       "class"  : "@exclude",
6546       "opcode" : 5791,
6547       "operands" : [
6548         { "kind" : "IdResultType" },
6549         { "kind" : "IdResult" },
6550         { "kind" : "IdRef", "name" : "'Src Coord'" }
6551       ],
6552       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6553       "version" : "None"
6554     },
6555     {
6556       "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
6557       "class"  : "@exclude",
6558       "opcode" : 5792,
6559       "operands" : [
6560         { "kind" : "IdResultType" },
6561         { "kind" : "IdResult" },
6562         { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6563         { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
6564         { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6565         { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6566         { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6567         { "kind" : "IdRef", "name" : "'Payload'" }
6568       ],
6569       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6570       "version" : "None"
6571     },
6572     {
6573       "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
6574       "class"  : "@exclude",
6575       "opcode" : 5793,
6576       "operands" : [
6577         { "kind" : "IdResultType" },
6578         { "kind" : "IdResult" },
6579         { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6580         { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6581         { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6582         { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6583         { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6584         { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6585         { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6586         { "kind" : "IdRef", "name" : "'Payload'" }
6587       ],
6588       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6589       "version" : "None"
6590     },
6591     {
6592       "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
6593       "class"  : "@exclude",
6594       "opcode" : 5794,
6595       "operands" : [
6596         { "kind" : "IdResultType" },
6597         { "kind" : "IdResult" },
6598         { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6599         { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6600         { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6601         { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6602         { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6603         { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6604         { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
6605         { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
6606         { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
6607         { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6608         { "kind" : "IdRef", "name" : "'Payload'" }
6609       ],
6610       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6611       "version" : "None"
6612     },
6613     {
6614       "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
6615       "class"  : "@exclude",
6616       "opcode" : 5795,
6617       "operands" : [
6618         { "kind" : "IdResultType" },
6619         { "kind" : "IdResult" },
6620         { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6621         { "kind" : "IdRef", "name" : "'Direction'" }
6622       ],
6623       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6624       "version" : "None"
6625     },
6626     {
6627       "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
6628       "class"  : "@exclude",
6629       "opcode" : 5796,
6630       "operands" : [
6631         { "kind" : "IdResultType" },
6632         { "kind" : "IdResult" },
6633         { "kind" : "IdRef", "name" : "'Payload'" }
6634       ],
6635       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6636       "version" : "None"
6637     },
6638     {
6639       "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
6640       "class"  : "@exclude",
6641       "opcode" : 5797,
6642       "operands" : [
6643         { "kind" : "IdResultType" },
6644         { "kind" : "IdResult" },
6645         { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
6646         { "kind" : "IdRef", "name" : "'Payload'" }
6647       ],
6648       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6649       "version" : "None"
6650     },
6651     {
6652       "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
6653       "class"  : "@exclude",
6654       "opcode" : 5798,
6655       "operands" : [
6656         { "kind" : "IdResultType" },
6657         { "kind" : "IdResult" },
6658         { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
6659         { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
6660         { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
6661         { "kind" : "IdRef", "name" : "'Payload'" }
6662       ],
6663       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6664       "version" : "None"
6665     },
6666     {
6667       "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
6668       "class"  : "@exclude",
6669       "opcode" : 5799,
6670       "operands" : [
6671         { "kind" : "IdResultType" },
6672         { "kind" : "IdResult" },
6673         { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
6674         { "kind" : "IdRef", "name" : "'Payload'" }
6675       ],
6676       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6677       "version" : "None"
6678     },
6679     {
6680       "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
6681       "class"  : "@exclude",
6682       "opcode" : 5800,
6683       "operands" : [
6684         { "kind" : "IdResultType" },
6685         { "kind" : "IdResult" },
6686         { "kind" : "IdRef", "name" : "'Payload'" }
6687       ],
6688       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6689       "version" : "None"
6690     },
6691     {
6692       "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
6693       "class"  : "@exclude",
6694       "opcode" : 5801,
6695       "operands" : [
6696         { "kind" : "IdResultType" },
6697         { "kind" : "IdResult" },
6698         { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
6699         { "kind" : "IdRef", "name" : "'Payload'" }
6700       ],
6701       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6702       "version" : "None"
6703     },
6704     {
6705       "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
6706       "class"  : "@exclude",
6707       "opcode" : 5802,
6708       "operands" : [
6709         { "kind" : "IdResultType" },
6710         { "kind" : "IdResult" },
6711         { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
6712         { "kind" : "IdRef", "name" : "'Payload'" }
6713       ],
6714       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6715       "version" : "None"
6716     },
6717     {
6718       "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
6719       "class"  : "@exclude",
6720       "opcode" : 5803,
6721       "operands" : [
6722         { "kind" : "IdResultType" },
6723         { "kind" : "IdResult" },
6724         { "kind" : "IdRef", "name" : "'Src Image'" },
6725         { "kind" : "IdRef", "name" : "'Payload'" }
6726       ],
6727       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6728       "version" : "None"
6729     },
6730     {
6731       "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
6732       "class"  : "@exclude",
6733       "opcode" : 5804,
6734       "operands" : [
6735         { "kind" : "IdResultType" },
6736         { "kind" : "IdResult" },
6737         { "kind" : "IdRef", "name" : "'Src Image'" },
6738         { "kind" : "IdRef", "name" : "'Ref Image'" },
6739         { "kind" : "IdRef", "name" : "'Payload'" }
6740       ],
6741       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6742       "version" : "None"
6743     },
6744     {
6745       "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
6746       "class"  : "@exclude",
6747       "opcode" : 5805,
6748       "operands" : [
6749         { "kind" : "IdResultType" },
6750         { "kind" : "IdResult" },
6751         { "kind" : "IdRef", "name" : "'Src Image'" },
6752         { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6753         { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6754         { "kind" : "IdRef", "name" : "'Payload'" }
6755       ],
6756       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6757       "version" : "None"
6758     },
6759     {
6760       "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
6761       "class"  : "@exclude",
6762       "opcode" : 5806,
6763       "operands" : [
6764         { "kind" : "IdResultType" },
6765         { "kind" : "IdResult" },
6766         { "kind" : "IdRef", "name" : "'Src Image'" },
6767         { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6768         { "kind" : "IdRef", "name" : "'Payload'" }
6769       ],
6770       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6771       "version" : "None"
6772     },
6773     {
6774       "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
6775       "class"  : "@exclude",
6776       "opcode" : 5807,
6777       "operands" : [
6778         { "kind" : "IdResultType" },
6779         { "kind" : "IdResult" },
6780         { "kind" : "IdRef", "name" : "'Src Image'" },
6781         { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6782         { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6783         { "kind" : "IdRef", "name" : "'Payload'" }
6784       ],
6785       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6786       "version" : "None"
6787     },
6788     {
6789       "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
6790       "class"  : "@exclude",
6791       "opcode" : 5808,
6792       "operands" : [
6793         { "kind" : "IdResultType" },
6794         { "kind" : "IdResult" },
6795         { "kind" : "IdRef", "name" : "'Payload'" }
6796       ],
6797       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6798       "version" : "None"
6799     },
6800     {
6801       "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
6802       "class"  : "@exclude",
6803       "opcode" : 5809,
6804       "operands" : [
6805         { "kind" : "IdResultType" },
6806         { "kind" : "IdResult" },
6807         { "kind" : "IdRef", "name" : "'Payload'" }
6808       ],
6809       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6810       "version" : "None"
6811     },
6812     {
6813       "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
6814       "class"  : "@exclude",
6815       "opcode" : 5810,
6816       "operands" : [
6817         { "kind" : "IdResultType" },
6818         { "kind" : "IdResult" },
6819         { "kind" : "IdRef", "name" : "'Payload'" }
6820       ],
6821       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6822       "version" : "None"
6823     },
6824     {
6825       "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
6826       "class"  : "@exclude",
6827       "opcode" : 5811,
6828       "operands" : [
6829         { "kind" : "IdResultType" },
6830         { "kind" : "IdResult" },
6831         { "kind" : "IdRef", "name" : "'Payload'" }
6832       ],
6833       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6834       "version" : "None"
6835     },
6836     {
6837       "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
6838       "class"  : "@exclude",
6839       "opcode" : 5812,
6840       "operands" : [
6841         { "kind" : "IdResultType" },
6842         { "kind" : "IdResult" },
6843         { "kind" : "IdRef", "name" : "'Payload'" }
6844       ],
6845       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6846       "version" : "None"
6847     },
6848     {
6849       "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
6850       "class"  : "@exclude",
6851       "opcode" : 5813,
6852       "operands" : [
6853         { "kind" : "IdResultType" },
6854         { "kind" : "IdResult" },
6855         { "kind" : "IdRef", "name" : "'Payload'" }
6856       ],
6857       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6858       "version" : "None"
6859     },
6860     {
6861       "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
6862       "class"  : "@exclude",
6863       "opcode" : 5814,
6864       "operands" : [
6865         { "kind" : "IdResultType" },
6866         { "kind" : "IdResult" },
6867         { "kind" : "IdRef", "name" : "'Payload'" }
6868       ],
6869       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6870       "version" : "None"
6871     },
6872     {
6873       "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
6874       "class"  : "@exclude",
6875       "opcode" : 5815,
6876       "operands" : [
6877         { "kind" : "IdResultType" },
6878         { "kind" : "IdResult" },
6879         { "kind" : "IdRef", "name" : "'Payload'" }
6880       ],
6881       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6882       "version" : "None"
6883     },
6884     {
6885       "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
6886       "class"  : "@exclude",
6887       "opcode" : 5816,
6888       "operands" : [
6889         { "kind" : "IdResultType" },
6890         { "kind" : "IdResult" },
6891         { "kind" : "IdRef", "name" : "'Payload'" }
6892       ],
6893       "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6894       "version" : "None"
6895     },
6896     {
6897       "opname" : "OpVariableLengthArrayINTEL",
6898       "class"  : "@exclude",
6899       "opcode" : 5818,
6900       "operands" : [
6901         { "kind" : "IdResultType" },
6902         { "kind" : "IdResult" },
6903         { "kind" : "IdRef", "name" : "'Lenght'" }
6904       ],
6905       "capabilities" : [ "VariableLengthArrayINTEL" ],
6906       "version" : "None"
6907     },
6908     {
6909       "opname" : "OpSaveMemoryINTEL",
6910       "class"  : "@exclude",
6911       "opcode" : 5819,
6912       "operands" : [
6913         { "kind" : "IdResultType" },
6914         { "kind" : "IdResult" }
6915       ],
6916       "capabilities" : [ "VariableLengthArrayINTEL" ],
6917       "version" : "None"
6918     },
6919     {
6920       "opname" : "OpRestoreMemoryINTEL",
6921       "class"  : "@exclude",
6922       "opcode" : 5820,
6923       "operands" : [
6924         { "kind" : "IdRef", "name" : "'Ptr'" }
6925       ],
6926       "capabilities" : [ "VariableLengthArrayINTEL" ],
6927       "version" : "None"
6928     },
6929     {
6930       "opname" : "OpArbitraryFloatSinCosPiINTEL",
6931       "class"  : "@exclude",
6932       "opcode" : 5840,
6933       "operands" : [
6934         { "kind" : "IdResultType" },
6935         { "kind" : "IdResult" },
6936         { "kind" : "IdRef", "name" : "'A'" },
6937         { "kind" : "LiteralInteger", "name" : "'M1'" },
6938         { "kind" : "LiteralInteger", "name" : "'Mout'" },
6939         { "kind" : "LiteralInteger", "name" : "'FromSign'" },
6940         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
6941         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
6942         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
6943       ],
6944       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
6945       "version" : "None"
6946     },
6947     {
6948       "opname" : "OpArbitraryFloatCastINTEL",
6949       "class"  : "@exclude",
6950       "opcode" : 5841,
6951       "operands" : [
6952         { "kind" : "IdResultType" },
6953         { "kind" : "IdResult" },
6954         { "kind" : "IdRef", "name" : "'A'" },
6955         { "kind" : "LiteralInteger", "name" : "'M1'" },
6956         { "kind" : "LiteralInteger", "name" : "'Mout'" },
6957         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
6958         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
6959         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
6960       ],
6961       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
6962       "version" : "None"
6963     },
6964     {
6965       "opname" : "OpArbitraryFloatCastFromIntINTEL",
6966       "class"  : "@exclude",
6967       "opcode" : 5842,
6968       "operands" : [
6969         { "kind" : "IdResultType" },
6970         { "kind" : "IdResult" },
6971         { "kind" : "IdRef", "name" : "'A'" },
6972         { "kind" : "LiteralInteger", "name" : "'Mout'" },
6973         { "kind" : "LiteralInteger", "name" : "'FromSign'" },
6974         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
6975         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
6976         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
6977       ],
6978       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
6979       "version" : "None"
6980     },
6981     {
6982       "opname" : "OpArbitraryFloatCastToIntINTEL",
6983       "class"  : "@exclude",
6984       "opcode" : 5843,
6985       "operands" : [
6986         { "kind" : "IdResultType" },
6987         { "kind" : "IdResult" },
6988         { "kind" : "IdRef", "name" : "'A'" },
6989         { "kind" : "LiteralInteger", "name" : "'M1'" },
6990         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
6991         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
6992         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
6993       ],
6994       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
6995       "version" : "None"
6996     },
6997     {
6998       "opname" : "OpArbitraryFloatAddINTEL",
6999       "class"  : "@exclude",
7000       "opcode" : 5846,
7001       "operands" : [
7002         { "kind" : "IdResultType" },
7003         { "kind" : "IdResult" },
7004         { "kind" : "IdRef", "name" : "'A'" },
7005         { "kind" : "LiteralInteger", "name" : "'M1'" },
7006         { "kind" : "IdRef", "name" : "'B'" },
7007         { "kind" : "LiteralInteger", "name" : "'M2'" },
7008         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7009         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7010         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7011         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7012       ],
7013       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7014       "version" : "None"
7015     },
7016     {
7017       "opname" : "OpArbitraryFloatSubINTEL",
7018       "class"  : "@exclude",
7019       "opcode" : 5847,
7020       "operands" : [
7021         { "kind" : "IdResultType" },
7022         { "kind" : "IdResult" },
7023         { "kind" : "IdRef", "name" : "'A'" },
7024         { "kind" : "LiteralInteger", "name" : "'M1'" },
7025         { "kind" : "IdRef", "name" : "'B'" },
7026         { "kind" : "LiteralInteger", "name" : "'M2'" },
7027         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7028         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7029         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7030         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7031       ],
7032       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7033       "version" : "None"
7034     },
7035     {
7036       "opname" : "OpArbitraryFloatMulINTEL",
7037       "class"  : "@exclude",
7038       "opcode" : 5848,
7039       "operands" : [
7040         { "kind" : "IdResultType" },
7041         { "kind" : "IdResult" },
7042         { "kind" : "IdRef", "name" : "'A'" },
7043         { "kind" : "LiteralInteger", "name" : "'M1'" },
7044         { "kind" : "IdRef", "name" : "'B'" },
7045         { "kind" : "LiteralInteger", "name" : "'M2'" },
7046         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7047         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7048         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7049         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7050       ],
7051       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7052       "version" : "None"
7053     },
7054     {
7055       "opname" : "OpArbitraryFloatDivINTEL",
7056       "class"  : "@exclude",
7057       "opcode" : 5849,
7058       "operands" : [
7059         { "kind" : "IdResultType" },
7060         { "kind" : "IdResult" },
7061         { "kind" : "IdRef", "name" : "'A'" },
7062         { "kind" : "LiteralInteger", "name" : "'M1'" },
7063         { "kind" : "IdRef", "name" : "'B'" },
7064         { "kind" : "LiteralInteger", "name" : "'M2'" },
7065         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7066         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7067         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7068         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7069       ],
7070       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7071       "version" : "None"
7072     },
7073     {
7074       "opname" : "OpArbitraryFloatGTINTEL",
7075       "class"  : "@exclude",
7076       "opcode" : 5850,
7077       "operands" : [
7078         { "kind" : "IdResultType" },
7079         { "kind" : "IdResult" },
7080         { "kind" : "IdRef", "name" : "'A'" },
7081         { "kind" : "LiteralInteger", "name" : "'M1'" },
7082         { "kind" : "IdRef", "name" : "'B'" },
7083         { "kind" : "LiteralInteger", "name" : "'M2'" }
7084       ],
7085       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7086       "version" : "None"
7087     },
7088     {
7089       "opname" : "OpArbitraryFloatGEINTEL",
7090       "class"  : "@exclude",
7091       "opcode" : 5851,
7092       "operands" : [
7093         { "kind" : "IdResultType" },
7094         { "kind" : "IdResult" },
7095         { "kind" : "IdRef", "name" : "'A'" },
7096         { "kind" : "LiteralInteger", "name" : "'M1'" },
7097         { "kind" : "IdRef", "name" : "'B'" },
7098         { "kind" : "LiteralInteger", "name" : "'M2'" }
7099       ],
7100       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7101       "version" : "None"
7102     },
7103     {
7104       "opname" : "OpArbitraryFloatLTINTEL",
7105       "class"  : "@exclude",
7106       "opcode" : 5852,
7107       "operands" : [
7108         { "kind" : "IdResultType" },
7109         { "kind" : "IdResult" },
7110         { "kind" : "IdRef", "name" : "'A'" },
7111         { "kind" : "LiteralInteger", "name" : "'M1'" },
7112         { "kind" : "IdRef", "name" : "'B'" },
7113         { "kind" : "LiteralInteger", "name" : "'M2'" }
7114       ],
7115       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7116       "version" : "None"
7117     },
7118     {
7119       "opname" : "OpArbitraryFloatLEINTEL",
7120       "class"  : "@exclude",
7121       "opcode" : 5853,
7122       "operands" : [
7123         { "kind" : "IdResultType" },
7124         { "kind" : "IdResult" },
7125         { "kind" : "IdRef", "name" : "'A'" },
7126         { "kind" : "LiteralInteger", "name" : "'M1'" },
7127         { "kind" : "IdRef", "name" : "'B'" },
7128         { "kind" : "LiteralInteger", "name" : "'M2'" }
7129       ],
7130       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7131       "version" : "None"
7132     },
7133     {
7134       "opname" : "OpArbitraryFloatEQINTEL",
7135       "class"  : "@exclude",
7136       "opcode" : 5854,
7137       "operands" : [
7138         { "kind" : "IdResultType" },
7139         { "kind" : "IdResult" },
7140         { "kind" : "IdRef", "name" : "'A'" },
7141         { "kind" : "LiteralInteger", "name" : "'M1'" },
7142         { "kind" : "IdRef", "name" : "'B'" },
7143         { "kind" : "LiteralInteger", "name" : "'M2'" }
7144       ],
7145       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7146       "version" : "None"
7147     },
7148     {
7149       "opname" : "OpArbitraryFloatRecipINTEL",
7150       "class"  : "@exclude",
7151       "opcode" : 5855,
7152       "operands" : [
7153         { "kind" : "IdResultType" },
7154         { "kind" : "IdResult" },
7155         { "kind" : "IdRef", "name" : "'A'" },
7156         { "kind" : "LiteralInteger", "name" : "'M1'" },
7157         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7158         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7159         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7160         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7161       ],
7162       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7163       "version" : "None"
7164     },
7165     {
7166       "opname" : "OpArbitraryFloatRSqrtINTEL",
7167       "class"  : "@exclude",
7168       "opcode" : 5856,
7169       "operands" : [
7170         { "kind" : "IdResultType" },
7171         { "kind" : "IdResult" },
7172         { "kind" : "IdRef", "name" : "'A'" },
7173         { "kind" : "LiteralInteger", "name" : "'M1'" },
7174         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7175         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7176         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7177         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7178       ],
7179       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7180       "version" : "None"
7181     },
7182     {
7183       "opname" : "OpArbitraryFloatCbrtINTEL",
7184       "class"  : "@exclude",
7185       "opcode" : 5857,
7186       "operands" : [
7187         { "kind" : "IdResultType" },
7188         { "kind" : "IdResult" },
7189         { "kind" : "IdRef", "name" : "'A'" },
7190         { "kind" : "LiteralInteger", "name" : "'M1'" },
7191         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7192         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7193         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7194         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7195       ],
7196       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7197       "version" : "None"
7198     },
7199     {
7200       "opname" : "OpArbitraryFloatHypotINTEL",
7201       "class"  : "@exclude",
7202       "opcode" : 5858,
7203       "operands" : [
7204         { "kind" : "IdResultType" },
7205         { "kind" : "IdResult" },
7206         { "kind" : "IdRef", "name" : "'A'" },
7207         { "kind" : "LiteralInteger", "name" : "'M1'" },
7208         { "kind" : "IdRef", "name" : "'B'" },
7209         { "kind" : "LiteralInteger", "name" : "'M2'" },
7210         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7211         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7212         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7213         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7214       ],
7215       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7216       "version" : "None"
7217     },
7218     {
7219       "opname" : "OpArbitraryFloatSqrtINTEL",
7220       "class"  : "@exclude",
7221       "opcode" : 5859,
7222       "operands" : [
7223         { "kind" : "IdResultType" },
7224         { "kind" : "IdResult" },
7225         { "kind" : "IdRef", "name" : "'A'" },
7226         { "kind" : "LiteralInteger", "name" : "'M1'" },
7227         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7228         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7229         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7230         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7231       ],
7232       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7233       "version" : "None"
7234     },
7235     {
7236       "opname" : "OpArbitraryFloatLogINTEL",
7237       "class"  : "@exclude",
7238       "opcode" : 5860,
7239       "operands" : [
7240         { "kind" : "IdResultType" },
7241         { "kind" : "IdResult" },
7242         { "kind" : "IdRef", "name" : "'A'" },
7243         { "kind" : "LiteralInteger", "name" : "'M1'" },
7244         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7245         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7246         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7247         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7248       ],
7249       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7250       "version" : "None"
7251     },
7252     {
7253       "opname" : "OpArbitraryFloatLog2INTEL",
7254       "class"  : "@exclude",
7255       "opcode" : 5861,
7256       "operands" : [
7257         { "kind" : "IdResultType" },
7258         { "kind" : "IdResult" },
7259         { "kind" : "IdRef", "name" : "'A'" },
7260         { "kind" : "LiteralInteger", "name" : "'M1'" },
7261         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7262         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7263         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7264         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7265       ],
7266       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7267       "version" : "None"
7268     },
7269     {
7270       "opname" : "OpArbitraryFloatLog10INTEL",
7271       "class"  : "@exclude",
7272       "opcode" : 5862,
7273       "operands" : [
7274         { "kind" : "IdResultType" },
7275         { "kind" : "IdResult" },
7276         { "kind" : "IdRef", "name" : "'A'" },
7277         { "kind" : "LiteralInteger", "name" : "'M1'" },
7278         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7279         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7280         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7281         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7282       ],
7283       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7284       "version" : "None"
7285     },
7286     {
7287       "opname" : "OpArbitraryFloatLog1pINTEL",
7288       "class"  : "@exclude",
7289       "opcode" : 5863,
7290       "operands" : [
7291         { "kind" : "IdResultType" },
7292         { "kind" : "IdResult" },
7293         { "kind" : "IdRef", "name" : "'A'" },
7294         { "kind" : "LiteralInteger", "name" : "'M1'" },
7295         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7296         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7297         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7298         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7299       ],
7300       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7301       "version" : "None"
7302     },
7303     {
7304       "opname" : "OpArbitraryFloatExpINTEL",
7305       "class"  : "@exclude",
7306       "opcode" : 5864,
7307       "operands" : [
7308         { "kind" : "IdResultType" },
7309         { "kind" : "IdResult" },
7310         { "kind" : "IdRef", "name" : "'A'" },
7311         { "kind" : "LiteralInteger", "name" : "'M1'" },
7312         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7313         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7314         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7315         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7316       ],
7317       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7318       "version" : "None"
7319     },
7320     {
7321       "opname" : "OpArbitraryFloatExp2INTEL",
7322       "class"  : "@exclude",
7323       "opcode" : 5865,
7324       "operands" : [
7325         { "kind" : "IdResultType" },
7326         { "kind" : "IdResult" },
7327         { "kind" : "IdRef", "name" : "'A'" },
7328         { "kind" : "LiteralInteger", "name" : "'M1'" },
7329         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7330         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7331         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7332         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7333       ],
7334       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7335       "version" : "None"
7336     },
7337     {
7338       "opname" : "OpArbitraryFloatExp10INTEL",
7339       "class"  : "@exclude",
7340       "opcode" : 5866,
7341       "operands" : [
7342         { "kind" : "IdResultType" },
7343         { "kind" : "IdResult" },
7344         { "kind" : "IdRef", "name" : "'A'" },
7345         { "kind" : "LiteralInteger", "name" : "'M1'" },
7346         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7347         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7348         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7349         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7350       ],
7351       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7352       "version" : "None"
7353     },
7354     {
7355       "opname" : "OpArbitraryFloatExpm1INTEL",
7356       "class"  : "@exclude",
7357       "opcode" : 5867,
7358       "operands" : [
7359         { "kind" : "IdResultType" },
7360         { "kind" : "IdResult" },
7361         { "kind" : "IdRef", "name" : "'A'" },
7362         { "kind" : "LiteralInteger", "name" : "'M1'" },
7363         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7364         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7365         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7366         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7367       ],
7368       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7369       "version" : "None"
7370     },
7371     {
7372       "opname" : "OpArbitraryFloatSinINTEL",
7373       "class"  : "@exclude",
7374       "opcode" : 5868,
7375       "operands" : [
7376         { "kind" : "IdResultType" },
7377         { "kind" : "IdResult" },
7378         { "kind" : "IdRef", "name" : "'A'" },
7379         { "kind" : "LiteralInteger", "name" : "'M1'" },
7380         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7381         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7382         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7383         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7384       ],
7385       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7386       "version" : "None"
7387     },
7388     {
7389       "opname" : "OpArbitraryFloatCosINTEL",
7390       "class"  : "@exclude",
7391       "opcode" : 5869,
7392       "operands" : [
7393         { "kind" : "IdResultType" },
7394         { "kind" : "IdResult" },
7395         { "kind" : "IdRef", "name" : "'A'" },
7396         { "kind" : "LiteralInteger", "name" : "'M1'" },
7397         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7398         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7399         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7400         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7401       ],
7402       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7403       "version" : "None"
7404     },
7405     {
7406       "opname" : "OpArbitraryFloatSinCosINTEL",
7407       "class"  : "@exclude",
7408       "opcode" : 5870,
7409       "operands" : [
7410         { "kind" : "IdResultType" },
7411         { "kind" : "IdResult" },
7412         { "kind" : "IdRef", "name" : "'A'" },
7413         { "kind" : "LiteralInteger", "name" : "'M1'" },
7414         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7415         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7416         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7417         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7418       ],
7419       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7420       "version" : "None"
7421     },
7422     {
7423       "opname" : "OpArbitraryFloatSinPiINTEL",
7424       "class"  : "@exclude",
7425       "opcode" : 5871,
7426       "operands" : [
7427         { "kind" : "IdResultType" },
7428         { "kind" : "IdResult" },
7429         { "kind" : "IdRef", "name" : "'A'" },
7430         { "kind" : "LiteralInteger", "name" : "'M1'" },
7431         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7432         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7433         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7434         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7435       ],
7436       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7437       "version" : "None"
7438     },
7439     {
7440       "opname" : "OpArbitraryFloatCosPiINTEL",
7441       "class"  : "@exclude",
7442       "opcode" : 5872,
7443       "operands" : [
7444         { "kind" : "IdResultType" },
7445         { "kind" : "IdResult" },
7446         { "kind" : "IdRef", "name" : "'A'" },
7447         { "kind" : "LiteralInteger", "name" : "'M1'" },
7448         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7449         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7450         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7451         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7452       ],
7453       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7454       "version" : "None"
7455     },
7456     {
7457       "opname" : "OpArbitraryFloatASinINTEL",
7458       "class"  : "@exclude",
7459       "opcode" : 5873,
7460       "operands" : [
7461         { "kind" : "IdResultType" },
7462         { "kind" : "IdResult" },
7463         { "kind" : "IdRef", "name" : "'A'" },
7464         { "kind" : "LiteralInteger", "name" : "'M1'" },
7465         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7466         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7467         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7468         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7469       ],
7470       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7471       "version" : "None"
7472     },
7473     {
7474       "opname" : "OpArbitraryFloatASinPiINTEL",
7475       "class"  : "@exclude",
7476       "opcode" : 5874,
7477       "operands" : [
7478         { "kind" : "IdResultType" },
7479         { "kind" : "IdResult" },
7480         { "kind" : "IdRef", "name" : "'A'" },
7481         { "kind" : "LiteralInteger", "name" : "'M1'" },
7482         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7483         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7484         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7485         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7486       ],
7487       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7488       "version" : "None"
7489     },
7490     {
7491       "opname" : "OpArbitraryFloatACosINTEL",
7492       "class"  : "@exclude",
7493       "opcode" : 5875,
7494       "operands" : [
7495         { "kind" : "IdResultType" },
7496         { "kind" : "IdResult" },
7497         { "kind" : "IdRef", "name" : "'A'" },
7498         { "kind" : "LiteralInteger", "name" : "'M1'" },
7499         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7500         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7501         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7502         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7503       ],
7504       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7505       "version" : "None"
7506     },
7507     {
7508       "opname" : "OpArbitraryFloatACosPiINTEL",
7509       "class"  : "@exclude",
7510       "opcode" : 5876,
7511       "operands" : [
7512         { "kind" : "IdResultType" },
7513         { "kind" : "IdResult" },
7514         { "kind" : "IdRef", "name" : "'A'" },
7515         { "kind" : "LiteralInteger", "name" : "'M1'" },
7516         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7517         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7518         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7519         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7520       ],
7521       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7522       "version" : "None"
7523     },
7524     {
7525       "opname" : "OpArbitraryFloatATanINTEL",
7526       "class"  : "@exclude",
7527       "opcode" : 5877,
7528       "operands" : [
7529         { "kind" : "IdResultType" },
7530         { "kind" : "IdResult" },
7531         { "kind" : "IdRef", "name" : "'A'" },
7532         { "kind" : "LiteralInteger", "name" : "'M1'" },
7533         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7534         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7535         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7536         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7537       ],
7538       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7539       "version" : "None"
7540     },
7541     {
7542       "opname" : "OpArbitraryFloatATanPiINTEL",
7543       "class"  : "@exclude",
7544       "opcode" : 5878,
7545       "operands" : [
7546         { "kind" : "IdResultType" },
7547         { "kind" : "IdResult" },
7548         { "kind" : "IdRef", "name" : "'A'" },
7549         { "kind" : "LiteralInteger", "name" : "'M1'" },
7550         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7551         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7552         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7553         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7554       ],
7555       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7556       "version" : "None"
7557     },
7558     {
7559       "opname" : "OpArbitraryFloatATan2INTEL",
7560       "class"  : "@exclude",
7561       "opcode" : 5879,
7562       "operands" : [
7563         { "kind" : "IdResultType" },
7564         { "kind" : "IdResult" },
7565         { "kind" : "IdRef", "name" : "'A'" },
7566         { "kind" : "LiteralInteger", "name" : "'M1'" },
7567         { "kind" : "IdRef", "name" : "'B'" },
7568         { "kind" : "LiteralInteger", "name" : "'M2'" },
7569         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7570         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7571         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7572         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7573       ],
7574       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7575       "version" : "None"
7576     },
7577     {
7578       "opname" : "OpArbitraryFloatPowINTEL",
7579       "class"  : "@exclude",
7580       "opcode" : 5880,
7581       "operands" : [
7582         { "kind" : "IdResultType" },
7583         { "kind" : "IdResult" },
7584         { "kind" : "IdRef", "name" : "'A'" },
7585         { "kind" : "LiteralInteger", "name" : "'M1'" },
7586         { "kind" : "IdRef", "name" : "'B'" },
7587         { "kind" : "LiteralInteger", "name" : "'M2'" },
7588         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7589         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7590         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7591         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7592       ],
7593       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7594       "version" : "None"
7595     },
7596     {
7597       "opname" : "OpArbitraryFloatPowRINTEL",
7598       "class"  : "@exclude",
7599       "opcode" : 5881,
7600       "operands" : [
7601         { "kind" : "IdResultType" },
7602         { "kind" : "IdResult" },
7603         { "kind" : "IdRef", "name" : "'A'" },
7604         { "kind" : "LiteralInteger", "name" : "'M1'" },
7605         { "kind" : "IdRef", "name" : "'B'" },
7606         { "kind" : "LiteralInteger", "name" : "'M2'" },
7607         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7608         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7609         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7610         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7611       ],
7612       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7613       "version" : "None"
7614     },
7615     {
7616       "opname" : "OpArbitraryFloatPowNINTEL",
7617       "class"  : "@exclude",
7618       "opcode" : 5882,
7619       "operands" : [
7620         { "kind" : "IdResultType" },
7621         { "kind" : "IdResult" },
7622         { "kind" : "IdRef", "name" : "'A'" },
7623         { "kind" : "LiteralInteger", "name" : "'M1'" },
7624         { "kind" : "IdRef", "name" : "'B'" },
7625         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7626         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7627         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7628         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7629       ],
7630       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7631       "version" : "None"
7632     },
7633     {
7634       "opname" : "OpArbitraryFloatPowNINTEL",
7635       "class"  : "@exclude",
7636       "opcode" : 5882,
7637       "operands" : [
7638         { "kind" : "IdResultType" },
7639         { "kind" : "IdResult" },
7640         { "kind" : "IdRef", "name" : "'A'" },
7641         { "kind" : "LiteralInteger", "name" : "'M1'" },
7642         { "kind" : "IdRef", "name" : "'B'" },
7643         { "kind" : "LiteralInteger", "name" : "'Mout'" },
7644         { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
7645         { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
7646         { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
7647       ],
7648       "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
7649       "version" : "None"
7650     },
7651     {
7652       "opname" : "OpLoopControlINTEL",
7653       "class"  : "Reserved",
7654       "opcode" : 5887,
7655       "operands" : [
7656         { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
7657       ],
7658       "capabilities" : [ "UnstructuredLoopControlsINTEL" ],
7659       "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
7660       "version" : "None"
7661     },
7662     {
7663       "opname" : "OpFixedSqrtINTEL",
7664       "class"  : "@exclude",
7665       "opcode" : 5923,
7666       "operands" : [
7667         { "kind" : "IdResultType" },
7668         { "kind" : "IdResult" },
7669         { "kind" : "IdRef", "name" : "'Input Type'" },
7670         { "kind" : "IdRef", "name" : "'Input'" },
7671         { "kind" : "LiteralInteger", "name" : "'S'" },
7672         { "kind" : "LiteralInteger", "name" : "'I'" },
7673         { "kind" : "LiteralInteger", "name" : "'rI'" },
7674         { "kind" : "LiteralInteger", "name" : "'Q'" },
7675         { "kind" : "LiteralInteger", "name" : "'O'" }
7676       ],
7677       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7678       "version" : "None"
7679     },
7680     {
7681       "opname" : "OpFixedRecipINTEL",
7682       "class"  : "@exclude",
7683       "opcode" : 5924,
7684       "operands" : [
7685         { "kind" : "IdResultType" },
7686         { "kind" : "IdResult" },
7687         { "kind" : "IdRef", "name" : "'Input Type'" },
7688         { "kind" : "IdRef", "name" : "'Input'" },
7689         { "kind" : "LiteralInteger", "name" : "'S'" },
7690         { "kind" : "LiteralInteger", "name" : "'I'" },
7691         { "kind" : "LiteralInteger", "name" : "'rI'" },
7692         { "kind" : "LiteralInteger", "name" : "'Q'" },
7693         { "kind" : "LiteralInteger", "name" : "'O'" }
7694       ],
7695       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7696       "version" : "None"
7697     },
7698     {
7699       "opname" : "OpFixedRsqrtINTEL",
7700       "class"  : "@exclude",
7701       "opcode" : 5925,
7702       "operands" : [
7703         { "kind" : "IdResultType" },
7704         { "kind" : "IdResult" },
7705         { "kind" : "IdRef", "name" : "'Input Type'" },
7706         { "kind" : "IdRef", "name" : "'Input'" },
7707         { "kind" : "LiteralInteger", "name" : "'S'" },
7708         { "kind" : "LiteralInteger", "name" : "'I'" },
7709         { "kind" : "LiteralInteger", "name" : "'rI'" },
7710         { "kind" : "LiteralInteger", "name" : "'Q'" },
7711         { "kind" : "LiteralInteger", "name" : "'O'" }
7712       ],
7713       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7714       "version" : "None"
7715     },
7716     {
7717       "opname" : "OpFixedSinINTEL",
7718       "class"  : "@exclude",
7719       "opcode" : 5926,
7720       "operands" : [
7721         { "kind" : "IdResultType" },
7722         { "kind" : "IdResult" },
7723         { "kind" : "IdRef", "name" : "'Input Type'" },
7724         { "kind" : "IdRef", "name" : "'Input'" },
7725         { "kind" : "LiteralInteger", "name" : "'S'" },
7726         { "kind" : "LiteralInteger", "name" : "'I'" },
7727         { "kind" : "LiteralInteger", "name" : "'rI'" },
7728         { "kind" : "LiteralInteger", "name" : "'Q'" },
7729         { "kind" : "LiteralInteger", "name" : "'O'" }
7730       ],
7731       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7732       "version" : "None"
7733     },
7734     {
7735       "opname" : "OpFixedCosINTEL",
7736       "class"  : "@exclude",
7737       "opcode" : 5927,
7738       "operands" : [
7739         { "kind" : "IdResultType" },
7740         { "kind" : "IdResult" },
7741         { "kind" : "IdRef", "name" : "'Input Type'" },
7742         { "kind" : "IdRef", "name" : "'Input'" },
7743         { "kind" : "LiteralInteger", "name" : "'S'" },
7744         { "kind" : "LiteralInteger", "name" : "'I'" },
7745         { "kind" : "LiteralInteger", "name" : "'rI'" },
7746         { "kind" : "LiteralInteger", "name" : "'Q'" },
7747         { "kind" : "LiteralInteger", "name" : "'O'" }
7748       ],
7749       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7750       "version" : "None"
7751     },
7752     {
7753       "opname" : "OpFixedSinCosINTEL",
7754       "class"  : "@exclude",
7755       "opcode" : 5928,
7756       "operands" : [
7757         { "kind" : "IdResultType" },
7758         { "kind" : "IdResult" },
7759         { "kind" : "IdRef", "name" : "'Input Type'" },
7760         { "kind" : "IdRef", "name" : "'Input'" },
7761         { "kind" : "LiteralInteger", "name" : "'S'" },
7762         { "kind" : "LiteralInteger", "name" : "'I'" },
7763         { "kind" : "LiteralInteger", "name" : "'rI'" },
7764         { "kind" : "LiteralInteger", "name" : "'Q'" },
7765         { "kind" : "LiteralInteger", "name" : "'O'" }
7766       ],
7767       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7768       "version" : "None"
7769     },
7770     {
7771       "opname" : "OpFixedSinPiINTEL",
7772       "class"  : "@exclude",
7773       "opcode" : 5929,
7774       "operands" : [
7775         { "kind" : "IdResultType" },
7776         { "kind" : "IdResult" },
7777         { "kind" : "IdRef", "name" : "'Input Type'" },
7778         { "kind" : "IdRef", "name" : "'Input'" },
7779         { "kind" : "LiteralInteger", "name" : "'S'" },
7780         { "kind" : "LiteralInteger", "name" : "'I'" },
7781         { "kind" : "LiteralInteger", "name" : "'rI'" },
7782         { "kind" : "LiteralInteger", "name" : "'Q'" },
7783         { "kind" : "LiteralInteger", "name" : "'O'" }
7784       ],
7785       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7786       "version" : "None"
7787     },
7788     {
7789       "opname" : "OpFixedCosPiINTEL",
7790       "class"  : "@exclude",
7791       "opcode" : 5930,
7792       "operands" : [
7793         { "kind" : "IdResultType" },
7794         { "kind" : "IdResult" },
7795         { "kind" : "IdRef", "name" : "'Input Type'" },
7796         { "kind" : "IdRef", "name" : "'Input'" },
7797         { "kind" : "LiteralInteger", "name" : "'S'" },
7798         { "kind" : "LiteralInteger", "name" : "'I'" },
7799         { "kind" : "LiteralInteger", "name" : "'rI'" },
7800         { "kind" : "LiteralInteger", "name" : "'Q'" },
7801         { "kind" : "LiteralInteger", "name" : "'O'" }
7802       ],
7803       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7804       "version" : "None"
7805     },
7806     {
7807       "opname" : "OpFixedSinCosPiINTEL",
7808       "class"  : "@exclude",
7809       "opcode" : 5931,
7810       "operands" : [
7811         { "kind" : "IdResultType" },
7812         { "kind" : "IdResult" },
7813         { "kind" : "IdRef", "name" : "'Input Type'" },
7814         { "kind" : "IdRef", "name" : "'Input'" },
7815         { "kind" : "LiteralInteger", "name" : "'S'" },
7816         { "kind" : "LiteralInteger", "name" : "'I'" },
7817         { "kind" : "LiteralInteger", "name" : "'rI'" },
7818         { "kind" : "LiteralInteger", "name" : "'Q'" },
7819         { "kind" : "LiteralInteger", "name" : "'O'" }
7820       ],
7821       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7822       "version" : "None"
7823     },
7824     {
7825       "opname" : "OpFixedLogINTEL",
7826       "class"  : "@exclude",
7827       "opcode" : 5932,
7828       "operands" : [
7829         { "kind" : "IdResultType" },
7830         { "kind" : "IdResult" },
7831         { "kind" : "IdRef", "name" : "'Input Type'" },
7832         { "kind" : "IdRef", "name" : "'Input'" },
7833         { "kind" : "LiteralInteger", "name" : "'S'" },
7834         { "kind" : "LiteralInteger", "name" : "'I'" },
7835         { "kind" : "LiteralInteger", "name" : "'rI'" },
7836         { "kind" : "LiteralInteger", "name" : "'Q'" },
7837         { "kind" : "LiteralInteger", "name" : "'O'" }
7838       ],
7839       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7840       "version" : "None"
7841     },
7842     {
7843       "opname" : "OpFixedExpINTEL",
7844       "class"  : "@exclude",
7845       "opcode" : 5933,
7846       "operands" : [
7847         { "kind" : "IdResultType" },
7848         { "kind" : "IdResult" },
7849         { "kind" : "IdRef", "name" : "'Input Type'" },
7850         { "kind" : "IdRef", "name" : "'Input'" },
7851         { "kind" : "LiteralInteger", "name" : "'S'" },
7852         { "kind" : "LiteralInteger", "name" : "'I'" },
7853         { "kind" : "LiteralInteger", "name" : "'rI'" },
7854         { "kind" : "LiteralInteger", "name" : "'Q'" },
7855         { "kind" : "LiteralInteger", "name" : "'O'" }
7856       ],
7857       "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
7858       "version" : "None"
7859     },
7860     {
7861       "opname" : "OpPtrCastToCrossWorkgroupINTEL",
7862       "class"  : "@exclude",
7863       "opcode" : 5934,
7864       "operands" : [
7865         { "kind" : "IdResultType" },
7866         { "kind" : "IdResult" },
7867         { "kind" : "IdRef", "name" : "'Pointer'" }
7868       ],
7869       "capabilities" : [ "USMStorageClassesINTEL" ],
7870       "version" : "None"
7871     },
7872     {
7873       "opname" : "OpCrossWorkgroupCastToPtrINTEL",
7874       "class"  : "@exclude",
7875       "opcode" : 5938,
7876       "operands" : [
7877         { "kind" : "IdResultType" },
7878         { "kind" : "IdResult" },
7879         { "kind" : "IdRef", "name" : "'Pointer'" }
7880       ],
7881       "capabilities" : [ "USMStorageClassesINTEL" ],
7882       "version" : "None"
7883     },
7884     {
7885       "opname" : "OpReadPipeBlockingINTEL",
7886       "class"  : "Pipe",
7887       "opcode" : 5946,
7888       "operands" : [
7889         { "kind" : "IdResultType" },
7890         { "kind" : "IdResult" },
7891         { "kind" : "IdRef", "name" : "'Packet Size'" },
7892         { "kind" : "IdRef", "name" : "'Packet Alignment'" }
7893       ],
7894       "capabilities" : [ "BlockingPipesINTEL" ],
7895       "extensions" : [ "SPV_INTEL_blocking_pipes" ],
7896       "version" : "None"
7897     },
7898     {
7899       "opname" : "OpWritePipeBlockingINTEL",
7900       "class"  : "Pipe",
7901       "opcode" : 5947,
7902       "operands" : [
7903         { "kind" : "IdResultType" },
7904         { "kind" : "IdResult" },
7905         { "kind" : "IdRef", "name" : "'Packet Size'" },
7906         { "kind" : "IdRef", "name" : "'Packet Alignment'" }
7907       ],
7908       "capabilities" : [ "BlockingPipesINTEL" ],
7909       "extensions" : [ "SPV_INTEL_blocking_pipes" ],
7910       "version" : "None"
7911     },
7912     {
7913       "opname" : "OpFPGARegINTEL",
7914       "class"  : "Reserved",
7915       "opcode" : 5949,
7916       "operands" : [
7917         { "kind" : "IdResultType" },
7918         { "kind" : "IdResult" },
7919         { "kind" : "IdRef", "name" : "'Result'" },
7920         { "kind" : "IdRef", "name" : "'Input'" }
7921       ],
7922       "capabilities" : [ "FPGARegINTEL" ],
7923       "extensions" : [ "SPV_INTEL_fpga_reg" ],
7924       "version" : "None"
7925     },
7926     {
7927         "opname" : "OpRayQueryGetRayTMinKHR",
7928         "class" : "Reserved",
7929         "opcode" : 6016,
7930         "operands" : [
7931             { "kind" : "IdResultType" },
7932             { "kind" : "IdResult" },
7933             {
7934                 "kind" : "IdRef",
7935                 "name" : "'RayQuery'"
7936             }
7937         ],
7938         "capabilities" : [ "RayQueryKHR" ],
7939         "extensions" : [ "SPV_KHR_ray_query" ],
7940         "version" : "None"
7941     },
7942     {
7943         "opname" : "OpRayQueryGetRayFlagsKHR",
7944         "class" : "Reserved",
7945         "opcode" : 6017,
7946         "operands" : [
7947             { "kind" : "IdResultType" },
7948             { "kind" : "IdResult" },
7949             {
7950                 "kind" : "IdRef",
7951                 "name" : "'RayQuery'"
7952             }
7953         ],
7954         "capabilities" : [ "RayQueryKHR" ],
7955         "extensions" : [ "SPV_KHR_ray_query" ],
7956         "version" : "None"
7957     },
7958     {
7959         "opname" : "OpRayQueryGetIntersectionTKHR",
7960         "class" : "Reserved",
7961         "opcode" : 6018,
7962         "operands" : [
7963             { "kind" : "IdResultType" },
7964             { "kind" : "IdResult" },
7965             {
7966                 "kind" : "IdRef",
7967                 "name" : "'RayQuery'"
7968             },
7969             {
7970                 "kind" : "IdRef",
7971                 "name" : "'Intersection'"
7972             }
7973         ],
7974         "capabilities" : [ "RayQueryKHR" ],
7975         "extensions" : [ "SPV_KHR_ray_query" ],
7976         "version" : "None"
7977     },
7978     {
7979         "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
7980         "class" : "Reserved",
7981         "opcode" : 6019,
7982         "operands" : [
7983             { "kind" : "IdResultType" },
7984             { "kind" : "IdResult" },
7985             {
7986                 "kind" : "IdRef",
7987                 "name" : "'RayQuery'"
7988             },
7989             {
7990                 "kind" : "IdRef",
7991                 "name" : "'Intersection'"
7992             }
7993         ],
7994         "capabilities" : [ "RayQueryKHR" ],
7995         "extensions" : [ "SPV_KHR_ray_query" ],
7996         "version" : "None"
7997     },
7998     {
7999         "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
8000         "class" : "Reserved",
8001         "opcode" : 6020,
8002         "operands" : [
8003             { "kind" : "IdResultType" },
8004             { "kind" : "IdResult" },
8005             {
8006                 "kind" : "IdRef",
8007                 "name" : "'RayQuery'"
8008             },
8009             {
8010                 "kind" : "IdRef",
8011                 "name" : "'Intersection'"
8012             }
8013         ],
8014         "capabilities" : [ "RayQueryKHR" ],
8015         "extensions" : [ "SPV_KHR_ray_query" ],
8016         "version" : "None"
8017     },
8018     {
8019         "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
8020         "class" : "Reserved",
8021         "opcode" : 6021,
8022         "operands" : [
8023             { "kind" : "IdResultType" },
8024             { "kind" : "IdResult" },
8025             {
8026                 "kind" : "IdRef",
8027                 "name" : "'RayQuery'"
8028             },
8029             {
8030                 "kind" : "IdRef",
8031                 "name" : "'Intersection'"
8032             }
8033         ],
8034         "capabilities" : [ "RayQueryKHR" ],
8035         "extensions" : [ "SPV_KHR_ray_query" ],
8036         "version" : "None"
8037     },
8038     {
8039         "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
8040         "class" : "Reserved",
8041         "opcode" : 6022,
8042         "operands" : [
8043             { "kind" : "IdResultType" },
8044             { "kind" : "IdResult" },
8045             {
8046                 "kind" : "IdRef",
8047                 "name" : "'RayQuery'"
8048             },
8049             {
8050                 "kind" : "IdRef",
8051                 "name" : "'Intersection'"
8052             }
8053         ],
8054         "capabilities" : [ "RayQueryKHR" ],
8055         "extensions" : [ "SPV_KHR_ray_query" ],
8056         "version" : "None"
8057     },
8058     {
8059         "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
8060         "class" : "Reserved",
8061         "opcode" : 6023,
8062         "operands" : [
8063             { "kind" : "IdResultType" },
8064             { "kind" : "IdResult" },
8065             {
8066                 "kind" : "IdRef",
8067                 "name" : "'RayQuery'"
8068             },
8069             {
8070                 "kind" : "IdRef",
8071                 "name" : "'Intersection'"
8072             }
8073         ],
8074         "capabilities" : [ "RayQueryKHR" ],
8075         "extensions" : [ "SPV_KHR_ray_query" ],
8076         "version" : "None"
8077     },
8078     {
8079         "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
8080         "class" : "Reserved",
8081         "opcode" : 6024,
8082         "operands" : [
8083             { "kind" : "IdResultType" },
8084             { "kind" : "IdResult" },
8085             {
8086                 "kind" : "IdRef",
8087                 "name" : "'RayQuery'"
8088             },
8089             {
8090                 "kind" : "IdRef",
8091                 "name" : "'Intersection'"
8092             }
8093         ],
8094         "capabilities" : [ "RayQueryKHR" ],
8095         "extensions" : [ "SPV_KHR_ray_query" ],
8096         "version" : "None"
8097     },
8098     {
8099         "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
8100         "class" : "Reserved",
8101         "opcode" : 6025,
8102         "operands" : [
8103             { "kind" : "IdResultType" },
8104             { "kind" : "IdResult" },
8105             {
8106                 "kind" : "IdRef",
8107                 "name" : "'RayQuery'"
8108             },
8109             {
8110                 "kind" : "IdRef",
8111                 "name" : "'Intersection'"
8112             }
8113         ],
8114         "capabilities" : [ "RayQueryKHR" ],
8115         "extensions" : [ "SPV_KHR_ray_query" ],
8116         "version" : "None"
8117     },
8118     {
8119         "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
8120         "class" : "Reserved",
8121         "opcode" : 6026,
8122         "operands" : [
8123             { "kind" : "IdResultType" },
8124             { "kind" : "IdResult" },
8125             {
8126                 "kind" : "IdRef",
8127                 "name" : "'RayQuery'"
8128             }
8129         ],
8130         "capabilities" : [ "RayQueryKHR" ],
8131         "extensions" : [ "SPV_KHR_ray_query" ],
8132         "version" : "None"
8133     },
8134     {
8135         "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
8136         "class" : "Reserved",
8137         "opcode" : 6027,
8138         "operands" : [
8139             { "kind" : "IdResultType" },
8140             { "kind" : "IdResult" },
8141             {
8142                 "kind" : "IdRef",
8143                 "name" : "'RayQuery'"
8144             },
8145             {
8146                 "kind" : "IdRef",
8147                 "name" : "'Intersection'"
8148             }
8149         ],
8150         "capabilities" : [ "RayQueryKHR" ],
8151         "extensions" : [ "SPV_KHR_ray_query" ],
8152         "version" : "None"
8153     },
8154     {
8155         "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
8156         "class" : "Reserved",
8157         "opcode" : 6028,
8158         "operands" : [
8159             { "kind" : "IdResultType" },
8160             { "kind" : "IdResult" },
8161             {
8162                 "kind" : "IdRef",
8163                 "name" : "'RayQuery'"
8164             },
8165             {
8166                 "kind" : "IdRef",
8167                 "name" : "'Intersection'"
8168             }
8169         ],
8170         "capabilities" : [ "RayQueryKHR" ],
8171         "extensions" : [ "SPV_KHR_ray_query" ],
8172         "version" : "None"
8173     },
8174     {
8175         "opname" : "OpRayQueryGetWorldRayDirectionKHR",
8176         "class" : "Reserved",
8177         "opcode" : 6029,
8178         "operands" : [
8179             { "kind" : "IdResultType" },
8180             { "kind" : "IdResult" },
8181             {
8182                 "kind" : "IdRef",
8183                 "name" : "'RayQuery'"
8184             }
8185         ],
8186         "capabilities" : [ "RayQueryKHR" ],
8187         "extensions" : [ "SPV_KHR_ray_query" ],
8188         "version" : "None"
8189     },
8190     {
8191         "opname" : "OpRayQueryGetWorldRayOriginKHR",
8192         "class" : "Reserved",
8193         "opcode" : 6030,
8194         "operands" : [
8195             { "kind" : "IdResultType" },
8196             { "kind" : "IdResult" },
8197             {
8198                 "kind" : "IdRef",
8199                 "name" : "'RayQuery'"
8200             }
8201         ],
8202         "capabilities" : [ "RayQueryKHR" ],
8203         "extensions" : [ "SPV_KHR_ray_query" ],
8204         "version" : "None"
8205     },
8206     {
8207         "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
8208         "class" : "Reserved",
8209         "opcode" : 6031,
8210         "operands" : [
8211             { "kind" : "IdResultType" },
8212             { "kind" : "IdResult" },
8213             {
8214                 "kind" : "IdRef",
8215                 "name" : "'RayQuery'"
8216             },
8217             {
8218                 "kind" : "IdRef",
8219                 "name" : "'Intersection'"
8220             }
8221         ],
8222         "capabilities" : [ "RayQueryKHR" ],
8223         "extensions" : [ "SPV_KHR_ray_query" ],
8224         "version" : "None"
8225     },
8226     {
8227         "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
8228         "class" : "Reserved",
8229         "opcode" : 6032,
8230         "operands" : [
8231             { "kind" : "IdResultType" },
8232             { "kind" : "IdResult" },
8233             {
8234                 "kind" : "IdRef",
8235                 "name" : "'RayQuery'"
8236             },
8237              {
8238                 "kind" : "IdRef",
8239                 "name" : "'Intersection'"
8240             }
8241         ],
8242         "capabilities" : [ "RayQueryKHR" ],
8243         "extensions" : [ "SPV_KHR_ray_query" ],
8244         "version" : "None"
8245     },
8246     {
8247       "opname" : "OpAtomicFAddEXT",
8248       "class"  : "Atomic",
8249       "opcode" : 6035,
8250       "operands" : [
8251         { "kind" : "IdResultType" },
8252         { "kind" : "IdResult" },
8253         { "kind" : "IdRef",             "name" : "'Pointer'" },
8254         { "kind" : "IdScope",           "name" : "'Memory'" },
8255         { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
8256         { "kind" : "IdRef",             "name" : "'Value'" }
8257       ],
8258       "capabilities" : [ "AtomicFloat16AddEXT", "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
8259       "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
8260       "version" : "None"
8261     },
8262     {
8263       "opname" : "OpTypeBufferSurfaceINTEL",
8264       "class"  : "Type-Declaration",
8265       "opcode" : 6086,
8266       "operands" : [
8267         { "kind" : "IdResult" },
8268         {
8269           "kind" : "AccessQualifier",
8270           "name" : "'AccessQualifier'"
8271         }
8272       ],
8273       "capabilities" : [ "VectorComputeINTEL" ],
8274       "version" : "None"
8275     },
8276     {
8277       "opname" : "OpTypeStructContinuedINTEL",
8278       "class"  : "Type-Declaration",
8279       "opcode" : 6090,
8280       "operands" : [
8281         { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
8282       ],
8283       "capabilities" : [ "LongConstantCompositeINTEL" ],
8284       "version" : "None"
8285     },
8286     {
8287       "opname" : "OpConstantCompositeContinuedINTEL",
8288       "class"  : "Constant-Creation",
8289       "opcode" : 6091,
8290       "operands" : [
8291         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
8292       ],
8293       "capabilities" : [ "LongConstantCompositeINTEL" ],
8294       "version" : "None"
8295     },
8296     {
8297       "opname" : "OpSpecConstantCompositeContinuedINTEL",
8298       "class"  : "Constant-Creation",
8299       "opcode" : 6092,
8300       "operands" : [
8301         { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
8302       ],
8303       "capabilities" : [ "LongConstantCompositeINTEL" ],
8304       "version" : "None"
8305     }
8306   ],
8307   "operand_kinds" : [
8308     {
8309       "category" : "BitEnum",
8310       "kind" : "ImageOperands",
8311       "enumerants" : [
8312         {
8313           "enumerant" : "None",
8314           "value" : "0x0000"
8315         },
8316         {
8317           "enumerant" : "Bias",
8318           "value" : "0x0001",
8319           "capabilities" : [ "Shader" ],
8320           "parameters" : [
8321             { "kind" : "IdRef" }
8322           ]
8323         },
8324         {
8325           "enumerant" : "Lod",
8326           "value" : "0x0002",
8327           "parameters" : [
8328             { "kind" : "IdRef" }
8329           ]
8330         },
8331         {
8332           "enumerant" : "Grad",
8333           "value" : "0x0004",
8334           "parameters" : [
8335             { "kind" : "IdRef" },
8336             { "kind" : "IdRef" }
8337           ]
8338         },
8339         {
8340           "enumerant" : "ConstOffset",
8341           "value" : "0x0008",
8342           "parameters" : [
8343             { "kind" : "IdRef" }
8344           ]
8345         },
8346         {
8347           "enumerant" : "Offset",
8348           "value" : "0x0010",
8349           "capabilities" : [ "ImageGatherExtended" ],
8350           "parameters" : [
8351             { "kind" : "IdRef" }
8352           ]
8353         },
8354         {
8355           "enumerant" : "ConstOffsets",
8356           "value" : "0x0020",
8357           "capabilities" : [ "ImageGatherExtended" ],
8358           "parameters" : [
8359             { "kind" : "IdRef" }
8360           ]
8361         },
8362         {
8363           "enumerant" : "Sample",
8364           "value" : "0x0040",
8365           "parameters" : [
8366             { "kind" : "IdRef" }
8367           ]
8368         },
8369         {
8370           "enumerant" : "MinLod",
8371           "value" : "0x0080",
8372           "capabilities" : [ "MinLod" ],
8373           "parameters" : [
8374             { "kind" : "IdRef" }
8375           ]
8376         },
8377         {
8378           "enumerant" : "MakeTexelAvailable",
8379           "value" : "0x0100",
8380           "capabilities" : [ "VulkanMemoryModel" ],
8381           "parameters" : [
8382             { "kind" : "IdScope" }
8383           ],
8384           "version" : "1.5"
8385         },
8386         {
8387           "enumerant" : "MakeTexelAvailableKHR",
8388           "value" : "0x0100",
8389           "capabilities" : [ "VulkanMemoryModel" ],
8390           "parameters" : [
8391             { "kind" : "IdScope" }
8392           ],
8393           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8394           "version" : "1.5"
8395         },
8396         {
8397           "enumerant" : "MakeTexelVisible",
8398           "value" : "0x0200",
8399           "capabilities" : [ "VulkanMemoryModel" ],
8400           "parameters" : [
8401             { "kind" : "IdScope" }
8402           ],
8403           "version" : "1.5"
8404         },
8405         {
8406           "enumerant" : "MakeTexelVisibleKHR",
8407           "value" : "0x0200",
8408           "capabilities" : [ "VulkanMemoryModel" ],
8409           "parameters" : [
8410             { "kind" : "IdScope" }
8411           ],
8412           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8413           "version" : "1.5"
8414         },
8415         {
8416           "enumerant" : "NonPrivateTexel",
8417           "value" : "0x0400",
8418           "capabilities" : [ "VulkanMemoryModel" ],
8419           "version" : "1.5"
8420         },
8421         {
8422           "enumerant" : "NonPrivateTexelKHR",
8423           "value" : "0x0400",
8424           "capabilities" : [ "VulkanMemoryModel" ],
8425           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8426           "version" : "1.5"
8427         },
8428         {
8429           "enumerant" : "VolatileTexel",
8430           "value" : "0x0800",
8431           "capabilities" : [ "VulkanMemoryModel" ],
8432           "version" : "1.5"
8433         },
8434         {
8435           "enumerant" : "VolatileTexelKHR",
8436           "value" : "0x0800",
8437           "capabilities" : [ "VulkanMemoryModel" ],
8438           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8439           "version" : "1.5"
8440         },
8441         {
8442           "enumerant" : "SignExtend",
8443           "value" : "0x1000",
8444           "version" : "1.4"
8445         },
8446         {
8447           "enumerant" : "ZeroExtend",
8448           "value" : "0x2000",
8449           "version" : "1.4"
8450         }
8451       ]
8452     },
8453     {
8454       "category" : "BitEnum",
8455       "kind" : "FPFastMathMode",
8456       "enumerants" : [
8457         {
8458           "enumerant" : "None",
8459           "value" : "0x0000"
8460         },
8461         {
8462           "enumerant" : "NotNaN",
8463           "value" : "0x0001",
8464           "capabilities" : [ "Kernel" ]
8465         },
8466         {
8467           "enumerant" : "NotInf",
8468           "value" : "0x0002",
8469           "capabilities" : [ "Kernel" ]
8470         },
8471         {
8472           "enumerant" : "NSZ",
8473           "value" : "0x0004",
8474           "capabilities" : [ "Kernel" ]
8475         },
8476         {
8477           "enumerant" : "AllowRecip",
8478           "value" : "0x0008",
8479           "capabilities" : [ "Kernel" ]
8480         },
8481         {
8482           "enumerant" : "Fast",
8483           "value" : "0x0010",
8484           "capabilities" : [ "Kernel" ]
8485         },
8486         {
8487           "enumerant" : "AllowContractFastINTEL",
8488           "value" : "0x10000",
8489           "capabilities" : [ "FPFastMathModeINTEL" ],
8490           "version" : "None"
8491         },
8492         {
8493           "enumerant" : "AllowReassocINTEL",
8494           "value" : "0x20000",
8495           "capabilities" : [ "FPFastMathModeINTEL" ],
8496           "version" : "None"
8497         }
8498       ]
8499     },
8500     {
8501       "category" : "BitEnum",
8502       "kind" : "SelectionControl",
8503       "enumerants" : [
8504         {
8505           "enumerant" : "None",
8506           "value" : "0x0000"
8507         },
8508         {
8509           "enumerant" : "Flatten",
8510           "value" : "0x0001"
8511         },
8512         {
8513           "enumerant" : "DontFlatten",
8514           "value" : "0x0002"
8515         }
8516       ]
8517     },
8518     {
8519       "category" : "BitEnum",
8520       "kind" : "LoopControl",
8521       "enumerants" : [
8522         {
8523           "enumerant" : "None",
8524           "value" : "0x0000"
8525         },
8526         {
8527           "enumerant" : "Unroll",
8528           "value" : "0x0001"
8529         },
8530         {
8531           "enumerant" : "DontUnroll",
8532           "value" : "0x0002"
8533         },
8534         {
8535           "enumerant" : "DependencyInfinite",
8536           "value" : "0x0004",
8537           "version" : "1.1"
8538         },
8539         {
8540           "enumerant" : "DependencyLength",
8541           "value" : "0x0008",
8542           "parameters" : [
8543             { "kind" : "LiteralInteger" }
8544           ],
8545           "version" : "1.1"
8546         },
8547         {
8548           "enumerant" : "MinIterations",
8549           "value" : "0x0010",
8550           "parameters" : [
8551             { "kind" : "LiteralInteger" }
8552           ],
8553           "version" : "1.4"
8554         },
8555         {
8556           "enumerant" : "MaxIterations",
8557           "value" : "0x0020",
8558           "parameters" : [
8559             { "kind" : "LiteralInteger" }
8560           ],
8561           "version" : "1.4"
8562         },
8563         {
8564           "enumerant" : "IterationMultiple",
8565           "value" : "0x0040",
8566           "parameters" : [
8567             { "kind" : "LiteralInteger" }
8568           ],
8569           "version" : "1.4"
8570         },
8571         {
8572           "enumerant" : "PeelCount",
8573           "value" : "0x0080",
8574           "parameters" : [
8575             { "kind" : "LiteralInteger" }
8576           ],
8577           "version" : "1.4"
8578         },
8579         {
8580           "enumerant" : "PartialCount",
8581           "value" : "0x0100",
8582           "parameters" : [
8583             { "kind" : "LiteralInteger" }
8584           ],
8585           "version" : "1.4"
8586         },
8587         {
8588           "enumerant" : "InitiationIntervalINTEL",
8589           "value" : "0x10000",
8590           "parameters" : [
8591             { "kind" : "LiteralInteger" }
8592           ],
8593           "capabilities" : [ "FPGALoopControlsINTEL" ],
8594           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8595           "version" : "None"
8596         },
8597         {
8598           "enumerant" : "MaxConcurrencyINTEL",
8599           "value" : "0x20000",
8600           "parameters" : [
8601             { "kind" : "LiteralInteger" }
8602           ],
8603           "capabilities" : [ "FPGALoopControlsINTEL" ],
8604           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8605           "version" : "None"
8606         },
8607         {
8608           "enumerant" : "DependencyArrayINTEL",
8609           "value" : "0x40000",
8610           "parameters" : [
8611             { "kind" : "LiteralInteger" }
8612           ],
8613           "capabilities" : [ "FPGALoopControlsINTEL" ],
8614           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8615           "version" : "None"
8616         },
8617         {
8618           "enumerant" : "PipelineEnableINTEL",
8619           "value" : "0x80000",
8620           "parameters" : [
8621             { "kind" : "LiteralInteger" }
8622           ],
8623           "capabilities" : [ "FPGALoopControlsINTEL" ],
8624           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8625           "version" : "None"
8626         },
8627         {
8628           "enumerant" : "LoopCoalesceINTEL",
8629           "value" : "0x100000",
8630           "parameters" : [
8631             { "kind" : "LiteralInteger" }
8632           ],
8633           "capabilities" : [ "FPGALoopControlsINTEL" ],
8634           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8635           "version" : "None"
8636         },
8637         {
8638           "enumerant" : "MaxInterleavingINTEL",
8639           "value" : "0x200000",
8640           "parameters" : [
8641             { "kind" : "LiteralInteger" }
8642           ],
8643           "capabilities" : [ "FPGALoopControlsINTEL" ],
8644           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8645           "version" : "None"
8646         },
8647         {
8648           "enumerant" : "SpeculatedIterationsINTEL",
8649           "value" : "0x400000",
8650           "parameters" : [
8651             { "kind" : "LiteralInteger" }
8652           ],
8653           "capabilities" : [ "FPGALoopControlsINTEL" ],
8654           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8655           "version" : "None"
8656         },
8657         {
8658           "enumerant" : "NoFusionINTEL",
8659           "value" : "0x800000",
8660           "parameters" : [
8661             { "kind" : "LiteralInteger" }
8662           ],
8663           "capabilities" : [ "FPGALoopControlsINTEL" ],
8664           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
8665           "version" : "None"
8666         }
8667       ]
8668     },
8669     {
8670       "category" : "BitEnum",
8671       "kind" : "FunctionControl",
8672       "enumerants" : [
8673         {
8674           "enumerant" : "None",
8675           "value" : "0x0000"
8676         },
8677         {
8678           "enumerant" : "Inline",
8679           "value" : "0x0001"
8680         },
8681         {
8682           "enumerant" : "DontInline",
8683           "value" : "0x0002"
8684         },
8685         {
8686           "enumerant" : "Pure",
8687           "value" : "0x0004"
8688         },
8689         {
8690           "enumerant" : "Const",
8691           "value" : "0x0008"
8692         }
8693       ]
8694     },
8695     {
8696       "category" : "BitEnum",
8697       "kind" : "MemorySemantics",
8698       "enumerants" : [
8699         {
8700           "enumerant" : "Relaxed",
8701           "value" : "0x0000"
8702         },
8703         {
8704           "enumerant" : "None",
8705           "value" : "0x0000"
8706         },
8707         {
8708           "enumerant" : "Acquire",
8709           "value" : "0x0002"
8710         },
8711         {
8712           "enumerant" : "Release",
8713           "value" : "0x0004"
8714         },
8715         {
8716           "enumerant" : "AcquireRelease",
8717           "value" : "0x0008"
8718         },
8719         {
8720           "enumerant" : "SequentiallyConsistent",
8721           "value" : "0x0010"
8722         },
8723         {
8724           "enumerant" : "UniformMemory",
8725           "value" : "0x0040",
8726           "capabilities" : [ "Shader" ]
8727         },
8728         {
8729           "enumerant" : "SubgroupMemory",
8730           "value" : "0x0080"
8731         },
8732         {
8733           "enumerant" : "WorkgroupMemory",
8734           "value" : "0x0100"
8735         },
8736         {
8737           "enumerant" : "CrossWorkgroupMemory",
8738           "value" : "0x0200"
8739         },
8740         {
8741           "enumerant" : "AtomicCounterMemory",
8742           "value" : "0x0400",
8743           "capabilities" : [ "AtomicStorage" ]
8744         },
8745         {
8746           "enumerant" : "ImageMemory",
8747           "value" : "0x0800"
8748         },
8749         {
8750           "enumerant" : "OutputMemory",
8751           "value" : "0x1000",
8752           "capabilities" : [ "VulkanMemoryModel" ],
8753           "version" : "1.5"
8754         },
8755         {
8756           "enumerant" : "OutputMemoryKHR",
8757           "value" : "0x1000",
8758           "capabilities" : [ "VulkanMemoryModel" ],
8759           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8760           "version" : "1.5"
8761         },
8762         {
8763           "enumerant" : "MakeAvailable",
8764           "value" : "0x2000",
8765           "capabilities" : [ "VulkanMemoryModel" ],
8766           "version" : "1.5"
8767         },
8768         {
8769           "enumerant" : "MakeAvailableKHR",
8770           "value" : "0x2000",
8771           "capabilities" : [ "VulkanMemoryModel" ],
8772           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8773           "version" : "1.5"
8774         },
8775         {
8776           "enumerant" : "MakeVisible",
8777           "value" : "0x4000",
8778           "capabilities" : [ "VulkanMemoryModel" ],
8779           "version" : "1.5"
8780         },
8781         {
8782           "enumerant" : "MakeVisibleKHR",
8783           "value" : "0x4000",
8784           "capabilities" : [ "VulkanMemoryModel" ],
8785           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8786           "version" : "1.5"
8787         },
8788         {
8789           "enumerant" : "Volatile",
8790           "value" : "0x8000",
8791           "capabilities" : [ "VulkanMemoryModel" ],
8792           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8793           "version" : "1.5"
8794         }
8795       ]
8796     },
8797     {
8798       "category" : "BitEnum",
8799       "kind" : "MemoryAccess",
8800       "enumerants" : [
8801         {
8802           "enumerant" : "None",
8803           "value" : "0x0000"
8804         },
8805         {
8806           "enumerant" : "Volatile",
8807           "value" : "0x0001"
8808         },
8809         {
8810           "enumerant" : "Aligned",
8811           "value" : "0x0002",
8812           "parameters" : [
8813             { "kind" : "LiteralInteger" }
8814           ]
8815         },
8816         {
8817           "enumerant" : "Nontemporal",
8818           "value" : "0x0004"
8819         },
8820         {
8821           "enumerant" : "MakePointerAvailable",
8822           "value" : "0x0008",
8823           "parameters" : [
8824             { "kind" : "IdScope" }
8825           ],
8826           "capabilities" : [ "VulkanMemoryModel" ],
8827           "version" : "1.5"
8828         },
8829         {
8830           "enumerant" : "MakePointerAvailableKHR",
8831           "value" : "0x0008",
8832           "parameters" : [
8833             { "kind" : "IdScope" }
8834           ],
8835           "capabilities" : [ "VulkanMemoryModel" ],
8836           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8837           "version" : "1.5"
8838         },
8839         {
8840           "enumerant" : "MakePointerVisible",
8841           "value" : "0x0010",
8842           "parameters" : [
8843             { "kind" : "IdScope" }
8844           ],
8845           "capabilities" : [ "VulkanMemoryModel" ],
8846           "version" : "1.5"
8847         },
8848         {
8849           "enumerant" : "MakePointerVisibleKHR",
8850           "value" : "0x0010",
8851           "parameters" : [
8852             { "kind" : "IdScope" }
8853           ],
8854           "capabilities" : [ "VulkanMemoryModel" ],
8855           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8856           "version" : "1.5"
8857         },
8858         {
8859           "enumerant" : "NonPrivatePointer",
8860           "value" : "0x0020",
8861           "capabilities" : [ "VulkanMemoryModel" ],
8862           "version" : "1.5"
8863         },
8864         {
8865           "enumerant" : "NonPrivatePointerKHR",
8866           "value" : "0x0020",
8867           "capabilities" : [ "VulkanMemoryModel" ],
8868           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8869           "version" : "1.5"
8870         }
8871       ]
8872     },
8873     {
8874       "category" : "BitEnum",
8875       "kind" : "KernelProfilingInfo",
8876       "enumerants" : [
8877         {
8878           "enumerant" : "None",
8879           "value" : "0x0000"
8880         },
8881         {
8882           "enumerant" : "CmdExecTime",
8883           "value" : "0x0001",
8884           "capabilities" : [ "Kernel" ]
8885         }
8886       ]
8887     },
8888     {
8889       "category" : "BitEnum",
8890       "kind" : "RayFlags",
8891       "enumerants" : [
8892         {
8893           "enumerant" : "NoneKHR",
8894           "value" : "0x0000",
8895           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8896           "version" : "None"
8897         },
8898         {
8899           "enumerant" : "OpaqueKHR",
8900           "value" : "0x0001",
8901           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8902           "version" : "None"
8903         },
8904         {
8905           "enumerant" : "NoOpaqueKHR",
8906           "value" : "0x0002",
8907           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8908           "version" : "None"
8909         },
8910         {
8911           "enumerant" : "TerminateOnFirstHitKHR",
8912           "value" : "0x0004",
8913           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8914           "version" : "None"
8915         },
8916         {
8917           "enumerant" : "SkipClosestHitShaderKHR",
8918           "value" : "0x0008",
8919           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8920           "version" : "None"
8921         },
8922         {
8923           "enumerant" : "CullBackFacingTrianglesKHR",
8924           "value" : "0x0010",
8925           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8926           "version" : "None"
8927         },
8928         {
8929           "enumerant" : "CullFrontFacingTrianglesKHR",
8930           "value" : "0x0020",
8931           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8932           "version" : "None"
8933         },
8934         {
8935           "enumerant" : "CullOpaqueKHR",
8936           "value" : "0x0040",
8937           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8938           "version" : "None"
8939         },
8940         {
8941           "enumerant" : "CullNoOpaqueKHR",
8942           "value" : "0x0080",
8943           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8944           "version" : "None"
8945         },
8946         {
8947           "enumerant" : "SkipTrianglesKHR",
8948           "value" : "0x0100",
8949           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
8950           "version" : "None"
8951         },
8952         {
8953           "enumerant" : "SkipAABBsKHR",
8954           "value" : "0x0200",
8955           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
8956           "version" : "None"
8957         }
8958       ]
8959     },
8960     {
8961       "category" : "BitEnum",
8962       "kind" : "FragmentShadingRate",
8963       "enumerants" : [
8964         {
8965           "enumerant" : "Vertical2Pixels",
8966           "value" : "0x0001",
8967           "capabilities" : [ "FragmentShadingRateKHR" ],
8968           "version" : "None"
8969         },
8970         {
8971           "enumerant" : "Vertical4Pixels",
8972           "value" : "0x0002",
8973           "capabilities" : [ "FragmentShadingRateKHR" ],
8974           "version" : "None"
8975         },
8976         {
8977           "enumerant" : "Horizontal2Pixels",
8978           "value" : "0x0004",
8979           "capabilities" : [ "FragmentShadingRateKHR" ],
8980           "version" : "None"
8981         },
8982         {
8983           "enumerant" : "Horizontal4Pixels",
8984           "value" : "0x0008",
8985           "capabilities" : [ "FragmentShadingRateKHR" ],
8986           "version" : "None"
8987         }
8988       ]
8989     },
8990     {
8991       "category" : "ValueEnum",
8992       "kind" : "SourceLanguage",
8993       "enumerants" : [
8994         {
8995           "enumerant" : "Unknown",
8996           "value" : 0
8997         },
8998         {
8999           "enumerant" : "ESSL",
9000           "value" : 1
9001         },
9002         {
9003           "enumerant" : "GLSL",
9004           "value" : 2
9005         },
9006         {
9007           "enumerant" : "OpenCL_C",
9008           "value" : 3
9009         },
9010         {
9011           "enumerant" : "OpenCL_CPP",
9012           "value" : 4
9013         },
9014         {
9015           "enumerant" : "HLSL",
9016           "value" : 5
9017         },
9018         {
9019           "enumerant" : "CPP_for_OpenCL",
9020           "value" : 6
9021         }
9022       ]
9023     },
9024     {
9025       "category" : "ValueEnum",
9026       "kind" : "ExecutionModel",
9027       "enumerants" : [
9028         {
9029           "enumerant" : "Vertex",
9030           "value" : 0,
9031           "capabilities" : [ "Shader" ]
9032         },
9033         {
9034           "enumerant" : "TessellationControl",
9035           "value" : 1,
9036           "capabilities" : [ "Tessellation" ]
9037         },
9038         {
9039           "enumerant" : "TessellationEvaluation",
9040           "value" : 2,
9041           "capabilities" : [ "Tessellation" ]
9042         },
9043         {
9044           "enumerant" : "Geometry",
9045           "value" : 3,
9046           "capabilities" : [ "Geometry" ]
9047         },
9048         {
9049           "enumerant" : "Fragment",
9050           "value" : 4,
9051           "capabilities" : [ "Shader" ]
9052         },
9053         {
9054           "enumerant" : "GLCompute",
9055           "value" : 5,
9056           "capabilities" : [ "Shader" ]
9057         },
9058         {
9059           "enumerant" : "Kernel",
9060           "value" : 6,
9061           "capabilities" : [ "Kernel" ]
9062         },
9063         {
9064           "enumerant" : "TaskNV",
9065           "value" : 5267,
9066           "capabilities" : [ "MeshShadingNV" ],
9067           "version" : "None"
9068         },
9069         {
9070           "enumerant" : "MeshNV",
9071           "value" : 5268,
9072           "capabilities" : [ "MeshShadingNV" ],
9073           "version" : "None"
9074         },
9075         {
9076           "enumerant" : "RayGenerationNV",
9077           "value" : 5313,
9078           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9079           "version" : "None"
9080         },
9081         {
9082           "enumerant" : "RayGenerationKHR",
9083           "value" : 5313,
9084           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9085           "version" : "None"
9086         },
9087         {
9088           "enumerant" : "IntersectionNV",
9089           "value" : 5314,
9090           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9091           "version" : "None"
9092         },
9093         {
9094           "enumerant" : "IntersectionKHR",
9095           "value" : 5314,
9096           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9097           "version" : "None"
9098         },
9099         {
9100           "enumerant" : "AnyHitNV",
9101           "value" : 5315,
9102           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9103           "version" : "None"
9104         },
9105         {
9106           "enumerant" : "AnyHitKHR",
9107           "value" : 5315,
9108           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9109           "version" : "None"
9110         },
9111         {
9112           "enumerant" : "ClosestHitNV",
9113           "value" : 5316,
9114           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9115           "version" : "None"
9116         },
9117         {
9118           "enumerant" : "ClosestHitKHR",
9119           "value" : 5316,
9120           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9121           "version" : "None"
9122         },
9123         {
9124           "enumerant" : "MissNV",
9125           "value" : 5317,
9126           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9127           "version" : "None"
9128         },
9129         {
9130           "enumerant" : "MissKHR",
9131           "value" : 5317,
9132           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9133           "version" : "None"
9134         },
9135         {
9136           "enumerant" : "CallableNV",
9137           "value" : 5318,
9138           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9139           "version" : "None"
9140         },
9141         {
9142           "enumerant" : "CallableKHR",
9143           "value" : 5318,
9144           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9145           "version" : "None"
9146         }
9147       ]
9148     },
9149     {
9150       "category" : "ValueEnum",
9151       "kind" : "AddressingModel",
9152       "enumerants" : [
9153         {
9154           "enumerant" : "Logical",
9155           "value" : 0
9156         },
9157         {
9158           "enumerant" : "Physical32",
9159           "value" : 1,
9160           "capabilities" : [ "Addresses" ]
9161         },
9162         {
9163           "enumerant" : "Physical64",
9164           "value" : 2,
9165           "capabilities" : [ "Addresses" ]
9166         },
9167         {
9168           "enumerant" : "PhysicalStorageBuffer64",
9169           "value" : 5348,
9170           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9171           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9172           "version" : "1.5"
9173         },
9174         {
9175           "enumerant" : "PhysicalStorageBuffer64EXT",
9176           "value" : 5348,
9177           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9178           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9179           "version" : "1.5"
9180         }
9181       ]
9182     },
9183     {
9184       "category" : "ValueEnum",
9185       "kind" : "MemoryModel",
9186       "enumerants" : [
9187         {
9188           "enumerant" : "Simple",
9189           "value" : 0,
9190           "capabilities" : [ "Shader" ]
9191         },
9192         {
9193           "enumerant" : "GLSL450",
9194           "value" : 1,
9195           "capabilities" : [ "Shader" ]
9196         },
9197         {
9198           "enumerant" : "OpenCL",
9199           "value" : 2,
9200           "capabilities" : [ "Kernel" ]
9201         },
9202         {
9203           "enumerant" : "Vulkan",
9204           "value" : 3,
9205           "capabilities" : [ "VulkanMemoryModel" ],
9206           "version" : "1.5"
9207         },
9208         {
9209           "enumerant" : "VulkanKHR",
9210           "value" : 3,
9211           "capabilities" : [ "VulkanMemoryModel" ],
9212           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
9213           "version" : "1.5"
9214         }
9215       ]
9216     },
9217     {
9218       "category" : "ValueEnum",
9219       "kind" : "ExecutionMode",
9220       "enumerants" : [
9221         {
9222           "enumerant" : "Invocations",
9223           "value" : 0,
9224           "capabilities" : [ "Geometry" ],
9225           "parameters" : [
9226             { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
9227           ]
9228         },
9229         {
9230           "enumerant" : "SpacingEqual",
9231           "value" : 1,
9232           "capabilities" : [ "Tessellation" ]
9233         },
9234         {
9235           "enumerant" : "SpacingFractionalEven",
9236           "value" : 2,
9237           "capabilities" : [ "Tessellation" ]
9238         },
9239         {
9240           "enumerant" : "SpacingFractionalOdd",
9241           "value" : 3,
9242           "capabilities" : [ "Tessellation" ]
9243         },
9244         {
9245           "enumerant" : "VertexOrderCw",
9246           "value" : 4,
9247           "capabilities" : [ "Tessellation" ]
9248         },
9249         {
9250           "enumerant" : "VertexOrderCcw",
9251           "value" : 5,
9252           "capabilities" : [ "Tessellation" ]
9253         },
9254         {
9255           "enumerant" : "PixelCenterInteger",
9256           "value" : 6,
9257           "capabilities" : [ "Shader" ]
9258         },
9259         {
9260           "enumerant" : "OriginUpperLeft",
9261           "value" : 7,
9262           "capabilities" : [ "Shader" ]
9263         },
9264         {
9265           "enumerant" : "OriginLowerLeft",
9266           "value" : 8,
9267           "capabilities" : [ "Shader" ]
9268         },
9269         {
9270           "enumerant" : "EarlyFragmentTests",
9271           "value" : 9,
9272           "capabilities" : [ "Shader" ]
9273         },
9274         {
9275           "enumerant" : "PointMode",
9276           "value" : 10,
9277           "capabilities" : [ "Tessellation" ]
9278         },
9279         {
9280           "enumerant" : "Xfb",
9281           "value" : 11,
9282           "capabilities" : [ "TransformFeedback" ]
9283         },
9284         {
9285           "enumerant" : "DepthReplacing",
9286           "value" : 12,
9287           "capabilities" : [ "Shader" ]
9288         },
9289         {
9290           "enumerant" : "DepthGreater",
9291           "value" : 14,
9292           "capabilities" : [ "Shader" ]
9293         },
9294         {
9295           "enumerant" : "DepthLess",
9296           "value" : 15,
9297           "capabilities" : [ "Shader" ]
9298         },
9299         {
9300           "enumerant" : "DepthUnchanged",
9301           "value" : 16,
9302           "capabilities" : [ "Shader" ]
9303         },
9304         {
9305           "enumerant" : "LocalSize",
9306           "value" : 17,
9307           "parameters" : [
9308             { "kind" : "LiteralInteger", "name" : "'x size'" },
9309             { "kind" : "LiteralInteger", "name" : "'y size'" },
9310             { "kind" : "LiteralInteger", "name" : "'z size'" }
9311           ]
9312         },
9313         {
9314           "enumerant" : "LocalSizeHint",
9315           "value" : 18,
9316           "capabilities" : [ "Kernel" ],
9317           "parameters" : [
9318             { "kind" : "LiteralInteger", "name" : "'x size'" },
9319             { "kind" : "LiteralInteger", "name" : "'y size'" },
9320             { "kind" : "LiteralInteger", "name" : "'z size'" }
9321           ]
9322         },
9323         {
9324           "enumerant" : "InputPoints",
9325           "value" : 19,
9326           "capabilities" : [ "Geometry" ]
9327         },
9328         {
9329           "enumerant" : "InputLines",
9330           "value" : 20,
9331           "capabilities" : [ "Geometry" ]
9332         },
9333         {
9334           "enumerant" : "InputLinesAdjacency",
9335           "value" : 21,
9336           "capabilities" : [ "Geometry" ]
9337         },
9338         {
9339           "enumerant" : "Triangles",
9340           "value" : 22,
9341           "capabilities" : [ "Geometry", "Tessellation" ]
9342         },
9343         {
9344           "enumerant" : "InputTrianglesAdjacency",
9345           "value" : 23,
9346           "capabilities" : [ "Geometry" ]
9347         },
9348         {
9349           "enumerant" : "Quads",
9350           "value" : 24,
9351           "capabilities" : [ "Tessellation" ]
9352         },
9353         {
9354           "enumerant" : "Isolines",
9355           "value" : 25,
9356           "capabilities" : [ "Tessellation" ]
9357         },
9358         {
9359           "enumerant" : "OutputVertices",
9360           "value" : 26,
9361           "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
9362           "parameters" : [
9363             { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
9364           ]
9365         },
9366         {
9367           "enumerant" : "OutputPoints",
9368           "value" : 27,
9369           "capabilities" : [ "Geometry", "MeshShadingNV" ]
9370         },
9371         {
9372           "enumerant" : "OutputLineStrip",
9373           "value" : 28,
9374           "capabilities" : [ "Geometry" ]
9375         },
9376         {
9377           "enumerant" : "OutputTriangleStrip",
9378           "value" : 29,
9379           "capabilities" : [ "Geometry" ]
9380         },
9381         {
9382           "enumerant" : "VecTypeHint",
9383           "value" : 30,
9384           "capabilities" : [ "Kernel" ],
9385           "parameters" : [
9386             { "kind" : "LiteralInteger", "name" : "'Vector type'" }
9387           ]
9388         },
9389         {
9390           "enumerant" : "ContractionOff",
9391           "value" : 31,
9392           "capabilities" : [ "Kernel" ]
9393         },
9394         {
9395           "enumerant" : "Initializer",
9396           "value" : 33,
9397           "capabilities" : [ "Kernel" ],
9398           "version" : "1.1"
9399         },
9400         {
9401           "enumerant" : "Finalizer",
9402           "value" : 34,
9403           "capabilities" : [ "Kernel" ],
9404           "version" : "1.1"
9405         },
9406         {
9407           "enumerant" : "SubgroupSize",
9408           "value" : 35,
9409           "capabilities" : [ "SubgroupDispatch" ],
9410           "parameters" : [
9411             { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
9412           ],
9413           "version" : "1.1"
9414         },
9415         {
9416           "enumerant" : "SubgroupsPerWorkgroup",
9417           "value" : 36,
9418           "capabilities" : [ "SubgroupDispatch" ],
9419           "parameters" : [
9420             { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
9421           ],
9422           "version" : "1.1"
9423         },
9424         {
9425           "enumerant" : "SubgroupsPerWorkgroupId",
9426           "value" : 37,
9427           "capabilities" : [ "SubgroupDispatch" ],
9428           "parameters" : [
9429             { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
9430           ],
9431           "version" : "1.2"
9432         },
9433         {
9434           "enumerant" : "LocalSizeId",
9435           "value" : 38,
9436           "parameters" : [
9437             { "kind" : "IdRef", "name" : "'x size'" },
9438             { "kind" : "IdRef", "name" : "'y size'" },
9439             { "kind" : "IdRef", "name" : "'z size'" }
9440           ],
9441           "version" : "1.2"
9442         },
9443         {
9444           "enumerant" : "LocalSizeHintId",
9445           "value" : 39,
9446           "capabilities" : [ "Kernel" ],
9447           "parameters" : [
9448             { "kind" : "IdRef", "name" : "'Local Size Hint'" }
9449           ],
9450           "version" : "1.2"
9451         },
9452         {
9453           "enumerant" : "SubgroupUniformControlFlowKHR",
9454           "value" : 4421,
9455           "capabilities" : [ "Shader" ],
9456           "extensions" : [ "SPV_KHR_subgroup_uniform_control_flow" ],
9457           "version" : "None"
9458         },
9459         {
9460           "enumerant" : "PostDepthCoverage",
9461           "value" : 4446,
9462           "capabilities" : [ "SampleMaskPostDepthCoverage" ],
9463           "extensions" : [ "SPV_KHR_post_depth_coverage" ],
9464           "version" : "None"
9465         },
9466         {
9467           "enumerant" : "DenormPreserve",
9468           "value" : 4459,
9469           "capabilities" : [ "DenormPreserve" ],
9470           "extensions" : [ "SPV_KHR_float_controls" ],
9471           "parameters" : [
9472             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9473           ],
9474           "version" : "1.4"
9475         },
9476         {
9477           "enumerant" : "DenormFlushToZero",
9478           "value" : 4460,
9479           "capabilities" : [ "DenormFlushToZero" ],
9480           "extensions" : [ "SPV_KHR_float_controls" ],
9481           "parameters" : [
9482             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9483           ],
9484           "version" : "1.4"
9485         },
9486         {
9487           "enumerant" : "SignedZeroInfNanPreserve",
9488           "value" : 4461,
9489           "capabilities" : [ "SignedZeroInfNanPreserve" ],
9490           "extensions" : [ "SPV_KHR_float_controls" ],
9491           "parameters" : [
9492             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9493           ],
9494           "version" : "1.4"
9495         },
9496         {
9497           "enumerant" : "RoundingModeRTE",
9498           "value" : 4462,
9499           "capabilities" : [ "RoundingModeRTE" ],
9500           "extensions" : [ "SPV_KHR_float_controls" ],
9501           "parameters" : [
9502             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9503           ],
9504           "version" : "1.4"
9505         },
9506         {
9507           "enumerant" : "RoundingModeRTZ",
9508           "value" : 4463,
9509           "capabilities" : [ "RoundingModeRTZ" ],
9510           "extensions" : [ "SPV_KHR_float_controls" ],
9511           "parameters" : [
9512             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9513           ],
9514           "version" : "1.4"
9515         },
9516         {
9517           "enumerant" : "StencilRefReplacingEXT",
9518           "value" : 5027,
9519           "capabilities" : [ "StencilExportEXT" ],
9520           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
9521           "version" : "None"
9522         },
9523         {
9524           "enumerant" : "OutputLinesNV",
9525           "value" : 5269,
9526           "capabilities" : [ "MeshShadingNV" ],
9527           "extensions" : [ "SPV_NV_mesh_shader" ],
9528           "version" : "None"
9529         },
9530         {
9531           "enumerant" : "OutputPrimitivesNV",
9532           "value" : 5270,
9533           "capabilities" : [ "MeshShadingNV" ],
9534           "parameters" : [
9535             { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
9536           ],
9537           "extensions" : [ "SPV_NV_mesh_shader" ],
9538           "version" : "None"
9539         },
9540         {
9541           "enumerant" : "DerivativeGroupQuadsNV",
9542           "value" : 5289,
9543           "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
9544           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
9545           "version" : "None"
9546         },
9547         {
9548           "enumerant" : "DerivativeGroupLinearNV",
9549           "value" : 5290,
9550           "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
9551           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
9552           "version" : "None"
9553         },
9554         {
9555           "enumerant" : "OutputTrianglesNV",
9556           "value" : 5298,
9557           "capabilities" : [ "MeshShadingNV" ],
9558           "extensions" : [ "SPV_NV_mesh_shader" ],
9559           "version" : "None"
9560         },
9561         {
9562           "enumerant" : "PixelInterlockOrderedEXT",
9563           "value" : 5366,
9564           "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
9565           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9566           "version" : "None"
9567         },
9568         {
9569           "enumerant" : "PixelInterlockUnorderedEXT",
9570           "value" : 5367,
9571           "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
9572           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9573           "version" : "None"
9574         },
9575         {
9576           "enumerant" : "SampleInterlockOrderedEXT",
9577           "value" : 5368,
9578           "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
9579           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9580           "version" : "None"
9581         },
9582         {
9583           "enumerant" : "SampleInterlockUnorderedEXT",
9584           "value" : 5369,
9585           "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
9586           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9587           "version" : "None"
9588         },
9589         {
9590           "enumerant" : "ShadingRateInterlockOrderedEXT",
9591           "value" : 5370,
9592           "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
9593           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9594           "version" : "None"
9595         },
9596         {
9597           "enumerant" : "ShadingRateInterlockUnorderedEXT",
9598           "value" : 5371,
9599           "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
9600           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9601           "version" : "None"
9602         },
9603         {
9604           "enumerant" : "SharedLocalMemorySizeINTEL",
9605           "value" : 5618,
9606           "parameters" : [
9607             { "kind" : "LiteralInteger", "name" : "'Size'" }
9608           ],
9609           "capabilities" : [ "VectorComputeINTEL" ],
9610           "version" : "None"
9611         },
9612         {
9613           "enumerant" : "RoundingModeRTPINTEL",
9614           "value" : 5620,
9615           "parameters" : [
9616             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9617           ],
9618           "capabilities" : [ "RoundToInfinityINTEL" ],
9619           "version" : "None"
9620         },
9621         {
9622           "enumerant" : "RoundingModeRTNINTEL",
9623           "value" : 5621,
9624           "parameters" : [
9625             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9626           ],
9627           "capabilities" : [ "RoundToInfinityINTEL" ],
9628           "version" : "None"
9629         },
9630         {
9631           "enumerant" : "FloatingPointModeALTINTEL",
9632           "value" : 5622,
9633           "parameters" : [
9634             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9635           ],
9636           "capabilities" : [ "RoundToInfinityINTEL" ],
9637           "version" : "None"
9638         },
9639         {
9640           "enumerant" : "FloatingPointModeIEEEINTEL",
9641           "value" : 5623,
9642           "parameters" : [
9643             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9644           ],
9645           "capabilities" : [ "RoundToInfinityINTEL" ],
9646           "version" : "None"
9647         },
9648         {
9649           "enumerant" : "MaxWorkgroupSizeINTEL",
9650           "value" : 5893,
9651           "parameters" : [
9652             { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
9653             { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
9654             { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
9655           ],
9656           "capabilities" : [ "KernelAttributesINTEL" ],
9657           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9658           "version" : "None"
9659         },
9660         {
9661           "enumerant" : "MaxWorkDimINTEL",
9662           "value" : 5894,
9663           "parameters" : [
9664             { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
9665           ],
9666           "capabilities" : [ "KernelAttributesINTEL" ],
9667           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9668           "version" : "None"
9669         },
9670         {
9671           "enumerant" : "NoGlobalOffsetINTEL",
9672           "value" : 5895,
9673           "capabilities" : [ "KernelAttributesINTEL" ],
9674           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9675           "version" : "None"
9676         },
9677         {
9678           "enumerant" : "NumSIMDWorkitemsINTEL",
9679           "value" : 5896,
9680           "parameters" : [
9681             { "kind" : "LiteralInteger", "name" : "'vector_width'" }
9682           ],
9683           "capabilities" : [ "FPGAKernelAttributesINTEL" ],
9684           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9685           "version" : "None"
9686         },
9687         {
9688           "enumerant" : "SchedulerTargetFmaxMhzINTEL",
9689           "value" : 5903,
9690           "parameters" : [
9691             { "kind" : "LiteralInteger", "name" : "'target_fmax'" }
9692           ],
9693           "capabilities" : [ "FPGAKernelAttributesINTEL" ],
9694           "version" : "None"
9695         }
9696       ]
9697     },
9698     {
9699       "category" : "ValueEnum",
9700       "kind" : "StorageClass",
9701       "enumerants" : [
9702         {
9703           "enumerant" : "UniformConstant",
9704           "value" : 0
9705         },
9706         {
9707           "enumerant" : "Input",
9708           "value" : 1
9709         },
9710         {
9711           "enumerant" : "Uniform",
9712           "value" : 2,
9713           "capabilities" : [ "Shader" ]
9714         },
9715         {
9716           "enumerant" : "Output",
9717           "value" : 3,
9718           "capabilities" : [ "Shader" ]
9719         },
9720         {
9721           "enumerant" : "Workgroup",
9722           "value" : 4
9723         },
9724         {
9725           "enumerant" : "CrossWorkgroup",
9726           "value" : 5
9727         },
9728         {
9729           "enumerant" : "Private",
9730           "value" : 6,
9731           "capabilities" : [ "Shader", "VectorComputeINTEL" ]
9732         },
9733         {
9734           "enumerant" : "Function",
9735           "value" : 7
9736         },
9737         {
9738           "enumerant" : "Generic",
9739           "value" : 8,
9740           "capabilities" : [ "GenericPointer" ]
9741         },
9742         {
9743           "enumerant" : "PushConstant",
9744           "value" : 9,
9745           "capabilities" : [ "Shader" ]
9746         },
9747         {
9748           "enumerant" : "AtomicCounter",
9749           "value" : 10,
9750           "capabilities" : [ "AtomicStorage" ]
9751         },
9752         {
9753           "enumerant" : "Image",
9754           "value" : 11
9755         },
9756         {
9757           "enumerant" : "StorageBuffer",
9758           "value" : 12,
9759           "extensions" : [
9760             "SPV_KHR_storage_buffer_storage_class",
9761             "SPV_KHR_variable_pointers"
9762           ],
9763           "capabilities" : [ "Shader" ],
9764           "version" : "1.3"
9765         },
9766         {
9767           "enumerant" : "CallableDataNV",
9768           "value" : 5328,
9769           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9770           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9771           "version" : "None"
9772         },
9773         {
9774           "enumerant" : "CallableDataKHR",
9775           "value" : 5328,
9776           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9777           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9778           "version" : "None"
9779         },
9780         {
9781           "enumerant" : "IncomingCallableDataNV",
9782           "value" : 5329,
9783           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9784           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9785           "version" : "None"
9786         },
9787         {
9788           "enumerant" : "IncomingCallableDataKHR",
9789           "value" : 5329,
9790           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9791           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9792           "version" : "None"
9793         },
9794         {
9795           "enumerant" : "RayPayloadNV",
9796           "value" : 5338,
9797           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9798           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9799           "version" : "None"
9800         },
9801         {
9802           "enumerant" : "RayPayloadKHR",
9803           "value" : 5338,
9804           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9805           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9806           "version" : "None"
9807         },
9808         {
9809           "enumerant" : "HitAttributeNV",
9810           "value" : 5339,
9811           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9812           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9813           "version" : "None"
9814         },
9815         {
9816           "enumerant" : "HitAttributeKHR",
9817           "value" : 5339,
9818           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9819           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9820           "version" : "None"
9821         },
9822         {
9823           "enumerant" : "IncomingRayPayloadNV",
9824           "value" : 5342,
9825           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9826           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9827           "version" : "None"
9828         },
9829         {
9830           "enumerant" : "IncomingRayPayloadKHR",
9831           "value" : 5342,
9832           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9833           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9834           "version" : "None"
9835         },
9836         {
9837           "enumerant" : "ShaderRecordBufferNV",
9838           "value" : 5343,
9839           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9840           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9841           "version" : "None"
9842         },
9843         {
9844           "enumerant" : "ShaderRecordBufferKHR",
9845           "value" : 5343,
9846           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9847           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9848           "version" : "None"
9849         },
9850         {
9851           "enumerant" : "PhysicalStorageBuffer",
9852           "value" : 5349,
9853           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9854           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9855           "version" : "1.5"
9856         },
9857         {
9858           "enumerant" : "PhysicalStorageBufferEXT",
9859           "value" : 5349,
9860           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9861           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9862           "version" : "1.5"
9863         },
9864         {
9865           "enumerant" : "CodeSectionINTEL",
9866           "value" : 5605,
9867           "extensions" : [ "SPV_INTEL_function_pointers" ],
9868           "capabilities" : [ "FunctionPointersINTEL" ],
9869           "version" : "None"
9870         },
9871         {
9872           "enumerant" : "DeviceOnlyINTEL",
9873           "value" : 5936,
9874           "extensions" : [
9875             "SPV_INTEL_usm_storage_classes"
9876           ],
9877           "capabilities" : [ "USMStorageClassesINTEL" ],
9878           "version" : "None"
9879         },
9880         {
9881           "enumerant" : "HostOnlyINTEL",
9882           "value" : 5937,
9883           "extensions" : [
9884             "SPV_INTEL_usm_storage_classes"
9885           ],
9886           "capabilities" : [ "USMStorageClassesINTEL" ],
9887           "version" : "None"
9888         }
9889       ]
9890     },
9891     {
9892       "category" : "ValueEnum",
9893       "kind" : "Dim",
9894       "enumerants" : [
9895         {
9896           "enumerant" : "1D",
9897           "value" : 0,
9898           "capabilities" : [ "Sampled1D", "Image1D" ]
9899         },
9900         {
9901           "enumerant" : "2D",
9902           "value" : 1,
9903           "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
9904         },
9905         {
9906           "enumerant" : "3D",
9907           "value" : 2
9908         },
9909         {
9910           "enumerant" : "Cube",
9911           "value" : 3,
9912           "capabilities" : [ "Shader", "ImageCubeArray" ]
9913         },
9914         {
9915           "enumerant" : "Rect",
9916           "value" : 4,
9917           "capabilities" : [ "SampledRect", "ImageRect" ]
9918         },
9919         {
9920           "enumerant" : "Buffer",
9921           "value" : 5,
9922           "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
9923         },
9924         {
9925           "enumerant" : "SubpassData",
9926           "value" : 6,
9927           "capabilities" : [ "InputAttachment" ]
9928         }
9929       ]
9930     },
9931     {
9932       "category" : "ValueEnum",
9933       "kind" : "SamplerAddressingMode",
9934       "enumerants" : [
9935         {
9936           "enumerant" : "None",
9937           "value" : 0,
9938           "capabilities" : [ "Kernel" ]
9939         },
9940         {
9941           "enumerant" : "ClampToEdge",
9942           "value" : 1,
9943           "capabilities" : [ "Kernel" ]
9944         },
9945         {
9946           "enumerant" : "Clamp",
9947           "value" : 2,
9948           "capabilities" : [ "Kernel" ]
9949         },
9950         {
9951           "enumerant" : "Repeat",
9952           "value" : 3,
9953           "capabilities" : [ "Kernel" ]
9954         },
9955         {
9956           "enumerant" : "RepeatMirrored",
9957           "value" : 4,
9958           "capabilities" : [ "Kernel" ]
9959         }
9960       ]
9961     },
9962     {
9963       "category" : "ValueEnum",
9964       "kind" : "SamplerFilterMode",
9965       "enumerants" : [
9966         {
9967           "enumerant" : "Nearest",
9968           "value" : 0,
9969           "capabilities" : [ "Kernel" ]
9970         },
9971         {
9972           "enumerant" : "Linear",
9973           "value" : 1,
9974           "capabilities" : [ "Kernel" ]
9975         }
9976       ]
9977     },
9978     {
9979       "category" : "ValueEnum",
9980       "kind" : "ImageFormat",
9981       "enumerants" : [
9982         {
9983           "enumerant" : "Unknown",
9984           "value" : 0
9985         },
9986         {
9987           "enumerant" : "Rgba32f",
9988           "value" : 1,
9989           "capabilities" : [ "Shader" ]
9990         },
9991         {
9992           "enumerant" : "Rgba16f",
9993           "value" : 2,
9994           "capabilities" : [ "Shader" ]
9995         },
9996         {
9997           "enumerant" : "R32f",
9998           "value" : 3,
9999           "capabilities" : [ "Shader" ]
10000         },
10001         {
10002           "enumerant" : "Rgba8",
10003           "value" : 4,
10004           "capabilities" : [ "Shader" ]
10005         },
10006         {
10007           "enumerant" : "Rgba8Snorm",
10008           "value" : 5,
10009           "capabilities" : [ "Shader" ]
10010         },
10011         {
10012           "enumerant" : "Rg32f",
10013           "value" : 6,
10014           "capabilities" : [ "StorageImageExtendedFormats" ]
10015         },
10016         {
10017           "enumerant" : "Rg16f",
10018           "value" : 7,
10019           "capabilities" : [ "StorageImageExtendedFormats" ]
10020         },
10021         {
10022           "enumerant" : "R11fG11fB10f",
10023           "value" : 8,
10024           "capabilities" : [ "StorageImageExtendedFormats" ]
10025         },
10026         {
10027           "enumerant" : "R16f",
10028           "value" : 9,
10029           "capabilities" : [ "StorageImageExtendedFormats" ]
10030         },
10031         {
10032           "enumerant" : "Rgba16",
10033           "value" : 10,
10034           "capabilities" : [ "StorageImageExtendedFormats" ]
10035         },
10036         {
10037           "enumerant" : "Rgb10A2",
10038           "value" : 11,
10039           "capabilities" : [ "StorageImageExtendedFormats" ]
10040         },
10041         {
10042           "enumerant" : "Rg16",
10043           "value" : 12,
10044           "capabilities" : [ "StorageImageExtendedFormats" ]
10045         },
10046         {
10047           "enumerant" : "Rg8",
10048           "value" : 13,
10049           "capabilities" : [ "StorageImageExtendedFormats" ]
10050         },
10051         {
10052           "enumerant" : "R16",
10053           "value" : 14,
10054           "capabilities" : [ "StorageImageExtendedFormats" ]
10055         },
10056         {
10057           "enumerant" : "R8",
10058           "value" : 15,
10059           "capabilities" : [ "StorageImageExtendedFormats" ]
10060         },
10061         {
10062           "enumerant" : "Rgba16Snorm",
10063           "value" : 16,
10064           "capabilities" : [ "StorageImageExtendedFormats" ]
10065         },
10066         {
10067           "enumerant" : "Rg16Snorm",
10068           "value" : 17,
10069           "capabilities" : [ "StorageImageExtendedFormats" ]
10070         },
10071         {
10072           "enumerant" : "Rg8Snorm",
10073           "value" : 18,
10074           "capabilities" : [ "StorageImageExtendedFormats" ]
10075         },
10076         {
10077           "enumerant" : "R16Snorm",
10078           "value" : 19,
10079           "capabilities" : [ "StorageImageExtendedFormats" ]
10080         },
10081         {
10082           "enumerant" : "R8Snorm",
10083           "value" : 20,
10084           "capabilities" : [ "StorageImageExtendedFormats" ]
10085         },
10086         {
10087           "enumerant" : "Rgba32i",
10088           "value" : 21,
10089           "capabilities" : [ "Shader" ]
10090         },
10091         {
10092           "enumerant" : "Rgba16i",
10093           "value" : 22,
10094           "capabilities" : [ "Shader" ]
10095         },
10096         {
10097           "enumerant" : "Rgba8i",
10098           "value" : 23,
10099           "capabilities" : [ "Shader" ]
10100         },
10101         {
10102           "enumerant" : "R32i",
10103           "value" : 24,
10104           "capabilities" : [ "Shader" ]
10105         },
10106         {
10107           "enumerant" : "Rg32i",
10108           "value" : 25,
10109           "capabilities" : [ "StorageImageExtendedFormats" ]
10110         },
10111         {
10112           "enumerant" : "Rg16i",
10113           "value" : 26,
10114           "capabilities" : [ "StorageImageExtendedFormats" ]
10115         },
10116         {
10117           "enumerant" : "Rg8i",
10118           "value" : 27,
10119           "capabilities" : [ "StorageImageExtendedFormats" ]
10120         },
10121         {
10122           "enumerant" : "R16i",
10123           "value" : 28,
10124           "capabilities" : [ "StorageImageExtendedFormats" ]
10125         },
10126         {
10127           "enumerant" : "R8i",
10128           "value" : 29,
10129           "capabilities" : [ "StorageImageExtendedFormats" ]
10130         },
10131         {
10132           "enumerant" : "Rgba32ui",
10133           "value" : 30,
10134           "capabilities" : [ "Shader" ]
10135         },
10136         {
10137           "enumerant" : "Rgba16ui",
10138           "value" : 31,
10139           "capabilities" : [ "Shader" ]
10140         },
10141         {
10142           "enumerant" : "Rgba8ui",
10143           "value" : 32,
10144           "capabilities" : [ "Shader" ]
10145         },
10146         {
10147           "enumerant" : "R32ui",
10148           "value" : 33,
10149           "capabilities" : [ "Shader" ]
10150         },
10151         {
10152           "enumerant" : "Rgb10a2ui",
10153           "value" : 34,
10154           "capabilities" : [ "StorageImageExtendedFormats" ]
10155         },
10156         {
10157           "enumerant" : "Rg32ui",
10158           "value" : 35,
10159           "capabilities" : [ "StorageImageExtendedFormats" ]
10160         },
10161         {
10162           "enumerant" : "Rg16ui",
10163           "value" : 36,
10164           "capabilities" : [ "StorageImageExtendedFormats" ]
10165         },
10166         {
10167           "enumerant" : "Rg8ui",
10168           "value" : 37,
10169           "capabilities" : [ "StorageImageExtendedFormats" ]
10170         },
10171         {
10172           "enumerant" : "R16ui",
10173           "value" : 38,
10174           "capabilities" : [ "StorageImageExtendedFormats" ]
10175         },
10176         {
10177           "enumerant" : "R8ui",
10178           "value" : 39,
10179           "capabilities" : [ "StorageImageExtendedFormats" ]
10180         },
10181         {
10182           "enumerant" : "R64ui",
10183           "value" : 40,
10184           "capabilities" : [ "Int64ImageEXT" ]
10185         },
10186         {
10187           "enumerant" : "R64i",
10188           "value" : 41,
10189           "capabilities" : [ "Int64ImageEXT" ]
10190         }
10191       ]
10192     },
10193     {
10194       "category" : "ValueEnum",
10195       "kind" : "ImageChannelOrder",
10196       "enumerants" : [
10197         {
10198           "enumerant" : "R",
10199           "value" : 0,
10200           "capabilities" : [ "Kernel" ]
10201         },
10202         {
10203           "enumerant" : "A",
10204           "value" : 1,
10205           "capabilities" : [ "Kernel" ]
10206         },
10207         {
10208           "enumerant" : "RG",
10209           "value" : 2,
10210           "capabilities" : [ "Kernel" ]
10211         },
10212         {
10213           "enumerant" : "RA",
10214           "value" : 3,
10215           "capabilities" : [ "Kernel" ]
10216         },
10217         {
10218           "enumerant" : "RGB",
10219           "value" : 4,
10220           "capabilities" : [ "Kernel" ]
10221         },
10222         {
10223           "enumerant" : "RGBA",
10224           "value" : 5,
10225           "capabilities" : [ "Kernel" ]
10226         },
10227         {
10228           "enumerant" : "BGRA",
10229           "value" : 6,
10230           "capabilities" : [ "Kernel" ]
10231         },
10232         {
10233           "enumerant" : "ARGB",
10234           "value" : 7,
10235           "capabilities" : [ "Kernel" ]
10236         },
10237         {
10238           "enumerant" : "Intensity",
10239           "value" : 8,
10240           "capabilities" : [ "Kernel" ]
10241         },
10242         {
10243           "enumerant" : "Luminance",
10244           "value" : 9,
10245           "capabilities" : [ "Kernel" ]
10246         },
10247         {
10248           "enumerant" : "Rx",
10249           "value" : 10,
10250           "capabilities" : [ "Kernel" ]
10251         },
10252         {
10253           "enumerant" : "RGx",
10254           "value" : 11,
10255           "capabilities" : [ "Kernel" ]
10256         },
10257         {
10258           "enumerant" : "RGBx",
10259           "value" : 12,
10260           "capabilities" : [ "Kernel" ]
10261         },
10262         {
10263           "enumerant" : "Depth",
10264           "value" : 13,
10265           "capabilities" : [ "Kernel" ]
10266         },
10267         {
10268           "enumerant" : "DepthStencil",
10269           "value" : 14,
10270           "capabilities" : [ "Kernel" ]
10271         },
10272         {
10273           "enumerant" : "sRGB",
10274           "value" : 15,
10275           "capabilities" : [ "Kernel" ]
10276         },
10277         {
10278           "enumerant" : "sRGBx",
10279           "value" : 16,
10280           "capabilities" : [ "Kernel" ]
10281         },
10282         {
10283           "enumerant" : "sRGBA",
10284           "value" : 17,
10285           "capabilities" : [ "Kernel" ]
10286         },
10287         {
10288           "enumerant" : "sBGRA",
10289           "value" : 18,
10290           "capabilities" : [ "Kernel" ]
10291         },
10292         {
10293           "enumerant" : "ABGR",
10294           "value" : 19,
10295           "capabilities" : [ "Kernel" ]
10296         }
10297       ]
10298     },
10299     {
10300       "category" : "ValueEnum",
10301       "kind" : "ImageChannelDataType",
10302       "enumerants" : [
10303         {
10304           "enumerant" : "SnormInt8",
10305           "value" : 0,
10306           "capabilities" : [ "Kernel" ]
10307         },
10308         {
10309           "enumerant" : "SnormInt16",
10310           "value" : 1,
10311           "capabilities" : [ "Kernel" ]
10312         },
10313         {
10314           "enumerant" : "UnormInt8",
10315           "value" : 2,
10316           "capabilities" : [ "Kernel" ]
10317         },
10318         {
10319           "enumerant" : "UnormInt16",
10320           "value" : 3,
10321           "capabilities" : [ "Kernel" ]
10322         },
10323         {
10324           "enumerant" : "UnormShort565",
10325           "value" : 4,
10326           "capabilities" : [ "Kernel" ]
10327         },
10328         {
10329           "enumerant" : "UnormShort555",
10330           "value" : 5,
10331           "capabilities" : [ "Kernel" ]
10332         },
10333         {
10334           "enumerant" : "UnormInt101010",
10335           "value" : 6,
10336           "capabilities" : [ "Kernel" ]
10337         },
10338         {
10339           "enumerant" : "SignedInt8",
10340           "value" : 7,
10341           "capabilities" : [ "Kernel" ]
10342         },
10343         {
10344           "enumerant" : "SignedInt16",
10345           "value" : 8,
10346           "capabilities" : [ "Kernel" ]
10347         },
10348         {
10349           "enumerant" : "SignedInt32",
10350           "value" : 9,
10351           "capabilities" : [ "Kernel" ]
10352         },
10353         {
10354           "enumerant" : "UnsignedInt8",
10355           "value" : 10,
10356           "capabilities" : [ "Kernel" ]
10357         },
10358         {
10359           "enumerant" : "UnsignedInt16",
10360           "value" : 11,
10361           "capabilities" : [ "Kernel" ]
10362         },
10363         {
10364           "enumerant" : "UnsignedInt32",
10365           "value" : 12,
10366           "capabilities" : [ "Kernel" ]
10367         },
10368         {
10369           "enumerant" : "HalfFloat",
10370           "value" : 13,
10371           "capabilities" : [ "Kernel" ]
10372         },
10373         {
10374           "enumerant" : "Float",
10375           "value" : 14,
10376           "capabilities" : [ "Kernel" ]
10377         },
10378         {
10379           "enumerant" : "UnormInt24",
10380           "value" : 15,
10381           "capabilities" : [ "Kernel" ]
10382         },
10383         {
10384           "enumerant" : "UnormInt101010_2",
10385           "value" : 16,
10386           "capabilities" : [ "Kernel" ]
10387         }
10388       ]
10389     },
10390     {
10391       "category" : "ValueEnum",
10392       "kind" : "FPRoundingMode",
10393       "enumerants" : [
10394         {
10395           "enumerant" : "RTE",
10396           "value" : 0
10397         },
10398         {
10399           "enumerant" : "RTZ",
10400           "value" : 1
10401         },
10402         {
10403           "enumerant" : "RTP",
10404           "value" : 2
10405         },
10406         {
10407           "enumerant" : "RTN",
10408           "value" : 3
10409         }
10410       ]
10411     },
10412     {
10413       "category" : "ValueEnum",
10414       "kind" : "FPDenormMode",
10415       "enumerants" : [
10416         {
10417           "enumerant" : "Preserve",
10418           "value" : 0,
10419           "capabilities" : [ "FunctionFloatControlINTEL" ],
10420           "version" : "None"
10421         },
10422         {
10423           "enumerant" : "FlushToZero",
10424           "value" : 1,
10425           "capabilities" : [ "FunctionFloatControlINTEL" ],
10426           "version" : "None"
10427         }
10428       ]
10429     },
10430     {
10431       "category" : "ValueEnum",
10432       "kind" : "QuantizationModes",
10433       "enumerants" : [
10434         {
10435           "enumerant" : "TRN",
10436           "value" : 0
10437         },
10438         {
10439           "enumerant" : "TRN_ZERO",
10440           "value" : 1
10441         },
10442         {
10443           "enumerant" : "RND",
10444           "value" : 2
10445         },
10446         {
10447           "enumerant" : "RND_ZERO",
10448           "value" : 3
10449         },
10450         {
10451           "enumerant" : "RND_INF",
10452           "value" : 4
10453         },
10454         {
10455           "enumerant" : "RND_MIN_INF",
10456           "value" : 5
10457         },
10458         {
10459           "enumerant" : "RND_CONV",
10460           "value" : 6
10461         },
10462         {
10463           "enumerant" : "RND_CONV_ODD",
10464           "value" : 7
10465         }
10466       ]
10467     },
10468     {
10469       "category" : "ValueEnum",
10470       "kind" : "FPOperationMode",
10471       "enumerants" : [
10472         {
10473           "enumerant" : "IEEE",
10474           "value" : 0,
10475           "capabilities" : [ "FunctionFloatControlINTEL" ],
10476           "version" : "None"
10477         },
10478         {
10479           "enumerant" : "ALT",
10480           "value" : 1,
10481           "capabilities" : [ "FunctionFloatControlINTEL" ],
10482           "version" : "None"
10483         }
10484       ]
10485     },
10486     {
10487       "category" : "ValueEnum",
10488       "kind" : "OverflowModes",
10489       "enumerants" : [
10490         {
10491           "enumerant" : "WRAP",
10492           "value" : 0
10493         },
10494         {
10495           "enumerant" : "SAT",
10496           "value" : 1
10497         },
10498         {
10499           "enumerant" : "SAT_ZERO",
10500           "value" : 2
10501         },
10502         {
10503           "enumerant" : "SAT_SYM",
10504           "value" : 3
10505         }
10506       ]
10507     },
10508     {
10509       "category" : "ValueEnum",
10510       "kind" : "LinkageType",
10511       "enumerants" : [
10512         {
10513           "enumerant" : "Export",
10514           "value" : 0,
10515           "capabilities" : [ "Linkage" ]
10516         },
10517         {
10518           "enumerant" : "Import",
10519           "value" : 1,
10520           "capabilities" : [ "Linkage" ]
10521         },
10522         {
10523           "enumerant" : "LinkOnceODR",
10524           "value" : 2,
10525           "capabilities" : [ "Linkage" ],
10526           "extensions" : [ "SPV_KHR_linkonce_odr" ],
10527           "version" : "None"
10528         }
10529       ]
10530     },
10531     {
10532       "category" : "ValueEnum",
10533       "kind" : "AccessQualifier",
10534       "enumerants" : [
10535         {
10536           "enumerant" : "ReadOnly",
10537           "value" : 0,
10538           "capabilities" : [ "Kernel" ]
10539         },
10540         {
10541           "enumerant" : "WriteOnly",
10542           "value" : 1,
10543           "capabilities" : [ "Kernel" ]
10544         },
10545         {
10546           "enumerant" : "ReadWrite",
10547           "value" : 2,
10548           "capabilities" : [ "Kernel" ]
10549         }
10550       ]
10551     },
10552     {
10553       "category" : "ValueEnum",
10554       "kind" : "FunctionParameterAttribute",
10555       "enumerants" : [
10556         {
10557           "enumerant" : "Zext",
10558           "value" : 0,
10559           "capabilities" : [ "Kernel" ]
10560         },
10561         {
10562           "enumerant" : "Sext",
10563           "value" : 1,
10564           "capabilities" : [ "Kernel" ]
10565         },
10566         {
10567           "enumerant" : "ByVal",
10568           "value" : 2,
10569           "capabilities" : [ "Kernel" ]
10570         },
10571         {
10572           "enumerant" : "Sret",
10573           "value" : 3,
10574           "capabilities" : [ "Kernel" ]
10575         },
10576         {
10577           "enumerant" : "NoAlias",
10578           "value" : 4,
10579           "capabilities" : [ "Kernel" ]
10580         },
10581         {
10582           "enumerant" : "NoCapture",
10583           "value" : 5,
10584           "capabilities" : [ "Kernel" ]
10585         },
10586         {
10587           "enumerant" : "NoWrite",
10588           "value" : 6,
10589           "capabilities" : [ "Kernel" ]
10590         },
10591         {
10592           "enumerant" : "NoReadWrite",
10593           "value" : 7,
10594           "capabilities" : [ "Kernel" ]
10595         }
10596       ]
10597     },
10598     {
10599       "category" : "ValueEnum",
10600       "kind" : "Decoration",
10601       "enumerants" : [
10602         {
10603           "enumerant" : "RelaxedPrecision",
10604           "value" : 0,
10605           "capabilities" : [ "Shader" ]
10606         },
10607         {
10608           "enumerant" : "SpecId",
10609           "value" : 1,
10610           "capabilities" : [ "Shader", "Kernel" ],
10611           "parameters" : [
10612             { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
10613           ]
10614         },
10615         {
10616           "enumerant" : "Block",
10617           "value" : 2,
10618           "capabilities" : [ "Shader" ]
10619         },
10620         {
10621           "enumerant" : "BufferBlock",
10622           "value" : 3,
10623           "capabilities" : [ "Shader" ],
10624           "lastVersion" : "1.3"
10625         },
10626         {
10627           "enumerant" : "RowMajor",
10628           "value" : 4,
10629           "capabilities" : [ "Matrix" ]
10630         },
10631         {
10632           "enumerant" : "ColMajor",
10633           "value" : 5,
10634           "capabilities" : [ "Matrix" ]
10635         },
10636         {
10637           "enumerant" : "ArrayStride",
10638           "value" : 6,
10639           "capabilities" : [ "Shader" ],
10640           "parameters" : [
10641             { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
10642           ]
10643         },
10644         {
10645           "enumerant" : "MatrixStride",
10646           "value" : 7,
10647           "capabilities" : [ "Matrix" ],
10648           "parameters" : [
10649             { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
10650           ]
10651         },
10652         {
10653           "enumerant" : "GLSLShared",
10654           "value" : 8,
10655           "capabilities" : [ "Shader" ]
10656         },
10657         {
10658           "enumerant" : "GLSLPacked",
10659           "value" : 9,
10660           "capabilities" : [ "Shader" ]
10661         },
10662         {
10663           "enumerant" : "CPacked",
10664           "value" : 10,
10665           "capabilities" : [ "Kernel" ]
10666         },
10667         {
10668           "enumerant" : "BuiltIn",
10669           "value" : 11,
10670           "parameters" : [
10671             { "kind" : "BuiltIn" }
10672           ]
10673         },
10674         {
10675           "enumerant" : "NoPerspective",
10676           "value" : 13,
10677           "capabilities" : [ "Shader" ]
10678         },
10679         {
10680           "enumerant" : "Flat",
10681           "value" : 14,
10682           "capabilities" : [ "Shader" ]
10683         },
10684         {
10685           "enumerant" : "Patch",
10686           "value" : 15,
10687           "capabilities" : [ "Tessellation" ]
10688         },
10689         {
10690           "enumerant" : "Centroid",
10691           "value" : 16,
10692           "capabilities" : [ "Shader" ]
10693         },
10694         {
10695           "enumerant" : "Sample",
10696           "value" : 17,
10697           "capabilities" : [ "SampleRateShading" ]
10698         },
10699         {
10700           "enumerant" : "Invariant",
10701           "value" : 18,
10702           "capabilities" : [ "Shader" ]
10703         },
10704         {
10705           "enumerant" : "Restrict",
10706           "value" : 19
10707         },
10708         {
10709           "enumerant" : "Aliased",
10710           "value" : 20
10711         },
10712         {
10713           "enumerant" : "Volatile",
10714           "value" : 21
10715         },
10716         {
10717           "enumerant" : "Constant",
10718           "value" : 22,
10719           "capabilities" : [ "Kernel" ]
10720         },
10721         {
10722           "enumerant" : "Coherent",
10723           "value" : 23
10724         },
10725         {
10726           "enumerant" : "NonWritable",
10727           "value" : 24
10728         },
10729         {
10730           "enumerant" : "NonReadable",
10731           "value" : 25
10732         },
10733         {
10734           "enumerant" : "Uniform",
10735           "value" : 26,
10736           "capabilities" : [ "Shader" ]
10737         },
10738         {
10739           "enumerant" : "UniformId",
10740           "value" : 27,
10741           "capabilities" : [ "Shader" ],
10742           "parameters" : [
10743             { "kind" : "IdScope",           "name" : "'Execution'" }
10744           ],
10745           "version" : "1.4"
10746         },
10747         {
10748           "enumerant" : "SaturatedConversion",
10749           "value" : 28,
10750           "capabilities" : [ "Kernel" ]
10751         },
10752         {
10753           "enumerant" : "Stream",
10754           "value" : 29,
10755           "capabilities" : [ "GeometryStreams" ],
10756           "parameters" : [
10757             { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
10758           ]
10759         },
10760         {
10761           "enumerant" : "Location",
10762           "value" : 30,
10763           "capabilities" : [ "Shader" ],
10764           "parameters" : [
10765             { "kind" : "LiteralInteger", "name" : "'Location'" }
10766           ]
10767         },
10768         {
10769           "enumerant" : "Component",
10770           "value" : 31,
10771           "capabilities" : [ "Shader" ],
10772           "parameters" : [
10773             { "kind" : "LiteralInteger", "name" : "'Component'" }
10774           ]
10775         },
10776         {
10777           "enumerant" : "Index",
10778           "value" : 32,
10779           "capabilities" : [ "Shader" ],
10780           "parameters" : [
10781             { "kind" : "LiteralInteger", "name" : "'Index'" }
10782           ]
10783         },
10784         {
10785           "enumerant" : "Binding",
10786           "value" : 33,
10787           "capabilities" : [ "Shader" ],
10788           "parameters" : [
10789             { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
10790           ]
10791         },
10792         {
10793           "enumerant" : "DescriptorSet",
10794           "value" : 34,
10795           "capabilities" : [ "Shader" ],
10796           "parameters" : [
10797             { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
10798           ]
10799         },
10800         {
10801           "enumerant" : "Offset",
10802           "value" : 35,
10803           "capabilities" : [ "Shader" ],
10804           "parameters" : [
10805             { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
10806           ]
10807         },
10808         {
10809           "enumerant" : "XfbBuffer",
10810           "value" : 36,
10811           "capabilities" : [ "TransformFeedback" ],
10812           "parameters" : [
10813             { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
10814           ]
10815         },
10816         {
10817           "enumerant" : "XfbStride",
10818           "value" : 37,
10819           "capabilities" : [ "TransformFeedback" ],
10820           "parameters" : [
10821             { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
10822           ]
10823         },
10824         {
10825           "enumerant" : "FuncParamAttr",
10826           "value" : 38,
10827           "capabilities" : [ "Kernel" ],
10828           "parameters" : [
10829             { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
10830           ]
10831         },
10832         {
10833           "enumerant" : "FPRoundingMode",
10834           "value" : 39,
10835           "parameters" : [
10836             { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
10837           ]
10838         },
10839         {
10840           "enumerant" : "FPFastMathMode",
10841           "value" : 40,
10842           "capabilities" : [ "Kernel" ],
10843           "parameters" : [
10844             { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
10845           ]
10846         },
10847         {
10848           "enumerant" : "LinkageAttributes",
10849           "value" : 41,
10850           "capabilities" : [ "Linkage" ],
10851           "parameters" : [
10852             { "kind" : "LiteralString", "name" : "'Name'" },
10853             { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
10854           ]
10855         },
10856         {
10857           "enumerant" : "NoContraction",
10858           "value" : 42,
10859           "capabilities" : [ "Shader" ]
10860         },
10861         {
10862           "enumerant" : "InputAttachmentIndex",
10863           "value" : 43,
10864           "capabilities" : [ "InputAttachment" ],
10865           "parameters" : [
10866             { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
10867           ]
10868         },
10869         {
10870           "enumerant" : "Alignment",
10871           "value" : 44,
10872           "capabilities" : [ "Kernel" ],
10873           "parameters" : [
10874             { "kind" : "LiteralInteger", "name" : "'Alignment'" }
10875           ]
10876         },
10877         {
10878           "enumerant" : "MaxByteOffset",
10879           "value" : 45,
10880           "capabilities" : [ "Addresses" ],
10881           "parameters" : [
10882             { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
10883           ],
10884           "version" : "1.1"
10885         },
10886         {
10887           "enumerant" : "AlignmentId",
10888           "value" : 46,
10889           "capabilities" : [ "Kernel" ],
10890           "parameters" : [
10891             { "kind" : "IdRef", "name" : "'Alignment'" }
10892           ],
10893           "version" : "1.2"
10894         },
10895         {
10896           "enumerant" : "MaxByteOffsetId",
10897           "value" : 47,
10898           "capabilities" : [ "Addresses" ],
10899           "parameters" : [
10900             { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
10901           ],
10902           "version" : "1.2"
10903         },
10904         {
10905           "enumerant" : "NoSignedWrap",
10906           "value" : 4469,
10907           "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
10908           "version" : "1.4"
10909         },
10910         {
10911           "enumerant" : "NoUnsignedWrap",
10912           "value" : 4470,
10913           "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
10914           "version" : "1.4"
10915         },
10916         {
10917           "enumerant" : "ExplicitInterpAMD",
10918           "value" : 4999,
10919           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10920           "version" : "None"
10921         },
10922         {
10923           "enumerant" : "OverrideCoverageNV",
10924           "value" : 5248,
10925           "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
10926           "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
10927           "version" : "None"
10928         },
10929         {
10930           "enumerant" : "PassthroughNV",
10931           "value" : 5250,
10932           "capabilities" : [ "GeometryShaderPassthroughNV" ],
10933           "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
10934           "version" : "None"
10935         },
10936         {
10937           "enumerant" : "ViewportRelativeNV",
10938           "value" : 5252,
10939           "capabilities" : [ "ShaderViewportMaskNV" ],
10940           "version" : "None"
10941         },
10942         {
10943           "enumerant" : "SecondaryViewportRelativeNV",
10944           "value" : 5256,
10945           "capabilities" : [ "ShaderStereoViewNV" ],
10946           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10947           "version" : "None",
10948           "parameters" : [
10949             { "kind" : "LiteralInteger", "name" : "'Offset'" }
10950           ]
10951         },
10952         {
10953           "enumerant" : "PerPrimitiveNV",
10954           "value" : 5271,
10955           "capabilities" : [ "MeshShadingNV" ],
10956           "extensions" : [ "SPV_NV_mesh_shader" ],
10957           "version" : "None"
10958         },
10959         {
10960           "enumerant" : "PerViewNV",
10961           "value" : 5272,
10962           "capabilities" : [ "MeshShadingNV" ],
10963           "extensions" : [ "SPV_NV_mesh_shader" ],
10964           "version" : "None"
10965         },
10966         {
10967           "enumerant" : "PerTaskNV",
10968           "value" : 5273,
10969           "capabilities" : [ "MeshShadingNV" ],
10970           "extensions" : [ "SPV_NV_mesh_shader" ],
10971           "version" : "None"
10972         },
10973         {
10974           "enumerant" : "PerVertexNV",
10975           "value" : 5285,
10976           "capabilities" : [ "FragmentBarycentricNV" ],
10977           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10978           "version" : "None"
10979         },
10980         {
10981           "enumerant" : "NonUniform",
10982           "value" : 5300,
10983           "capabilities" : [ "ShaderNonUniform" ],
10984           "version" : "1.5"
10985         },
10986         {
10987           "enumerant" : "NonUniformEXT",
10988           "value" : 5300,
10989           "capabilities" : [ "ShaderNonUniform" ],
10990           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10991           "version" : "1.5"
10992         },
10993         {
10994           "enumerant" : "RestrictPointer",
10995           "value" : 5355,
10996           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
10997           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
10998           "version" : "1.5"
10999         },
11000         {
11001           "enumerant" : "RestrictPointerEXT",
11002           "value" : 5355,
11003           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11004           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11005           "version" : "1.5"
11006         },
11007         {
11008           "enumerant" : "AliasedPointer",
11009           "value" : 5356,
11010           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11011           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11012           "version" : "1.5"
11013         },
11014         {
11015           "enumerant" : "AliasedPointerEXT",
11016           "value" : 5356,
11017           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11018           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11019           "version" : "1.5"
11020         },
11021         {
11022           "enumerant" : "SIMTCallINTEL",
11023           "value" : 5599,
11024           "parameters" : [
11025             { "kind" : "LiteralInteger", "name" : "'N'" }
11026           ],
11027           "capabilities" : [ "VectorComputeINTEL" ],
11028           "version" : "None"
11029         },
11030         {
11031           "enumerant" : "ReferencedIndirectlyINTEL",
11032           "value" : 5602,
11033           "capabilities" : [ "IndirectReferencesINTEL" ],
11034           "extensions" : [ "SPV_INTEL_function_pointers" ],
11035           "version" : "None"
11036         },
11037         {
11038           "enumerant" : "ClobberINTEL",
11039           "value" : 5607,
11040           "parameters" : [
11041             { "kind" : "LiteralString", "name" : "'Register'" }
11042           ],
11043           "capabilities" : [ "AsmINTEL" ],
11044           "version" : "None"
11045         },
11046         {
11047           "enumerant" : "SideEffectsINTEL",
11048           "value" : 5608,
11049           "capabilities" : [ "AsmINTEL" ],
11050           "version" : "None"
11051         },
11052         {
11053           "enumerant" : "VectorComputeVariableINTEL",
11054           "value" : 5624,
11055           "capabilities" : [ "VectorComputeINTEL" ],
11056           "version" : "None"
11057         },
11058         {
11059           "enumerant" : "FuncParamIOKindINTEL",
11060           "value" : 5625,
11061           "parameters" : [
11062             { "kind" : "LiteralInteger", "name" : "'Kind'" }
11063           ],
11064           "capabilities" : [ "VectorComputeINTEL" ],
11065           "version" : "None"
11066         },
11067         {
11068           "enumerant" : "VectorComputeFunctionINTEL",
11069           "value" : 5626,
11070           "capabilities" : [ "VectorComputeINTEL" ],
11071           "version" : "None"
11072         },
11073         {
11074           "enumerant" : "StackCallINTEL",
11075           "value" : 5627,
11076           "capabilities" : [ "VectorComputeINTEL" ],
11077           "version" : "None"
11078         },
11079         {
11080           "enumerant" : "GlobalVariableOffsetINTEL",
11081           "value" : 5628,
11082           "parameters" : [
11083             { "kind" : "LiteralInteger", "name" : "'Offset'" }
11084           ],
11085           "capabilities" : [ "VectorComputeINTEL" ],
11086           "version" : "None"
11087         },
11088         {
11089           "enumerant" : "CounterBuffer",
11090           "value" : 5634,
11091           "parameters" : [
11092             { "kind" : "IdRef", "name" : "'Counter Buffer'" }
11093           ],
11094           "version" : "1.4"
11095         },
11096         {
11097           "enumerant" : "HlslCounterBufferGOOGLE",
11098           "value" : 5634,
11099           "parameters" : [
11100             { "kind" : "IdRef", "name" : "'Counter Buffer'" }
11101           ],
11102           "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
11103           "version" : "None"
11104         },
11105         {
11106           "enumerant" : "UserSemantic",
11107           "value" : 5635,
11108           "parameters" : [
11109             { "kind" : "LiteralString", "name" : "'Semantic'" }
11110           ],
11111           "version" : "1.4"
11112         },
11113         {
11114           "enumerant" : "HlslSemanticGOOGLE",
11115           "value" : 5635,
11116           "parameters" : [
11117             { "kind" : "LiteralString", "name" : "'Semantic'" }
11118           ],
11119           "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
11120           "version" : "None"
11121         },
11122         {
11123           "enumerant" : "UserTypeGOOGLE",
11124           "value" : 5636,
11125           "parameters" : [
11126             { "kind" : "LiteralString", "name" : "'User Type'" }
11127           ],
11128           "extensions" : [ "SPV_GOOGLE_user_type" ],
11129           "version" : "None"
11130         },
11131         {
11132           "enumerant" : "FunctionRoundingModeINTEL",
11133           "value" : 5822,
11134           "parameters" : [
11135             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11136             { "kind" : "FPRoundingMode", "name" : "'FP Rounding Mode'" }
11137           ],
11138           "capabilities" : [ "FunctionFloatControlINTEL" ],
11139           "version" : "None"
11140         },
11141         {
11142           "enumerant" : "FunctionDenormModeINTEL",
11143           "value" : 5823,
11144           "parameters" : [
11145             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11146             { "kind" : "FPDenormMode", "name" : "'FP Denorm Mode'" }
11147           ],
11148           "capabilities" : [ "FunctionFloatControlINTEL" ],
11149           "version" : "None"
11150         },
11151         {
11152           "enumerant" : "RegisterINTEL",
11153           "value" : 5825,
11154           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11155           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11156           "version" : "None"
11157         },
11158         {
11159           "enumerant" : "MemoryINTEL",
11160           "value" : 5826,
11161           "parameters" : [
11162             { "kind" : "LiteralString", "name" : "'Memory Type'" }
11163           ],
11164           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11165           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11166           "version" : "None"
11167         },
11168         {
11169           "enumerant" : "NumbanksINTEL",
11170           "value" : 5827,
11171           "parameters" : [
11172             { "kind" : "LiteralInteger", "name" : "'Banks'" }
11173           ],
11174           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11175           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11176           "version" : "None"
11177         },
11178         {
11179           "enumerant" : "BankwidthINTEL",
11180           "value" : 5828,
11181           "parameters" : [
11182             { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
11183           ],
11184           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11185           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11186           "version" : "None"
11187         },
11188         {
11189           "enumerant" : "MaxPrivateCopiesINTEL",
11190           "value" : 5829,
11191           "parameters" : [
11192             { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
11193           ],
11194           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11195           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11196           "version" : "None"
11197         },
11198         {
11199           "enumerant" : "SinglepumpINTEL",
11200           "value" : 5830,
11201           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11202           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11203           "version" : "None"
11204         },
11205         {
11206           "enumerant" : "DoublepumpINTEL",
11207           "value" : 5831,
11208           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11209           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11210           "version" : "None"
11211         },
11212         {
11213           "enumerant" : "MaxReplicatesINTEL",
11214           "value" : 5832,
11215           "parameters" : [
11216             { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
11217           ],
11218           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11219           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11220           "version" : "None"
11221         },
11222         {
11223           "enumerant" : "SimpleDualPortINTEL",
11224           "value" : 5833,
11225           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11226           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11227           "version" : "None"
11228         },
11229         {
11230           "enumerant" : "MergeINTEL",
11231           "value" : 5834,
11232           "parameters" : [
11233             { "kind" : "LiteralString", "name" : "'Merge Key'" },
11234             { "kind" : "LiteralString", "name" : "'Merge Type'" }
11235           ],
11236           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11237           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11238           "version" : "None"
11239         },
11240         {
11241           "enumerant" : "BankBitsINTEL",
11242           "value" : 5835,
11243           "parameters" : [
11244             { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
11245           ],
11246           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11247           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11248           "version" : "None"
11249         },
11250         {
11251           "enumerant" : "ForcePow2DepthINTEL",
11252           "value" : 5836,
11253           "parameters" : [
11254             { "kind" : "LiteralInteger", "name" : "'Force Key'" }
11255           ],
11256           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11257           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11258           "version" : "None"
11259         },
11260         {
11261           "enumerant" : "BurstCoalesceINTEL",
11262           "value" : 5899,
11263           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11264           "version" : "None"
11265         },
11266         {
11267           "enumerant" : "CacheSizeINTEL",
11268           "value" : 5900,
11269           "parameters" : [
11270             { "kind" : "LiteralInteger", "name" : "'Cache Size in bytes'" }
11271           ],
11272           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11273           "version" : "None"
11274         },
11275         {
11276           "enumerant" : "DontStaticallyCoalesceINTEL",
11277           "value" : 5901,
11278           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11279           "version" : "None"
11280         },
11281         {
11282           "enumerant" : "PrefetchINTEL",
11283           "value" : 5902,
11284           "parameters" : [
11285             { "kind" : "LiteralInteger", "name" : "'Prefetcher Size in bytes'" }
11286           ],
11287           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11288           "version" : "None"
11289         },
11290         {
11291           "enumerant" : "StallEnableINTEL",
11292           "value" : 5905,
11293           "capabilities" : [ "FPGAClusterAttributesINTEL" ],
11294           "version" : "None"
11295         },
11296         {
11297           "enumerant" : "FuseLoopsInFunctionINTEL",
11298           "value" : 5907,
11299           "capabilities" : [ "LoopFuseINTEL" ],
11300           "version" : "None"
11301         },
11302         {
11303           "enumerant" : "BufferLocationINTEL",
11304           "value" : 5921,
11305           "parameters" : [
11306             { "kind" : "LiteralInteger", "name" : "'Buffer Location ID'" }
11307           ],
11308           "capabilities" : [ "FPGABufferLocationINTEL" ],
11309           "version" : "None"
11310         },
11311         {
11312           "enumerant" : "IOPipeStorageINTEL",
11313           "value" : 5944,
11314           "parameters" : [
11315             { "kind" : "LiteralInteger", "name" : "'IO Pipe ID'" }
11316           ],
11317           "capabilities" : [ "IOPipesINTEL" ],
11318           "version" : "None"
11319         },
11320         {
11321           "enumerant" : "FunctionFloatingPointModeINTEL",
11322           "value" : 6080,
11323           "parameters" : [
11324             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11325             { "kind" : "FPOperationMode", "name" : "'FP Operation Mode'" }
11326           ],
11327           "capabilities" : [ "FunctionFloatControlINTEL" ],
11328           "version" : "None"
11329         },
11330         {
11331           "enumerant" : "SingleElementVectorINTEL",
11332           "value" : 6085,
11333           "capabilities" : [ "VectorComputeINTEL" ],
11334           "version" : "None"
11335         },
11336         {
11337           "enumerant" : "VectorComputeCallableFunctionINTEL",
11338           "value" : 6087,
11339           "capabilities" : [ "VectorComputeINTEL" ],
11340           "version" : "None"
11341         }
11342       ]
11343     },
11344     {
11345       "category" : "ValueEnum",
11346       "kind" : "BuiltIn",
11347       "enumerants" : [
11348         {
11349           "enumerant" : "Position",
11350           "value" : 0,
11351           "capabilities" : [ "Shader" ]
11352         },
11353         {
11354           "enumerant" : "PointSize",
11355           "value" : 1,
11356           "capabilities" : [ "Shader" ]
11357         },
11358         {
11359           "enumerant" : "ClipDistance",
11360           "value" : 3,
11361           "capabilities" : [ "ClipDistance" ]
11362         },
11363         {
11364           "enumerant" : "CullDistance",
11365           "value" : 4,
11366           "capabilities" : [ "CullDistance" ]
11367         },
11368         {
11369           "enumerant" : "VertexId",
11370           "value" : 5,
11371           "capabilities" : [ "Shader" ]
11372         },
11373         {
11374           "enumerant" : "InstanceId",
11375           "value" : 6,
11376           "capabilities" : [ "Shader" ]
11377         },
11378         {
11379           "enumerant" : "PrimitiveId",
11380           "value" : 7,
11381           "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV" ]
11382         },
11383         {
11384           "enumerant" : "InvocationId",
11385           "value" : 8,
11386           "capabilities" : [ "Geometry", "Tessellation" ]
11387         },
11388         {
11389           "enumerant" : "Layer",
11390           "value" : 9,
11391           "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
11392         },
11393         {
11394           "enumerant" : "ViewportIndex",
11395           "value" : 10,
11396           "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
11397         },
11398         {
11399           "enumerant" : "TessLevelOuter",
11400           "value" : 11,
11401           "capabilities" : [ "Tessellation" ]
11402         },
11403         {
11404           "enumerant" : "TessLevelInner",
11405           "value" : 12,
11406           "capabilities" : [ "Tessellation" ]
11407         },
11408         {
11409           "enumerant" : "TessCoord",
11410           "value" : 13,
11411           "capabilities" : [ "Tessellation" ]
11412         },
11413         {
11414           "enumerant" : "PatchVertices",
11415           "value" : 14,
11416           "capabilities" : [ "Tessellation" ]
11417         },
11418         {
11419           "enumerant" : "FragCoord",
11420           "value" : 15,
11421           "capabilities" : [ "Shader" ]
11422         },
11423         {
11424           "enumerant" : "PointCoord",
11425           "value" : 16,
11426           "capabilities" : [ "Shader" ]
11427         },
11428         {
11429           "enumerant" : "FrontFacing",
11430           "value" : 17,
11431           "capabilities" : [ "Shader" ]
11432         },
11433         {
11434           "enumerant" : "SampleId",
11435           "value" : 18,
11436           "capabilities" : [ "SampleRateShading" ]
11437         },
11438         {
11439           "enumerant" : "SamplePosition",
11440           "value" : 19,
11441           "capabilities" : [ "SampleRateShading" ]
11442         },
11443         {
11444           "enumerant" : "SampleMask",
11445           "value" : 20,
11446           "capabilities" : [ "Shader" ]
11447         },
11448         {
11449           "enumerant" : "FragDepth",
11450           "value" : 22,
11451           "capabilities" : [ "Shader" ]
11452         },
11453         {
11454           "enumerant" : "HelperInvocation",
11455           "value" : 23,
11456           "capabilities" : [ "Shader" ]
11457         },
11458         {
11459           "enumerant" : "NumWorkgroups",
11460           "value" : 24
11461         },
11462         {
11463           "enumerant" : "WorkgroupSize",
11464           "value" : 25
11465         },
11466         {
11467           "enumerant" : "WorkgroupId",
11468           "value" : 26
11469         },
11470         {
11471           "enumerant" : "LocalInvocationId",
11472           "value" : 27
11473         },
11474         {
11475           "enumerant" : "GlobalInvocationId",
11476           "value" : 28
11477         },
11478         {
11479           "enumerant" : "LocalInvocationIndex",
11480           "value" : 29
11481         },
11482         {
11483           "enumerant" : "WorkDim",
11484           "value" : 30,
11485           "capabilities" : [ "Kernel" ]
11486         },
11487         {
11488           "enumerant" : "GlobalSize",
11489           "value" : 31,
11490           "capabilities" : [ "Kernel" ]
11491         },
11492         {
11493           "enumerant" : "EnqueuedWorkgroupSize",
11494           "value" : 32,
11495           "capabilities" : [ "Kernel" ]
11496         },
11497         {
11498           "enumerant" : "GlobalOffset",
11499           "value" : 33,
11500           "capabilities" : [ "Kernel" ]
11501         },
11502         {
11503           "enumerant" : "GlobalLinearId",
11504           "value" : 34,
11505           "capabilities" : [ "Kernel" ]
11506         },
11507         {
11508           "enumerant" : "SubgroupSize",
11509           "value" : 36,
11510           "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
11511         },
11512         {
11513           "enumerant" : "SubgroupMaxSize",
11514           "value" : 37,
11515           "capabilities" : [ "Kernel" ]
11516         },
11517         {
11518           "enumerant" : "NumSubgroups",
11519           "value" : 38,
11520           "capabilities" : [ "Kernel", "GroupNonUniform" ]
11521         },
11522         {
11523           "enumerant" : "NumEnqueuedSubgroups",
11524           "value" : 39,
11525           "capabilities" : [ "Kernel" ]
11526         },
11527         {
11528           "enumerant" : "SubgroupId",
11529           "value" : 40,
11530           "capabilities" : [ "Kernel", "GroupNonUniform" ]
11531         },
11532         {
11533           "enumerant" : "SubgroupLocalInvocationId",
11534           "value" : 41,
11535           "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
11536         },
11537         {
11538           "enumerant" : "VertexIndex",
11539           "value" : 42,
11540           "capabilities" : [ "Shader" ]
11541         },
11542         {
11543           "enumerant" : "InstanceIndex",
11544           "value" : 43,
11545           "capabilities" : [ "Shader" ]
11546         },
11547         {
11548           "enumerant" : "SubgroupEqMask",
11549           "value" : 4416,
11550           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11551           "version" : "1.3"
11552         },
11553         {
11554           "enumerant" : "SubgroupEqMaskKHR",
11555           "value" : 4416,
11556           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11557           "extensions" : [ "SPV_KHR_shader_ballot" ],
11558           "version" : "1.3"
11559         },
11560         {
11561           "enumerant" : "SubgroupGeMask",
11562           "value" : 4417,
11563           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11564           "version" : "1.3"
11565         },
11566         {
11567           "enumerant" : "SubgroupGeMaskKHR",
11568           "value" : 4417,
11569           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11570           "extensions" : [ "SPV_KHR_shader_ballot" ],
11571           "version" : "1.3"
11572         },
11573         {
11574           "enumerant" : "SubgroupGtMask",
11575           "value" : 4418,
11576           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11577           "version" : "1.3"
11578         },
11579         {
11580           "enumerant" : "SubgroupGtMaskKHR",
11581           "value" : 4418,
11582           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11583           "extensions" : [ "SPV_KHR_shader_ballot" ],
11584           "version" : "1.3"
11585         },
11586         {
11587           "enumerant" : "SubgroupLeMask",
11588           "value" : 4419,
11589           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11590           "version" : "1.3"
11591         },
11592         {
11593           "enumerant" : "SubgroupLeMaskKHR",
11594           "value" : 4419,
11595           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11596           "extensions" : [ "SPV_KHR_shader_ballot" ],
11597           "version" : "1.3"
11598         },
11599         {
11600           "enumerant" : "SubgroupLtMask",
11601           "value" : 4420,
11602           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11603           "version" : "1.3"
11604         },
11605         {
11606           "enumerant" : "SubgroupLtMaskKHR",
11607           "value" : 4420,
11608           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11609           "extensions" : [ "SPV_KHR_shader_ballot" ],
11610           "version" : "1.3"
11611         },
11612         {
11613           "enumerant" : "BaseVertex",
11614           "value" : 4424,
11615           "capabilities" : [ "DrawParameters" ],
11616           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
11617           "version" : "1.3"
11618         },
11619         {
11620           "enumerant" : "BaseInstance",
11621           "value" : 4425,
11622           "capabilities" : [ "DrawParameters" ],
11623           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
11624           "version" : "1.3"
11625         },
11626         {
11627           "enumerant" : "DrawIndex",
11628           "value" : 4426,
11629           "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
11630           "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
11631           "version" : "1.3"
11632         },
11633         {
11634           "enumerant" : "PrimitiveShadingRateKHR",
11635           "value" : 4432,
11636           "capabilities" : [ "FragmentShadingRateKHR" ],
11637           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
11638           "version" : "None"
11639         },
11640         {
11641           "enumerant" : "DeviceIndex",
11642           "value" : 4438,
11643           "capabilities" : [ "DeviceGroup" ],
11644           "extensions" : [ "SPV_KHR_device_group" ],
11645           "version" : "1.3"
11646         },
11647         {
11648           "enumerant" : "ViewIndex",
11649           "value" : 4440,
11650           "capabilities" : [ "MultiView" ],
11651           "extensions" : [ "SPV_KHR_multiview" ],
11652           "version" : "1.3"
11653         },
11654         {
11655           "enumerant" : "ShadingRateKHR",
11656           "value" : 4444,
11657           "capabilities" : [ "FragmentShadingRateKHR" ],
11658           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
11659           "version" : "None"
11660         },
11661         {
11662           "enumerant" : "BaryCoordNoPerspAMD",
11663           "value" : 4992,
11664           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11665           "version" : "None"
11666         },
11667         {
11668           "enumerant" : "BaryCoordNoPerspCentroidAMD",
11669           "value" : 4993,
11670           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11671           "version" : "None"
11672         },
11673         {
11674           "enumerant" : "BaryCoordNoPerspSampleAMD",
11675           "value" : 4994,
11676           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11677           "version" : "None"
11678         },
11679         {
11680           "enumerant" : "BaryCoordSmoothAMD",
11681           "value" : 4995,
11682           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11683           "version" : "None"
11684         },
11685         {
11686           "enumerant" : "BaryCoordSmoothCentroidAMD",
11687           "value" : 4996,
11688           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11689           "version" : "None"
11690         },
11691         {
11692           "enumerant" : "BaryCoordSmoothSampleAMD",
11693           "value" : 4997,
11694           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11695           "version" : "None"
11696         },
11697         {
11698           "enumerant" : "BaryCoordPullModelAMD",
11699           "value" : 4998,
11700           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11701           "version" : "None"
11702         },
11703         {
11704           "enumerant" : "FragStencilRefEXT",
11705           "value" : 5014,
11706           "capabilities" : [ "StencilExportEXT" ],
11707           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
11708           "version" : "None"
11709         },
11710         {
11711           "enumerant" : "ViewportMaskNV",
11712           "value" : 5253,
11713           "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
11714           "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
11715           "version" : "None"
11716         },
11717         {
11718           "enumerant" : "SecondaryPositionNV",
11719           "value" : 5257,
11720           "capabilities" : [ "ShaderStereoViewNV" ],
11721           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11722           "version" : "None"
11723         },
11724         {
11725           "enumerant" : "SecondaryViewportMaskNV",
11726           "value" : 5258,
11727           "capabilities" : [ "ShaderStereoViewNV" ],
11728           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11729           "version" : "None"
11730         },
11731         {
11732           "enumerant" : "PositionPerViewNV",
11733           "value" : 5261,
11734           "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
11735           "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
11736           "version" : "None"
11737         },
11738         {
11739           "enumerant" : "ViewportMaskPerViewNV",
11740           "value" : 5262,
11741           "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
11742           "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
11743           "version" : "None"
11744         },
11745         {
11746           "enumerant" : "FullyCoveredEXT",
11747           "value" : 5264,
11748           "capabilities" : [ "FragmentFullyCoveredEXT" ],
11749           "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
11750           "version" : "None"
11751         },
11752         {
11753           "enumerant" : "TaskCountNV",
11754           "value" : 5274,
11755           "capabilities" : [ "MeshShadingNV" ],
11756           "extensions" : [ "SPV_NV_mesh_shader" ],
11757           "version" : "None"
11758         },
11759         {
11760           "enumerant" : "PrimitiveCountNV",
11761           "value" : 5275,
11762           "capabilities" : [ "MeshShadingNV" ],
11763           "extensions" : [ "SPV_NV_mesh_shader" ],
11764           "version" : "None"
11765         },
11766         {
11767           "enumerant" : "PrimitiveIndicesNV",
11768           "value" : 5276,
11769           "capabilities" : [ "MeshShadingNV" ],
11770           "extensions" : [ "SPV_NV_mesh_shader" ],
11771           "version" : "None"
11772         },
11773         {
11774           "enumerant" : "ClipDistancePerViewNV",
11775           "value" : 5277,
11776           "capabilities" : [ "MeshShadingNV" ],
11777           "extensions" : [ "SPV_NV_mesh_shader" ],
11778           "version" : "None"
11779         },
11780         {
11781           "enumerant" : "CullDistancePerViewNV",
11782           "value" : 5278,
11783           "capabilities" : [ "MeshShadingNV" ],
11784           "extensions" : [ "SPV_NV_mesh_shader" ],
11785           "version" : "None"
11786         },
11787         {
11788           "enumerant" : "LayerPerViewNV",
11789           "value" : 5279,
11790           "capabilities" : [ "MeshShadingNV" ],
11791           "extensions" : [ "SPV_NV_mesh_shader" ],
11792           "version" : "None"
11793         },
11794         {
11795           "enumerant" : "MeshViewCountNV",
11796           "value" : 5280,
11797           "capabilities" : [ "MeshShadingNV" ],
11798           "extensions" : [ "SPV_NV_mesh_shader" ],
11799           "version" : "None"
11800         },
11801         {
11802           "enumerant" : "MeshViewIndicesNV",
11803           "value" : 5281,
11804           "capabilities" : [ "MeshShadingNV" ],
11805           "extensions" : [ "SPV_NV_mesh_shader" ],
11806           "version" : "None"
11807         },
11808         {
11809           "enumerant" : "BaryCoordNV",
11810           "value" : 5286,
11811           "capabilities" : [ "FragmentBarycentricNV" ],
11812           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11813           "version" : "None"
11814         },
11815         {
11816           "enumerant" : "BaryCoordNoPerspNV",
11817           "value" : 5287,
11818           "capabilities" : [ "FragmentBarycentricNV" ],
11819           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11820           "version" : "None"
11821         },
11822         {
11823           "enumerant" : "FragSizeEXT",
11824           "value" : 5292 ,
11825           "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
11826           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11827           "version" : "None"
11828         },
11829         {
11830           "enumerant" : "FragmentSizeNV",
11831           "value" : 5292 ,
11832           "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
11833           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11834           "version" : "None"
11835         },
11836         {
11837           "enumerant" : "FragInvocationCountEXT",
11838           "value" : 5293,
11839           "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
11840           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11841           "version" : "None"
11842         },
11843         {
11844           "enumerant" : "InvocationsPerPixelNV",
11845           "value" : 5293,
11846           "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
11847           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11848           "version" : "None"
11849         },
11850         {
11851           "enumerant" : "LaunchIdNV",
11852           "value" : 5319,
11853           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11854           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11855           "version" : "None"
11856         },
11857         {
11858           "enumerant" : "LaunchIdKHR",
11859           "value" : 5319,
11860           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11861           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11862           "version" : "None"
11863         },
11864         {
11865           "enumerant" : "LaunchSizeNV",
11866           "value" : 5320,
11867           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11868           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11869           "version" : "None"
11870         },
11871         {
11872           "enumerant" : "LaunchSizeKHR",
11873           "value" : 5320,
11874           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11875           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11876           "version" : "None"
11877         },
11878         {
11879           "enumerant" : "WorldRayOriginNV",
11880           "value" : 5321,
11881           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11882           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11883           "version" : "None"
11884         },
11885         {
11886           "enumerant" : "WorldRayOriginKHR",
11887           "value" : 5321,
11888           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11889           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11890           "version" : "None"
11891         },
11892         {
11893           "enumerant" : "WorldRayDirectionNV",
11894           "value" : 5322,
11895           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11896           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11897           "version" : "None"
11898         },
11899         {
11900           "enumerant" : "WorldRayDirectionKHR",
11901           "value" : 5322,
11902           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11903           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11904           "version" : "None"
11905         },
11906         {
11907           "enumerant" : "ObjectRayOriginNV",
11908           "value" : 5323,
11909           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11910           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11911           "version" : "None"
11912         },
11913         {
11914           "enumerant" : "ObjectRayOriginKHR",
11915           "value" : 5323,
11916           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11917           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11918           "version" : "None"
11919         },
11920         {
11921           "enumerant" : "ObjectRayDirectionNV",
11922           "value" : 5324,
11923           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11924           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11925           "version" : "None"
11926         },
11927         {
11928           "enumerant" : "ObjectRayDirectionKHR",
11929           "value" : 5324,
11930           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11931           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11932           "version" : "None"
11933         },
11934         {
11935           "enumerant" : "RayTminNV",
11936           "value" : 5325,
11937           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11938           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11939           "version" : "None"
11940         },
11941         {
11942           "enumerant" : "RayTminKHR",
11943           "value" : 5325,
11944           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11945           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11946           "version" : "None"
11947         },
11948         {
11949           "enumerant" : "RayTmaxNV",
11950           "value" : 5326,
11951           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11952           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11953           "version" : "None"
11954         },
11955         {
11956           "enumerant" : "RayTmaxKHR",
11957           "value" : 5326,
11958           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11959           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11960           "version" : "None"
11961         },
11962         {
11963           "enumerant" : "InstanceCustomIndexNV",
11964           "value" : 5327,
11965           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11966           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11967           "version" : "None"
11968         },
11969         {
11970           "enumerant" : "InstanceCustomIndexKHR",
11971           "value" : 5327,
11972           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11973           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11974           "version" : "None"
11975         },
11976         {
11977           "enumerant" : "ObjectToWorldNV",
11978           "value" : 5330,
11979           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11980           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11981           "version" : "None"
11982         },
11983         {
11984           "enumerant" : "ObjectToWorldKHR",
11985           "value" : 5330,
11986           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11987           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11988           "version" : "None"
11989         },
11990         {
11991           "enumerant" : "WorldToObjectNV",
11992           "value" : 5331,
11993           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11994           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11995           "version" : "None"
11996         },
11997         {
11998           "enumerant" : "WorldToObjectKHR",
11999           "value" : 5331,
12000           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12001           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12002           "version" : "None"
12003         },
12004         {
12005           "enumerant" : "HitTNV",
12006           "value" : 5332,
12007           "capabilities" : [ "RayTracingNV" ],
12008           "extensions" : [ "SPV_NV_ray_tracing" ],
12009           "version" : "None"
12010         },
12011         {
12012           "enumerant" : "HitKindNV",
12013           "value" : 5333,
12014           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12015           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12016           "version" : "None"
12017         },
12018         {
12019           "enumerant" : "HitKindKHR",
12020           "value" : 5333,
12021           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12022           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12023           "version" : "None"
12024         },
12025         {
12026           "enumerant" : "IncomingRayFlagsNV",
12027           "value" : 5351,
12028           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12029           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12030           "version" : "None"
12031         },
12032         {
12033           "enumerant" : "IncomingRayFlagsKHR",
12034           "value" : 5351,
12035           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12036           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12037           "version" : "None"
12038         },
12039         {
12040           "enumerant" : "RayGeometryIndexKHR",
12041           "value" : 5352,
12042           "capabilities" : [ "RayTracingKHR" ],
12043           "extensions" : [ "SPV_KHR_ray_tracing" ],
12044           "version" : "None"
12045         },
12046         {
12047           "enumerant" : "WarpsPerSMNV",
12048           "value" : 5374,
12049           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12050           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12051           "version" : "None"
12052         },
12053         {
12054           "enumerant" : "SMCountNV",
12055           "value" : 5375,
12056           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12057           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12058           "version" : "None"
12059         },
12060         {
12061           "enumerant" : "WarpIDNV",
12062           "value" : 5376,
12063           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12064           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12065           "version" : "None"
12066         },
12067         {
12068           "enumerant" : "SMIDNV",
12069           "value" : 5377,
12070           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12071           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12072           "version" : "None"
12073         }
12074       ]
12075     },
12076     {
12077       "category" : "ValueEnum",
12078       "kind" : "Scope",
12079       "enumerants" : [
12080         {
12081           "enumerant" : "CrossDevice",
12082           "value" : 0
12083         },
12084         {
12085           "enumerant" : "Device",
12086           "value" : 1
12087         },
12088         {
12089           "enumerant" : "Workgroup",
12090           "value" : 2
12091         },
12092         {
12093           "enumerant" : "Subgroup",
12094           "value" : 3
12095         },
12096         {
12097           "enumerant" : "Invocation",
12098           "value" : 4
12099         },
12100         {
12101           "enumerant" : "QueueFamily",
12102           "value" : 5,
12103           "capabilities" : [ "VulkanMemoryModel" ],
12104           "version" : "1.5"
12105         },
12106         {
12107           "enumerant" : "QueueFamilyKHR",
12108           "value" : 5,
12109           "capabilities" : [ "VulkanMemoryModel" ],
12110           "version" : "1.5"
12111         },
12112         {
12113           "enumerant" : "ShaderCallKHR",
12114           "value" : 6,
12115           "capabilities" : [ "RayTracingKHR" ],
12116           "version" : "None"
12117         }
12118       ]
12119     },
12120     {
12121       "category" : "ValueEnum",
12122       "kind" : "GroupOperation",
12123       "enumerants" : [
12124         {
12125           "enumerant" : "Reduce",
12126           "value" : 0,
12127           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12128         },
12129         {
12130           "enumerant" : "InclusiveScan",
12131           "value" : 1,
12132           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12133         },
12134         {
12135           "enumerant" : "ExclusiveScan",
12136           "value" : 2,
12137           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12138         },
12139         {
12140           "enumerant" : "ClusteredReduce",
12141           "value" : 3,
12142           "capabilities" : [ "GroupNonUniformClustered" ],
12143           "version" : "1.3"
12144         },
12145         {
12146           "enumerant" : "PartitionedReduceNV",
12147           "value" : 6,
12148           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12149           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12150           "version" : "None"
12151         },
12152         {
12153           "enumerant" : "PartitionedInclusiveScanNV",
12154           "value" : 7,
12155           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12156           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12157           "version" : "None"
12158         },
12159         {
12160           "enumerant" : "PartitionedExclusiveScanNV",
12161           "value" : 8,
12162           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12163           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12164           "version" : "None"
12165         }
12166       ]
12167     },
12168     {
12169       "category" : "ValueEnum",
12170       "kind" : "KernelEnqueueFlags",
12171       "enumerants" : [
12172         {
12173           "enumerant" : "NoWait",
12174           "value" : 0,
12175           "capabilities" : [ "Kernel" ]
12176         },
12177         {
12178           "enumerant" : "WaitKernel",
12179           "value" : 1,
12180           "capabilities" : [ "Kernel" ]
12181         },
12182         {
12183           "enumerant" : "WaitWorkGroup",
12184           "value" : 2,
12185           "capabilities" : [ "Kernel" ]
12186         }
12187       ]
12188     },
12189     {
12190       "category" : "ValueEnum",
12191       "kind" : "Capability",
12192       "enumerants" : [
12193         {
12194           "enumerant" : "Matrix",
12195           "value" : 0
12196         },
12197         {
12198           "enumerant" : "Shader",
12199           "value" : 1,
12200           "capabilities" : [ "Matrix" ]
12201         },
12202         {
12203           "enumerant" : "Geometry",
12204           "value" : 2,
12205           "capabilities" : [ "Shader" ]
12206         },
12207         {
12208           "enumerant" : "Tessellation",
12209           "value" : 3,
12210           "capabilities" : [ "Shader" ]
12211         },
12212         {
12213           "enumerant" : "Addresses",
12214           "value" : 4
12215         },
12216         {
12217           "enumerant" : "Linkage",
12218           "value" : 5
12219         },
12220         {
12221           "enumerant" : "Kernel",
12222           "value" : 6
12223         },
12224         {
12225           "enumerant" : "Vector16",
12226           "value" : 7,
12227           "capabilities" : [ "Kernel" ]
12228         },
12229         {
12230           "enumerant" : "Float16Buffer",
12231           "value" : 8,
12232           "capabilities" : [ "Kernel" ]
12233         },
12234         {
12235           "enumerant" : "Float16",
12236           "value" : 9
12237         },
12238         {
12239           "enumerant" : "Float64",
12240           "value" : 10
12241         },
12242         {
12243           "enumerant" : "Int64",
12244           "value" : 11
12245         },
12246         {
12247           "enumerant" : "Int64Atomics",
12248           "value" : 12,
12249           "capabilities" : [ "Int64" ]
12250         },
12251         {
12252           "enumerant" : "ImageBasic",
12253           "value" : 13,
12254           "capabilities" : [ "Kernel" ]
12255         },
12256         {
12257           "enumerant" : "ImageReadWrite",
12258           "value" : 14,
12259           "capabilities" : [ "ImageBasic" ]
12260         },
12261         {
12262           "enumerant" : "ImageMipmap",
12263           "value" : 15,
12264           "capabilities" : [ "ImageBasic" ]
12265         },
12266         {
12267           "enumerant" : "Pipes",
12268           "value" : 17,
12269           "capabilities" : [ "Kernel" ]
12270         },
12271         {
12272           "enumerant" : "Groups",
12273           "value" : 18,
12274           "extensions" : [ "SPV_AMD_shader_ballot" ]
12275         },
12276         {
12277           "enumerant" : "DeviceEnqueue",
12278           "value" : 19,
12279           "capabilities" : [ "Kernel" ]
12280         },
12281         {
12282           "enumerant" : "LiteralSampler",
12283           "value" : 20,
12284           "capabilities" : [ "Kernel" ]
12285         },
12286         {
12287           "enumerant" : "AtomicStorage",
12288           "value" : 21,
12289           "capabilities" : [ "Shader" ]
12290         },
12291         {
12292           "enumerant" : "Int16",
12293           "value" : 22
12294         },
12295         {
12296           "enumerant" : "TessellationPointSize",
12297           "value" : 23,
12298           "capabilities" : [ "Tessellation" ]
12299         },
12300         {
12301           "enumerant" : "GeometryPointSize",
12302           "value" : 24,
12303           "capabilities" : [ "Geometry" ]
12304         },
12305         {
12306           "enumerant" : "ImageGatherExtended",
12307           "value" : 25,
12308           "capabilities" : [ "Shader" ]
12309         },
12310         {
12311           "enumerant" : "StorageImageMultisample",
12312           "value" : 27,
12313           "capabilities" : [ "Shader" ]
12314         },
12315         {
12316           "enumerant" : "UniformBufferArrayDynamicIndexing",
12317           "value" : 28,
12318           "capabilities" : [ "Shader" ]
12319         },
12320         {
12321           "enumerant" : "SampledImageArrayDynamicIndexing",
12322           "value" : 29,
12323           "capabilities" : [ "Shader" ]
12324         },
12325         {
12326           "enumerant" : "StorageBufferArrayDynamicIndexing",
12327           "value" : 30,
12328           "capabilities" : [ "Shader" ]
12329         },
12330         {
12331           "enumerant" : "StorageImageArrayDynamicIndexing",
12332           "value" : 31,
12333           "capabilities" : [ "Shader" ]
12334         },
12335         {
12336           "enumerant" : "ClipDistance",
12337           "value" : 32,
12338           "capabilities" : [ "Shader" ]
12339         },
12340         {
12341           "enumerant" : "CullDistance",
12342           "value" : 33,
12343           "capabilities" : [ "Shader" ]
12344         },
12345         {
12346           "enumerant" : "ImageCubeArray",
12347           "value" : 34,
12348           "capabilities" : [ "SampledCubeArray" ]
12349         },
12350         {
12351           "enumerant" : "SampleRateShading",
12352           "value" : 35,
12353           "capabilities" : [ "Shader" ]
12354         },
12355         {
12356           "enumerant" : "ImageRect",
12357           "value" : 36,
12358           "capabilities" : [ "SampledRect" ]
12359         },
12360         {
12361           "enumerant" : "SampledRect",
12362           "value" : 37,
12363           "capabilities" : [ "Shader" ]
12364         },
12365         {
12366           "enumerant" : "GenericPointer",
12367           "value" : 38,
12368           "capabilities" : [ "Addresses" ]
12369         },
12370         {
12371           "enumerant" : "Int8",
12372           "value" : 39
12373         },
12374         {
12375           "enumerant" : "InputAttachment",
12376           "value" : 40,
12377           "capabilities" : [ "Shader" ]
12378         },
12379         {
12380           "enumerant" : "SparseResidency",
12381           "value" : 41,
12382           "capabilities" : [ "Shader" ]
12383         },
12384         {
12385           "enumerant" : "MinLod",
12386           "value" : 42,
12387           "capabilities" : [ "Shader" ]
12388         },
12389         {
12390           "enumerant" : "Sampled1D",
12391           "value" : 43
12392         },
12393         {
12394           "enumerant" : "Image1D",
12395           "value" : 44,
12396           "capabilities" : [ "Sampled1D" ]
12397         },
12398         {
12399           "enumerant" : "SampledCubeArray",
12400           "value" : 45,
12401           "capabilities" : [ "Shader" ]
12402         },
12403         {
12404           "enumerant" : "SampledBuffer",
12405           "value" : 46
12406         },
12407         {
12408           "enumerant" : "ImageBuffer",
12409           "value" : 47,
12410           "capabilities" : [ "SampledBuffer" ]
12411         },
12412         {
12413           "enumerant" : "ImageMSArray",
12414           "value" : 48,
12415           "capabilities" : [ "Shader" ]
12416         },
12417         {
12418           "enumerant" : "StorageImageExtendedFormats",
12419           "value" : 49,
12420           "capabilities" : [ "Shader" ]
12421         },
12422         {
12423           "enumerant" : "ImageQuery",
12424           "value" : 50,
12425           "capabilities" : [ "Shader" ]
12426         },
12427         {
12428           "enumerant" : "DerivativeControl",
12429           "value" : 51,
12430           "capabilities" : [ "Shader" ]
12431         },
12432         {
12433           "enumerant" : "InterpolationFunction",
12434           "value" : 52,
12435           "capabilities" : [ "Shader" ]
12436         },
12437         {
12438           "enumerant" : "TransformFeedback",
12439           "value" : 53,
12440           "capabilities" : [ "Shader" ]
12441         },
12442         {
12443           "enumerant" : "GeometryStreams",
12444           "value" : 54,
12445           "capabilities" : [ "Geometry" ]
12446         },
12447         {
12448           "enumerant" : "StorageImageReadWithoutFormat",
12449           "value" : 55,
12450           "capabilities" : [ "Shader" ]
12451         },
12452         {
12453           "enumerant" : "StorageImageWriteWithoutFormat",
12454           "value" : 56,
12455           "capabilities" : [ "Shader" ]
12456         },
12457         {
12458           "enumerant" : "MultiViewport",
12459           "value" : 57,
12460           "capabilities" : [ "Geometry" ]
12461         },
12462         {
12463           "enumerant" : "SubgroupDispatch",
12464           "value" : 58,
12465           "capabilities" : [ "DeviceEnqueue" ],
12466           "version" : "1.1"
12467         },
12468         {
12469           "enumerant" : "NamedBarrier",
12470           "value" : 59,
12471           "capabilities" : [ "Kernel" ],
12472           "version" : "1.1"
12473         },
12474         {
12475           "enumerant" : "PipeStorage",
12476           "value" : 60,
12477           "capabilities" : [ "Pipes" ],
12478           "version" : "1.1"
12479         },
12480         {
12481           "enumerant" : "GroupNonUniform",
12482           "value" : 61,
12483           "version" : "1.3"
12484         },
12485         {
12486           "enumerant" : "GroupNonUniformVote",
12487           "value" : 62,
12488           "capabilities" : [ "GroupNonUniform" ],
12489           "version" : "1.3"
12490         },
12491         {
12492           "enumerant" : "GroupNonUniformArithmetic",
12493           "value" : 63,
12494           "capabilities" : [ "GroupNonUniform" ],
12495           "version" : "1.3"
12496         },
12497         {
12498           "enumerant" : "GroupNonUniformBallot",
12499           "value" : 64,
12500           "capabilities" : [ "GroupNonUniform" ],
12501           "version" : "1.3"
12502         },
12503         {
12504           "enumerant" : "GroupNonUniformShuffle",
12505           "value" : 65,
12506           "capabilities" : [ "GroupNonUniform" ],
12507           "version" : "1.3"
12508         },
12509         {
12510           "enumerant" : "GroupNonUniformShuffleRelative",
12511           "value" : 66,
12512           "capabilities" : [ "GroupNonUniform" ],
12513           "version" : "1.3"
12514         },
12515         {
12516           "enumerant" : "GroupNonUniformClustered",
12517           "value" : 67,
12518           "capabilities" : [ "GroupNonUniform" ],
12519           "version" : "1.3"
12520         },
12521         {
12522           "enumerant" : "GroupNonUniformQuad",
12523           "value" : 68,
12524           "capabilities" : [ "GroupNonUniform" ],
12525           "version" : "1.3"
12526         },
12527         {
12528           "enumerant" : "ShaderLayer",
12529           "value" : 69,
12530           "version" : "1.5"
12531         },
12532         {
12533           "enumerant" : "ShaderViewportIndex",
12534           "value" : 70,
12535           "version" : "1.5"
12536         },
12537         {
12538           "enumerant" : "FragmentShadingRateKHR",
12539           "value" : 4422,
12540           "capabilities" : [ "Shader" ],
12541           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
12542           "version" : "None"
12543         },
12544         {
12545           "enumerant" : "SubgroupBallotKHR",
12546           "value" : 4423,
12547           "extensions" : [ "SPV_KHR_shader_ballot" ],
12548           "version" : "None"
12549         },
12550         {
12551           "enumerant" : "DrawParameters",
12552           "value" : 4427,
12553           "capabilities" : [ "Shader" ],
12554           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
12555           "version" : "1.3"
12556         },
12557         {
12558           "enumerant" : "WorkgroupMemoryExplicitLayoutKHR",
12559           "value" : 4428,
12560           "capabilities" : [ "Shader" ],
12561           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12562           "version" : "None"
12563         },
12564         {
12565           "enumerant" : "WorkgroupMemoryExplicitLayout8BitAccessKHR",
12566           "value" : 4429,
12567           "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ],
12568           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12569           "version" : "None"
12570         },
12571         {
12572           "enumerant" : "WorkgroupMemoryExplicitLayout16BitAccessKHR",
12573           "value" : 4430,
12574           "capabilities" : [ "Shader" ],
12575           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12576           "version" : "None"
12577         },
12578         {
12579           "enumerant" : "SubgroupVoteKHR",
12580           "value" : 4431,
12581           "extensions" : [ "SPV_KHR_subgroup_vote" ],
12582           "version" : "None"
12583         },
12584         {
12585           "enumerant" : "StorageBuffer16BitAccess",
12586           "value" : 4433,
12587           "extensions" : [ "SPV_KHR_16bit_storage" ],
12588           "version" : "1.3"
12589         },
12590         {
12591           "enumerant" : "StorageUniformBufferBlock16",
12592           "value" : 4433,
12593           "extensions" : [ "SPV_KHR_16bit_storage" ],
12594           "version" : "1.3"
12595         },
12596         {
12597           "enumerant" : "UniformAndStorageBuffer16BitAccess",
12598           "value" : 4434,
12599           "capabilities" : [
12600             "StorageBuffer16BitAccess",
12601             "StorageUniformBufferBlock16"
12602           ],
12603           "extensions" : [ "SPV_KHR_16bit_storage" ],
12604           "version" : "1.3"
12605         },
12606         {
12607           "enumerant" : "StorageUniform16",
12608           "value" : 4434,
12609           "capabilities" : [
12610             "StorageBuffer16BitAccess",
12611             "StorageUniformBufferBlock16"
12612           ],
12613           "extensions" : [ "SPV_KHR_16bit_storage" ],
12614           "version" : "1.3"
12615         },
12616         {
12617           "enumerant" : "StoragePushConstant16",
12618           "value" : 4435,
12619           "extensions" : [ "SPV_KHR_16bit_storage" ],
12620           "version" : "1.3"
12621         },
12622         {
12623           "enumerant" : "StorageInputOutput16",
12624           "value" : 4436,
12625           "extensions" : [ "SPV_KHR_16bit_storage" ],
12626           "version" : "1.3"
12627         },
12628         {
12629           "enumerant" : "DeviceGroup",
12630           "value" : 4437,
12631           "extensions" : [ "SPV_KHR_device_group" ],
12632           "version" : "1.3"
12633         },
12634         {
12635           "enumerant" : "MultiView",
12636           "value" : 4439,
12637           "capabilities" : [ "Shader" ],
12638           "extensions" : [ "SPV_KHR_multiview" ],
12639           "version" : "1.3"
12640         },
12641         {
12642           "enumerant" : "VariablePointersStorageBuffer",
12643           "value" : 4441,
12644           "capabilities" : [ "Shader" ],
12645           "extensions" : [ "SPV_KHR_variable_pointers" ],
12646           "version" : "1.3"
12647         },
12648         {
12649           "enumerant" : "VariablePointers",
12650           "value" : 4442,
12651           "capabilities" : [ "VariablePointersStorageBuffer" ],
12652           "extensions" : [ "SPV_KHR_variable_pointers" ],
12653           "version" : "1.3"
12654         },
12655         {
12656           "enumerant" : "AtomicStorageOps",
12657           "value" : 4445,
12658           "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
12659           "version" : "None"
12660         },
12661         {
12662           "enumerant" : "SampleMaskPostDepthCoverage",
12663           "value" : 4447,
12664           "extensions" : [ "SPV_KHR_post_depth_coverage" ],
12665           "version" : "None"
12666         },
12667         {
12668           "enumerant" : "StorageBuffer8BitAccess",
12669           "value" : 4448,
12670           "extensions" : [ "SPV_KHR_8bit_storage" ],
12671           "version" : "1.5"
12672         },
12673         {
12674           "enumerant" : "UniformAndStorageBuffer8BitAccess",
12675           "value" : 4449,
12676           "capabilities" : [ "StorageBuffer8BitAccess" ],
12677           "extensions" : [ "SPV_KHR_8bit_storage" ],
12678           "version" : "1.5"
12679         },
12680         {
12681           "enumerant" : "StoragePushConstant8",
12682           "value" : 4450,
12683           "extensions" : [ "SPV_KHR_8bit_storage" ],
12684           "version" : "1.5"
12685         },
12686         {
12687           "enumerant" : "DenormPreserve",
12688           "value" : 4464,
12689           "extensions" : [ "SPV_KHR_float_controls" ],
12690           "version" : "1.4"
12691         },
12692         {
12693           "enumerant" : "DenormFlushToZero",
12694           "value" : 4465,
12695           "extensions" : [ "SPV_KHR_float_controls" ],
12696           "version" : "1.4"
12697         },
12698         {
12699           "enumerant" : "SignedZeroInfNanPreserve",
12700           "value" : 4466,
12701           "extensions" : [ "SPV_KHR_float_controls" ],
12702           "version" : "1.4"
12703         },
12704         {
12705           "enumerant" : "RoundingModeRTE",
12706           "value" : 4467,
12707           "extensions" : [ "SPV_KHR_float_controls" ],
12708           "version" : "1.4"
12709         },
12710         {
12711           "enumerant" : "RoundingModeRTZ",
12712           "value" : 4468,
12713           "extensions" : [ "SPV_KHR_float_controls" ],
12714           "version" : "1.4"
12715         },
12716         {
12717           "enumerant" : "RayQueryProvisionalKHR",
12718           "value" : 4471,
12719           "capabilities" : [ "Shader" ],
12720           "extensions" : [ "SPV_KHR_ray_query" ],
12721           "version" : "None"
12722         },
12723         {
12724           "enumerant" : "RayQueryKHR",
12725           "value" : 4472,
12726           "capabilities" : [ "Shader" ],
12727           "extensions" : [ "SPV_KHR_ray_query" ],
12728           "version" : "None"
12729         },
12730         {
12731           "enumerant" : "RayTraversalPrimitiveCullingKHR",
12732           "value" : 4478,
12733           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
12734           "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
12735           "version" : "None"
12736         },
12737         {
12738           "enumerant" : "RayTracingKHR",
12739           "value" : 4479,
12740           "capabilities" : [ "Shader" ],
12741           "extensions" : [ "SPV_KHR_ray_tracing" ],
12742           "version" : "None"
12743         },
12744         {
12745           "enumerant" : "Float16ImageAMD",
12746           "value" : 5008,
12747           "capabilities" : [ "Shader" ],
12748           "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
12749           "version" : "None"
12750         },
12751         {
12752           "enumerant" : "ImageGatherBiasLodAMD",
12753           "value" : 5009,
12754           "capabilities" : [ "Shader" ],
12755           "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
12756           "version" : "None"
12757         },
12758         {
12759           "enumerant" : "FragmentMaskAMD",
12760           "value" : 5010,
12761           "capabilities" : [ "Shader" ],
12762           "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
12763           "version" : "None"
12764         },
12765         {
12766           "enumerant" : "StencilExportEXT",
12767           "value" : 5013,
12768           "capabilities" : [ "Shader" ],
12769           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
12770           "version" : "None"
12771         },
12772         {
12773           "enumerant" : "ImageReadWriteLodAMD",
12774           "value" : 5015,
12775           "capabilities" : [ "Shader" ],
12776           "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
12777           "version" : "None"
12778         },
12779         {
12780           "enumerant" : "Int64ImageEXT",
12781           "value" : 5016,
12782           "capabilities" : [ "Shader" ],
12783           "extensions" : [ "SPV_EXT_shader_image_int64" ],
12784           "version" : "None"
12785         },
12786         {
12787           "enumerant" : "ShaderClockKHR",
12788           "value" : 5055,
12789           "capabilities" : [ "Shader" ],
12790           "extensions" : [ "SPV_KHR_shader_clock" ],
12791           "version" : "None"
12792         },
12793         {
12794           "enumerant" : "SampleMaskOverrideCoverageNV",
12795           "value" : 5249,
12796           "capabilities" : [ "SampleRateShading" ],
12797           "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
12798           "version" : "None"
12799         },
12800         {
12801           "enumerant" : "GeometryShaderPassthroughNV",
12802           "value" : 5251,
12803           "capabilities" : [ "Geometry" ],
12804           "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
12805           "version" : "None"
12806         },
12807         {
12808           "enumerant" : "ShaderViewportIndexLayerEXT",
12809           "value" : 5254,
12810           "capabilities" : [ "MultiViewport" ],
12811           "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
12812           "version" : "None"
12813         },
12814         {
12815           "enumerant" : "ShaderViewportIndexLayerNV",
12816           "value" : 5254,
12817           "capabilities" : [ "MultiViewport" ],
12818           "extensions" : [ "SPV_NV_viewport_array2" ],
12819           "version" : "None"
12820         },
12821         {
12822           "enumerant" : "ShaderViewportMaskNV",
12823           "value" : 5255,
12824           "capabilities" : [ "ShaderViewportIndexLayerNV" ],
12825           "extensions" : [ "SPV_NV_viewport_array2" ],
12826           "version" : "None"
12827         },
12828         {
12829           "enumerant" : "ShaderStereoViewNV",
12830           "value" : 5259,
12831           "capabilities" : [ "ShaderViewportMaskNV" ],
12832           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
12833           "version" : "None"
12834         },
12835         {
12836           "enumerant" : "PerViewAttributesNV",
12837           "value" : 5260,
12838           "capabilities" : [ "MultiView" ],
12839           "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
12840           "version" : "None"
12841         },
12842         {
12843           "enumerant" : "FragmentFullyCoveredEXT",
12844           "value" : 5265,
12845           "capabilities" : [ "Shader" ],
12846           "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
12847           "version" : "None"
12848         },
12849         {
12850           "enumerant" : "MeshShadingNV",
12851           "value" : 5266,
12852           "capabilities" : [ "Shader" ],
12853           "extensions" : [ "SPV_NV_mesh_shader" ],
12854           "version" : "None"
12855         },
12856         {
12857           "enumerant" : "ImageFootprintNV",
12858           "value" : 5282,
12859           "extensions" : [ "SPV_NV_shader_image_footprint" ],
12860           "version" : "None"
12861         },
12862         {
12863           "enumerant" : "FragmentBarycentricNV",
12864           "value" : 5284,
12865           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
12866           "version" : "None"
12867         },
12868         {
12869           "enumerant" : "ComputeDerivativeGroupQuadsNV",
12870           "value" : 5288,
12871           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
12872           "version" : "None"
12873         },
12874         {
12875           "enumerant" : "FragmentDensityEXT",
12876           "value" : 5291,
12877           "capabilities" : [ "Shader" ],
12878           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
12879           "version" : "None"
12880         },
12881         {
12882           "enumerant" : "ShadingRateNV",
12883           "value" : 5291,
12884           "capabilities" : [ "Shader" ],
12885           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
12886           "version" : "None"
12887         },
12888         {
12889           "enumerant" : "GroupNonUniformPartitionedNV",
12890           "value" : 5297,
12891           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12892           "version" : "None"
12893         },
12894         {
12895           "enumerant" : "ShaderNonUniform",
12896           "value" : 5301,
12897           "capabilities" : [ "Shader" ],
12898           "version" : "1.5"
12899         },
12900         {
12901           "enumerant" : "ShaderNonUniformEXT",
12902           "value" : 5301,
12903           "capabilities" : [ "Shader" ],
12904           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12905           "version" : "1.5"
12906         },
12907         {
12908           "enumerant" : "RuntimeDescriptorArray",
12909           "value" : 5302,
12910           "capabilities" : [ "Shader" ],
12911           "version" : "1.5"
12912         },
12913         {
12914           "enumerant" : "RuntimeDescriptorArrayEXT",
12915           "value" : 5302,
12916           "capabilities" : [ "Shader" ],
12917           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12918           "version" : "1.5"
12919         },
12920         {
12921           "enumerant" : "InputAttachmentArrayDynamicIndexing",
12922           "value" : 5303,
12923           "capabilities" : [ "InputAttachment" ],
12924           "version" : "1.5"
12925         },
12926         {
12927           "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
12928           "value" : 5303,
12929           "capabilities" : [ "InputAttachment" ],
12930           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12931           "version" : "1.5"
12932         },
12933         {
12934           "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
12935           "value" : 5304,
12936           "capabilities" : [ "SampledBuffer" ],
12937           "version" : "1.5"
12938         },
12939         {
12940           "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
12941           "value" : 5304,
12942           "capabilities" : [ "SampledBuffer" ],
12943           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12944           "version" : "1.5"
12945         },
12946         {
12947           "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
12948           "value" : 5305,
12949           "capabilities" : [ "ImageBuffer" ],
12950           "version" : "1.5"
12951         },
12952         {
12953           "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
12954           "value" : 5305,
12955           "capabilities" : [ "ImageBuffer" ],
12956           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12957           "version" : "1.5"
12958         },
12959         {
12960           "enumerant" : "UniformBufferArrayNonUniformIndexing",
12961           "value" : 5306,
12962           "capabilities" : [ "ShaderNonUniform" ],
12963           "version" : "1.5"
12964         },
12965         {
12966           "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
12967           "value" : 5306,
12968           "capabilities" : [ "ShaderNonUniform" ],
12969           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12970           "version" : "1.5"
12971         },
12972         {
12973           "enumerant" : "SampledImageArrayNonUniformIndexing",
12974           "value" : 5307,
12975           "capabilities" : [ "ShaderNonUniform" ],
12976           "version" : "1.5"
12977         },
12978         {
12979           "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
12980           "value" : 5307,
12981           "capabilities" : [ "ShaderNonUniform" ],
12982           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12983           "version" : "1.5"
12984         },
12985         {
12986           "enumerant" : "StorageBufferArrayNonUniformIndexing",
12987           "value" : 5308,
12988           "capabilities" : [ "ShaderNonUniform" ],
12989           "version" : "1.5"
12990         },
12991         {
12992           "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
12993           "value" : 5308,
12994           "capabilities" : [ "ShaderNonUniform" ],
12995           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12996           "version" : "1.5"
12997         },
12998         {
12999           "enumerant" : "StorageImageArrayNonUniformIndexing",
13000           "value" : 5309,
13001           "capabilities" : [ "ShaderNonUniform" ],
13002           "version" : "1.5"
13003         },
13004         {
13005           "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
13006           "value" : 5309,
13007           "capabilities" : [ "ShaderNonUniform" ],
13008           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13009           "version" : "1.5"
13010         },
13011         {
13012           "enumerant" : "InputAttachmentArrayNonUniformIndexing",
13013           "value" : 5310,
13014           "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
13015           "version" : "1.5"
13016         },
13017         {
13018           "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
13019           "value" : 5310,
13020           "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
13021           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13022           "version" : "1.5"
13023         },
13024         {
13025           "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
13026           "value" : 5311,
13027           "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
13028           "version" : "1.5"
13029         },
13030         {
13031           "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
13032           "value" : 5311,
13033           "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
13034           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13035           "version" : "1.5"
13036         },
13037         {
13038           "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
13039           "value" : 5312,
13040           "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
13041           "version" : "1.5"
13042         },
13043         {
13044           "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
13045           "value" : 5312,
13046           "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
13047           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13048           "version" : "1.5"
13049         },
13050         {
13051           "enumerant" : "RayTracingNV",
13052           "value" : 5340,
13053           "capabilities" : [ "Shader" ],
13054           "extensions" : [ "SPV_NV_ray_tracing" ],
13055           "version" : "None"
13056         },
13057         {
13058           "enumerant" : "VulkanMemoryModel",
13059           "value" : 5345,
13060           "version" : "1.5"
13061         },
13062         {
13063           "enumerant" : "VulkanMemoryModelKHR",
13064           "value" : 5345,
13065           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
13066           "version" : "1.5"
13067         },
13068         {
13069           "enumerant" : "VulkanMemoryModelDeviceScope",
13070           "value" : 5346,
13071           "version" : "1.5"
13072         },
13073         {
13074           "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
13075           "value" : 5346,
13076           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
13077           "version" : "1.5"
13078         },
13079         {
13080           "enumerant" : "PhysicalStorageBufferAddresses",
13081           "value" : 5347,
13082           "capabilities" : [ "Shader" ],
13083           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
13084           "version" : "1.5"
13085         },
13086         {
13087           "enumerant" : "PhysicalStorageBufferAddressesEXT",
13088           "value" : 5347,
13089           "capabilities" : [ "Shader" ],
13090           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
13091           "version" : "1.5"
13092         },
13093         {
13094           "enumerant" : "ComputeDerivativeGroupLinearNV",
13095           "value" : 5350,
13096           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
13097           "version" : "None"
13098         },
13099         {
13100           "enumerant" : "RayTracingProvisionalKHR",
13101           "value" : 5353,
13102           "capabilities" : [ "Shader" ],
13103           "extensions" : [ "SPV_KHR_ray_tracing" ],
13104           "version" : "None"
13105         },
13106         {
13107           "enumerant" : "CooperativeMatrixNV",
13108           "value" : 5357,
13109           "capabilities" : [ "Shader" ],
13110           "extensions" : [ "SPV_NV_cooperative_matrix" ],
13111           "version" : "None"
13112         },
13113         {
13114           "enumerant" : "FragmentShaderSampleInterlockEXT",
13115           "value" : 5363,
13116           "capabilities" : [ "Shader" ],
13117           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13118           "version" : "None"
13119         },
13120         {
13121           "enumerant" : "FragmentShaderShadingRateInterlockEXT",
13122           "value" : 5372,
13123           "capabilities" : [ "Shader" ],
13124           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13125           "version" : "None"
13126         },
13127         {
13128           "enumerant" : "ShaderSMBuiltinsNV",
13129           "value" : 5373,
13130           "capabilities" : [ "Shader" ],
13131           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
13132           "version" : "None"
13133         },
13134         {
13135           "enumerant" : "FragmentShaderPixelInterlockEXT",
13136           "value" : 5378,
13137           "capabilities" : [ "Shader" ],
13138           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13139           "version" : "None"
13140         },
13141         {
13142           "enumerant" : "DemoteToHelperInvocationEXT",
13143           "value" : 5379,
13144           "capabilities" : [ "Shader" ],
13145           "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
13146           "version" : "None"
13147         },
13148         {
13149           "enumerant" : "SubgroupShuffleINTEL",
13150           "value" : 5568,
13151           "extensions" : [ "SPV_INTEL_subgroups" ],
13152           "version" : "None"
13153         },
13154         {
13155           "enumerant" : "SubgroupBufferBlockIOINTEL",
13156           "value" : 5569,
13157           "extensions" : [ "SPV_INTEL_subgroups" ],
13158           "version" : "None"
13159         },
13160         {
13161           "enumerant" : "SubgroupImageBlockIOINTEL",
13162           "value" : 5570,
13163           "extensions" : [ "SPV_INTEL_subgroups" ],
13164           "version" : "None"
13165         },
13166         {
13167           "enumerant" : "SubgroupImageMediaBlockIOINTEL",
13168           "value" : 5579,
13169           "extensions" : [ "SPV_INTEL_media_block_io" ],
13170           "version" : "None"
13171         },
13172         {
13173           "enumerant" : "RoundToInfinityINTEL",
13174           "value" : 5582,
13175           "extensions" : [ "SPV_INTEL_float_controls2" ],
13176           "version" : "None"
13177         },
13178         {
13179           "enumerant" : "FloatingPointModeINTEL",
13180           "value" : 5583,
13181           "extensions" : [ "SPV_INTEL_float_controls2" ],
13182           "version" : "None"
13183         },
13184         {
13185           "enumerant" : "IntegerFunctions2INTEL",
13186           "value" : 5584,
13187           "capabilities" : [ "Shader" ],
13188           "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
13189           "version" : "None"
13190         },
13191         {
13192           "enumerant" : "FunctionPointersINTEL",
13193           "value" : 5603,
13194           "extensions" : [ "SPV_INTEL_function_pointers" ],
13195           "version" : "None"
13196         },
13197         {
13198           "enumerant" : "IndirectReferencesINTEL",
13199           "value" : 5604,
13200           "extensions" : [ "SPV_INTEL_function_pointers" ],
13201           "version" : "None"
13202         },
13203         {
13204           "enumerant" : "AsmINTEL",
13205           "value" : 5606,
13206           "extensions" : [ "SPV_INTEL_inline_assembly" ],
13207           "version" : "None"
13208         },
13209         {
13210           "enumerant" : "AtomicFloat32MinMaxEXT",
13211           "value" : 5612,
13212           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13213           "version" : "None"
13214         },
13215         {
13216           "enumerant" : "AtomicFloat64MinMaxEXT",
13217           "value" : 5613,
13218           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13219           "version" : "None"
13220         },
13221         {
13222           "enumerant" : "AtomicFloat16MinMaxEXT",
13223           "value" : 5616,
13224           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13225           "version" : "None"
13226         },
13227         {
13228           "enumerant" : "VectorComputeINTEL",
13229           "value" : 5617,
13230           "capabilities" : [ "VectorAnyINTEL" ],
13231           "extensions" : [ "SPV_INTEL_vector_compute" ],
13232           "version" : "None"
13233         },
13234         {
13235           "enumerant" : "VectorAnyINTEL",
13236           "value" : 5619,
13237           "extensions" : [ "SPV_INTEL_vector_compute" ],
13238           "version" : "None"
13239         },
13240         {
13241           "enumerant" : "ExpectAssumeKHR",
13242           "value" : 5629,
13243           "extensions" : [ "SPV_KHR_expect_assume" ],
13244           "version" : "None"
13245         },
13246         {
13247           "enumerant" : "SubgroupAvcMotionEstimationINTEL",
13248           "value" : 5696,
13249           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13250           "version" : "None"
13251         },
13252         {
13253           "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
13254           "value" : 5697,
13255           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13256           "version" : "None"
13257         },
13258         {
13259           "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
13260           "value" : 5698,
13261           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13262           "version" : "None"
13263         },
13264         {
13265           "enumerant" : "VariableLengthArrayINTEL",
13266           "value" : 5817,
13267           "extensions" : [ "SPV_INTEL_variable_length_array" ],
13268           "version" : "None"
13269         },
13270         {
13271           "enumerant" : "FunctionFloatControlINTEL",
13272           "value" : 5821,
13273           "extensions" : [ "SPV_INTEL_float_controls2" ],
13274           "version" : "None"
13275         },
13276         {
13277           "enumerant" : "FPGAMemoryAttributesINTEL",
13278           "value" : 5824,
13279           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
13280           "version" : "None"
13281         },
13282         {
13283           "enumerant" : "FPFastMathModeINTEL",
13284           "value" : 5837,
13285           "capabilities" : [ "Kernel" ],
13286           "extensions" : [ "SPV_INTEL_fp_fast_math_mode" ],
13287           "version" : "None"
13288         },
13289         {
13290           "enumerant" : "ArbitraryPrecisionIntegersINTEL",
13291           "value" : 5844,
13292           "extensions" : [ "SPV_INTEL_arbitrary_precision_integers" ],
13293           "version" : "None"
13294         },
13295         {
13296           "enumerant" : "ArbitraryPrecisionFloatingPointINTEL",
13297           "value" : 5845,
13298           "extensions" : [ "SPV_INTEL_arbitrary_precision_floating_point" ],
13299           "version" : "None"
13300         },
13301         {
13302           "enumerant" : "UnstructuredLoopControlsINTEL",
13303           "value" : 5886,
13304           "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
13305           "version" : "None"
13306         },
13307         {
13308           "enumerant" : "FPGALoopControlsINTEL",
13309           "value" : 5888,
13310           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
13311           "version" : "None"
13312         },
13313         {
13314           "enumerant" : "KernelAttributesINTEL",
13315           "value" : 5892,
13316           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
13317           "version" : "None"
13318         },
13319         {
13320           "enumerant" : "FPGAKernelAttributesINTEL",
13321           "value" : 5897,
13322           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
13323           "version" : "None"
13324         },
13325         {
13326           "enumerant" : "FPGAMemoryAccessesINTEL",
13327           "value" : 5898,
13328           "extensions" : [ "SPV_INTEL_fpga_memory_accesses" ],
13329           "version" : "None"
13330         },
13331         {
13332           "enumerant" : "FPGAClusterAttributesINTEL",
13333           "value" : 5904,
13334           "extensions" : [ "SPV_INTEL_fpga_cluster_attributes" ],
13335           "version" : "None"
13336         },
13337         {
13338           "enumerant" : "LoopFuseINTEL",
13339           "value" : 5906,
13340           "extensions" : [ "SPV_INTEL_loop_fuse" ],
13341           "version" : "None"
13342         },
13343         {
13344           "enumerant" : "FPGABufferLocationINTEL",
13345           "value" : 5920,
13346           "extensions" : [ "SPV_INTEL_fpga_buffer_location" ],
13347           "version" : "None"
13348         },
13349         {
13350           "enumerant" : "ArbitraryPrecisionFixedPointINTEL",
13351           "value" : 5922,
13352           "extensions" : [ "SPV_INTEL_arbitrary_precision_fixed_point" ],
13353           "version" : "None"
13354         },
13355         {
13356           "enumerant" : "USMStorageClassesINTEL",
13357           "value" : 5935,
13358           "extensions" : [ "SPV_INTEL_usm_storage_classes" ],
13359           "version" : "None"
13360         },
13361         {
13362           "enumerant" : "IOPipesINTEL",
13363           "value" : 5943,
13364           "extensions" : [ "SPV_INTEL_io_pipes" ],
13365           "version" : "None"
13366         },
13367         {
13368           "enumerant" : "BlockingPipesINTEL",
13369           "value" : 5945,
13370           "extensions" : [ "SPV_INTEL_blocking_pipes" ],
13371           "version" : "None"
13372         },
13373         {
13374           "enumerant" : "FPGARegINTEL",
13375           "value" : 5948,
13376           "extensions" : [ "SPV_INTEL_fpga_reg" ],
13377           "version" : "None"
13378         },
13379         {
13380           "enumerant" : "DotProductInputAllKHR",
13381           "value" : 6016,
13382           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13383           "version" : "None"
13384         },
13385         {
13386           "enumerant" : "DotProductInput4x8BitKHR",
13387           "value" : 6017,
13388           "capabilities" : [ "Int8" ],
13389           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13390           "version" : "None"
13391         },
13392         {
13393           "enumerant" : "DotProductInput4x8BitPackedKHR",
13394           "value" : 6018,
13395           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13396           "version" : "None"
13397         },
13398         {
13399           "enumerant" : "DotProductKHR",
13400           "value" : 6019,
13401           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13402           "version" : "None"
13403         },
13404         {
13405           "enumerant" : "AtomicFloat32AddEXT",
13406           "value" : 6033,
13407           "capabilities" : [ "Shader" ],
13408           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
13409           "version" : "None"
13410         },
13411         {
13412           "enumerant" : "AtomicFloat64AddEXT",
13413           "value" : 6034,
13414           "capabilities" : [ "Shader" ],
13415           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
13416           "version" : "None"
13417         },
13418         {
13419           "enumerant" : "LongConstantCompositeINTEL",
13420           "value" : 6089,
13421           "extensions" : [ "SPV_INTEL_long_constant_composite" ],
13422           "version" : "None"
13423         },
13424         {
13425           "enumerant" : "AtomicFloat16AddEXT",
13426           "value" : 6095,
13427           "capabilities" : [ "Shader" ],
13428           "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ],
13429           "version" : "None"
13430         }
13431       ]
13432     },
13433     {
13434       "category" : "ValueEnum",
13435       "kind" : "RayQueryIntersection",
13436       "enumerants" : [
13437         {
13438           "enumerant" : "RayQueryCandidateIntersectionKHR",
13439           "value" : 0,
13440           "capabilities" : [ "RayQueryKHR" ],
13441           "version" : "None"
13442         },
13443         {
13444           "enumerant" : "RayQueryCommittedIntersectionKHR",
13445           "value" : 1,
13446           "capabilities" : [ "RayQueryKHR" ],
13447           "version" : "None"
13448         }
13449       ]
13450     },
13451     {
13452       "category" : "ValueEnum",
13453       "kind" : "RayQueryCommittedIntersectionType",
13454       "enumerants" : [
13455         {
13456           "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
13457           "value" : 0,
13458           "capabilities" : [ "RayQueryKHR" ],
13459           "version" : "None"
13460         },
13461         {
13462           "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
13463           "value" : 1,
13464           "capabilities" : [ "RayQueryKHR" ],
13465           "version" : "None"
13466         },
13467         {
13468           "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
13469           "value" : 2,
13470           "capabilities" : [ "RayQueryKHR" ],
13471           "version" : "None"
13472         }
13473       ]
13474     },
13475     {
13476       "category" : "ValueEnum",
13477       "kind" : "RayQueryCandidateIntersectionType",
13478       "enumerants" : [
13479         {
13480           "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
13481           "value" : 0,
13482           "capabilities" : [ "RayQueryKHR" ],
13483           "version" : "None"
13484         },
13485         {
13486           "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
13487           "value" : 1,
13488           "capabilities" : [ "RayQueryKHR" ],
13489           "version" : "None"
13490         }
13491       ]
13492     },
13493     {
13494       "category" : "ValueEnum",
13495       "kind" : "PackedVectorFormat",
13496       "enumerants" : [
13497         {
13498           "enumerant" : "PackedVectorFormat4x8BitKHR",
13499           "value" : 0,
13500           "capabilities" : [ "DotProductInput4x8BitPackedKHR" ],
13501           "version" : "None"
13502         }
13503       ]
13504     },
13505     {
13506       "category" : "Id",
13507       "kind" : "IdResultType",
13508       "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
13509     },
13510     {
13511       "category" : "Id",
13512       "kind" : "IdResult",
13513       "doc" : "Definition of an <id> representing the result of the enclosing instruction"
13514     },
13515     {
13516       "category" : "Id",
13517       "kind" : "IdMemorySemantics",
13518       "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
13519     },
13520     {
13521       "category" : "Id",
13522       "kind" : "IdScope",
13523       "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
13524     },
13525     {
13526       "category" : "Id",
13527       "kind" : "IdRef",
13528       "doc" : "Reference to an <id>"
13529     },
13530     {
13531       "category" : "Literal",
13532       "kind" : "LiteralInteger",
13533       "doc" : "An integer consuming one or more words"
13534     },
13535     {
13536       "category" : "Literal",
13537       "kind" : "LiteralString",
13538       "doc" : "A null-terminated stream of characters consuming an integral number of words"
13539     },
13540     {
13541       "category" : "Literal",
13542       "kind" : "LiteralContextDependentNumber",
13543       "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
13544     },
13545     {
13546       "category" : "Literal",
13547       "kind" : "LiteralExtInstInteger",
13548       "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
13549     },
13550     {
13551       "category" : "Literal",
13552       "kind" : "LiteralSpecConstantOpInteger",
13553       "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
13554     },
13555     {
13556       "category" : "Composite",
13557       "kind" : "PairLiteralIntegerIdRef",
13558       "bases" : [ "LiteralInteger", "IdRef" ]
13559     },
13560     {
13561       "category" : "Composite",
13562       "kind" : "PairIdRefLiteralInteger",
13563       "bases" : [ "IdRef", "LiteralInteger" ]
13564     },
13565     {
13566       "category" : "Composite",
13567       "kind" : "PairIdRefIdRef",
13568       "bases" : [ "IdRef", "IdRef" ]
13569     }
13570   ]
13571 }