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