Implement SPV_INTEL_optnone extension (#230)
[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", "BitInstructions" ]
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", "BitInstructions" ]
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", "BitInstructions" ]
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", "BitInstructions" ]
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           "enumerant" : "OptNoneINTEL",
8695           "value" : "0x10000"
8696         }
8697       ]
8698     },
8699     {
8700       "category" : "BitEnum",
8701       "kind" : "MemorySemantics",
8702       "enumerants" : [
8703         {
8704           "enumerant" : "Relaxed",
8705           "value" : "0x0000"
8706         },
8707         {
8708           "enumerant" : "None",
8709           "value" : "0x0000"
8710         },
8711         {
8712           "enumerant" : "Acquire",
8713           "value" : "0x0002"
8714         },
8715         {
8716           "enumerant" : "Release",
8717           "value" : "0x0004"
8718         },
8719         {
8720           "enumerant" : "AcquireRelease",
8721           "value" : "0x0008"
8722         },
8723         {
8724           "enumerant" : "SequentiallyConsistent",
8725           "value" : "0x0010"
8726         },
8727         {
8728           "enumerant" : "UniformMemory",
8729           "value" : "0x0040",
8730           "capabilities" : [ "Shader" ]
8731         },
8732         {
8733           "enumerant" : "SubgroupMemory",
8734           "value" : "0x0080"
8735         },
8736         {
8737           "enumerant" : "WorkgroupMemory",
8738           "value" : "0x0100"
8739         },
8740         {
8741           "enumerant" : "CrossWorkgroupMemory",
8742           "value" : "0x0200"
8743         },
8744         {
8745           "enumerant" : "AtomicCounterMemory",
8746           "value" : "0x0400",
8747           "capabilities" : [ "AtomicStorage" ]
8748         },
8749         {
8750           "enumerant" : "ImageMemory",
8751           "value" : "0x0800"
8752         },
8753         {
8754           "enumerant" : "OutputMemory",
8755           "value" : "0x1000",
8756           "capabilities" : [ "VulkanMemoryModel" ],
8757           "version" : "1.5"
8758         },
8759         {
8760           "enumerant" : "OutputMemoryKHR",
8761           "value" : "0x1000",
8762           "capabilities" : [ "VulkanMemoryModel" ],
8763           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8764           "version" : "1.5"
8765         },
8766         {
8767           "enumerant" : "MakeAvailable",
8768           "value" : "0x2000",
8769           "capabilities" : [ "VulkanMemoryModel" ],
8770           "version" : "1.5"
8771         },
8772         {
8773           "enumerant" : "MakeAvailableKHR",
8774           "value" : "0x2000",
8775           "capabilities" : [ "VulkanMemoryModel" ],
8776           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8777           "version" : "1.5"
8778         },
8779         {
8780           "enumerant" : "MakeVisible",
8781           "value" : "0x4000",
8782           "capabilities" : [ "VulkanMemoryModel" ],
8783           "version" : "1.5"
8784         },
8785         {
8786           "enumerant" : "MakeVisibleKHR",
8787           "value" : "0x4000",
8788           "capabilities" : [ "VulkanMemoryModel" ],
8789           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8790           "version" : "1.5"
8791         },
8792         {
8793           "enumerant" : "Volatile",
8794           "value" : "0x8000",
8795           "capabilities" : [ "VulkanMemoryModel" ],
8796           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8797           "version" : "1.5"
8798         }
8799       ]
8800     },
8801     {
8802       "category" : "BitEnum",
8803       "kind" : "MemoryAccess",
8804       "enumerants" : [
8805         {
8806           "enumerant" : "None",
8807           "value" : "0x0000"
8808         },
8809         {
8810           "enumerant" : "Volatile",
8811           "value" : "0x0001"
8812         },
8813         {
8814           "enumerant" : "Aligned",
8815           "value" : "0x0002",
8816           "parameters" : [
8817             { "kind" : "LiteralInteger" }
8818           ]
8819         },
8820         {
8821           "enumerant" : "Nontemporal",
8822           "value" : "0x0004"
8823         },
8824         {
8825           "enumerant" : "MakePointerAvailable",
8826           "value" : "0x0008",
8827           "parameters" : [
8828             { "kind" : "IdScope" }
8829           ],
8830           "capabilities" : [ "VulkanMemoryModel" ],
8831           "version" : "1.5"
8832         },
8833         {
8834           "enumerant" : "MakePointerAvailableKHR",
8835           "value" : "0x0008",
8836           "parameters" : [
8837             { "kind" : "IdScope" }
8838           ],
8839           "capabilities" : [ "VulkanMemoryModel" ],
8840           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8841           "version" : "1.5"
8842         },
8843         {
8844           "enumerant" : "MakePointerVisible",
8845           "value" : "0x0010",
8846           "parameters" : [
8847             { "kind" : "IdScope" }
8848           ],
8849           "capabilities" : [ "VulkanMemoryModel" ],
8850           "version" : "1.5"
8851         },
8852         {
8853           "enumerant" : "MakePointerVisibleKHR",
8854           "value" : "0x0010",
8855           "parameters" : [
8856             { "kind" : "IdScope" }
8857           ],
8858           "capabilities" : [ "VulkanMemoryModel" ],
8859           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8860           "version" : "1.5"
8861         },
8862         {
8863           "enumerant" : "NonPrivatePointer",
8864           "value" : "0x0020",
8865           "capabilities" : [ "VulkanMemoryModel" ],
8866           "version" : "1.5"
8867         },
8868         {
8869           "enumerant" : "NonPrivatePointerKHR",
8870           "value" : "0x0020",
8871           "capabilities" : [ "VulkanMemoryModel" ],
8872           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
8873           "version" : "1.5"
8874         }
8875       ]
8876     },
8877     {
8878       "category" : "BitEnum",
8879       "kind" : "KernelProfilingInfo",
8880       "enumerants" : [
8881         {
8882           "enumerant" : "None",
8883           "value" : "0x0000"
8884         },
8885         {
8886           "enumerant" : "CmdExecTime",
8887           "value" : "0x0001",
8888           "capabilities" : [ "Kernel" ]
8889         }
8890       ]
8891     },
8892     {
8893       "category" : "BitEnum",
8894       "kind" : "RayFlags",
8895       "enumerants" : [
8896         {
8897           "enumerant" : "NoneKHR",
8898           "value" : "0x0000",
8899           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8900           "version" : "None"
8901         },
8902         {
8903           "enumerant" : "OpaqueKHR",
8904           "value" : "0x0001",
8905           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8906           "version" : "None"
8907         },
8908         {
8909           "enumerant" : "NoOpaqueKHR",
8910           "value" : "0x0002",
8911           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8912           "version" : "None"
8913         },
8914         {
8915           "enumerant" : "TerminateOnFirstHitKHR",
8916           "value" : "0x0004",
8917           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8918           "version" : "None"
8919         },
8920         {
8921           "enumerant" : "SkipClosestHitShaderKHR",
8922           "value" : "0x0008",
8923           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8924           "version" : "None"
8925         },
8926         {
8927           "enumerant" : "CullBackFacingTrianglesKHR",
8928           "value" : "0x0010",
8929           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8930           "version" : "None"
8931         },
8932         {
8933           "enumerant" : "CullFrontFacingTrianglesKHR",
8934           "value" : "0x0020",
8935           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8936           "version" : "None"
8937         },
8938         {
8939           "enumerant" : "CullOpaqueKHR",
8940           "value" : "0x0040",
8941           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8942           "version" : "None"
8943         },
8944         {
8945           "enumerant" : "CullNoOpaqueKHR",
8946           "value" : "0x0080",
8947           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
8948           "version" : "None"
8949         },
8950         {
8951           "enumerant" : "SkipTrianglesKHR",
8952           "value" : "0x0100",
8953           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
8954           "version" : "None"
8955         },
8956         {
8957           "enumerant" : "SkipAABBsKHR",
8958           "value" : "0x0200",
8959           "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ],
8960           "version" : "None"
8961         }
8962       ]
8963     },
8964     {
8965       "category" : "BitEnum",
8966       "kind" : "FragmentShadingRate",
8967       "enumerants" : [
8968         {
8969           "enumerant" : "Vertical2Pixels",
8970           "value" : "0x0001",
8971           "capabilities" : [ "FragmentShadingRateKHR" ],
8972           "version" : "None"
8973         },
8974         {
8975           "enumerant" : "Vertical4Pixels",
8976           "value" : "0x0002",
8977           "capabilities" : [ "FragmentShadingRateKHR" ],
8978           "version" : "None"
8979         },
8980         {
8981           "enumerant" : "Horizontal2Pixels",
8982           "value" : "0x0004",
8983           "capabilities" : [ "FragmentShadingRateKHR" ],
8984           "version" : "None"
8985         },
8986         {
8987           "enumerant" : "Horizontal4Pixels",
8988           "value" : "0x0008",
8989           "capabilities" : [ "FragmentShadingRateKHR" ],
8990           "version" : "None"
8991         }
8992       ]
8993     },
8994     {
8995       "category" : "ValueEnum",
8996       "kind" : "SourceLanguage",
8997       "enumerants" : [
8998         {
8999           "enumerant" : "Unknown",
9000           "value" : 0
9001         },
9002         {
9003           "enumerant" : "ESSL",
9004           "value" : 1
9005         },
9006         {
9007           "enumerant" : "GLSL",
9008           "value" : 2
9009         },
9010         {
9011           "enumerant" : "OpenCL_C",
9012           "value" : 3
9013         },
9014         {
9015           "enumerant" : "OpenCL_CPP",
9016           "value" : 4
9017         },
9018         {
9019           "enumerant" : "HLSL",
9020           "value" : 5
9021         },
9022         {
9023           "enumerant" : "CPP_for_OpenCL",
9024           "value" : 6
9025         }
9026       ]
9027     },
9028     {
9029       "category" : "ValueEnum",
9030       "kind" : "ExecutionModel",
9031       "enumerants" : [
9032         {
9033           "enumerant" : "Vertex",
9034           "value" : 0,
9035           "capabilities" : [ "Shader" ]
9036         },
9037         {
9038           "enumerant" : "TessellationControl",
9039           "value" : 1,
9040           "capabilities" : [ "Tessellation" ]
9041         },
9042         {
9043           "enumerant" : "TessellationEvaluation",
9044           "value" : 2,
9045           "capabilities" : [ "Tessellation" ]
9046         },
9047         {
9048           "enumerant" : "Geometry",
9049           "value" : 3,
9050           "capabilities" : [ "Geometry" ]
9051         },
9052         {
9053           "enumerant" : "Fragment",
9054           "value" : 4,
9055           "capabilities" : [ "Shader" ]
9056         },
9057         {
9058           "enumerant" : "GLCompute",
9059           "value" : 5,
9060           "capabilities" : [ "Shader" ]
9061         },
9062         {
9063           "enumerant" : "Kernel",
9064           "value" : 6,
9065           "capabilities" : [ "Kernel" ]
9066         },
9067         {
9068           "enumerant" : "TaskNV",
9069           "value" : 5267,
9070           "capabilities" : [ "MeshShadingNV" ],
9071           "version" : "None"
9072         },
9073         {
9074           "enumerant" : "MeshNV",
9075           "value" : 5268,
9076           "capabilities" : [ "MeshShadingNV" ],
9077           "version" : "None"
9078         },
9079         {
9080           "enumerant" : "RayGenerationNV",
9081           "value" : 5313,
9082           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9083           "version" : "None"
9084         },
9085         {
9086           "enumerant" : "RayGenerationKHR",
9087           "value" : 5313,
9088           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9089           "version" : "None"
9090         },
9091         {
9092           "enumerant" : "IntersectionNV",
9093           "value" : 5314,
9094           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9095           "version" : "None"
9096         },
9097         {
9098           "enumerant" : "IntersectionKHR",
9099           "value" : 5314,
9100           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9101           "version" : "None"
9102         },
9103         {
9104           "enumerant" : "AnyHitNV",
9105           "value" : 5315,
9106           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9107           "version" : "None"
9108         },
9109         {
9110           "enumerant" : "AnyHitKHR",
9111           "value" : 5315,
9112           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9113           "version" : "None"
9114         },
9115         {
9116           "enumerant" : "ClosestHitNV",
9117           "value" : 5316,
9118           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9119           "version" : "None"
9120         },
9121         {
9122           "enumerant" : "ClosestHitKHR",
9123           "value" : 5316,
9124           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9125           "version" : "None"
9126         },
9127         {
9128           "enumerant" : "MissNV",
9129           "value" : 5317,
9130           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9131           "version" : "None"
9132         },
9133         {
9134           "enumerant" : "MissKHR",
9135           "value" : 5317,
9136           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9137           "version" : "None"
9138         },
9139         {
9140           "enumerant" : "CallableNV",
9141           "value" : 5318,
9142           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9143           "version" : "None"
9144         },
9145         {
9146           "enumerant" : "CallableKHR",
9147           "value" : 5318,
9148           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9149           "version" : "None"
9150         }
9151       ]
9152     },
9153     {
9154       "category" : "ValueEnum",
9155       "kind" : "AddressingModel",
9156       "enumerants" : [
9157         {
9158           "enumerant" : "Logical",
9159           "value" : 0
9160         },
9161         {
9162           "enumerant" : "Physical32",
9163           "value" : 1,
9164           "capabilities" : [ "Addresses" ]
9165         },
9166         {
9167           "enumerant" : "Physical64",
9168           "value" : 2,
9169           "capabilities" : [ "Addresses" ]
9170         },
9171         {
9172           "enumerant" : "PhysicalStorageBuffer64",
9173           "value" : 5348,
9174           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9175           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9176           "version" : "1.5"
9177         },
9178         {
9179           "enumerant" : "PhysicalStorageBuffer64EXT",
9180           "value" : 5348,
9181           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9182           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9183           "version" : "1.5"
9184         }
9185       ]
9186     },
9187     {
9188       "category" : "ValueEnum",
9189       "kind" : "MemoryModel",
9190       "enumerants" : [
9191         {
9192           "enumerant" : "Simple",
9193           "value" : 0,
9194           "capabilities" : [ "Shader" ]
9195         },
9196         {
9197           "enumerant" : "GLSL450",
9198           "value" : 1,
9199           "capabilities" : [ "Shader" ]
9200         },
9201         {
9202           "enumerant" : "OpenCL",
9203           "value" : 2,
9204           "capabilities" : [ "Kernel" ]
9205         },
9206         {
9207           "enumerant" : "Vulkan",
9208           "value" : 3,
9209           "capabilities" : [ "VulkanMemoryModel" ],
9210           "version" : "1.5"
9211         },
9212         {
9213           "enumerant" : "VulkanKHR",
9214           "value" : 3,
9215           "capabilities" : [ "VulkanMemoryModel" ],
9216           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
9217           "version" : "1.5"
9218         }
9219       ]
9220     },
9221     {
9222       "category" : "ValueEnum",
9223       "kind" : "ExecutionMode",
9224       "enumerants" : [
9225         {
9226           "enumerant" : "Invocations",
9227           "value" : 0,
9228           "capabilities" : [ "Geometry" ],
9229           "parameters" : [
9230             { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
9231           ]
9232         },
9233         {
9234           "enumerant" : "SpacingEqual",
9235           "value" : 1,
9236           "capabilities" : [ "Tessellation" ]
9237         },
9238         {
9239           "enumerant" : "SpacingFractionalEven",
9240           "value" : 2,
9241           "capabilities" : [ "Tessellation" ]
9242         },
9243         {
9244           "enumerant" : "SpacingFractionalOdd",
9245           "value" : 3,
9246           "capabilities" : [ "Tessellation" ]
9247         },
9248         {
9249           "enumerant" : "VertexOrderCw",
9250           "value" : 4,
9251           "capabilities" : [ "Tessellation" ]
9252         },
9253         {
9254           "enumerant" : "VertexOrderCcw",
9255           "value" : 5,
9256           "capabilities" : [ "Tessellation" ]
9257         },
9258         {
9259           "enumerant" : "PixelCenterInteger",
9260           "value" : 6,
9261           "capabilities" : [ "Shader" ]
9262         },
9263         {
9264           "enumerant" : "OriginUpperLeft",
9265           "value" : 7,
9266           "capabilities" : [ "Shader" ]
9267         },
9268         {
9269           "enumerant" : "OriginLowerLeft",
9270           "value" : 8,
9271           "capabilities" : [ "Shader" ]
9272         },
9273         {
9274           "enumerant" : "EarlyFragmentTests",
9275           "value" : 9,
9276           "capabilities" : [ "Shader" ]
9277         },
9278         {
9279           "enumerant" : "PointMode",
9280           "value" : 10,
9281           "capabilities" : [ "Tessellation" ]
9282         },
9283         {
9284           "enumerant" : "Xfb",
9285           "value" : 11,
9286           "capabilities" : [ "TransformFeedback" ]
9287         },
9288         {
9289           "enumerant" : "DepthReplacing",
9290           "value" : 12,
9291           "capabilities" : [ "Shader" ]
9292         },
9293         {
9294           "enumerant" : "DepthGreater",
9295           "value" : 14,
9296           "capabilities" : [ "Shader" ]
9297         },
9298         {
9299           "enumerant" : "DepthLess",
9300           "value" : 15,
9301           "capabilities" : [ "Shader" ]
9302         },
9303         {
9304           "enumerant" : "DepthUnchanged",
9305           "value" : 16,
9306           "capabilities" : [ "Shader" ]
9307         },
9308         {
9309           "enumerant" : "LocalSize",
9310           "value" : 17,
9311           "parameters" : [
9312             { "kind" : "LiteralInteger", "name" : "'x size'" },
9313             { "kind" : "LiteralInteger", "name" : "'y size'" },
9314             { "kind" : "LiteralInteger", "name" : "'z size'" }
9315           ]
9316         },
9317         {
9318           "enumerant" : "LocalSizeHint",
9319           "value" : 18,
9320           "capabilities" : [ "Kernel" ],
9321           "parameters" : [
9322             { "kind" : "LiteralInteger", "name" : "'x size'" },
9323             { "kind" : "LiteralInteger", "name" : "'y size'" },
9324             { "kind" : "LiteralInteger", "name" : "'z size'" }
9325           ]
9326         },
9327         {
9328           "enumerant" : "InputPoints",
9329           "value" : 19,
9330           "capabilities" : [ "Geometry" ]
9331         },
9332         {
9333           "enumerant" : "InputLines",
9334           "value" : 20,
9335           "capabilities" : [ "Geometry" ]
9336         },
9337         {
9338           "enumerant" : "InputLinesAdjacency",
9339           "value" : 21,
9340           "capabilities" : [ "Geometry" ]
9341         },
9342         {
9343           "enumerant" : "Triangles",
9344           "value" : 22,
9345           "capabilities" : [ "Geometry", "Tessellation" ]
9346         },
9347         {
9348           "enumerant" : "InputTrianglesAdjacency",
9349           "value" : 23,
9350           "capabilities" : [ "Geometry" ]
9351         },
9352         {
9353           "enumerant" : "Quads",
9354           "value" : 24,
9355           "capabilities" : [ "Tessellation" ]
9356         },
9357         {
9358           "enumerant" : "Isolines",
9359           "value" : 25,
9360           "capabilities" : [ "Tessellation" ]
9361         },
9362         {
9363           "enumerant" : "OutputVertices",
9364           "value" : 26,
9365           "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
9366           "parameters" : [
9367             { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
9368           ]
9369         },
9370         {
9371           "enumerant" : "OutputPoints",
9372           "value" : 27,
9373           "capabilities" : [ "Geometry", "MeshShadingNV" ]
9374         },
9375         {
9376           "enumerant" : "OutputLineStrip",
9377           "value" : 28,
9378           "capabilities" : [ "Geometry" ]
9379         },
9380         {
9381           "enumerant" : "OutputTriangleStrip",
9382           "value" : 29,
9383           "capabilities" : [ "Geometry" ]
9384         },
9385         {
9386           "enumerant" : "VecTypeHint",
9387           "value" : 30,
9388           "capabilities" : [ "Kernel" ],
9389           "parameters" : [
9390             { "kind" : "LiteralInteger", "name" : "'Vector type'" }
9391           ]
9392         },
9393         {
9394           "enumerant" : "ContractionOff",
9395           "value" : 31,
9396           "capabilities" : [ "Kernel" ]
9397         },
9398         {
9399           "enumerant" : "Initializer",
9400           "value" : 33,
9401           "capabilities" : [ "Kernel" ],
9402           "version" : "1.1"
9403         },
9404         {
9405           "enumerant" : "Finalizer",
9406           "value" : 34,
9407           "capabilities" : [ "Kernel" ],
9408           "version" : "1.1"
9409         },
9410         {
9411           "enumerant" : "SubgroupSize",
9412           "value" : 35,
9413           "capabilities" : [ "SubgroupDispatch" ],
9414           "parameters" : [
9415             { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
9416           ],
9417           "version" : "1.1"
9418         },
9419         {
9420           "enumerant" : "SubgroupsPerWorkgroup",
9421           "value" : 36,
9422           "capabilities" : [ "SubgroupDispatch" ],
9423           "parameters" : [
9424             { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
9425           ],
9426           "version" : "1.1"
9427         },
9428         {
9429           "enumerant" : "SubgroupsPerWorkgroupId",
9430           "value" : 37,
9431           "capabilities" : [ "SubgroupDispatch" ],
9432           "parameters" : [
9433             { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
9434           ],
9435           "version" : "1.2"
9436         },
9437         {
9438           "enumerant" : "LocalSizeId",
9439           "value" : 38,
9440           "parameters" : [
9441             { "kind" : "IdRef", "name" : "'x size'" },
9442             { "kind" : "IdRef", "name" : "'y size'" },
9443             { "kind" : "IdRef", "name" : "'z size'" }
9444           ],
9445           "version" : "1.2"
9446         },
9447         {
9448           "enumerant" : "LocalSizeHintId",
9449           "value" : 39,
9450           "capabilities" : [ "Kernel" ],
9451           "parameters" : [
9452             { "kind" : "IdRef", "name" : "'x size hint'" },
9453             { "kind" : "IdRef", "name" : "'y size hint'" },
9454             { "kind" : "IdRef", "name" : "'z size hint'" }
9455           ],
9456           "version" : "1.2"
9457         },
9458         {
9459           "enumerant" : "SubgroupUniformControlFlowKHR",
9460           "value" : 4421,
9461           "capabilities" : [ "Shader" ],
9462           "extensions" : [ "SPV_KHR_subgroup_uniform_control_flow" ],
9463           "version" : "None"
9464         },
9465         {
9466           "enumerant" : "PostDepthCoverage",
9467           "value" : 4446,
9468           "capabilities" : [ "SampleMaskPostDepthCoverage" ],
9469           "extensions" : [ "SPV_KHR_post_depth_coverage" ],
9470           "version" : "None"
9471         },
9472         {
9473           "enumerant" : "DenormPreserve",
9474           "value" : 4459,
9475           "capabilities" : [ "DenormPreserve" ],
9476           "extensions" : [ "SPV_KHR_float_controls" ],
9477           "parameters" : [
9478             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9479           ],
9480           "version" : "1.4"
9481         },
9482         {
9483           "enumerant" : "DenormFlushToZero",
9484           "value" : 4460,
9485           "capabilities" : [ "DenormFlushToZero" ],
9486           "extensions" : [ "SPV_KHR_float_controls" ],
9487           "parameters" : [
9488             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9489           ],
9490           "version" : "1.4"
9491         },
9492         {
9493           "enumerant" : "SignedZeroInfNanPreserve",
9494           "value" : 4461,
9495           "capabilities" : [ "SignedZeroInfNanPreserve" ],
9496           "extensions" : [ "SPV_KHR_float_controls" ],
9497           "parameters" : [
9498             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9499           ],
9500           "version" : "1.4"
9501         },
9502         {
9503           "enumerant" : "RoundingModeRTE",
9504           "value" : 4462,
9505           "capabilities" : [ "RoundingModeRTE" ],
9506           "extensions" : [ "SPV_KHR_float_controls" ],
9507           "parameters" : [
9508             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9509           ],
9510           "version" : "1.4"
9511         },
9512         {
9513           "enumerant" : "RoundingModeRTZ",
9514           "value" : 4463,
9515           "capabilities" : [ "RoundingModeRTZ" ],
9516           "extensions" : [ "SPV_KHR_float_controls" ],
9517           "parameters" : [
9518             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9519           ],
9520           "version" : "1.4"
9521         },
9522         {
9523           "enumerant" : "StencilRefReplacingEXT",
9524           "value" : 5027,
9525           "capabilities" : [ "StencilExportEXT" ],
9526           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
9527           "version" : "None"
9528         },
9529         {
9530           "enumerant" : "OutputLinesNV",
9531           "value" : 5269,
9532           "capabilities" : [ "MeshShadingNV" ],
9533           "extensions" : [ "SPV_NV_mesh_shader" ],
9534           "version" : "None"
9535         },
9536         {
9537           "enumerant" : "OutputPrimitivesNV",
9538           "value" : 5270,
9539           "capabilities" : [ "MeshShadingNV" ],
9540           "parameters" : [
9541             { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
9542           ],
9543           "extensions" : [ "SPV_NV_mesh_shader" ],
9544           "version" : "None"
9545         },
9546         {
9547           "enumerant" : "DerivativeGroupQuadsNV",
9548           "value" : 5289,
9549           "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
9550           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
9551           "version" : "None"
9552         },
9553         {
9554           "enumerant" : "DerivativeGroupLinearNV",
9555           "value" : 5290,
9556           "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
9557           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
9558           "version" : "None"
9559         },
9560         {
9561           "enumerant" : "OutputTrianglesNV",
9562           "value" : 5298,
9563           "capabilities" : [ "MeshShadingNV" ],
9564           "extensions" : [ "SPV_NV_mesh_shader" ],
9565           "version" : "None"
9566         },
9567         {
9568           "enumerant" : "PixelInterlockOrderedEXT",
9569           "value" : 5366,
9570           "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
9571           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9572           "version" : "None"
9573         },
9574         {
9575           "enumerant" : "PixelInterlockUnorderedEXT",
9576           "value" : 5367,
9577           "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
9578           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9579           "version" : "None"
9580         },
9581         {
9582           "enumerant" : "SampleInterlockOrderedEXT",
9583           "value" : 5368,
9584           "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
9585           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9586           "version" : "None"
9587         },
9588         {
9589           "enumerant" : "SampleInterlockUnorderedEXT",
9590           "value" : 5369,
9591           "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
9592           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9593           "version" : "None"
9594         },
9595         {
9596           "enumerant" : "ShadingRateInterlockOrderedEXT",
9597           "value" : 5370,
9598           "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
9599           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9600           "version" : "None"
9601         },
9602         {
9603           "enumerant" : "ShadingRateInterlockUnorderedEXT",
9604           "value" : 5371,
9605           "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
9606           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
9607           "version" : "None"
9608         },
9609         {
9610           "enumerant" : "SharedLocalMemorySizeINTEL",
9611           "value" : 5618,
9612           "parameters" : [
9613             { "kind" : "LiteralInteger", "name" : "'Size'" }
9614           ],
9615           "capabilities" : [ "VectorComputeINTEL" ],
9616           "version" : "None"
9617         },
9618         {
9619           "enumerant" : "RoundingModeRTPINTEL",
9620           "value" : 5620,
9621           "parameters" : [
9622             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9623           ],
9624           "capabilities" : [ "RoundToInfinityINTEL" ],
9625           "version" : "None"
9626         },
9627         {
9628           "enumerant" : "RoundingModeRTNINTEL",
9629           "value" : 5621,
9630           "parameters" : [
9631             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9632           ],
9633           "capabilities" : [ "RoundToInfinityINTEL" ],
9634           "version" : "None"
9635         },
9636         {
9637           "enumerant" : "FloatingPointModeALTINTEL",
9638           "value" : 5622,
9639           "parameters" : [
9640             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9641           ],
9642           "capabilities" : [ "RoundToInfinityINTEL" ],
9643           "version" : "None"
9644         },
9645         {
9646           "enumerant" : "FloatingPointModeIEEEINTEL",
9647           "value" : 5623,
9648           "parameters" : [
9649             { "kind" : "LiteralInteger", "name" : "'Target Width'" }
9650           ],
9651           "capabilities" : [ "RoundToInfinityINTEL" ],
9652           "version" : "None"
9653         },
9654         {
9655           "enumerant" : "MaxWorkgroupSizeINTEL",
9656           "value" : 5893,
9657           "parameters" : [
9658             { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
9659             { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
9660             { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
9661           ],
9662           "capabilities" : [ "KernelAttributesINTEL" ],
9663           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9664           "version" : "None"
9665         },
9666         {
9667           "enumerant" : "MaxWorkDimINTEL",
9668           "value" : 5894,
9669           "parameters" : [
9670             { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
9671           ],
9672           "capabilities" : [ "KernelAttributesINTEL" ],
9673           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9674           "version" : "None"
9675         },
9676         {
9677           "enumerant" : "NoGlobalOffsetINTEL",
9678           "value" : 5895,
9679           "capabilities" : [ "KernelAttributesINTEL" ],
9680           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9681           "version" : "None"
9682         },
9683         {
9684           "enumerant" : "NumSIMDWorkitemsINTEL",
9685           "value" : 5896,
9686           "parameters" : [
9687             { "kind" : "LiteralInteger", "name" : "'vector_width'" }
9688           ],
9689           "capabilities" : [ "FPGAKernelAttributesINTEL" ],
9690           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
9691           "version" : "None"
9692         },
9693         {
9694           "enumerant" : "SchedulerTargetFmaxMhzINTEL",
9695           "value" : 5903,
9696           "parameters" : [
9697             { "kind" : "LiteralInteger", "name" : "'target_fmax'" }
9698           ],
9699           "capabilities" : [ "FPGAKernelAttributesINTEL" ],
9700           "version" : "None"
9701         }
9702       ]
9703     },
9704     {
9705       "category" : "ValueEnum",
9706       "kind" : "StorageClass",
9707       "enumerants" : [
9708         {
9709           "enumerant" : "UniformConstant",
9710           "value" : 0
9711         },
9712         {
9713           "enumerant" : "Input",
9714           "value" : 1
9715         },
9716         {
9717           "enumerant" : "Uniform",
9718           "value" : 2,
9719           "capabilities" : [ "Shader" ]
9720         },
9721         {
9722           "enumerant" : "Output",
9723           "value" : 3,
9724           "capabilities" : [ "Shader" ]
9725         },
9726         {
9727           "enumerant" : "Workgroup",
9728           "value" : 4
9729         },
9730         {
9731           "enumerant" : "CrossWorkgroup",
9732           "value" : 5
9733         },
9734         {
9735           "enumerant" : "Private",
9736           "value" : 6,
9737           "capabilities" : [ "Shader", "VectorComputeINTEL" ]
9738         },
9739         {
9740           "enumerant" : "Function",
9741           "value" : 7
9742         },
9743         {
9744           "enumerant" : "Generic",
9745           "value" : 8,
9746           "capabilities" : [ "GenericPointer" ]
9747         },
9748         {
9749           "enumerant" : "PushConstant",
9750           "value" : 9,
9751           "capabilities" : [ "Shader" ]
9752         },
9753         {
9754           "enumerant" : "AtomicCounter",
9755           "value" : 10,
9756           "capabilities" : [ "AtomicStorage" ]
9757         },
9758         {
9759           "enumerant" : "Image",
9760           "value" : 11
9761         },
9762         {
9763           "enumerant" : "StorageBuffer",
9764           "value" : 12,
9765           "extensions" : [
9766             "SPV_KHR_storage_buffer_storage_class",
9767             "SPV_KHR_variable_pointers"
9768           ],
9769           "capabilities" : [ "Shader" ],
9770           "version" : "1.3"
9771         },
9772         {
9773           "enumerant" : "CallableDataNV",
9774           "value" : 5328,
9775           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9776           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9777           "version" : "None"
9778         },
9779         {
9780           "enumerant" : "CallableDataKHR",
9781           "value" : 5328,
9782           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9783           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9784           "version" : "None"
9785         },
9786         {
9787           "enumerant" : "IncomingCallableDataNV",
9788           "value" : 5329,
9789           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9790           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9791           "version" : "None"
9792         },
9793         {
9794           "enumerant" : "IncomingCallableDataKHR",
9795           "value" : 5329,
9796           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9797           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9798           "version" : "None"
9799         },
9800         {
9801           "enumerant" : "RayPayloadNV",
9802           "value" : 5338,
9803           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9804           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9805           "version" : "None"
9806         },
9807         {
9808           "enumerant" : "RayPayloadKHR",
9809           "value" : 5338,
9810           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9811           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9812           "version" : "None"
9813         },
9814         {
9815           "enumerant" : "HitAttributeNV",
9816           "value" : 5339,
9817           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9818           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9819           "version" : "None"
9820         },
9821         {
9822           "enumerant" : "HitAttributeKHR",
9823           "value" : 5339,
9824           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9825           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9826           "version" : "None"
9827         },
9828         {
9829           "enumerant" : "IncomingRayPayloadNV",
9830           "value" : 5342,
9831           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9832           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9833           "version" : "None"
9834         },
9835         {
9836           "enumerant" : "IncomingRayPayloadKHR",
9837           "value" : 5342,
9838           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9839           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9840           "version" : "None"
9841         },
9842         {
9843           "enumerant" : "ShaderRecordBufferNV",
9844           "value" : 5343,
9845           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9846           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9847           "version" : "None"
9848         },
9849         {
9850           "enumerant" : "ShaderRecordBufferKHR",
9851           "value" : 5343,
9852           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9853           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
9854           "version" : "None"
9855         },
9856         {
9857           "enumerant" : "PhysicalStorageBuffer",
9858           "value" : 5349,
9859           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9860           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9861           "version" : "1.5"
9862         },
9863         {
9864           "enumerant" : "PhysicalStorageBufferEXT",
9865           "value" : 5349,
9866           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9867           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9868           "version" : "1.5"
9869         },
9870         {
9871           "enumerant" : "CodeSectionINTEL",
9872           "value" : 5605,
9873           "extensions" : [ "SPV_INTEL_function_pointers" ],
9874           "capabilities" : [ "FunctionPointersINTEL" ],
9875           "version" : "None"
9876         },
9877         {
9878           "enumerant" : "DeviceOnlyINTEL",
9879           "value" : 5936,
9880           "extensions" : [
9881             "SPV_INTEL_usm_storage_classes"
9882           ],
9883           "capabilities" : [ "USMStorageClassesINTEL" ],
9884           "version" : "None"
9885         },
9886         {
9887           "enumerant" : "HostOnlyINTEL",
9888           "value" : 5937,
9889           "extensions" : [
9890             "SPV_INTEL_usm_storage_classes"
9891           ],
9892           "capabilities" : [ "USMStorageClassesINTEL" ],
9893           "version" : "None"
9894         }
9895       ]
9896     },
9897     {
9898       "category" : "ValueEnum",
9899       "kind" : "Dim",
9900       "enumerants" : [
9901         {
9902           "enumerant" : "1D",
9903           "value" : 0,
9904           "capabilities" : [ "Sampled1D", "Image1D" ]
9905         },
9906         {
9907           "enumerant" : "2D",
9908           "value" : 1,
9909           "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
9910         },
9911         {
9912           "enumerant" : "3D",
9913           "value" : 2
9914         },
9915         {
9916           "enumerant" : "Cube",
9917           "value" : 3,
9918           "capabilities" : [ "Shader", "ImageCubeArray" ]
9919         },
9920         {
9921           "enumerant" : "Rect",
9922           "value" : 4,
9923           "capabilities" : [ "SampledRect", "ImageRect" ]
9924         },
9925         {
9926           "enumerant" : "Buffer",
9927           "value" : 5,
9928           "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
9929         },
9930         {
9931           "enumerant" : "SubpassData",
9932           "value" : 6,
9933           "capabilities" : [ "InputAttachment" ]
9934         }
9935       ]
9936     },
9937     {
9938       "category" : "ValueEnum",
9939       "kind" : "SamplerAddressingMode",
9940       "enumerants" : [
9941         {
9942           "enumerant" : "None",
9943           "value" : 0,
9944           "capabilities" : [ "Kernel" ]
9945         },
9946         {
9947           "enumerant" : "ClampToEdge",
9948           "value" : 1,
9949           "capabilities" : [ "Kernel" ]
9950         },
9951         {
9952           "enumerant" : "Clamp",
9953           "value" : 2,
9954           "capabilities" : [ "Kernel" ]
9955         },
9956         {
9957           "enumerant" : "Repeat",
9958           "value" : 3,
9959           "capabilities" : [ "Kernel" ]
9960         },
9961         {
9962           "enumerant" : "RepeatMirrored",
9963           "value" : 4,
9964           "capabilities" : [ "Kernel" ]
9965         }
9966       ]
9967     },
9968     {
9969       "category" : "ValueEnum",
9970       "kind" : "SamplerFilterMode",
9971       "enumerants" : [
9972         {
9973           "enumerant" : "Nearest",
9974           "value" : 0,
9975           "capabilities" : [ "Kernel" ]
9976         },
9977         {
9978           "enumerant" : "Linear",
9979           "value" : 1,
9980           "capabilities" : [ "Kernel" ]
9981         }
9982       ]
9983     },
9984     {
9985       "category" : "ValueEnum",
9986       "kind" : "ImageFormat",
9987       "enumerants" : [
9988         {
9989           "enumerant" : "Unknown",
9990           "value" : 0
9991         },
9992         {
9993           "enumerant" : "Rgba32f",
9994           "value" : 1,
9995           "capabilities" : [ "Shader" ]
9996         },
9997         {
9998           "enumerant" : "Rgba16f",
9999           "value" : 2,
10000           "capabilities" : [ "Shader" ]
10001         },
10002         {
10003           "enumerant" : "R32f",
10004           "value" : 3,
10005           "capabilities" : [ "Shader" ]
10006         },
10007         {
10008           "enumerant" : "Rgba8",
10009           "value" : 4,
10010           "capabilities" : [ "Shader" ]
10011         },
10012         {
10013           "enumerant" : "Rgba8Snorm",
10014           "value" : 5,
10015           "capabilities" : [ "Shader" ]
10016         },
10017         {
10018           "enumerant" : "Rg32f",
10019           "value" : 6,
10020           "capabilities" : [ "StorageImageExtendedFormats" ]
10021         },
10022         {
10023           "enumerant" : "Rg16f",
10024           "value" : 7,
10025           "capabilities" : [ "StorageImageExtendedFormats" ]
10026         },
10027         {
10028           "enumerant" : "R11fG11fB10f",
10029           "value" : 8,
10030           "capabilities" : [ "StorageImageExtendedFormats" ]
10031         },
10032         {
10033           "enumerant" : "R16f",
10034           "value" : 9,
10035           "capabilities" : [ "StorageImageExtendedFormats" ]
10036         },
10037         {
10038           "enumerant" : "Rgba16",
10039           "value" : 10,
10040           "capabilities" : [ "StorageImageExtendedFormats" ]
10041         },
10042         {
10043           "enumerant" : "Rgb10A2",
10044           "value" : 11,
10045           "capabilities" : [ "StorageImageExtendedFormats" ]
10046         },
10047         {
10048           "enumerant" : "Rg16",
10049           "value" : 12,
10050           "capabilities" : [ "StorageImageExtendedFormats" ]
10051         },
10052         {
10053           "enumerant" : "Rg8",
10054           "value" : 13,
10055           "capabilities" : [ "StorageImageExtendedFormats" ]
10056         },
10057         {
10058           "enumerant" : "R16",
10059           "value" : 14,
10060           "capabilities" : [ "StorageImageExtendedFormats" ]
10061         },
10062         {
10063           "enumerant" : "R8",
10064           "value" : 15,
10065           "capabilities" : [ "StorageImageExtendedFormats" ]
10066         },
10067         {
10068           "enumerant" : "Rgba16Snorm",
10069           "value" : 16,
10070           "capabilities" : [ "StorageImageExtendedFormats" ]
10071         },
10072         {
10073           "enumerant" : "Rg16Snorm",
10074           "value" : 17,
10075           "capabilities" : [ "StorageImageExtendedFormats" ]
10076         },
10077         {
10078           "enumerant" : "Rg8Snorm",
10079           "value" : 18,
10080           "capabilities" : [ "StorageImageExtendedFormats" ]
10081         },
10082         {
10083           "enumerant" : "R16Snorm",
10084           "value" : 19,
10085           "capabilities" : [ "StorageImageExtendedFormats" ]
10086         },
10087         {
10088           "enumerant" : "R8Snorm",
10089           "value" : 20,
10090           "capabilities" : [ "StorageImageExtendedFormats" ]
10091         },
10092         {
10093           "enumerant" : "Rgba32i",
10094           "value" : 21,
10095           "capabilities" : [ "Shader" ]
10096         },
10097         {
10098           "enumerant" : "Rgba16i",
10099           "value" : 22,
10100           "capabilities" : [ "Shader" ]
10101         },
10102         {
10103           "enumerant" : "Rgba8i",
10104           "value" : 23,
10105           "capabilities" : [ "Shader" ]
10106         },
10107         {
10108           "enumerant" : "R32i",
10109           "value" : 24,
10110           "capabilities" : [ "Shader" ]
10111         },
10112         {
10113           "enumerant" : "Rg32i",
10114           "value" : 25,
10115           "capabilities" : [ "StorageImageExtendedFormats" ]
10116         },
10117         {
10118           "enumerant" : "Rg16i",
10119           "value" : 26,
10120           "capabilities" : [ "StorageImageExtendedFormats" ]
10121         },
10122         {
10123           "enumerant" : "Rg8i",
10124           "value" : 27,
10125           "capabilities" : [ "StorageImageExtendedFormats" ]
10126         },
10127         {
10128           "enumerant" : "R16i",
10129           "value" : 28,
10130           "capabilities" : [ "StorageImageExtendedFormats" ]
10131         },
10132         {
10133           "enumerant" : "R8i",
10134           "value" : 29,
10135           "capabilities" : [ "StorageImageExtendedFormats" ]
10136         },
10137         {
10138           "enumerant" : "Rgba32ui",
10139           "value" : 30,
10140           "capabilities" : [ "Shader" ]
10141         },
10142         {
10143           "enumerant" : "Rgba16ui",
10144           "value" : 31,
10145           "capabilities" : [ "Shader" ]
10146         },
10147         {
10148           "enumerant" : "Rgba8ui",
10149           "value" : 32,
10150           "capabilities" : [ "Shader" ]
10151         },
10152         {
10153           "enumerant" : "R32ui",
10154           "value" : 33,
10155           "capabilities" : [ "Shader" ]
10156         },
10157         {
10158           "enumerant" : "Rgb10a2ui",
10159           "value" : 34,
10160           "capabilities" : [ "StorageImageExtendedFormats" ]
10161         },
10162         {
10163           "enumerant" : "Rg32ui",
10164           "value" : 35,
10165           "capabilities" : [ "StorageImageExtendedFormats" ]
10166         },
10167         {
10168           "enumerant" : "Rg16ui",
10169           "value" : 36,
10170           "capabilities" : [ "StorageImageExtendedFormats" ]
10171         },
10172         {
10173           "enumerant" : "Rg8ui",
10174           "value" : 37,
10175           "capabilities" : [ "StorageImageExtendedFormats" ]
10176         },
10177         {
10178           "enumerant" : "R16ui",
10179           "value" : 38,
10180           "capabilities" : [ "StorageImageExtendedFormats" ]
10181         },
10182         {
10183           "enumerant" : "R8ui",
10184           "value" : 39,
10185           "capabilities" : [ "StorageImageExtendedFormats" ]
10186         },
10187         {
10188           "enumerant" : "R64ui",
10189           "value" : 40,
10190           "capabilities" : [ "Int64ImageEXT" ]
10191         },
10192         {
10193           "enumerant" : "R64i",
10194           "value" : 41,
10195           "capabilities" : [ "Int64ImageEXT" ]
10196         }
10197       ]
10198     },
10199     {
10200       "category" : "ValueEnum",
10201       "kind" : "ImageChannelOrder",
10202       "enumerants" : [
10203         {
10204           "enumerant" : "R",
10205           "value" : 0,
10206           "capabilities" : [ "Kernel" ]
10207         },
10208         {
10209           "enumerant" : "A",
10210           "value" : 1,
10211           "capabilities" : [ "Kernel" ]
10212         },
10213         {
10214           "enumerant" : "RG",
10215           "value" : 2,
10216           "capabilities" : [ "Kernel" ]
10217         },
10218         {
10219           "enumerant" : "RA",
10220           "value" : 3,
10221           "capabilities" : [ "Kernel" ]
10222         },
10223         {
10224           "enumerant" : "RGB",
10225           "value" : 4,
10226           "capabilities" : [ "Kernel" ]
10227         },
10228         {
10229           "enumerant" : "RGBA",
10230           "value" : 5,
10231           "capabilities" : [ "Kernel" ]
10232         },
10233         {
10234           "enumerant" : "BGRA",
10235           "value" : 6,
10236           "capabilities" : [ "Kernel" ]
10237         },
10238         {
10239           "enumerant" : "ARGB",
10240           "value" : 7,
10241           "capabilities" : [ "Kernel" ]
10242         },
10243         {
10244           "enumerant" : "Intensity",
10245           "value" : 8,
10246           "capabilities" : [ "Kernel" ]
10247         },
10248         {
10249           "enumerant" : "Luminance",
10250           "value" : 9,
10251           "capabilities" : [ "Kernel" ]
10252         },
10253         {
10254           "enumerant" : "Rx",
10255           "value" : 10,
10256           "capabilities" : [ "Kernel" ]
10257         },
10258         {
10259           "enumerant" : "RGx",
10260           "value" : 11,
10261           "capabilities" : [ "Kernel" ]
10262         },
10263         {
10264           "enumerant" : "RGBx",
10265           "value" : 12,
10266           "capabilities" : [ "Kernel" ]
10267         },
10268         {
10269           "enumerant" : "Depth",
10270           "value" : 13,
10271           "capabilities" : [ "Kernel" ]
10272         },
10273         {
10274           "enumerant" : "DepthStencil",
10275           "value" : 14,
10276           "capabilities" : [ "Kernel" ]
10277         },
10278         {
10279           "enumerant" : "sRGB",
10280           "value" : 15,
10281           "capabilities" : [ "Kernel" ]
10282         },
10283         {
10284           "enumerant" : "sRGBx",
10285           "value" : 16,
10286           "capabilities" : [ "Kernel" ]
10287         },
10288         {
10289           "enumerant" : "sRGBA",
10290           "value" : 17,
10291           "capabilities" : [ "Kernel" ]
10292         },
10293         {
10294           "enumerant" : "sBGRA",
10295           "value" : 18,
10296           "capabilities" : [ "Kernel" ]
10297         },
10298         {
10299           "enumerant" : "ABGR",
10300           "value" : 19,
10301           "capabilities" : [ "Kernel" ]
10302         }
10303       ]
10304     },
10305     {
10306       "category" : "ValueEnum",
10307       "kind" : "ImageChannelDataType",
10308       "enumerants" : [
10309         {
10310           "enumerant" : "SnormInt8",
10311           "value" : 0,
10312           "capabilities" : [ "Kernel" ]
10313         },
10314         {
10315           "enumerant" : "SnormInt16",
10316           "value" : 1,
10317           "capabilities" : [ "Kernel" ]
10318         },
10319         {
10320           "enumerant" : "UnormInt8",
10321           "value" : 2,
10322           "capabilities" : [ "Kernel" ]
10323         },
10324         {
10325           "enumerant" : "UnormInt16",
10326           "value" : 3,
10327           "capabilities" : [ "Kernel" ]
10328         },
10329         {
10330           "enumerant" : "UnormShort565",
10331           "value" : 4,
10332           "capabilities" : [ "Kernel" ]
10333         },
10334         {
10335           "enumerant" : "UnormShort555",
10336           "value" : 5,
10337           "capabilities" : [ "Kernel" ]
10338         },
10339         {
10340           "enumerant" : "UnormInt101010",
10341           "value" : 6,
10342           "capabilities" : [ "Kernel" ]
10343         },
10344         {
10345           "enumerant" : "SignedInt8",
10346           "value" : 7,
10347           "capabilities" : [ "Kernel" ]
10348         },
10349         {
10350           "enumerant" : "SignedInt16",
10351           "value" : 8,
10352           "capabilities" : [ "Kernel" ]
10353         },
10354         {
10355           "enumerant" : "SignedInt32",
10356           "value" : 9,
10357           "capabilities" : [ "Kernel" ]
10358         },
10359         {
10360           "enumerant" : "UnsignedInt8",
10361           "value" : 10,
10362           "capabilities" : [ "Kernel" ]
10363         },
10364         {
10365           "enumerant" : "UnsignedInt16",
10366           "value" : 11,
10367           "capabilities" : [ "Kernel" ]
10368         },
10369         {
10370           "enumerant" : "UnsignedInt32",
10371           "value" : 12,
10372           "capabilities" : [ "Kernel" ]
10373         },
10374         {
10375           "enumerant" : "HalfFloat",
10376           "value" : 13,
10377           "capabilities" : [ "Kernel" ]
10378         },
10379         {
10380           "enumerant" : "Float",
10381           "value" : 14,
10382           "capabilities" : [ "Kernel" ]
10383         },
10384         {
10385           "enumerant" : "UnormInt24",
10386           "value" : 15,
10387           "capabilities" : [ "Kernel" ]
10388         },
10389         {
10390           "enumerant" : "UnormInt101010_2",
10391           "value" : 16,
10392           "capabilities" : [ "Kernel" ]
10393         }
10394       ]
10395     },
10396     {
10397       "category" : "ValueEnum",
10398       "kind" : "FPRoundingMode",
10399       "enumerants" : [
10400         {
10401           "enumerant" : "RTE",
10402           "value" : 0
10403         },
10404         {
10405           "enumerant" : "RTZ",
10406           "value" : 1
10407         },
10408         {
10409           "enumerant" : "RTP",
10410           "value" : 2
10411         },
10412         {
10413           "enumerant" : "RTN",
10414           "value" : 3
10415         }
10416       ]
10417     },
10418     {
10419       "category" : "ValueEnum",
10420       "kind" : "FPDenormMode",
10421       "enumerants" : [
10422         {
10423           "enumerant" : "Preserve",
10424           "value" : 0,
10425           "capabilities" : [ "FunctionFloatControlINTEL" ],
10426           "version" : "None"
10427         },
10428         {
10429           "enumerant" : "FlushToZero",
10430           "value" : 1,
10431           "capabilities" : [ "FunctionFloatControlINTEL" ],
10432           "version" : "None"
10433         }
10434       ]
10435     },
10436     {
10437       "category" : "ValueEnum",
10438       "kind" : "QuantizationModes",
10439       "enumerants" : [
10440         {
10441           "enumerant" : "TRN",
10442           "value" : 0,
10443           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10444           "version" : "None"
10445         },
10446         {
10447           "enumerant" : "TRN_ZERO",
10448           "value" : 1,
10449           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10450           "version" : "None"
10451         },
10452         {
10453           "enumerant" : "RND",
10454           "value" : 2,
10455           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10456           "version" : "None"
10457         },
10458         {
10459           "enumerant" : "RND_ZERO",
10460           "value" : 3,
10461           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10462           "version" : "None"
10463         },
10464         {
10465           "enumerant" : "RND_INF",
10466           "value" : 4,
10467           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10468           "version" : "None"
10469         },
10470         {
10471           "enumerant" : "RND_MIN_INF",
10472           "value" : 5,
10473           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10474           "version" : "None"
10475         },
10476         {
10477           "enumerant" : "RND_CONV",
10478           "value" : 6,
10479           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10480           "version" : "None"
10481         },
10482         {
10483           "enumerant" : "RND_CONV_ODD",
10484           "value" : 7,
10485           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10486           "version" : "None"
10487         }
10488       ]
10489     },
10490     {
10491       "category" : "ValueEnum",
10492       "kind" : "FPOperationMode",
10493       "enumerants" : [
10494         {
10495           "enumerant" : "IEEE",
10496           "value" : 0,
10497           "capabilities" : [ "FunctionFloatControlINTEL" ],
10498           "version" : "None"
10499         },
10500         {
10501           "enumerant" : "ALT",
10502           "value" : 1,
10503           "capabilities" : [ "FunctionFloatControlINTEL" ],
10504           "version" : "None"
10505         }
10506       ]
10507     },
10508     {
10509       "category" : "ValueEnum",
10510       "kind" : "OverflowModes",
10511       "enumerants" : [
10512         {
10513           "enumerant" : "WRAP",
10514           "value" : 0,
10515           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10516           "version" : "None"
10517         },
10518         {
10519           "enumerant" : "SAT",
10520           "value" : 1,
10521           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10522           "version" : "None"
10523         },
10524         {
10525           "enumerant" : "SAT_ZERO",
10526           "value" : 2,
10527           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10528           "version" : "None"
10529         },
10530         {
10531           "enumerant" : "SAT_SYM",
10532           "value" : 3,
10533           "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL"],
10534           "version" : "None"
10535         }
10536       ]
10537     },
10538     {
10539       "category" : "ValueEnum",
10540       "kind" : "LinkageType",
10541       "enumerants" : [
10542         {
10543           "enumerant" : "Export",
10544           "value" : 0,
10545           "capabilities" : [ "Linkage" ]
10546         },
10547         {
10548           "enumerant" : "Import",
10549           "value" : 1,
10550           "capabilities" : [ "Linkage" ]
10551         },
10552         {
10553           "enumerant" : "LinkOnceODR",
10554           "value" : 2,
10555           "capabilities" : [ "Linkage" ],
10556           "extensions" : [ "SPV_KHR_linkonce_odr" ],
10557           "version" : "None"
10558         }
10559       ]
10560     },
10561     {
10562       "category" : "ValueEnum",
10563       "kind" : "AccessQualifier",
10564       "enumerants" : [
10565         {
10566           "enumerant" : "ReadOnly",
10567           "value" : 0,
10568           "capabilities" : [ "Kernel" ]
10569         },
10570         {
10571           "enumerant" : "WriteOnly",
10572           "value" : 1,
10573           "capabilities" : [ "Kernel" ]
10574         },
10575         {
10576           "enumerant" : "ReadWrite",
10577           "value" : 2,
10578           "capabilities" : [ "Kernel" ]
10579         }
10580       ]
10581     },
10582     {
10583       "category" : "ValueEnum",
10584       "kind" : "FunctionParameterAttribute",
10585       "enumerants" : [
10586         {
10587           "enumerant" : "Zext",
10588           "value" : 0,
10589           "capabilities" : [ "Kernel" ]
10590         },
10591         {
10592           "enumerant" : "Sext",
10593           "value" : 1,
10594           "capabilities" : [ "Kernel" ]
10595         },
10596         {
10597           "enumerant" : "ByVal",
10598           "value" : 2,
10599           "capabilities" : [ "Kernel" ]
10600         },
10601         {
10602           "enumerant" : "Sret",
10603           "value" : 3,
10604           "capabilities" : [ "Kernel" ]
10605         },
10606         {
10607           "enumerant" : "NoAlias",
10608           "value" : 4,
10609           "capabilities" : [ "Kernel" ]
10610         },
10611         {
10612           "enumerant" : "NoCapture",
10613           "value" : 5,
10614           "capabilities" : [ "Kernel" ]
10615         },
10616         {
10617           "enumerant" : "NoWrite",
10618           "value" : 6,
10619           "capabilities" : [ "Kernel" ]
10620         },
10621         {
10622           "enumerant" : "NoReadWrite",
10623           "value" : 7,
10624           "capabilities" : [ "Kernel" ]
10625         }
10626       ]
10627     },
10628     {
10629       "category" : "ValueEnum",
10630       "kind" : "Decoration",
10631       "enumerants" : [
10632         {
10633           "enumerant" : "RelaxedPrecision",
10634           "value" : 0,
10635           "capabilities" : [ "Shader" ]
10636         },
10637         {
10638           "enumerant" : "SpecId",
10639           "value" : 1,
10640           "capabilities" : [ "Shader", "Kernel" ],
10641           "parameters" : [
10642             { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
10643           ]
10644         },
10645         {
10646           "enumerant" : "Block",
10647           "value" : 2,
10648           "capabilities" : [ "Shader" ]
10649         },
10650         {
10651           "enumerant" : "BufferBlock",
10652           "value" : 3,
10653           "capabilities" : [ "Shader" ],
10654           "lastVersion" : "1.3"
10655         },
10656         {
10657           "enumerant" : "RowMajor",
10658           "value" : 4,
10659           "capabilities" : [ "Matrix" ]
10660         },
10661         {
10662           "enumerant" : "ColMajor",
10663           "value" : 5,
10664           "capabilities" : [ "Matrix" ]
10665         },
10666         {
10667           "enumerant" : "ArrayStride",
10668           "value" : 6,
10669           "capabilities" : [ "Shader" ],
10670           "parameters" : [
10671             { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
10672           ]
10673         },
10674         {
10675           "enumerant" : "MatrixStride",
10676           "value" : 7,
10677           "capabilities" : [ "Matrix" ],
10678           "parameters" : [
10679             { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
10680           ]
10681         },
10682         {
10683           "enumerant" : "GLSLShared",
10684           "value" : 8,
10685           "capabilities" : [ "Shader" ]
10686         },
10687         {
10688           "enumerant" : "GLSLPacked",
10689           "value" : 9,
10690           "capabilities" : [ "Shader" ]
10691         },
10692         {
10693           "enumerant" : "CPacked",
10694           "value" : 10,
10695           "capabilities" : [ "Kernel" ]
10696         },
10697         {
10698           "enumerant" : "BuiltIn",
10699           "value" : 11,
10700           "parameters" : [
10701             { "kind" : "BuiltIn" }
10702           ]
10703         },
10704         {
10705           "enumerant" : "NoPerspective",
10706           "value" : 13,
10707           "capabilities" : [ "Shader" ]
10708         },
10709         {
10710           "enumerant" : "Flat",
10711           "value" : 14,
10712           "capabilities" : [ "Shader" ]
10713         },
10714         {
10715           "enumerant" : "Patch",
10716           "value" : 15,
10717           "capabilities" : [ "Tessellation" ]
10718         },
10719         {
10720           "enumerant" : "Centroid",
10721           "value" : 16,
10722           "capabilities" : [ "Shader" ]
10723         },
10724         {
10725           "enumerant" : "Sample",
10726           "value" : 17,
10727           "capabilities" : [ "SampleRateShading" ]
10728         },
10729         {
10730           "enumerant" : "Invariant",
10731           "value" : 18,
10732           "capabilities" : [ "Shader" ]
10733         },
10734         {
10735           "enumerant" : "Restrict",
10736           "value" : 19
10737         },
10738         {
10739           "enumerant" : "Aliased",
10740           "value" : 20
10741         },
10742         {
10743           "enumerant" : "Volatile",
10744           "value" : 21
10745         },
10746         {
10747           "enumerant" : "Constant",
10748           "value" : 22,
10749           "capabilities" : [ "Kernel" ]
10750         },
10751         {
10752           "enumerant" : "Coherent",
10753           "value" : 23
10754         },
10755         {
10756           "enumerant" : "NonWritable",
10757           "value" : 24
10758         },
10759         {
10760           "enumerant" : "NonReadable",
10761           "value" : 25
10762         },
10763         {
10764           "enumerant" : "Uniform",
10765           "value" : 26,
10766           "capabilities" : [ "Shader" ]
10767         },
10768         {
10769           "enumerant" : "UniformId",
10770           "value" : 27,
10771           "capabilities" : [ "Shader" ],
10772           "parameters" : [
10773             { "kind" : "IdScope",           "name" : "'Execution'" }
10774           ],
10775           "version" : "1.4"
10776         },
10777         {
10778           "enumerant" : "SaturatedConversion",
10779           "value" : 28,
10780           "capabilities" : [ "Kernel" ]
10781         },
10782         {
10783           "enumerant" : "Stream",
10784           "value" : 29,
10785           "capabilities" : [ "GeometryStreams" ],
10786           "parameters" : [
10787             { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
10788           ]
10789         },
10790         {
10791           "enumerant" : "Location",
10792           "value" : 30,
10793           "capabilities" : [ "Shader" ],
10794           "parameters" : [
10795             { "kind" : "LiteralInteger", "name" : "'Location'" }
10796           ]
10797         },
10798         {
10799           "enumerant" : "Component",
10800           "value" : 31,
10801           "capabilities" : [ "Shader" ],
10802           "parameters" : [
10803             { "kind" : "LiteralInteger", "name" : "'Component'" }
10804           ]
10805         },
10806         {
10807           "enumerant" : "Index",
10808           "value" : 32,
10809           "capabilities" : [ "Shader" ],
10810           "parameters" : [
10811             { "kind" : "LiteralInteger", "name" : "'Index'" }
10812           ]
10813         },
10814         {
10815           "enumerant" : "Binding",
10816           "value" : 33,
10817           "capabilities" : [ "Shader" ],
10818           "parameters" : [
10819             { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
10820           ]
10821         },
10822         {
10823           "enumerant" : "DescriptorSet",
10824           "value" : 34,
10825           "capabilities" : [ "Shader" ],
10826           "parameters" : [
10827             { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
10828           ]
10829         },
10830         {
10831           "enumerant" : "Offset",
10832           "value" : 35,
10833           "capabilities" : [ "Shader" ],
10834           "parameters" : [
10835             { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
10836           ]
10837         },
10838         {
10839           "enumerant" : "XfbBuffer",
10840           "value" : 36,
10841           "capabilities" : [ "TransformFeedback" ],
10842           "parameters" : [
10843             { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
10844           ]
10845         },
10846         {
10847           "enumerant" : "XfbStride",
10848           "value" : 37,
10849           "capabilities" : [ "TransformFeedback" ],
10850           "parameters" : [
10851             { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
10852           ]
10853         },
10854         {
10855           "enumerant" : "FuncParamAttr",
10856           "value" : 38,
10857           "capabilities" : [ "Kernel" ],
10858           "parameters" : [
10859             { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
10860           ]
10861         },
10862         {
10863           "enumerant" : "FPRoundingMode",
10864           "value" : 39,
10865           "parameters" : [
10866             { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
10867           ]
10868         },
10869         {
10870           "enumerant" : "FPFastMathMode",
10871           "value" : 40,
10872           "capabilities" : [ "Kernel" ],
10873           "parameters" : [
10874             { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
10875           ]
10876         },
10877         {
10878           "enumerant" : "LinkageAttributes",
10879           "value" : 41,
10880           "capabilities" : [ "Linkage" ],
10881           "parameters" : [
10882             { "kind" : "LiteralString", "name" : "'Name'" },
10883             { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
10884           ]
10885         },
10886         {
10887           "enumerant" : "NoContraction",
10888           "value" : 42,
10889           "capabilities" : [ "Shader" ]
10890         },
10891         {
10892           "enumerant" : "InputAttachmentIndex",
10893           "value" : 43,
10894           "capabilities" : [ "InputAttachment" ],
10895           "parameters" : [
10896             { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
10897           ]
10898         },
10899         {
10900           "enumerant" : "Alignment",
10901           "value" : 44,
10902           "capabilities" : [ "Kernel" ],
10903           "parameters" : [
10904             { "kind" : "LiteralInteger", "name" : "'Alignment'" }
10905           ]
10906         },
10907         {
10908           "enumerant" : "MaxByteOffset",
10909           "value" : 45,
10910           "capabilities" : [ "Addresses" ],
10911           "parameters" : [
10912             { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
10913           ],
10914           "version" : "1.1"
10915         },
10916         {
10917           "enumerant" : "AlignmentId",
10918           "value" : 46,
10919           "capabilities" : [ "Kernel" ],
10920           "parameters" : [
10921             { "kind" : "IdRef", "name" : "'Alignment'" }
10922           ],
10923           "version" : "1.2"
10924         },
10925         {
10926           "enumerant" : "MaxByteOffsetId",
10927           "value" : 47,
10928           "capabilities" : [ "Addresses" ],
10929           "parameters" : [
10930             { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
10931           ],
10932           "version" : "1.2"
10933         },
10934         {
10935           "enumerant" : "NoSignedWrap",
10936           "value" : 4469,
10937           "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
10938           "version" : "1.4"
10939         },
10940         {
10941           "enumerant" : "NoUnsignedWrap",
10942           "value" : 4470,
10943           "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
10944           "version" : "1.4"
10945         },
10946         {
10947           "enumerant" : "ExplicitInterpAMD",
10948           "value" : 4999,
10949           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10950           "version" : "None"
10951         },
10952         {
10953           "enumerant" : "OverrideCoverageNV",
10954           "value" : 5248,
10955           "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
10956           "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
10957           "version" : "None"
10958         },
10959         {
10960           "enumerant" : "PassthroughNV",
10961           "value" : 5250,
10962           "capabilities" : [ "GeometryShaderPassthroughNV" ],
10963           "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
10964           "version" : "None"
10965         },
10966         {
10967           "enumerant" : "ViewportRelativeNV",
10968           "value" : 5252,
10969           "capabilities" : [ "ShaderViewportMaskNV" ],
10970           "version" : "None"
10971         },
10972         {
10973           "enumerant" : "SecondaryViewportRelativeNV",
10974           "value" : 5256,
10975           "capabilities" : [ "ShaderStereoViewNV" ],
10976           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10977           "version" : "None",
10978           "parameters" : [
10979             { "kind" : "LiteralInteger", "name" : "'Offset'" }
10980           ]
10981         },
10982         {
10983           "enumerant" : "PerPrimitiveNV",
10984           "value" : 5271,
10985           "capabilities" : [ "MeshShadingNV" ],
10986           "extensions" : [ "SPV_NV_mesh_shader" ],
10987           "version" : "None"
10988         },
10989         {
10990           "enumerant" : "PerViewNV",
10991           "value" : 5272,
10992           "capabilities" : [ "MeshShadingNV" ],
10993           "extensions" : [ "SPV_NV_mesh_shader" ],
10994           "version" : "None"
10995         },
10996         {
10997           "enumerant" : "PerTaskNV",
10998           "value" : 5273,
10999           "capabilities" : [ "MeshShadingNV" ],
11000           "extensions" : [ "SPV_NV_mesh_shader" ],
11001           "version" : "None"
11002         },
11003         {
11004           "enumerant" : "PerVertexNV",
11005           "value" : 5285,
11006           "capabilities" : [ "FragmentBarycentricNV" ],
11007           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11008           "version" : "None"
11009         },
11010         {
11011           "enumerant" : "NonUniform",
11012           "value" : 5300,
11013           "capabilities" : [ "ShaderNonUniform" ],
11014           "version" : "1.5"
11015         },
11016         {
11017           "enumerant" : "NonUniformEXT",
11018           "value" : 5300,
11019           "capabilities" : [ "ShaderNonUniform" ],
11020           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11021           "version" : "1.5"
11022         },
11023         {
11024           "enumerant" : "RestrictPointer",
11025           "value" : 5355,
11026           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11027           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11028           "version" : "1.5"
11029         },
11030         {
11031           "enumerant" : "RestrictPointerEXT",
11032           "value" : 5355,
11033           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11034           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11035           "version" : "1.5"
11036         },
11037         {
11038           "enumerant" : "AliasedPointer",
11039           "value" : 5356,
11040           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11041           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11042           "version" : "1.5"
11043         },
11044         {
11045           "enumerant" : "AliasedPointerEXT",
11046           "value" : 5356,
11047           "capabilities" : [ "PhysicalStorageBufferAddresses" ],
11048           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11049           "version" : "1.5"
11050         },
11051         {
11052           "enumerant" : "SIMTCallINTEL",
11053           "value" : 5599,
11054           "parameters" : [
11055             { "kind" : "LiteralInteger", "name" : "'N'" }
11056           ],
11057           "capabilities" : [ "VectorComputeINTEL" ],
11058           "version" : "None"
11059         },
11060         {
11061           "enumerant" : "ReferencedIndirectlyINTEL",
11062           "value" : 5602,
11063           "capabilities" : [ "IndirectReferencesINTEL" ],
11064           "extensions" : [ "SPV_INTEL_function_pointers" ],
11065           "version" : "None"
11066         },
11067         {
11068           "enumerant" : "ClobberINTEL",
11069           "value" : 5607,
11070           "parameters" : [
11071             { "kind" : "LiteralString", "name" : "'Register'" }
11072           ],
11073           "capabilities" : [ "AsmINTEL" ],
11074           "version" : "None"
11075         },
11076         {
11077           "enumerant" : "SideEffectsINTEL",
11078           "value" : 5608,
11079           "capabilities" : [ "AsmINTEL" ],
11080           "version" : "None"
11081         },
11082         {
11083           "enumerant" : "VectorComputeVariableINTEL",
11084           "value" : 5624,
11085           "capabilities" : [ "VectorComputeINTEL" ],
11086           "version" : "None"
11087         },
11088         {
11089           "enumerant" : "FuncParamIOKindINTEL",
11090           "value" : 5625,
11091           "parameters" : [
11092             { "kind" : "LiteralInteger", "name" : "'Kind'" }
11093           ],
11094           "capabilities" : [ "VectorComputeINTEL" ],
11095           "version" : "None"
11096         },
11097         {
11098           "enumerant" : "VectorComputeFunctionINTEL",
11099           "value" : 5626,
11100           "capabilities" : [ "VectorComputeINTEL" ],
11101           "version" : "None"
11102         },
11103         {
11104           "enumerant" : "StackCallINTEL",
11105           "value" : 5627,
11106           "capabilities" : [ "VectorComputeINTEL" ],
11107           "version" : "None"
11108         },
11109         {
11110           "enumerant" : "GlobalVariableOffsetINTEL",
11111           "value" : 5628,
11112           "parameters" : [
11113             { "kind" : "LiteralInteger", "name" : "'Offset'" }
11114           ],
11115           "capabilities" : [ "VectorComputeINTEL" ],
11116           "version" : "None"
11117         },
11118         {
11119           "enumerant" : "CounterBuffer",
11120           "value" : 5634,
11121           "parameters" : [
11122             { "kind" : "IdRef", "name" : "'Counter Buffer'" }
11123           ],
11124           "version" : "1.4"
11125         },
11126         {
11127           "enumerant" : "HlslCounterBufferGOOGLE",
11128           "value" : 5634,
11129           "parameters" : [
11130             { "kind" : "IdRef", "name" : "'Counter Buffer'" }
11131           ],
11132           "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
11133           "version" : "None"
11134         },
11135         {
11136           "enumerant" : "UserSemantic",
11137           "value" : 5635,
11138           "parameters" : [
11139             { "kind" : "LiteralString", "name" : "'Semantic'" }
11140           ],
11141           "version" : "1.4"
11142         },
11143         {
11144           "enumerant" : "HlslSemanticGOOGLE",
11145           "value" : 5635,
11146           "parameters" : [
11147             { "kind" : "LiteralString", "name" : "'Semantic'" }
11148           ],
11149           "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
11150           "version" : "None"
11151         },
11152         {
11153           "enumerant" : "UserTypeGOOGLE",
11154           "value" : 5636,
11155           "parameters" : [
11156             { "kind" : "LiteralString", "name" : "'User Type'" }
11157           ],
11158           "extensions" : [ "SPV_GOOGLE_user_type" ],
11159           "version" : "None"
11160         },
11161         {
11162           "enumerant" : "FunctionRoundingModeINTEL",
11163           "value" : 5822,
11164           "parameters" : [
11165             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11166             { "kind" : "FPRoundingMode", "name" : "'FP Rounding Mode'" }
11167           ],
11168           "capabilities" : [ "FunctionFloatControlINTEL" ],
11169           "version" : "None"
11170         },
11171         {
11172           "enumerant" : "FunctionDenormModeINTEL",
11173           "value" : 5823,
11174           "parameters" : [
11175             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11176             { "kind" : "FPDenormMode", "name" : "'FP Denorm Mode'" }
11177           ],
11178           "capabilities" : [ "FunctionFloatControlINTEL" ],
11179           "version" : "None"
11180         },
11181         {
11182           "enumerant" : "RegisterINTEL",
11183           "value" : 5825,
11184           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11185           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11186           "version" : "None"
11187         },
11188         {
11189           "enumerant" : "MemoryINTEL",
11190           "value" : 5826,
11191           "parameters" : [
11192             { "kind" : "LiteralString", "name" : "'Memory Type'" }
11193           ],
11194           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11195           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11196           "version" : "None"
11197         },
11198         {
11199           "enumerant" : "NumbanksINTEL",
11200           "value" : 5827,
11201           "parameters" : [
11202             { "kind" : "LiteralInteger", "name" : "'Banks'" }
11203           ],
11204           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11205           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11206           "version" : "None"
11207         },
11208         {
11209           "enumerant" : "BankwidthINTEL",
11210           "value" : 5828,
11211           "parameters" : [
11212             { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
11213           ],
11214           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11215           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11216           "version" : "None"
11217         },
11218         {
11219           "enumerant" : "MaxPrivateCopiesINTEL",
11220           "value" : 5829,
11221           "parameters" : [
11222             { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
11223           ],
11224           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11225           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11226           "version" : "None"
11227         },
11228         {
11229           "enumerant" : "SinglepumpINTEL",
11230           "value" : 5830,
11231           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11232           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11233           "version" : "None"
11234         },
11235         {
11236           "enumerant" : "DoublepumpINTEL",
11237           "value" : 5831,
11238           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11239           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11240           "version" : "None"
11241         },
11242         {
11243           "enumerant" : "MaxReplicatesINTEL",
11244           "value" : 5832,
11245           "parameters" : [
11246             { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
11247           ],
11248           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11249           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11250           "version" : "None"
11251         },
11252         {
11253           "enumerant" : "SimpleDualPortINTEL",
11254           "value" : 5833,
11255           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11256           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11257           "version" : "None"
11258         },
11259         {
11260           "enumerant" : "MergeINTEL",
11261           "value" : 5834,
11262           "parameters" : [
11263             { "kind" : "LiteralString", "name" : "'Merge Key'" },
11264             { "kind" : "LiteralString", "name" : "'Merge Type'" }
11265           ],
11266           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11267           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11268           "version" : "None"
11269         },
11270         {
11271           "enumerant" : "BankBitsINTEL",
11272           "value" : 5835,
11273           "parameters" : [
11274             { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
11275           ],
11276           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11277           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11278           "version" : "None"
11279         },
11280         {
11281           "enumerant" : "ForcePow2DepthINTEL",
11282           "value" : 5836,
11283           "parameters" : [
11284             { "kind" : "LiteralInteger", "name" : "'Force Key'" }
11285           ],
11286           "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
11287           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11288           "version" : "None"
11289         },
11290         {
11291           "enumerant" : "BurstCoalesceINTEL",
11292           "value" : 5899,
11293           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11294           "version" : "None"
11295         },
11296         {
11297           "enumerant" : "CacheSizeINTEL",
11298           "value" : 5900,
11299           "parameters" : [
11300             { "kind" : "LiteralInteger", "name" : "'Cache Size in bytes'" }
11301           ],
11302           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11303           "version" : "None"
11304         },
11305         {
11306           "enumerant" : "DontStaticallyCoalesceINTEL",
11307           "value" : 5901,
11308           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11309           "version" : "None"
11310         },
11311         {
11312           "enumerant" : "PrefetchINTEL",
11313           "value" : 5902,
11314           "parameters" : [
11315             { "kind" : "LiteralInteger", "name" : "'Prefetcher Size in bytes'" }
11316           ],
11317           "capabilities" : [ "FPGAMemoryAccessesINTEL" ],
11318           "version" : "None"
11319         },
11320         {
11321           "enumerant" : "StallEnableINTEL",
11322           "value" : 5905,
11323           "capabilities" : [ "FPGAClusterAttributesINTEL" ],
11324           "version" : "None"
11325         },
11326         {
11327           "enumerant" : "FuseLoopsInFunctionINTEL",
11328           "value" : 5907,
11329           "capabilities" : [ "LoopFuseINTEL" ],
11330           "version" : "None"
11331         },
11332         {
11333           "enumerant" : "BufferLocationINTEL",
11334           "value" : 5921,
11335           "parameters" : [
11336             { "kind" : "LiteralInteger", "name" : "'Buffer Location ID'" }
11337           ],
11338           "capabilities" : [ "FPGABufferLocationINTEL" ],
11339           "version" : "None"
11340         },
11341         {
11342           "enumerant" : "IOPipeStorageINTEL",
11343           "value" : 5944,
11344           "parameters" : [
11345             { "kind" : "LiteralInteger", "name" : "'IO Pipe ID'" }
11346           ],
11347           "capabilities" : [ "IOPipesINTEL" ],
11348           "version" : "None"
11349         },
11350         {
11351           "enumerant" : "FunctionFloatingPointModeINTEL",
11352           "value" : 6080,
11353           "parameters" : [
11354             { "kind" : "LiteralInteger", "name" : "'Target Width'" },
11355             { "kind" : "FPOperationMode", "name" : "'FP Operation Mode'" }
11356           ],
11357           "capabilities" : [ "FunctionFloatControlINTEL" ],
11358           "version" : "None"
11359         },
11360         {
11361           "enumerant" : "SingleElementVectorINTEL",
11362           "value" : 6085,
11363           "capabilities" : [ "VectorComputeINTEL" ],
11364           "version" : "None"
11365         },
11366         {
11367           "enumerant" : "VectorComputeCallableFunctionINTEL",
11368           "value" : 6087,
11369           "capabilities" : [ "VectorComputeINTEL" ],
11370           "version" : "None"
11371         }
11372       ]
11373     },
11374     {
11375       "category" : "ValueEnum",
11376       "kind" : "BuiltIn",
11377       "enumerants" : [
11378         {
11379           "enumerant" : "Position",
11380           "value" : 0,
11381           "capabilities" : [ "Shader" ]
11382         },
11383         {
11384           "enumerant" : "PointSize",
11385           "value" : 1,
11386           "capabilities" : [ "Shader" ]
11387         },
11388         {
11389           "enumerant" : "ClipDistance",
11390           "value" : 3,
11391           "capabilities" : [ "ClipDistance" ]
11392         },
11393         {
11394           "enumerant" : "CullDistance",
11395           "value" : 4,
11396           "capabilities" : [ "CullDistance" ]
11397         },
11398         {
11399           "enumerant" : "VertexId",
11400           "value" : 5,
11401           "capabilities" : [ "Shader" ]
11402         },
11403         {
11404           "enumerant" : "InstanceId",
11405           "value" : 6,
11406           "capabilities" : [ "Shader" ]
11407         },
11408         {
11409           "enumerant" : "PrimitiveId",
11410           "value" : 7,
11411           "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV" ]
11412         },
11413         {
11414           "enumerant" : "InvocationId",
11415           "value" : 8,
11416           "capabilities" : [ "Geometry", "Tessellation" ]
11417         },
11418         {
11419           "enumerant" : "Layer",
11420           "value" : 9,
11421           "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
11422         },
11423         {
11424           "enumerant" : "ViewportIndex",
11425           "value" : 10,
11426           "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV" ]
11427         },
11428         {
11429           "enumerant" : "TessLevelOuter",
11430           "value" : 11,
11431           "capabilities" : [ "Tessellation" ]
11432         },
11433         {
11434           "enumerant" : "TessLevelInner",
11435           "value" : 12,
11436           "capabilities" : [ "Tessellation" ]
11437         },
11438         {
11439           "enumerant" : "TessCoord",
11440           "value" : 13,
11441           "capabilities" : [ "Tessellation" ]
11442         },
11443         {
11444           "enumerant" : "PatchVertices",
11445           "value" : 14,
11446           "capabilities" : [ "Tessellation" ]
11447         },
11448         {
11449           "enumerant" : "FragCoord",
11450           "value" : 15,
11451           "capabilities" : [ "Shader" ]
11452         },
11453         {
11454           "enumerant" : "PointCoord",
11455           "value" : 16,
11456           "capabilities" : [ "Shader" ]
11457         },
11458         {
11459           "enumerant" : "FrontFacing",
11460           "value" : 17,
11461           "capabilities" : [ "Shader" ]
11462         },
11463         {
11464           "enumerant" : "SampleId",
11465           "value" : 18,
11466           "capabilities" : [ "SampleRateShading" ]
11467         },
11468         {
11469           "enumerant" : "SamplePosition",
11470           "value" : 19,
11471           "capabilities" : [ "SampleRateShading" ]
11472         },
11473         {
11474           "enumerant" : "SampleMask",
11475           "value" : 20,
11476           "capabilities" : [ "Shader" ]
11477         },
11478         {
11479           "enumerant" : "FragDepth",
11480           "value" : 22,
11481           "capabilities" : [ "Shader" ]
11482         },
11483         {
11484           "enumerant" : "HelperInvocation",
11485           "value" : 23,
11486           "capabilities" : [ "Shader" ]
11487         },
11488         {
11489           "enumerant" : "NumWorkgroups",
11490           "value" : 24
11491         },
11492         {
11493           "enumerant" : "WorkgroupSize",
11494           "value" : 25
11495         },
11496         {
11497           "enumerant" : "WorkgroupId",
11498           "value" : 26
11499         },
11500         {
11501           "enumerant" : "LocalInvocationId",
11502           "value" : 27
11503         },
11504         {
11505           "enumerant" : "GlobalInvocationId",
11506           "value" : 28
11507         },
11508         {
11509           "enumerant" : "LocalInvocationIndex",
11510           "value" : 29
11511         },
11512         {
11513           "enumerant" : "WorkDim",
11514           "value" : 30,
11515           "capabilities" : [ "Kernel" ]
11516         },
11517         {
11518           "enumerant" : "GlobalSize",
11519           "value" : 31,
11520           "capabilities" : [ "Kernel" ]
11521         },
11522         {
11523           "enumerant" : "EnqueuedWorkgroupSize",
11524           "value" : 32,
11525           "capabilities" : [ "Kernel" ]
11526         },
11527         {
11528           "enumerant" : "GlobalOffset",
11529           "value" : 33,
11530           "capabilities" : [ "Kernel" ]
11531         },
11532         {
11533           "enumerant" : "GlobalLinearId",
11534           "value" : 34,
11535           "capabilities" : [ "Kernel" ]
11536         },
11537         {
11538           "enumerant" : "SubgroupSize",
11539           "value" : 36,
11540           "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
11541         },
11542         {
11543           "enumerant" : "SubgroupMaxSize",
11544           "value" : 37,
11545           "capabilities" : [ "Kernel" ]
11546         },
11547         {
11548           "enumerant" : "NumSubgroups",
11549           "value" : 38,
11550           "capabilities" : [ "Kernel", "GroupNonUniform" ]
11551         },
11552         {
11553           "enumerant" : "NumEnqueuedSubgroups",
11554           "value" : 39,
11555           "capabilities" : [ "Kernel" ]
11556         },
11557         {
11558           "enumerant" : "SubgroupId",
11559           "value" : 40,
11560           "capabilities" : [ "Kernel", "GroupNonUniform" ]
11561         },
11562         {
11563           "enumerant" : "SubgroupLocalInvocationId",
11564           "value" : 41,
11565           "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
11566         },
11567         {
11568           "enumerant" : "VertexIndex",
11569           "value" : 42,
11570           "capabilities" : [ "Shader" ]
11571         },
11572         {
11573           "enumerant" : "InstanceIndex",
11574           "value" : 43,
11575           "capabilities" : [ "Shader" ]
11576         },
11577         {
11578           "enumerant" : "SubgroupEqMask",
11579           "value" : 4416,
11580           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11581           "version" : "1.3"
11582         },
11583         {
11584           "enumerant" : "SubgroupEqMaskKHR",
11585           "value" : 4416,
11586           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11587           "extensions" : [ "SPV_KHR_shader_ballot" ],
11588           "version" : "1.3"
11589         },
11590         {
11591           "enumerant" : "SubgroupGeMask",
11592           "value" : 4417,
11593           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11594           "version" : "1.3"
11595         },
11596         {
11597           "enumerant" : "SubgroupGeMaskKHR",
11598           "value" : 4417,
11599           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11600           "extensions" : [ "SPV_KHR_shader_ballot" ],
11601           "version" : "1.3"
11602         },
11603         {
11604           "enumerant" : "SubgroupGtMask",
11605           "value" : 4418,
11606           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11607           "version" : "1.3"
11608         },
11609         {
11610           "enumerant" : "SubgroupGtMaskKHR",
11611           "value" : 4418,
11612           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11613           "extensions" : [ "SPV_KHR_shader_ballot" ],
11614           "version" : "1.3"
11615         },
11616         {
11617           "enumerant" : "SubgroupLeMask",
11618           "value" : 4419,
11619           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11620           "version" : "1.3"
11621         },
11622         {
11623           "enumerant" : "SubgroupLeMaskKHR",
11624           "value" : 4419,
11625           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11626           "extensions" : [ "SPV_KHR_shader_ballot" ],
11627           "version" : "1.3"
11628         },
11629         {
11630           "enumerant" : "SubgroupLtMask",
11631           "value" : 4420,
11632           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11633           "version" : "1.3"
11634         },
11635         {
11636           "enumerant" : "SubgroupLtMaskKHR",
11637           "value" : 4420,
11638           "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
11639           "extensions" : [ "SPV_KHR_shader_ballot" ],
11640           "version" : "1.3"
11641         },
11642         {
11643           "enumerant" : "BaseVertex",
11644           "value" : 4424,
11645           "capabilities" : [ "DrawParameters" ],
11646           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
11647           "version" : "1.3"
11648         },
11649         {
11650           "enumerant" : "BaseInstance",
11651           "value" : 4425,
11652           "capabilities" : [ "DrawParameters" ],
11653           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
11654           "version" : "1.3"
11655         },
11656         {
11657           "enumerant" : "DrawIndex",
11658           "value" : 4426,
11659           "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
11660           "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
11661           "version" : "1.3"
11662         },
11663         {
11664           "enumerant" : "PrimitiveShadingRateKHR",
11665           "value" : 4432,
11666           "capabilities" : [ "FragmentShadingRateKHR" ],
11667           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
11668           "version" : "None"
11669         },
11670         {
11671           "enumerant" : "DeviceIndex",
11672           "value" : 4438,
11673           "capabilities" : [ "DeviceGroup" ],
11674           "extensions" : [ "SPV_KHR_device_group" ],
11675           "version" : "1.3"
11676         },
11677         {
11678           "enumerant" : "ViewIndex",
11679           "value" : 4440,
11680           "capabilities" : [ "MultiView" ],
11681           "extensions" : [ "SPV_KHR_multiview" ],
11682           "version" : "1.3"
11683         },
11684         {
11685           "enumerant" : "ShadingRateKHR",
11686           "value" : 4444,
11687           "capabilities" : [ "FragmentShadingRateKHR" ],
11688           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
11689           "version" : "None"
11690         },
11691         {
11692           "enumerant" : "BaryCoordNoPerspAMD",
11693           "value" : 4992,
11694           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11695           "version" : "None"
11696         },
11697         {
11698           "enumerant" : "BaryCoordNoPerspCentroidAMD",
11699           "value" : 4993,
11700           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11701           "version" : "None"
11702         },
11703         {
11704           "enumerant" : "BaryCoordNoPerspSampleAMD",
11705           "value" : 4994,
11706           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11707           "version" : "None"
11708         },
11709         {
11710           "enumerant" : "BaryCoordSmoothAMD",
11711           "value" : 4995,
11712           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11713           "version" : "None"
11714         },
11715         {
11716           "enumerant" : "BaryCoordSmoothCentroidAMD",
11717           "value" : 4996,
11718           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11719           "version" : "None"
11720         },
11721         {
11722           "enumerant" : "BaryCoordSmoothSampleAMD",
11723           "value" : 4997,
11724           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11725           "version" : "None"
11726         },
11727         {
11728           "enumerant" : "BaryCoordPullModelAMD",
11729           "value" : 4998,
11730           "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
11731           "version" : "None"
11732         },
11733         {
11734           "enumerant" : "FragStencilRefEXT",
11735           "value" : 5014,
11736           "capabilities" : [ "StencilExportEXT" ],
11737           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
11738           "version" : "None"
11739         },
11740         {
11741           "enumerant" : "ViewportMaskNV",
11742           "value" : 5253,
11743           "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
11744           "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
11745           "version" : "None"
11746         },
11747         {
11748           "enumerant" : "SecondaryPositionNV",
11749           "value" : 5257,
11750           "capabilities" : [ "ShaderStereoViewNV" ],
11751           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11752           "version" : "None"
11753         },
11754         {
11755           "enumerant" : "SecondaryViewportMaskNV",
11756           "value" : 5258,
11757           "capabilities" : [ "ShaderStereoViewNV" ],
11758           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11759           "version" : "None"
11760         },
11761         {
11762           "enumerant" : "PositionPerViewNV",
11763           "value" : 5261,
11764           "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
11765           "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
11766           "version" : "None"
11767         },
11768         {
11769           "enumerant" : "ViewportMaskPerViewNV",
11770           "value" : 5262,
11771           "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
11772           "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
11773           "version" : "None"
11774         },
11775         {
11776           "enumerant" : "FullyCoveredEXT",
11777           "value" : 5264,
11778           "capabilities" : [ "FragmentFullyCoveredEXT" ],
11779           "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
11780           "version" : "None"
11781         },
11782         {
11783           "enumerant" : "TaskCountNV",
11784           "value" : 5274,
11785           "capabilities" : [ "MeshShadingNV" ],
11786           "extensions" : [ "SPV_NV_mesh_shader" ],
11787           "version" : "None"
11788         },
11789         {
11790           "enumerant" : "PrimitiveCountNV",
11791           "value" : 5275,
11792           "capabilities" : [ "MeshShadingNV" ],
11793           "extensions" : [ "SPV_NV_mesh_shader" ],
11794           "version" : "None"
11795         },
11796         {
11797           "enumerant" : "PrimitiveIndicesNV",
11798           "value" : 5276,
11799           "capabilities" : [ "MeshShadingNV" ],
11800           "extensions" : [ "SPV_NV_mesh_shader" ],
11801           "version" : "None"
11802         },
11803         {
11804           "enumerant" : "ClipDistancePerViewNV",
11805           "value" : 5277,
11806           "capabilities" : [ "MeshShadingNV" ],
11807           "extensions" : [ "SPV_NV_mesh_shader" ],
11808           "version" : "None"
11809         },
11810         {
11811           "enumerant" : "CullDistancePerViewNV",
11812           "value" : 5278,
11813           "capabilities" : [ "MeshShadingNV" ],
11814           "extensions" : [ "SPV_NV_mesh_shader" ],
11815           "version" : "None"
11816         },
11817         {
11818           "enumerant" : "LayerPerViewNV",
11819           "value" : 5279,
11820           "capabilities" : [ "MeshShadingNV" ],
11821           "extensions" : [ "SPV_NV_mesh_shader" ],
11822           "version" : "None"
11823         },
11824         {
11825           "enumerant" : "MeshViewCountNV",
11826           "value" : 5280,
11827           "capabilities" : [ "MeshShadingNV" ],
11828           "extensions" : [ "SPV_NV_mesh_shader" ],
11829           "version" : "None"
11830         },
11831         {
11832           "enumerant" : "MeshViewIndicesNV",
11833           "value" : 5281,
11834           "capabilities" : [ "MeshShadingNV" ],
11835           "extensions" : [ "SPV_NV_mesh_shader" ],
11836           "version" : "None"
11837         },
11838         {
11839           "enumerant" : "BaryCoordNV",
11840           "value" : 5286,
11841           "capabilities" : [ "FragmentBarycentricNV" ],
11842           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11843           "version" : "None"
11844         },
11845         {
11846           "enumerant" : "BaryCoordNoPerspNV",
11847           "value" : 5287,
11848           "capabilities" : [ "FragmentBarycentricNV" ],
11849           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11850           "version" : "None"
11851         },
11852         {
11853           "enumerant" : "FragSizeEXT",
11854           "value" : 5292 ,
11855           "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
11856           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11857           "version" : "None"
11858         },
11859         {
11860           "enumerant" : "FragmentSizeNV",
11861           "value" : 5292 ,
11862           "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
11863           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11864           "version" : "None"
11865         },
11866         {
11867           "enumerant" : "FragInvocationCountEXT",
11868           "value" : 5293,
11869           "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
11870           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11871           "version" : "None"
11872         },
11873         {
11874           "enumerant" : "InvocationsPerPixelNV",
11875           "value" : 5293,
11876           "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
11877           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11878           "version" : "None"
11879         },
11880         {
11881           "enumerant" : "LaunchIdNV",
11882           "value" : 5319,
11883           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11884           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11885           "version" : "None"
11886         },
11887         {
11888           "enumerant" : "LaunchIdKHR",
11889           "value" : 5319,
11890           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11891           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11892           "version" : "None"
11893         },
11894         {
11895           "enumerant" : "LaunchSizeNV",
11896           "value" : 5320,
11897           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11898           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11899           "version" : "None"
11900         },
11901         {
11902           "enumerant" : "LaunchSizeKHR",
11903           "value" : 5320,
11904           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11905           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11906           "version" : "None"
11907         },
11908         {
11909           "enumerant" : "WorldRayOriginNV",
11910           "value" : 5321,
11911           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11912           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11913           "version" : "None"
11914         },
11915         {
11916           "enumerant" : "WorldRayOriginKHR",
11917           "value" : 5321,
11918           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11919           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11920           "version" : "None"
11921         },
11922         {
11923           "enumerant" : "WorldRayDirectionNV",
11924           "value" : 5322,
11925           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11926           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11927           "version" : "None"
11928         },
11929         {
11930           "enumerant" : "WorldRayDirectionKHR",
11931           "value" : 5322,
11932           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11933           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11934           "version" : "None"
11935         },
11936         {
11937           "enumerant" : "ObjectRayOriginNV",
11938           "value" : 5323,
11939           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11940           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11941           "version" : "None"
11942         },
11943         {
11944           "enumerant" : "ObjectRayOriginKHR",
11945           "value" : 5323,
11946           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11947           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11948           "version" : "None"
11949         },
11950         {
11951           "enumerant" : "ObjectRayDirectionNV",
11952           "value" : 5324,
11953           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11954           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11955           "version" : "None"
11956         },
11957         {
11958           "enumerant" : "ObjectRayDirectionKHR",
11959           "value" : 5324,
11960           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11961           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11962           "version" : "None"
11963         },
11964         {
11965           "enumerant" : "RayTminNV",
11966           "value" : 5325,
11967           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11968           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11969           "version" : "None"
11970         },
11971         {
11972           "enumerant" : "RayTminKHR",
11973           "value" : 5325,
11974           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11975           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11976           "version" : "None"
11977         },
11978         {
11979           "enumerant" : "RayTmaxNV",
11980           "value" : 5326,
11981           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11982           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11983           "version" : "None"
11984         },
11985         {
11986           "enumerant" : "RayTmaxKHR",
11987           "value" : 5326,
11988           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11989           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11990           "version" : "None"
11991         },
11992         {
11993           "enumerant" : "InstanceCustomIndexNV",
11994           "value" : 5327,
11995           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
11996           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
11997           "version" : "None"
11998         },
11999         {
12000           "enumerant" : "InstanceCustomIndexKHR",
12001           "value" : 5327,
12002           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12003           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12004           "version" : "None"
12005         },
12006         {
12007           "enumerant" : "ObjectToWorldNV",
12008           "value" : 5330,
12009           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12010           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12011           "version" : "None"
12012         },
12013         {
12014           "enumerant" : "ObjectToWorldKHR",
12015           "value" : 5330,
12016           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12017           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12018           "version" : "None"
12019         },
12020         {
12021           "enumerant" : "WorldToObjectNV",
12022           "value" : 5331,
12023           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12024           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12025           "version" : "None"
12026         },
12027         {
12028           "enumerant" : "WorldToObjectKHR",
12029           "value" : 5331,
12030           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12031           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12032           "version" : "None"
12033         },
12034         {
12035           "enumerant" : "HitTNV",
12036           "value" : 5332,
12037           "capabilities" : [ "RayTracingNV" ],
12038           "extensions" : [ "SPV_NV_ray_tracing" ],
12039           "version" : "None"
12040         },
12041         {
12042           "enumerant" : "HitKindNV",
12043           "value" : 5333,
12044           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12045           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12046           "version" : "None"
12047         },
12048         {
12049           "enumerant" : "HitKindKHR",
12050           "value" : 5333,
12051           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12052           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12053           "version" : "None"
12054         },
12055         {
12056           "enumerant" : "IncomingRayFlagsNV",
12057           "value" : 5351,
12058           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12059           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12060           "version" : "None"
12061         },
12062         {
12063           "enumerant" : "IncomingRayFlagsKHR",
12064           "value" : 5351,
12065           "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ],
12066           "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
12067           "version" : "None"
12068         },
12069         {
12070           "enumerant" : "RayGeometryIndexKHR",
12071           "value" : 5352,
12072           "capabilities" : [ "RayTracingKHR" ],
12073           "extensions" : [ "SPV_KHR_ray_tracing" ],
12074           "version" : "None"
12075         },
12076         {
12077           "enumerant" : "WarpsPerSMNV",
12078           "value" : 5374,
12079           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12080           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12081           "version" : "None"
12082         },
12083         {
12084           "enumerant" : "SMCountNV",
12085           "value" : 5375,
12086           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12087           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12088           "version" : "None"
12089         },
12090         {
12091           "enumerant" : "WarpIDNV",
12092           "value" : 5376,
12093           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12094           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12095           "version" : "None"
12096         },
12097         {
12098           "enumerant" : "SMIDNV",
12099           "value" : 5377,
12100           "capabilities" : [ "ShaderSMBuiltinsNV" ],
12101           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
12102           "version" : "None"
12103         }
12104       ]
12105     },
12106     {
12107       "category" : "ValueEnum",
12108       "kind" : "Scope",
12109       "enumerants" : [
12110         {
12111           "enumerant" : "CrossDevice",
12112           "value" : 0
12113         },
12114         {
12115           "enumerant" : "Device",
12116           "value" : 1
12117         },
12118         {
12119           "enumerant" : "Workgroup",
12120           "value" : 2
12121         },
12122         {
12123           "enumerant" : "Subgroup",
12124           "value" : 3
12125         },
12126         {
12127           "enumerant" : "Invocation",
12128           "value" : 4
12129         },
12130         {
12131           "enumerant" : "QueueFamily",
12132           "value" : 5,
12133           "capabilities" : [ "VulkanMemoryModel" ],
12134           "version" : "1.5"
12135         },
12136         {
12137           "enumerant" : "QueueFamilyKHR",
12138           "value" : 5,
12139           "capabilities" : [ "VulkanMemoryModel" ],
12140           "version" : "1.5"
12141         },
12142         {
12143           "enumerant" : "ShaderCallKHR",
12144           "value" : 6,
12145           "capabilities" : [ "RayTracingKHR" ],
12146           "version" : "None"
12147         }
12148       ]
12149     },
12150     {
12151       "category" : "ValueEnum",
12152       "kind" : "GroupOperation",
12153       "enumerants" : [
12154         {
12155           "enumerant" : "Reduce",
12156           "value" : 0,
12157           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12158         },
12159         {
12160           "enumerant" : "InclusiveScan",
12161           "value" : 1,
12162           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12163         },
12164         {
12165           "enumerant" : "ExclusiveScan",
12166           "value" : 2,
12167           "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
12168         },
12169         {
12170           "enumerant" : "ClusteredReduce",
12171           "value" : 3,
12172           "capabilities" : [ "GroupNonUniformClustered" ],
12173           "version" : "1.3"
12174         },
12175         {
12176           "enumerant" : "PartitionedReduceNV",
12177           "value" : 6,
12178           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12179           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12180           "version" : "None"
12181         },
12182         {
12183           "enumerant" : "PartitionedInclusiveScanNV",
12184           "value" : 7,
12185           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12186           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12187           "version" : "None"
12188         },
12189         {
12190           "enumerant" : "PartitionedExclusiveScanNV",
12191           "value" : 8,
12192           "capabilities" : [ "GroupNonUniformPartitionedNV" ],
12193           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12194           "version" : "None"
12195         }
12196       ]
12197     },
12198     {
12199       "category" : "ValueEnum",
12200       "kind" : "KernelEnqueueFlags",
12201       "enumerants" : [
12202         {
12203           "enumerant" : "NoWait",
12204           "value" : 0,
12205           "capabilities" : [ "Kernel" ]
12206         },
12207         {
12208           "enumerant" : "WaitKernel",
12209           "value" : 1,
12210           "capabilities" : [ "Kernel" ]
12211         },
12212         {
12213           "enumerant" : "WaitWorkGroup",
12214           "value" : 2,
12215           "capabilities" : [ "Kernel" ]
12216         }
12217       ]
12218     },
12219     {
12220       "category" : "ValueEnum",
12221       "kind" : "Capability",
12222       "enumerants" : [
12223         {
12224           "enumerant" : "Matrix",
12225           "value" : 0
12226         },
12227         {
12228           "enumerant" : "Shader",
12229           "value" : 1,
12230           "capabilities" : [ "Matrix" ]
12231         },
12232         {
12233           "enumerant" : "Geometry",
12234           "value" : 2,
12235           "capabilities" : [ "Shader" ]
12236         },
12237         {
12238           "enumerant" : "Tessellation",
12239           "value" : 3,
12240           "capabilities" : [ "Shader" ]
12241         },
12242         {
12243           "enumerant" : "Addresses",
12244           "value" : 4
12245         },
12246         {
12247           "enumerant" : "Linkage",
12248           "value" : 5
12249         },
12250         {
12251           "enumerant" : "Kernel",
12252           "value" : 6
12253         },
12254         {
12255           "enumerant" : "Vector16",
12256           "value" : 7,
12257           "capabilities" : [ "Kernel" ]
12258         },
12259         {
12260           "enumerant" : "Float16Buffer",
12261           "value" : 8,
12262           "capabilities" : [ "Kernel" ]
12263         },
12264         {
12265           "enumerant" : "Float16",
12266           "value" : 9
12267         },
12268         {
12269           "enumerant" : "Float64",
12270           "value" : 10
12271         },
12272         {
12273           "enumerant" : "Int64",
12274           "value" : 11
12275         },
12276         {
12277           "enumerant" : "Int64Atomics",
12278           "value" : 12,
12279           "capabilities" : [ "Int64" ]
12280         },
12281         {
12282           "enumerant" : "ImageBasic",
12283           "value" : 13,
12284           "capabilities" : [ "Kernel" ]
12285         },
12286         {
12287           "enumerant" : "ImageReadWrite",
12288           "value" : 14,
12289           "capabilities" : [ "ImageBasic" ]
12290         },
12291         {
12292           "enumerant" : "ImageMipmap",
12293           "value" : 15,
12294           "capabilities" : [ "ImageBasic" ]
12295         },
12296         {
12297           "enumerant" : "Pipes",
12298           "value" : 17,
12299           "capabilities" : [ "Kernel" ]
12300         },
12301         {
12302           "enumerant" : "Groups",
12303           "value" : 18,
12304           "extensions" : [ "SPV_AMD_shader_ballot" ]
12305         },
12306         {
12307           "enumerant" : "DeviceEnqueue",
12308           "value" : 19,
12309           "capabilities" : [ "Kernel" ]
12310         },
12311         {
12312           "enumerant" : "LiteralSampler",
12313           "value" : 20,
12314           "capabilities" : [ "Kernel" ]
12315         },
12316         {
12317           "enumerant" : "AtomicStorage",
12318           "value" : 21,
12319           "capabilities" : [ "Shader" ]
12320         },
12321         {
12322           "enumerant" : "Int16",
12323           "value" : 22
12324         },
12325         {
12326           "enumerant" : "TessellationPointSize",
12327           "value" : 23,
12328           "capabilities" : [ "Tessellation" ]
12329         },
12330         {
12331           "enumerant" : "GeometryPointSize",
12332           "value" : 24,
12333           "capabilities" : [ "Geometry" ]
12334         },
12335         {
12336           "enumerant" : "ImageGatherExtended",
12337           "value" : 25,
12338           "capabilities" : [ "Shader" ]
12339         },
12340         {
12341           "enumerant" : "StorageImageMultisample",
12342           "value" : 27,
12343           "capabilities" : [ "Shader" ]
12344         },
12345         {
12346           "enumerant" : "UniformBufferArrayDynamicIndexing",
12347           "value" : 28,
12348           "capabilities" : [ "Shader" ]
12349         },
12350         {
12351           "enumerant" : "SampledImageArrayDynamicIndexing",
12352           "value" : 29,
12353           "capabilities" : [ "Shader" ]
12354         },
12355         {
12356           "enumerant" : "StorageBufferArrayDynamicIndexing",
12357           "value" : 30,
12358           "capabilities" : [ "Shader" ]
12359         },
12360         {
12361           "enumerant" : "StorageImageArrayDynamicIndexing",
12362           "value" : 31,
12363           "capabilities" : [ "Shader" ]
12364         },
12365         {
12366           "enumerant" : "ClipDistance",
12367           "value" : 32,
12368           "capabilities" : [ "Shader" ]
12369         },
12370         {
12371           "enumerant" : "CullDistance",
12372           "value" : 33,
12373           "capabilities" : [ "Shader" ]
12374         },
12375         {
12376           "enumerant" : "ImageCubeArray",
12377           "value" : 34,
12378           "capabilities" : [ "SampledCubeArray" ]
12379         },
12380         {
12381           "enumerant" : "SampleRateShading",
12382           "value" : 35,
12383           "capabilities" : [ "Shader" ]
12384         },
12385         {
12386           "enumerant" : "ImageRect",
12387           "value" : 36,
12388           "capabilities" : [ "SampledRect" ]
12389         },
12390         {
12391           "enumerant" : "SampledRect",
12392           "value" : 37,
12393           "capabilities" : [ "Shader" ]
12394         },
12395         {
12396           "enumerant" : "GenericPointer",
12397           "value" : 38,
12398           "capabilities" : [ "Addresses" ]
12399         },
12400         {
12401           "enumerant" : "Int8",
12402           "value" : 39
12403         },
12404         {
12405           "enumerant" : "InputAttachment",
12406           "value" : 40,
12407           "capabilities" : [ "Shader" ]
12408         },
12409         {
12410           "enumerant" : "SparseResidency",
12411           "value" : 41,
12412           "capabilities" : [ "Shader" ]
12413         },
12414         {
12415           "enumerant" : "MinLod",
12416           "value" : 42,
12417           "capabilities" : [ "Shader" ]
12418         },
12419         {
12420           "enumerant" : "Sampled1D",
12421           "value" : 43
12422         },
12423         {
12424           "enumerant" : "Image1D",
12425           "value" : 44,
12426           "capabilities" : [ "Sampled1D" ]
12427         },
12428         {
12429           "enumerant" : "SampledCubeArray",
12430           "value" : 45,
12431           "capabilities" : [ "Shader" ]
12432         },
12433         {
12434           "enumerant" : "SampledBuffer",
12435           "value" : 46
12436         },
12437         {
12438           "enumerant" : "ImageBuffer",
12439           "value" : 47,
12440           "capabilities" : [ "SampledBuffer" ]
12441         },
12442         {
12443           "enumerant" : "ImageMSArray",
12444           "value" : 48,
12445           "capabilities" : [ "Shader" ]
12446         },
12447         {
12448           "enumerant" : "StorageImageExtendedFormats",
12449           "value" : 49,
12450           "capabilities" : [ "Shader" ]
12451         },
12452         {
12453           "enumerant" : "ImageQuery",
12454           "value" : 50,
12455           "capabilities" : [ "Shader" ]
12456         },
12457         {
12458           "enumerant" : "DerivativeControl",
12459           "value" : 51,
12460           "capabilities" : [ "Shader" ]
12461         },
12462         {
12463           "enumerant" : "InterpolationFunction",
12464           "value" : 52,
12465           "capabilities" : [ "Shader" ]
12466         },
12467         {
12468           "enumerant" : "TransformFeedback",
12469           "value" : 53,
12470           "capabilities" : [ "Shader" ]
12471         },
12472         {
12473           "enumerant" : "GeometryStreams",
12474           "value" : 54,
12475           "capabilities" : [ "Geometry" ]
12476         },
12477         {
12478           "enumerant" : "StorageImageReadWithoutFormat",
12479           "value" : 55,
12480           "capabilities" : [ "Shader" ]
12481         },
12482         {
12483           "enumerant" : "StorageImageWriteWithoutFormat",
12484           "value" : 56,
12485           "capabilities" : [ "Shader" ]
12486         },
12487         {
12488           "enumerant" : "MultiViewport",
12489           "value" : 57,
12490           "capabilities" : [ "Geometry" ]
12491         },
12492         {
12493           "enumerant" : "SubgroupDispatch",
12494           "value" : 58,
12495           "capabilities" : [ "DeviceEnqueue" ],
12496           "version" : "1.1"
12497         },
12498         {
12499           "enumerant" : "NamedBarrier",
12500           "value" : 59,
12501           "capabilities" : [ "Kernel" ],
12502           "version" : "1.1"
12503         },
12504         {
12505           "enumerant" : "PipeStorage",
12506           "value" : 60,
12507           "capabilities" : [ "Pipes" ],
12508           "version" : "1.1"
12509         },
12510         {
12511           "enumerant" : "GroupNonUniform",
12512           "value" : 61,
12513           "version" : "1.3"
12514         },
12515         {
12516           "enumerant" : "GroupNonUniformVote",
12517           "value" : 62,
12518           "capabilities" : [ "GroupNonUniform" ],
12519           "version" : "1.3"
12520         },
12521         {
12522           "enumerant" : "GroupNonUniformArithmetic",
12523           "value" : 63,
12524           "capabilities" : [ "GroupNonUniform" ],
12525           "version" : "1.3"
12526         },
12527         {
12528           "enumerant" : "GroupNonUniformBallot",
12529           "value" : 64,
12530           "capabilities" : [ "GroupNonUniform" ],
12531           "version" : "1.3"
12532         },
12533         {
12534           "enumerant" : "GroupNonUniformShuffle",
12535           "value" : 65,
12536           "capabilities" : [ "GroupNonUniform" ],
12537           "version" : "1.3"
12538         },
12539         {
12540           "enumerant" : "GroupNonUniformShuffleRelative",
12541           "value" : 66,
12542           "capabilities" : [ "GroupNonUniform" ],
12543           "version" : "1.3"
12544         },
12545         {
12546           "enumerant" : "GroupNonUniformClustered",
12547           "value" : 67,
12548           "capabilities" : [ "GroupNonUniform" ],
12549           "version" : "1.3"
12550         },
12551         {
12552           "enumerant" : "GroupNonUniformQuad",
12553           "value" : 68,
12554           "capabilities" : [ "GroupNonUniform" ],
12555           "version" : "1.3"
12556         },
12557         {
12558           "enumerant" : "ShaderLayer",
12559           "value" : 69,
12560           "version" : "1.5"
12561         },
12562         {
12563           "enumerant" : "ShaderViewportIndex",
12564           "value" : 70,
12565           "version" : "1.5"
12566         },
12567         {
12568           "enumerant" : "FragmentShadingRateKHR",
12569           "value" : 4422,
12570           "capabilities" : [ "Shader" ],
12571           "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
12572           "version" : "None"
12573         },
12574         {
12575           "enumerant" : "SubgroupBallotKHR",
12576           "value" : 4423,
12577           "extensions" : [ "SPV_KHR_shader_ballot" ],
12578           "version" : "None"
12579         },
12580         {
12581           "enumerant" : "DrawParameters",
12582           "value" : 4427,
12583           "capabilities" : [ "Shader" ],
12584           "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
12585           "version" : "1.3"
12586         },
12587         {
12588           "enumerant" : "WorkgroupMemoryExplicitLayoutKHR",
12589           "value" : 4428,
12590           "capabilities" : [ "Shader" ],
12591           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12592           "version" : "None"
12593         },
12594         {
12595           "enumerant" : "WorkgroupMemoryExplicitLayout8BitAccessKHR",
12596           "value" : 4429,
12597           "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ],
12598           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12599           "version" : "None"
12600         },
12601         {
12602           "enumerant" : "WorkgroupMemoryExplicitLayout16BitAccessKHR",
12603           "value" : 4430,
12604           "capabilities" : [ "Shader" ],
12605           "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ],
12606           "version" : "None"
12607         },
12608         {
12609           "enumerant" : "SubgroupVoteKHR",
12610           "value" : 4431,
12611           "extensions" : [ "SPV_KHR_subgroup_vote" ],
12612           "version" : "None"
12613         },
12614         {
12615           "enumerant" : "StorageBuffer16BitAccess",
12616           "value" : 4433,
12617           "extensions" : [ "SPV_KHR_16bit_storage" ],
12618           "version" : "1.3"
12619         },
12620         {
12621           "enumerant" : "StorageUniformBufferBlock16",
12622           "value" : 4433,
12623           "extensions" : [ "SPV_KHR_16bit_storage" ],
12624           "version" : "1.3"
12625         },
12626         {
12627           "enumerant" : "UniformAndStorageBuffer16BitAccess",
12628           "value" : 4434,
12629           "capabilities" : [
12630             "StorageBuffer16BitAccess",
12631             "StorageUniformBufferBlock16"
12632           ],
12633           "extensions" : [ "SPV_KHR_16bit_storage" ],
12634           "version" : "1.3"
12635         },
12636         {
12637           "enumerant" : "StorageUniform16",
12638           "value" : 4434,
12639           "capabilities" : [
12640             "StorageBuffer16BitAccess",
12641             "StorageUniformBufferBlock16"
12642           ],
12643           "extensions" : [ "SPV_KHR_16bit_storage" ],
12644           "version" : "1.3"
12645         },
12646         {
12647           "enumerant" : "StoragePushConstant16",
12648           "value" : 4435,
12649           "extensions" : [ "SPV_KHR_16bit_storage" ],
12650           "version" : "1.3"
12651         },
12652         {
12653           "enumerant" : "StorageInputOutput16",
12654           "value" : 4436,
12655           "extensions" : [ "SPV_KHR_16bit_storage" ],
12656           "version" : "1.3"
12657         },
12658         {
12659           "enumerant" : "DeviceGroup",
12660           "value" : 4437,
12661           "extensions" : [ "SPV_KHR_device_group" ],
12662           "version" : "1.3"
12663         },
12664         {
12665           "enumerant" : "MultiView",
12666           "value" : 4439,
12667           "capabilities" : [ "Shader" ],
12668           "extensions" : [ "SPV_KHR_multiview" ],
12669           "version" : "1.3"
12670         },
12671         {
12672           "enumerant" : "VariablePointersStorageBuffer",
12673           "value" : 4441,
12674           "capabilities" : [ "Shader" ],
12675           "extensions" : [ "SPV_KHR_variable_pointers" ],
12676           "version" : "1.3"
12677         },
12678         {
12679           "enumerant" : "VariablePointers",
12680           "value" : 4442,
12681           "capabilities" : [ "VariablePointersStorageBuffer" ],
12682           "extensions" : [ "SPV_KHR_variable_pointers" ],
12683           "version" : "1.3"
12684         },
12685         {
12686           "enumerant" : "AtomicStorageOps",
12687           "value" : 4445,
12688           "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
12689           "version" : "None"
12690         },
12691         {
12692           "enumerant" : "SampleMaskPostDepthCoverage",
12693           "value" : 4447,
12694           "extensions" : [ "SPV_KHR_post_depth_coverage" ],
12695           "version" : "None"
12696         },
12697         {
12698           "enumerant" : "StorageBuffer8BitAccess",
12699           "value" : 4448,
12700           "extensions" : [ "SPV_KHR_8bit_storage" ],
12701           "version" : "1.5"
12702         },
12703         {
12704           "enumerant" : "UniformAndStorageBuffer8BitAccess",
12705           "value" : 4449,
12706           "capabilities" : [ "StorageBuffer8BitAccess" ],
12707           "extensions" : [ "SPV_KHR_8bit_storage" ],
12708           "version" : "1.5"
12709         },
12710         {
12711           "enumerant" : "StoragePushConstant8",
12712           "value" : 4450,
12713           "extensions" : [ "SPV_KHR_8bit_storage" ],
12714           "version" : "1.5"
12715         },
12716         {
12717           "enumerant" : "DenormPreserve",
12718           "value" : 4464,
12719           "extensions" : [ "SPV_KHR_float_controls" ],
12720           "version" : "1.4"
12721         },
12722         {
12723           "enumerant" : "DenormFlushToZero",
12724           "value" : 4465,
12725           "extensions" : [ "SPV_KHR_float_controls" ],
12726           "version" : "1.4"
12727         },
12728         {
12729           "enumerant" : "SignedZeroInfNanPreserve",
12730           "value" : 4466,
12731           "extensions" : [ "SPV_KHR_float_controls" ],
12732           "version" : "1.4"
12733         },
12734         {
12735           "enumerant" : "RoundingModeRTE",
12736           "value" : 4467,
12737           "extensions" : [ "SPV_KHR_float_controls" ],
12738           "version" : "1.4"
12739         },
12740         {
12741           "enumerant" : "RoundingModeRTZ",
12742           "value" : 4468,
12743           "extensions" : [ "SPV_KHR_float_controls" ],
12744           "version" : "1.4"
12745         },
12746         {
12747           "enumerant" : "RayQueryProvisionalKHR",
12748           "value" : 4471,
12749           "capabilities" : [ "Shader" ],
12750           "extensions" : [ "SPV_KHR_ray_query" ],
12751           "version" : "None"
12752         },
12753         {
12754           "enumerant" : "RayQueryKHR",
12755           "value" : 4472,
12756           "capabilities" : [ "Shader" ],
12757           "extensions" : [ "SPV_KHR_ray_query" ],
12758           "version" : "None"
12759         },
12760         {
12761           "enumerant" : "RayTraversalPrimitiveCullingKHR",
12762           "value" : 4478,
12763           "capabilities" : [ "RayQueryKHR","RayTracingKHR" ],
12764           "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
12765           "version" : "None"
12766         },
12767         {
12768           "enumerant" : "RayTracingKHR",
12769           "value" : 4479,
12770           "capabilities" : [ "Shader" ],
12771           "extensions" : [ "SPV_KHR_ray_tracing" ],
12772           "version" : "None"
12773         },
12774         {
12775           "enumerant" : "Float16ImageAMD",
12776           "value" : 5008,
12777           "capabilities" : [ "Shader" ],
12778           "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
12779           "version" : "None"
12780         },
12781         {
12782           "enumerant" : "ImageGatherBiasLodAMD",
12783           "value" : 5009,
12784           "capabilities" : [ "Shader" ],
12785           "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
12786           "version" : "None"
12787         },
12788         {
12789           "enumerant" : "FragmentMaskAMD",
12790           "value" : 5010,
12791           "capabilities" : [ "Shader" ],
12792           "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
12793           "version" : "None"
12794         },
12795         {
12796           "enumerant" : "StencilExportEXT",
12797           "value" : 5013,
12798           "capabilities" : [ "Shader" ],
12799           "extensions" : [ "SPV_EXT_shader_stencil_export" ],
12800           "version" : "None"
12801         },
12802         {
12803           "enumerant" : "ImageReadWriteLodAMD",
12804           "value" : 5015,
12805           "capabilities" : [ "Shader" ],
12806           "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
12807           "version" : "None"
12808         },
12809         {
12810           "enumerant" : "Int64ImageEXT",
12811           "value" : 5016,
12812           "capabilities" : [ "Shader" ],
12813           "extensions" : [ "SPV_EXT_shader_image_int64" ],
12814           "version" : "None"
12815         },
12816         {
12817           "enumerant" : "ShaderClockKHR",
12818           "value" : 5055,
12819           "capabilities" : [ "Shader" ],
12820           "extensions" : [ "SPV_KHR_shader_clock" ],
12821           "version" : "None"
12822         },
12823         {
12824           "enumerant" : "SampleMaskOverrideCoverageNV",
12825           "value" : 5249,
12826           "capabilities" : [ "SampleRateShading" ],
12827           "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
12828           "version" : "None"
12829         },
12830         {
12831           "enumerant" : "GeometryShaderPassthroughNV",
12832           "value" : 5251,
12833           "capabilities" : [ "Geometry" ],
12834           "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
12835           "version" : "None"
12836         },
12837         {
12838           "enumerant" : "ShaderViewportIndexLayerEXT",
12839           "value" : 5254,
12840           "capabilities" : [ "MultiViewport" ],
12841           "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
12842           "version" : "None"
12843         },
12844         {
12845           "enumerant" : "ShaderViewportIndexLayerNV",
12846           "value" : 5254,
12847           "capabilities" : [ "MultiViewport" ],
12848           "extensions" : [ "SPV_NV_viewport_array2" ],
12849           "version" : "None"
12850         },
12851         {
12852           "enumerant" : "ShaderViewportMaskNV",
12853           "value" : 5255,
12854           "capabilities" : [ "ShaderViewportIndexLayerNV" ],
12855           "extensions" : [ "SPV_NV_viewport_array2" ],
12856           "version" : "None"
12857         },
12858         {
12859           "enumerant" : "ShaderStereoViewNV",
12860           "value" : 5259,
12861           "capabilities" : [ "ShaderViewportMaskNV" ],
12862           "extensions" : [ "SPV_NV_stereo_view_rendering" ],
12863           "version" : "None"
12864         },
12865         {
12866           "enumerant" : "PerViewAttributesNV",
12867           "value" : 5260,
12868           "capabilities" : [ "MultiView" ],
12869           "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
12870           "version" : "None"
12871         },
12872         {
12873           "enumerant" : "FragmentFullyCoveredEXT",
12874           "value" : 5265,
12875           "capabilities" : [ "Shader" ],
12876           "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
12877           "version" : "None"
12878         },
12879         {
12880           "enumerant" : "MeshShadingNV",
12881           "value" : 5266,
12882           "capabilities" : [ "Shader" ],
12883           "extensions" : [ "SPV_NV_mesh_shader" ],
12884           "version" : "None"
12885         },
12886         {
12887           "enumerant" : "ImageFootprintNV",
12888           "value" : 5282,
12889           "extensions" : [ "SPV_NV_shader_image_footprint" ],
12890           "version" : "None"
12891         },
12892         {
12893           "enumerant" : "FragmentBarycentricNV",
12894           "value" : 5284,
12895           "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
12896           "version" : "None"
12897         },
12898         {
12899           "enumerant" : "ComputeDerivativeGroupQuadsNV",
12900           "value" : 5288,
12901           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
12902           "version" : "None"
12903         },
12904         {
12905           "enumerant" : "FragmentDensityEXT",
12906           "value" : 5291,
12907           "capabilities" : [ "Shader" ],
12908           "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
12909           "version" : "None"
12910         },
12911         {
12912           "enumerant" : "ShadingRateNV",
12913           "value" : 5291,
12914           "capabilities" : [ "Shader" ],
12915           "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
12916           "version" : "None"
12917         },
12918         {
12919           "enumerant" : "GroupNonUniformPartitionedNV",
12920           "value" : 5297,
12921           "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
12922           "version" : "None"
12923         },
12924         {
12925           "enumerant" : "ShaderNonUniform",
12926           "value" : 5301,
12927           "capabilities" : [ "Shader" ],
12928           "version" : "1.5"
12929         },
12930         {
12931           "enumerant" : "ShaderNonUniformEXT",
12932           "value" : 5301,
12933           "capabilities" : [ "Shader" ],
12934           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12935           "version" : "1.5"
12936         },
12937         {
12938           "enumerant" : "RuntimeDescriptorArray",
12939           "value" : 5302,
12940           "capabilities" : [ "Shader" ],
12941           "version" : "1.5"
12942         },
12943         {
12944           "enumerant" : "RuntimeDescriptorArrayEXT",
12945           "value" : 5302,
12946           "capabilities" : [ "Shader" ],
12947           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12948           "version" : "1.5"
12949         },
12950         {
12951           "enumerant" : "InputAttachmentArrayDynamicIndexing",
12952           "value" : 5303,
12953           "capabilities" : [ "InputAttachment" ],
12954           "version" : "1.5"
12955         },
12956         {
12957           "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
12958           "value" : 5303,
12959           "capabilities" : [ "InputAttachment" ],
12960           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12961           "version" : "1.5"
12962         },
12963         {
12964           "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
12965           "value" : 5304,
12966           "capabilities" : [ "SampledBuffer" ],
12967           "version" : "1.5"
12968         },
12969         {
12970           "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
12971           "value" : 5304,
12972           "capabilities" : [ "SampledBuffer" ],
12973           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12974           "version" : "1.5"
12975         },
12976         {
12977           "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
12978           "value" : 5305,
12979           "capabilities" : [ "ImageBuffer" ],
12980           "version" : "1.5"
12981         },
12982         {
12983           "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
12984           "value" : 5305,
12985           "capabilities" : [ "ImageBuffer" ],
12986           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
12987           "version" : "1.5"
12988         },
12989         {
12990           "enumerant" : "UniformBufferArrayNonUniformIndexing",
12991           "value" : 5306,
12992           "capabilities" : [ "ShaderNonUniform" ],
12993           "version" : "1.5"
12994         },
12995         {
12996           "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
12997           "value" : 5306,
12998           "capabilities" : [ "ShaderNonUniform" ],
12999           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13000           "version" : "1.5"
13001         },
13002         {
13003           "enumerant" : "SampledImageArrayNonUniformIndexing",
13004           "value" : 5307,
13005           "capabilities" : [ "ShaderNonUniform" ],
13006           "version" : "1.5"
13007         },
13008         {
13009           "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
13010           "value" : 5307,
13011           "capabilities" : [ "ShaderNonUniform" ],
13012           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13013           "version" : "1.5"
13014         },
13015         {
13016           "enumerant" : "StorageBufferArrayNonUniformIndexing",
13017           "value" : 5308,
13018           "capabilities" : [ "ShaderNonUniform" ],
13019           "version" : "1.5"
13020         },
13021         {
13022           "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
13023           "value" : 5308,
13024           "capabilities" : [ "ShaderNonUniform" ],
13025           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13026           "version" : "1.5"
13027         },
13028         {
13029           "enumerant" : "StorageImageArrayNonUniformIndexing",
13030           "value" : 5309,
13031           "capabilities" : [ "ShaderNonUniform" ],
13032           "version" : "1.5"
13033         },
13034         {
13035           "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
13036           "value" : 5309,
13037           "capabilities" : [ "ShaderNonUniform" ],
13038           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13039           "version" : "1.5"
13040         },
13041         {
13042           "enumerant" : "InputAttachmentArrayNonUniformIndexing",
13043           "value" : 5310,
13044           "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
13045           "version" : "1.5"
13046         },
13047         {
13048           "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
13049           "value" : 5310,
13050           "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
13051           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13052           "version" : "1.5"
13053         },
13054         {
13055           "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
13056           "value" : 5311,
13057           "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
13058           "version" : "1.5"
13059         },
13060         {
13061           "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
13062           "value" : 5311,
13063           "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
13064           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13065           "version" : "1.5"
13066         },
13067         {
13068           "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
13069           "value" : 5312,
13070           "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
13071           "version" : "1.5"
13072         },
13073         {
13074           "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
13075           "value" : 5312,
13076           "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
13077           "extensions" : [ "SPV_EXT_descriptor_indexing" ],
13078           "version" : "1.5"
13079         },
13080         {
13081           "enumerant" : "RayTracingNV",
13082           "value" : 5340,
13083           "capabilities" : [ "Shader" ],
13084           "extensions" : [ "SPV_NV_ray_tracing" ],
13085           "version" : "None"
13086         },
13087         {
13088           "enumerant" : "VulkanMemoryModel",
13089           "value" : 5345,
13090           "version" : "1.5"
13091         },
13092         {
13093           "enumerant" : "VulkanMemoryModelKHR",
13094           "value" : 5345,
13095           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
13096           "version" : "1.5"
13097         },
13098         {
13099           "enumerant" : "VulkanMemoryModelDeviceScope",
13100           "value" : 5346,
13101           "version" : "1.5"
13102         },
13103         {
13104           "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
13105           "value" : 5346,
13106           "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
13107           "version" : "1.5"
13108         },
13109         {
13110           "enumerant" : "PhysicalStorageBufferAddresses",
13111           "value" : 5347,
13112           "capabilities" : [ "Shader" ],
13113           "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
13114           "version" : "1.5"
13115         },
13116         {
13117           "enumerant" : "PhysicalStorageBufferAddressesEXT",
13118           "value" : 5347,
13119           "capabilities" : [ "Shader" ],
13120           "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
13121           "version" : "1.5"
13122         },
13123         {
13124           "enumerant" : "ComputeDerivativeGroupLinearNV",
13125           "value" : 5350,
13126           "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
13127           "version" : "None"
13128         },
13129         {
13130           "enumerant" : "RayTracingProvisionalKHR",
13131           "value" : 5353,
13132           "capabilities" : [ "Shader" ],
13133           "extensions" : [ "SPV_KHR_ray_tracing" ],
13134           "version" : "None"
13135         },
13136         {
13137           "enumerant" : "CooperativeMatrixNV",
13138           "value" : 5357,
13139           "capabilities" : [ "Shader" ],
13140           "extensions" : [ "SPV_NV_cooperative_matrix" ],
13141           "version" : "None"
13142         },
13143         {
13144           "enumerant" : "FragmentShaderSampleInterlockEXT",
13145           "value" : 5363,
13146           "capabilities" : [ "Shader" ],
13147           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13148           "version" : "None"
13149         },
13150         {
13151           "enumerant" : "FragmentShaderShadingRateInterlockEXT",
13152           "value" : 5372,
13153           "capabilities" : [ "Shader" ],
13154           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13155           "version" : "None"
13156         },
13157         {
13158           "enumerant" : "ShaderSMBuiltinsNV",
13159           "value" : 5373,
13160           "capabilities" : [ "Shader" ],
13161           "extensions" : [ "SPV_NV_shader_sm_builtins" ],
13162           "version" : "None"
13163         },
13164         {
13165           "enumerant" : "FragmentShaderPixelInterlockEXT",
13166           "value" : 5378,
13167           "capabilities" : [ "Shader" ],
13168           "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
13169           "version" : "None"
13170         },
13171         {
13172           "enumerant" : "DemoteToHelperInvocationEXT",
13173           "value" : 5379,
13174           "capabilities" : [ "Shader" ],
13175           "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
13176           "version" : "None"
13177         },
13178         {
13179           "enumerant" : "SubgroupShuffleINTEL",
13180           "value" : 5568,
13181           "extensions" : [ "SPV_INTEL_subgroups" ],
13182           "version" : "None"
13183         },
13184         {
13185           "enumerant" : "SubgroupBufferBlockIOINTEL",
13186           "value" : 5569,
13187           "extensions" : [ "SPV_INTEL_subgroups" ],
13188           "version" : "None"
13189         },
13190         {
13191           "enumerant" : "SubgroupImageBlockIOINTEL",
13192           "value" : 5570,
13193           "extensions" : [ "SPV_INTEL_subgroups" ],
13194           "version" : "None"
13195         },
13196         {
13197           "enumerant" : "SubgroupImageMediaBlockIOINTEL",
13198           "value" : 5579,
13199           "extensions" : [ "SPV_INTEL_media_block_io" ],
13200           "version" : "None"
13201         },
13202         {
13203           "enumerant" : "RoundToInfinityINTEL",
13204           "value" : 5582,
13205           "extensions" : [ "SPV_INTEL_float_controls2" ],
13206           "version" : "None"
13207         },
13208         {
13209           "enumerant" : "FloatingPointModeINTEL",
13210           "value" : 5583,
13211           "extensions" : [ "SPV_INTEL_float_controls2" ],
13212           "version" : "None"
13213         },
13214         {
13215           "enumerant" : "IntegerFunctions2INTEL",
13216           "value" : 5584,
13217           "capabilities" : [ "Shader" ],
13218           "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
13219           "version" : "None"
13220         },
13221         {
13222           "enumerant" : "FunctionPointersINTEL",
13223           "value" : 5603,
13224           "extensions" : [ "SPV_INTEL_function_pointers" ],
13225           "version" : "None"
13226         },
13227         {
13228           "enumerant" : "IndirectReferencesINTEL",
13229           "value" : 5604,
13230           "extensions" : [ "SPV_INTEL_function_pointers" ],
13231           "version" : "None"
13232         },
13233         {
13234           "enumerant" : "AsmINTEL",
13235           "value" : 5606,
13236           "extensions" : [ "SPV_INTEL_inline_assembly" ],
13237           "version" : "None"
13238         },
13239         {
13240           "enumerant" : "AtomicFloat32MinMaxEXT",
13241           "value" : 5612,
13242           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13243           "version" : "None"
13244         },
13245         {
13246           "enumerant" : "AtomicFloat64MinMaxEXT",
13247           "value" : 5613,
13248           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13249           "version" : "None"
13250         },
13251         {
13252           "enumerant" : "AtomicFloat16MinMaxEXT",
13253           "value" : 5616,
13254           "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ],
13255           "version" : "None"
13256         },
13257         {
13258           "enumerant" : "VectorComputeINTEL",
13259           "value" : 5617,
13260           "capabilities" : [ "VectorAnyINTEL" ],
13261           "extensions" : [ "SPV_INTEL_vector_compute" ],
13262           "version" : "None"
13263         },
13264         {
13265           "enumerant" : "VectorAnyINTEL",
13266           "value" : 5619,
13267           "extensions" : [ "SPV_INTEL_vector_compute" ],
13268           "version" : "None"
13269         },
13270         {
13271           "enumerant" : "ExpectAssumeKHR",
13272           "value" : 5629,
13273           "extensions" : [ "SPV_KHR_expect_assume" ],
13274           "version" : "None"
13275         },
13276         {
13277           "enumerant" : "SubgroupAvcMotionEstimationINTEL",
13278           "value" : 5696,
13279           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13280           "version" : "None"
13281         },
13282         {
13283           "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
13284           "value" : 5697,
13285           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13286           "version" : "None"
13287         },
13288         {
13289           "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
13290           "value" : 5698,
13291           "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
13292           "version" : "None"
13293         },
13294         {
13295           "enumerant" : "VariableLengthArrayINTEL",
13296           "value" : 5817,
13297           "extensions" : [ "SPV_INTEL_variable_length_array" ],
13298           "version" : "None"
13299         },
13300         {
13301           "enumerant" : "FunctionFloatControlINTEL",
13302           "value" : 5821,
13303           "extensions" : [ "SPV_INTEL_float_controls2" ],
13304           "version" : "None"
13305         },
13306         {
13307           "enumerant" : "FPGAMemoryAttributesINTEL",
13308           "value" : 5824,
13309           "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
13310           "version" : "None"
13311         },
13312         {
13313           "enumerant" : "FPFastMathModeINTEL",
13314           "value" : 5837,
13315           "capabilities" : [ "Kernel" ],
13316           "extensions" : [ "SPV_INTEL_fp_fast_math_mode" ],
13317           "version" : "None"
13318         },
13319         {
13320           "enumerant" : "ArbitraryPrecisionIntegersINTEL",
13321           "value" : 5844,
13322           "extensions" : [ "SPV_INTEL_arbitrary_precision_integers" ],
13323           "version" : "None"
13324         },
13325         {
13326           "enumerant" : "ArbitraryPrecisionFloatingPointINTEL",
13327           "value" : 5845,
13328           "extensions" : [ "SPV_INTEL_arbitrary_precision_floating_point" ],
13329           "version" : "None"
13330         },
13331         {
13332           "enumerant" : "UnstructuredLoopControlsINTEL",
13333           "value" : 5886,
13334           "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
13335           "version" : "None"
13336         },
13337         {
13338           "enumerant" : "FPGALoopControlsINTEL",
13339           "value" : 5888,
13340           "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
13341           "version" : "None"
13342         },
13343         {
13344           "enumerant" : "KernelAttributesINTEL",
13345           "value" : 5892,
13346           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
13347           "version" : "None"
13348         },
13349         {
13350           "enumerant" : "FPGAKernelAttributesINTEL",
13351           "value" : 5897,
13352           "extensions" : [ "SPV_INTEL_kernel_attributes" ],
13353           "version" : "None"
13354         },
13355         {
13356           "enumerant" : "FPGAMemoryAccessesINTEL",
13357           "value" : 5898,
13358           "extensions" : [ "SPV_INTEL_fpga_memory_accesses" ],
13359           "version" : "None"
13360         },
13361         {
13362           "enumerant" : "FPGAClusterAttributesINTEL",
13363           "value" : 5904,
13364           "extensions" : [ "SPV_INTEL_fpga_cluster_attributes" ],
13365           "version" : "None"
13366         },
13367         {
13368           "enumerant" : "LoopFuseINTEL",
13369           "value" : 5906,
13370           "extensions" : [ "SPV_INTEL_loop_fuse" ],
13371           "version" : "None"
13372         },
13373         {
13374           "enumerant" : "FPGABufferLocationINTEL",
13375           "value" : 5920,
13376           "extensions" : [ "SPV_INTEL_fpga_buffer_location" ],
13377           "version" : "None"
13378         },
13379         {
13380           "enumerant" : "ArbitraryPrecisionFixedPointINTEL",
13381           "value" : 5922,
13382           "extensions" : [ "SPV_INTEL_arbitrary_precision_fixed_point" ],
13383           "version" : "None"
13384         },
13385         {
13386           "enumerant" : "USMStorageClassesINTEL",
13387           "value" : 5935,
13388           "extensions" : [ "SPV_INTEL_usm_storage_classes" ],
13389           "version" : "None"
13390         },
13391         {
13392           "enumerant" : "IOPipesINTEL",
13393           "value" : 5943,
13394           "extensions" : [ "SPV_INTEL_io_pipes" ],
13395           "version" : "None"
13396         },
13397         {
13398           "enumerant" : "BlockingPipesINTEL",
13399           "value" : 5945,
13400           "extensions" : [ "SPV_INTEL_blocking_pipes" ],
13401           "version" : "None"
13402         },
13403         {
13404           "enumerant" : "FPGARegINTEL",
13405           "value" : 5948,
13406           "extensions" : [ "SPV_INTEL_fpga_reg" ],
13407           "version" : "None"
13408         },
13409         {
13410           "enumerant" : "DotProductInputAllKHR",
13411           "value" : 6016,
13412           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13413           "version" : "None"
13414         },
13415         {
13416           "enumerant" : "DotProductInput4x8BitKHR",
13417           "value" : 6017,
13418           "capabilities" : [ "Int8" ],
13419           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13420           "version" : "None"
13421         },
13422         {
13423           "enumerant" : "DotProductInput4x8BitPackedKHR",
13424           "value" : 6018,
13425           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13426           "version" : "None"
13427         },
13428         {
13429           "enumerant" : "DotProductKHR",
13430           "value" : 6019,
13431           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13432           "version" : "None"
13433         },
13434         {
13435           "enumerant" : "BitInstructions",
13436           "value" : 6025,
13437           "extensions" : [ "SPV_KHR_bit_instructions" ],
13438           "version" : "None"
13439         },
13440         {
13441           "enumerant" : "AtomicFloat32AddEXT",
13442           "value" : 6033,
13443           "capabilities" : [ "Shader" ],
13444           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
13445           "version" : "None"
13446         },
13447         {
13448           "enumerant" : "AtomicFloat64AddEXT",
13449           "value" : 6034,
13450           "capabilities" : [ "Shader" ],
13451           "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
13452           "version" : "None"
13453         },
13454         {
13455           "enumerant" : "LongConstantCompositeINTEL",
13456           "value" : 6089,
13457           "extensions" : [ "SPV_INTEL_long_constant_composite" ],
13458           "version" : "None"
13459         },
13460         {
13461           "enumerant" : "OptNoneINTEL",
13462           "value" : 6094,
13463           "extensions" : [ "SPV_INTEL_optnone" ],
13464           "version" : "None"
13465         },
13466         {
13467           "enumerant" : "AtomicFloat16AddEXT",
13468           "value" : 6095,
13469           "capabilities" : [ "Shader" ],
13470           "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ],
13471           "version" : "None"
13472         },
13473         {
13474           "enumerant" : "DebugInfoModuleINTEL",
13475           "value" : 6114,
13476           "extensions" : [ "SPV_INTEL_debug_module" ],
13477           "version" : "None"
13478         }
13479       ]
13480     },
13481     {
13482       "category" : "ValueEnum",
13483       "kind" : "RayQueryIntersection",
13484       "enumerants" : [
13485         {
13486           "enumerant" : "RayQueryCandidateIntersectionKHR",
13487           "value" : 0,
13488           "capabilities" : [ "RayQueryKHR" ],
13489           "version" : "None"
13490         },
13491         {
13492           "enumerant" : "RayQueryCommittedIntersectionKHR",
13493           "value" : 1,
13494           "capabilities" : [ "RayQueryKHR" ],
13495           "version" : "None"
13496         }
13497       ]
13498     },
13499     {
13500       "category" : "ValueEnum",
13501       "kind" : "RayQueryCommittedIntersectionType",
13502       "enumerants" : [
13503         {
13504           "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
13505           "value" : 0,
13506           "capabilities" : [ "RayQueryKHR" ],
13507           "version" : "None"
13508         },
13509         {
13510           "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
13511           "value" : 1,
13512           "capabilities" : [ "RayQueryKHR" ],
13513           "version" : "None"
13514         },
13515         {
13516           "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
13517           "value" : 2,
13518           "capabilities" : [ "RayQueryKHR" ],
13519           "version" : "None"
13520         }
13521       ]
13522     },
13523     {
13524       "category" : "ValueEnum",
13525       "kind" : "RayQueryCandidateIntersectionType",
13526       "enumerants" : [
13527         {
13528           "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
13529           "value" : 0,
13530           "capabilities" : [ "RayQueryKHR" ],
13531           "version" : "None"
13532         },
13533         {
13534           "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
13535           "value" : 1,
13536           "capabilities" : [ "RayQueryKHR" ],
13537           "version" : "None"
13538         }
13539       ]
13540     },
13541     {
13542       "category" : "ValueEnum",
13543       "kind" : "PackedVectorFormat",
13544       "enumerants" : [
13545         {
13546           "enumerant" : "PackedVectorFormat4x8BitKHR",
13547           "value" : 0,
13548           "extensions" : [ "SPV_KHR_integer_dot_product" ],
13549           "version" : "None"
13550         }
13551       ]
13552     },
13553     {
13554       "category" : "Id",
13555       "kind" : "IdResultType",
13556       "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
13557     },
13558     {
13559       "category" : "Id",
13560       "kind" : "IdResult",
13561       "doc" : "Definition of an <id> representing the result of the enclosing instruction"
13562     },
13563     {
13564       "category" : "Id",
13565       "kind" : "IdMemorySemantics",
13566       "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
13567     },
13568     {
13569       "category" : "Id",
13570       "kind" : "IdScope",
13571       "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
13572     },
13573     {
13574       "category" : "Id",
13575       "kind" : "IdRef",
13576       "doc" : "Reference to an <id>"
13577     },
13578     {
13579       "category" : "Literal",
13580       "kind" : "LiteralInteger",
13581       "doc" : "An integer consuming one or more words"
13582     },
13583     {
13584       "category" : "Literal",
13585       "kind" : "LiteralString",
13586       "doc" : "A null-terminated stream of characters consuming an integral number of words"
13587     },
13588     {
13589       "category" : "Literal",
13590       "kind" : "LiteralContextDependentNumber",
13591       "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
13592     },
13593     {
13594       "category" : "Literal",
13595       "kind" : "LiteralExtInstInteger",
13596       "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
13597     },
13598     {
13599       "category" : "Literal",
13600       "kind" : "LiteralSpecConstantOpInteger",
13601       "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
13602     },
13603     {
13604       "category" : "Composite",
13605       "kind" : "PairLiteralIntegerIdRef",
13606       "bases" : [ "LiteralInteger", "IdRef" ]
13607     },
13608     {
13609       "category" : "Composite",
13610       "kind" : "PairIdRefLiteralInteger",
13611       "bases" : [ "IdRef", "LiteralInteger" ]
13612     },
13613     {
13614       "category" : "Composite",
13615       "kind" : "PairIdRefIdRef",
13616       "bases" : [ "IdRef", "IdRef" ]
13617     }
13618   ]
13619 }