1{
2  "copyright" : [
3    "Copyright (c) 2014-2020 The Khronos Group Inc.",
4    "",
5    "Permission is hereby granted, free of charge, to any person obtaining a copy",
6    "of this software and/or associated documentation files (the \"Materials\"),",
7    "to deal in the Materials without restriction, including without limitation",
8    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
9    "and/or sell copies of the Materials, and to permit persons to whom the",
10    "Materials are furnished to do so, subject to the following conditions:",
11    "",
12    "The above copyright notice and this permission notice shall be included in",
13    "all copies or substantial portions of the Materials.",
14    "",
15    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
16    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
17    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
18    "",
19    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
20    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
21    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
22    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
23    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
24    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
25    "IN THE MATERIALS."
26  ],
27  "magic_number" : "0x07230203",
28  "major_version" : 1,
29  "minor_version" : 5,
30  "revision" : 4,
31  "instruction_printing_class" : [
32    {
33      "tag"     : "@exclude"
34    },
35    {
36      "tag"     : "Miscellaneous",
37      "heading" : "Miscellaneous Instructions"
38    },
39    {
40      "tag"     : "Debug",
41      "heading" : "Debug Instructions"
42    },
43    {
44      "tag"     : "Annotation",
45      "heading" : "Annotation Instructions"
46    },
47    {
48      "tag"     : "Extension",
49      "heading" : "Extension Instructions"
50    },
51    {
52      "tag"     : "Mode-Setting",
53      "heading" : "Mode-Setting Instructions"
54    },
55    {
56      "tag"     : "Type-Declaration",
57      "heading" : "Type-Declaration Instructions"
58    },
59    {
60      "tag"     : "Constant-Creation",
61      "heading" : "Constant-Creation Instructions"
62    },
63    {
64      "tag"     : "Memory",
65      "heading" : "Memory Instructions"
66    },
67    {
68      "tag"     : "Function",
69      "heading" : "Function Instructions"
70    },
71    {
72      "tag"     : "Image",
73      "heading" : "Image Instructions"
74    },
75    {
76      "tag"     : "Conversion",
77      "heading" : "Conversion Instructions"
78    },
79    {
80      "tag"     : "Composite",
81      "heading" : "Composite Instructions"
82    },
83    {
84      "tag"     : "Arithmetic",
85      "heading" : "Arithmetic Instructions"
86    },
87    {
88      "tag"     : "Bit",
89      "heading" : "Bit Instructions"
90    },
91    {
92      "tag"     : "Relational_and_Logical",
93      "heading" : "Relational and Logical Instructions"
94    },
95    {
96      "tag"     : "Derivative",
97      "heading" : "Derivative Instructions"
98    },
99    {
100      "tag"     : "Control-Flow",
101      "heading" : "Control-Flow Instructions"
102    },
103    {
104      "tag"     : "Atomic",
105      "heading" : "Atomic Instructions"
106    },
107    {
108      "tag"     : "Primitive",
109      "heading" : "Primitive Instructions"
110    },
111    {
112      "tag"     : "Barrier",
113      "heading" : "Barrier Instructions"
114    },
115    {
116      "tag"     : "Group",
117      "heading" : "Group and Subgroup Instructions"
118    },
119    {
120      "tag"     : "Device-Side_Enqueue",
121      "heading" : "Device-Side Enqueue Instructions"
122    },
123    {
124      "tag"     : "Pipe",
125      "heading" : "Pipe Instructions"
126    },
127    {
128      "tag"     : "Non-Uniform",
129      "heading" : "Non-Uniform Instructions"
130    },
131    {
132      "tag"     : "Reserved",
133      "heading" : "Reserved Instructions"
134    }
135  ],
136  "instructions" : [
137    {
138      "opname" : "OpNop",
139      "class"  : "Miscellaneous",
140      "opcode" : 0
141    },
142    {
143      "opname" : "OpUndef",
144      "class"  : "Miscellaneous",
145      "opcode" : 1,
146      "operands" : [
147        { "kind" : "IdResultType" },
148        { "kind" : "IdResult" }
149      ]
150    },
151    {
152      "opname" : "OpSourceContinued",
153      "class"  : "Debug",
154      "opcode" : 2,
155      "operands" : [
156        { "kind" : "LiteralString", "name" : "'Continued Source'" }
157      ]
158    },
159    {
160      "opname" : "OpSource",
161      "class"  : "Debug",
162      "opcode" : 3,
163      "operands" : [
164        { "kind" : "SourceLanguage" },
165        { "kind" : "LiteralInteger",                     "name" : "'Version'" },
166        { "kind" : "IdRef",          "quantifier" : "?", "name" : "'File'" },
167        { "kind" : "LiteralString",  "quantifier" : "?", "name" : "'Source'" }
168      ]
169    },
170    {
171      "opname" : "OpSourceExtension",
172      "class"  : "Debug",
173      "opcode" : 4,
174      "operands" : [
175        { "kind" : "LiteralString", "name" : "'Extension'" }
176      ]
177    },
178    {
179      "opname" : "OpName",
180      "class"  : "Debug",
181      "opcode" : 5,
182      "operands" : [
183        { "kind" : "IdRef",         "name" : "'Target'" },
184        { "kind" : "LiteralString", "name" : "'Name'" }
185      ]
186    },
187    {
188      "opname" : "OpMemberName",
189      "class"  : "Debug",
190      "opcode" : 6,
191      "operands" : [
192        { "kind" : "IdRef",          "name" : "'Type'" },
193        { "kind" : "LiteralInteger", "name" : "'Member'" },
194        { "kind" : "LiteralString",  "name" : "'Name'" }
195      ]
196    },
197    {
198      "opname" : "OpString",
199      "class"  : "Debug",
200      "opcode" : 7,
201      "operands" : [
202        { "kind" : "IdResult" },
203        { "kind" : "LiteralString", "name" : "'String'" }
204      ]
205    },
206    {
207      "opname" : "OpLine",
208      "class"  : "Debug",
209      "opcode" : 8,
210      "operands" : [
211        { "kind" : "IdRef",          "name" : "'File'" },
212        { "kind" : "LiteralInteger", "name" : "'Line'" },
213        { "kind" : "LiteralInteger", "name" : "'Column'" }
214      ]
215    },
216    {
217      "opname" : "OpExtension",
218      "class"  : "Extension",
219      "opcode" : 10,
220      "operands" : [
221        { "kind" : "LiteralString", "name" : "'Name'" }
222      ]
223    },
224    {
225      "opname" : "OpExtInstImport",
226      "class"  : "Extension",
227      "opcode" : 11,
228      "operands" : [
229        { "kind" : "IdResult" },
230        { "kind" : "LiteralString", "name" : "'Name'" }
231      ]
232    },
233    {
234      "opname" : "OpExtInst",
235      "class"  : "Extension",
236      "opcode" : 12,
237      "operands" : [
238        { "kind" : "IdResultType" },
239        { "kind" : "IdResult" },
240        { "kind" : "IdRef",                                     "name" : "'Set'" },
241        { "kind" : "LiteralExtInstInteger",                     "name" : "'Instruction'" },
242        { "kind" : "IdRef",                 "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
243      ]
244    },
245    {
246      "opname" : "OpMemoryModel",
247      "class"  : "Mode-Setting",
248      "opcode" : 14,
249      "operands" : [
250        { "kind" : "AddressingModel" },
251        { "kind" : "MemoryModel" }
252      ]
253    },
254    {
255      "opname" : "OpEntryPoint",
256      "class"  : "Mode-Setting",
257      "opcode" : 15,
258      "operands" : [
259        { "kind" : "ExecutionModel" },
260        { "kind" : "IdRef",                              "name" : "'Entry Point'" },
261        { "kind" : "LiteralString",                      "name" : "'Name'" },
262        { "kind" : "IdRef",          "quantifier" : "*", "name" : "'Interface'" }
263      ]
264    },
265    {
266      "opname" : "OpExecutionMode",
267      "class"  : "Mode-Setting",
268      "opcode" : 16,
269      "operands" : [
270        { "kind" : "IdRef",         "name" : "'Entry Point'" },
271        { "kind" : "ExecutionMode", "name" : "'Mode'" }
272      ]
273    },
274    {
275      "opname" : "OpCapability",
276      "class"  : "Mode-Setting",
277      "opcode" : 17,
278      "operands" : [
279        { "kind" : "Capability", "name" : "'Capability'" }
280      ]
281    },
282    {
283      "opname" : "OpTypeVoid",
284      "class"  : "Type-Declaration",
285      "opcode" : 19,
286      "operands" : [
287        { "kind" : "IdResult" }
288      ]
289    },
290    {
291      "opname" : "OpTypeBool",
292      "class"  : "Type-Declaration",
293      "opcode" : 20,
294      "operands" : [
295        { "kind" : "IdResult" }
296      ]
297    },
298    {
299      "opname" : "OpTypeInt",
300      "class"  : "Type-Declaration",
301      "opcode" : 21,
302      "operands" : [
303        { "kind" : "IdResult" },
304        { "kind" : "LiteralInteger", "name" : "'Width'" },
305        { "kind" : "LiteralInteger", "name" : "'Signedness'" }
306      ]
307    },
308    {
309      "opname" : "OpTypeFloat",
310      "class"  : "Type-Declaration",
311      "opcode" : 22,
312      "operands" : [
313        { "kind" : "IdResult" },
314        { "kind" : "LiteralInteger", "name" : "'Width'" }
315      ]
316    },
317    {
318      "opname" : "OpTypeVector",
319      "class"  : "Type-Declaration",
320      "opcode" : 23,
321      "operands" : [
322        { "kind" : "IdResult" },
323        { "kind" : "IdRef",          "name" : "'Component Type'" },
324        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
325      ]
326    },
327    {
328      "opname" : "OpTypeMatrix",
329      "class"  : "Type-Declaration",
330      "opcode" : 24,
331      "operands" : [
332        { "kind" : "IdResult" },
333        { "kind" : "IdRef",          "name" : "'Column Type'" },
334        { "kind" : "LiteralInteger", "name" : "'Column Count'" }
335      ],
336      "capabilities" : [ "Matrix" ]
337    },
338    {
339      "opname" : "OpTypeImage",
340      "class"  : "Type-Declaration",
341      "opcode" : 25,
342      "operands" : [
343        { "kind" : "IdResult" },
344        { "kind" : "IdRef",                               "name" : "'Sampled Type'" },
345        { "kind" : "Dim" },
346        { "kind" : "LiteralInteger",                      "name" : "'Depth'" },
347        { "kind" : "LiteralInteger",                      "name" : "'Arrayed'" },
348        { "kind" : "LiteralInteger",                      "name" : "'MS'" },
349        { "kind" : "LiteralInteger",                      "name" : "'Sampled'" },
350        { "kind" : "ImageFormat" },
351        { "kind" : "AccessQualifier", "quantifier" : "?" }
352      ]
353    },
354    {
355      "opname" : "OpTypeSampler",
356      "class"  : "Type-Declaration",
357      "opcode" : 26,
358      "operands" : [
359        { "kind" : "IdResult" }
360      ]
361    },
362    {
363      "opname" : "OpTypeSampledImage",
364      "class"  : "Type-Declaration",
365      "opcode" : 27,
366      "operands" : [
367        { "kind" : "IdResult" },
368        { "kind" : "IdRef",    "name" : "'Image Type'" }
369      ]
370    },
371    {
372      "opname" : "OpTypeArray",
373      "class"  : "Type-Declaration",
374      "opcode" : 28,
375      "operands" : [
376        { "kind" : "IdResult" },
377        { "kind" : "IdRef",    "name" : "'Element Type'" },
378        { "kind" : "IdRef",    "name" : "'Length'" }
379      ]
380    },
381    {
382      "opname" : "OpTypeRuntimeArray",
383      "class"  : "Type-Declaration",
384      "opcode" : 29,
385      "operands" : [
386        { "kind" : "IdResult" },
387        { "kind" : "IdRef",    "name" : "'Element Type'" }
388      ],
389      "capabilities" : [ "Shader" ]
390    },
391    {
392      "opname" : "OpTypeStruct",
393      "class"  : "Type-Declaration",
394      "opcode" : 30,
395      "operands" : [
396        { "kind" : "IdResult" },
397        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
398      ]
399    },
400    {
401      "opname" : "OpTypeOpaque",
402      "class"  : "Type-Declaration",
403      "opcode" : 31,
404      "operands" : [
405        { "kind" : "IdResult" },
406        { "kind" : "LiteralString", "name" : "The name of the opaque type." }
407      ],
408      "capabilities" : [ "Kernel" ]
409    },
410    {
411      "opname" : "OpTypePointer",
412      "class"  : "Type-Declaration",
413      "opcode" : 32,
414      "operands" : [
415        { "kind" : "IdResult" },
416        { "kind" : "StorageClass" },
417        { "kind" : "IdRef",        "name" : "'Type'" }
418      ]
419    },
420    {
421      "opname" : "OpTypeFunction",
422      "class"  : "Type-Declaration",
423      "opcode" : 33,
424      "operands" : [
425        { "kind" : "IdResult" },
426        { "kind" : "IdRef",                        "name" : "'Return Type'" },
427        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
428      ]
429    },
430    {
431      "opname" : "OpTypeEvent",
432      "class"  : "Type-Declaration",
433      "opcode" : 34,
434      "operands" : [
435        { "kind" : "IdResult" }
436      ],
437      "capabilities" : [ "Kernel" ]
438    },
439    {
440      "opname" : "OpTypeDeviceEvent",
441      "class"  : "Type-Declaration",
442      "opcode" : 35,
443      "operands" : [
444        { "kind" : "IdResult" }
445      ],
446      "capabilities" : [ "DeviceEnqueue" ]
447    },
448    {
449      "opname" : "OpTypeReserveId",
450      "class"  : "Type-Declaration",
451      "opcode" : 36,
452      "operands" : [
453        { "kind" : "IdResult" }
454      ],
455      "capabilities" : [ "Pipes" ]
456    },
457    {
458      "opname" : "OpTypeQueue",
459      "class"  : "Type-Declaration",
460      "opcode" : 37,
461      "operands" : [
462        { "kind" : "IdResult" }
463      ],
464      "capabilities" : [ "DeviceEnqueue" ]
465    },
466    {
467      "opname" : "OpTypePipe",
468      "class"  : "Type-Declaration",
469      "opcode" : 38,
470      "operands" : [
471        { "kind" : "IdResult" },
472        { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
473      ],
474      "capabilities" : [ "Pipes" ]
475    },
476    {
477      "opname" : "OpTypeForwardPointer",
478      "class"  : "Type-Declaration",
479      "opcode" : 39,
480      "operands" : [
481        { "kind" : "IdRef",        "name" : "'Pointer Type'" },
482        { "kind" : "StorageClass" }
483      ],
484      "capabilities" : [
485        "Addresses",
486        "PhysicalStorageBufferAddresses"
487      ]
488    },
489    {
490      "opname" : "OpConstantTrue",
491      "class"  : "Constant-Creation",
492      "opcode" : 41,
493      "operands" : [
494        { "kind" : "IdResultType" },
495        { "kind" : "IdResult" }
496      ]
497    },
498    {
499      "opname" : "OpConstantFalse",
500      "class"  : "Constant-Creation",
501      "opcode" : 42,
502      "operands" : [
503        { "kind" : "IdResultType" },
504        { "kind" : "IdResult" }
505      ]
506    },
507    {
508      "opname" : "OpConstant",
509      "class"  : "Constant-Creation",
510      "opcode" : 43,
511      "operands" : [
512        { "kind" : "IdResultType" },
513        { "kind" : "IdResult" },
514        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
515      ]
516    },
517    {
518      "opname" : "OpConstantComposite",
519      "class"  : "Constant-Creation",
520      "opcode" : 44,
521      "operands" : [
522        { "kind" : "IdResultType" },
523        { "kind" : "IdResult" },
524        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
525      ]
526    },
527    {
528      "opname" : "OpConstantSampler",
529      "class"  : "Constant-Creation",
530      "opcode" : 45,
531      "operands" : [
532        { "kind" : "IdResultType" },
533        { "kind" : "IdResult" },
534        { "kind" : "SamplerAddressingMode" },
535        { "kind" : "LiteralInteger",        "name" : "'Param'" },
536        { "kind" : "SamplerFilterMode" }
537      ],
538      "capabilities" : [ "LiteralSampler" ]
539    },
540    {
541      "opname" : "OpConstantNull",
542      "class"  : "Constant-Creation",
543      "opcode" : 46,
544      "operands" : [
545        { "kind" : "IdResultType" },
546        { "kind" : "IdResult" }
547      ]
548    },
549    {
550      "opname" : "OpSpecConstantTrue",
551      "class"  : "Constant-Creation",
552      "opcode" : 48,
553      "operands" : [
554        { "kind" : "IdResultType" },
555        { "kind" : "IdResult" }
556      ]
557    },
558    {
559      "opname" : "OpSpecConstantFalse",
560      "class"  : "Constant-Creation",
561      "opcode" : 49,
562      "operands" : [
563        { "kind" : "IdResultType" },
564        { "kind" : "IdResult" }
565      ]
566    },
567    {
568      "opname" : "OpSpecConstant",
569      "class"  : "Constant-Creation",
570      "opcode" : 50,
571      "operands" : [
572        { "kind" : "IdResultType" },
573        { "kind" : "IdResult" },
574        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
575      ]
576    },
577    {
578      "opname" : "OpSpecConstantComposite",
579      "class"  : "Constant-Creation",
580      "opcode" : 51,
581      "operands" : [
582        { "kind" : "IdResultType" },
583        { "kind" : "IdResult" },
584        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
585      ]
586    },
587    {
588      "opname" : "OpSpecConstantOp",
589      "class"  : "Constant-Creation",
590      "opcode" : 52,
591      "operands" : [
592        { "kind" : "IdResultType" },
593        { "kind" : "IdResult" },
594        { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
595      ]
596    },
597    {
598      "opname" : "OpFunction",
599      "class"  : "Function",
600      "opcode" : 54,
601      "operands" : [
602        { "kind" : "IdResultType" },
603        { "kind" : "IdResult" },
604        { "kind" : "FunctionControl" },
605        { "kind" : "IdRef",           "name" : "'Function Type'" }
606      ]
607    },
608    {
609      "opname" : "OpFunctionParameter",
610      "class"  : "Function",
611      "opcode" : 55,
612      "operands" : [
613        { "kind" : "IdResultType" },
614        { "kind" : "IdResult" }
615      ]
616    },
617    {
618      "opname" : "OpFunctionEnd",
619      "class"  : "Function",
620      "opcode" : 56
621    },
622    {
623      "opname" : "OpFunctionCall",
624      "class"  : "Function",
625      "opcode" : 57,
626      "operands" : [
627        { "kind" : "IdResultType" },
628        { "kind" : "IdResult" },
629        { "kind" : "IdRef",                            "name" : "'Function'" },
630        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
631      ]
632    },
633    {
634      "opname" : "OpVariable",
635      "class"  : "Memory",
636      "opcode" : 59,
637      "operands" : [
638        { "kind" : "IdResultType" },
639        { "kind" : "IdResult" },
640        { "kind" : "StorageClass" },
641        { "kind" : "IdRef",        "quantifier" : "?", "name" : "'Initializer'" }
642      ]
643    },
644    {
645      "opname" : "OpImageTexelPointer",
646      "class"  : "Memory",
647      "opcode" : 60,
648      "operands" : [
649        { "kind" : "IdResultType" },
650        { "kind" : "IdResult" },
651        { "kind" : "IdRef",        "name" : "'Image'" },
652        { "kind" : "IdRef",        "name" : "'Coordinate'" },
653        { "kind" : "IdRef",        "name" : "'Sample'" }
654      ]
655    },
656    {
657      "opname" : "OpLoad",
658      "class"  : "Memory",
659      "opcode" : 61,
660      "operands" : [
661        { "kind" : "IdResultType" },
662        { "kind" : "IdResult" },
663        { "kind" : "IdRef",                            "name" : "'Pointer'" },
664        { "kind" : "MemoryAccess", "quantifier" : "?" }
665      ]
666    },
667    {
668      "opname" : "OpStore",
669      "class"  : "Memory",
670      "opcode" : 62,
671      "operands" : [
672        { "kind" : "IdRef",                            "name" : "'Pointer'" },
673        { "kind" : "IdRef",                            "name" : "'Object'" },
674        { "kind" : "MemoryAccess", "quantifier" : "?" }
675      ]
676    },
677    {
678      "opname" : "OpCopyMemory",
679      "class"  : "Memory",
680      "opcode" : 63,
681      "operands" : [
682        { "kind" : "IdRef",                            "name" : "'Target'" },
683        { "kind" : "IdRef",                            "name" : "'Source'" },
684        { "kind" : "MemoryAccess", "quantifier" : "?" },
685        { "kind" : "MemoryAccess", "quantifier" : "?" }
686      ]
687    },
688    {
689      "opname" : "OpCopyMemorySized",
690      "class"  : "Memory",
691      "opcode" : 64,
692      "operands" : [
693        { "kind" : "IdRef",                            "name" : "'Target'" },
694        { "kind" : "IdRef",                            "name" : "'Source'" },
695        { "kind" : "IdRef",                            "name" : "'Size'" },
696        { "kind" : "MemoryAccess", "quantifier" : "?" },
697        { "kind" : "MemoryAccess", "quantifier" : "?" }
698      ],
699      "capabilities" : [ "Addresses" ]
700    },
701    {
702      "opname" : "OpAccessChain",
703      "class"  : "Memory",
704      "opcode" : 65,
705      "operands" : [
706        { "kind" : "IdResultType" },
707        { "kind" : "IdResult" },
708        { "kind" : "IdRef",                            "name" : "'Base'" },
709        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
710      ]
711    },
712    {
713      "opname" : "OpInBoundsAccessChain",
714      "class"  : "Memory",
715      "opcode" : 66,
716      "operands" : [
717        { "kind" : "IdResultType" },
718        { "kind" : "IdResult" },
719        { "kind" : "IdRef",                            "name" : "'Base'" },
720        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
721      ]
722    },
723    {
724      "opname" : "OpPtrAccessChain",
725      "class"  : "Memory",
726      "opcode" : 67,
727      "operands" : [
728        { "kind" : "IdResultType" },
729        { "kind" : "IdResult" },
730        { "kind" : "IdRef",                            "name" : "'Base'" },
731        { "kind" : "IdRef",                            "name" : "'Element'" },
732        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
733      ],
734      "capabilities" : [
735        "Addresses",
736        "VariablePointers",
737        "VariablePointersStorageBuffer",
738        "PhysicalStorageBufferAddresses"
739      ]
740    },
741    {
742      "opname" : "OpArrayLength",
743      "class"  : "Memory",
744      "opcode" : 68,
745      "operands" : [
746        { "kind" : "IdResultType" },
747        { "kind" : "IdResult" },
748        { "kind" : "IdRef",          "name" : "'Structure'" },
749        { "kind" : "LiteralInteger", "name" : "'Array member'" }
750      ],
751      "capabilities" : [ "Shader" ]
752    },
753    {
754      "opname" : "OpGenericPtrMemSemantics",
755      "class"  : "Memory",
756      "opcode" : 69,
757      "operands" : [
758        { "kind" : "IdResultType" },
759        { "kind" : "IdResult" },
760        { "kind" : "IdRef",        "name" : "'Pointer'" }
761      ],
762      "capabilities" : [ "Kernel" ]
763    },
764    {
765      "opname" : "OpInBoundsPtrAccessChain",
766      "class"  : "Memory",
767      "opcode" : 70,
768      "operands" : [
769        { "kind" : "IdResultType" },
770        { "kind" : "IdResult" },
771        { "kind" : "IdRef",                            "name" : "'Base'" },
772        { "kind" : "IdRef",                            "name" : "'Element'" },
773        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
774      ],
775      "capabilities" : [ "Addresses" ]
776    },
777    {
778      "opname" : "OpDecorate",
779      "class"  : "Annotation",
780      "opcode" : 71,
781      "operands" : [
782        { "kind" : "IdRef",      "name" : "'Target'" },
783        { "kind" : "Decoration" }
784      ]
785    },
786    {
787      "opname" : "OpMemberDecorate",
788      "class"  : "Annotation",
789      "opcode" : 72,
790      "operands" : [
791        { "kind" : "IdRef",          "name" : "'Structure Type'" },
792        { "kind" : "LiteralInteger", "name" : "'Member'" },
793        { "kind" : "Decoration" }
794      ]
795    },
796    {
797      "opname" : "OpDecorationGroup",
798      "class"  : "Annotation",
799      "opcode" : 73,
800      "operands" : [
801        { "kind" : "IdResult" }
802      ]
803    },
804    {
805      "opname" : "OpGroupDecorate",
806      "class"  : "Annotation",
807      "opcode" : 74,
808      "operands" : [
809        { "kind" : "IdRef",                     "name" : "'Decoration Group'" },
810        { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
811      ]
812    },
813    {
814      "opname" : "OpGroupMemberDecorate",
815      "class"  : "Annotation",
816      "opcode" : 75,
817      "operands" : [
818        { "kind" : "IdRef",                                       "name" : "'Decoration Group'" },
819        { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
820      ]
821    },
822    {
823      "opname" : "OpVectorExtractDynamic",
824      "class"  : "Composite",
825      "opcode" : 77,
826      "operands" : [
827        { "kind" : "IdResultType" },
828        { "kind" : "IdResult" },
829        { "kind" : "IdRef",        "name" : "'Vector'" },
830        { "kind" : "IdRef",        "name" : "'Index'" }
831      ]
832    },
833    {
834      "opname" : "OpVectorInsertDynamic",
835      "class"  : "Composite",
836      "opcode" : 78,
837      "operands" : [
838        { "kind" : "IdResultType" },
839        { "kind" : "IdResult" },
840        { "kind" : "IdRef",        "name" : "'Vector'" },
841        { "kind" : "IdRef",        "name" : "'Component'" },
842        { "kind" : "IdRef",        "name" : "'Index'" }
843      ]
844    },
845    {
846      "opname" : "OpVectorShuffle",
847      "class"  : "Composite",
848      "opcode" : 79,
849      "operands" : [
850        { "kind" : "IdResultType" },
851        { "kind" : "IdResult" },
852        { "kind" : "IdRef",                              "name" : "'Vector 1'" },
853        { "kind" : "IdRef",                              "name" : "'Vector 2'" },
854        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
855      ]
856    },
857    {
858      "opname" : "OpCompositeConstruct",
859      "class"  : "Composite",
860      "opcode" : 80,
861      "operands" : [
862        { "kind" : "IdResultType" },
863        { "kind" : "IdResult" },
864        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
865      ]
866    },
867    {
868      "opname" : "OpCompositeExtract",
869      "class"  : "Composite",
870      "opcode" : 81,
871      "operands" : [
872        { "kind" : "IdResultType" },
873        { "kind" : "IdResult" },
874        { "kind" : "IdRef",                              "name" : "'Composite'" },
875        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
876      ]
877    },
878    {
879      "opname" : "OpCompositeInsert",
880      "class"  : "Composite",
881      "opcode" : 82,
882      "operands" : [
883        { "kind" : "IdResultType" },
884        { "kind" : "IdResult" },
885        { "kind" : "IdRef",                              "name" : "'Object'" },
886        { "kind" : "IdRef",                              "name" : "'Composite'" },
887        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
888      ]
889    },
890    {
891      "opname" : "OpCopyObject",
892      "class"  : "Composite",
893      "opcode" : 83,
894      "operands" : [
895        { "kind" : "IdResultType" },
896        { "kind" : "IdResult" },
897        { "kind" : "IdRef",        "name" : "'Operand'" }
898      ]
899    },
900    {
901      "opname" : "OpTranspose",
902      "class"  : "Composite",
903      "opcode" : 84,
904      "operands" : [
905        { "kind" : "IdResultType" },
906        { "kind" : "IdResult" },
907        { "kind" : "IdRef",        "name" : "'Matrix'" }
908      ],
909      "capabilities" : [ "Matrix" ]
910    },
911    {
912      "opname" : "OpSampledImage",
913      "class"  : "Image",
914      "opcode" : 86,
915      "operands" : [
916        { "kind" : "IdResultType" },
917        { "kind" : "IdResult" },
918        { "kind" : "IdRef",        "name" : "'Image'" },
919        { "kind" : "IdRef",        "name" : "'Sampler'" }
920      ]
921    },
922    {
923      "opname" : "OpImageSampleImplicitLod",
924      "class"  : "Image",
925      "opcode" : 87,
926      "operands" : [
927        { "kind" : "IdResultType" },
928        { "kind" : "IdResult" },
929        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
930        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
931        { "kind" : "ImageOperands", "quantifier" : "?" }
932      ],
933      "capabilities" : [ "Shader" ]
934    },
935    {
936      "opname" : "OpImageSampleExplicitLod",
937      "class"  : "Image",
938      "opcode" : 88,
939      "operands" : [
940        { "kind" : "IdResultType" },
941        { "kind" : "IdResult" },
942        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
943        { "kind" : "IdRef",         "name" : "'Coordinate'" },
944        { "kind" : "ImageOperands" }
945      ]
946    },
947    {
948      "opname" : "OpImageSampleDrefImplicitLod",
949      "class"  : "Image",
950      "opcode" : 89,
951      "operands" : [
952        { "kind" : "IdResultType" },
953        { "kind" : "IdResult" },
954        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
955        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
956        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
957        { "kind" : "ImageOperands", "quantifier" : "?" }
958      ],
959      "capabilities" : [ "Shader" ]
960    },
961    {
962      "opname" : "OpImageSampleDrefExplicitLod",
963      "class"  : "Image",
964      "opcode" : 90,
965      "operands" : [
966        { "kind" : "IdResultType" },
967        { "kind" : "IdResult" },
968        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
969        { "kind" : "IdRef",         "name" : "'Coordinate'" },
970        { "kind" : "IdRef",         "name" : "'D~ref~'" },
971        { "kind" : "ImageOperands" }
972      ],
973      "capabilities" : [ "Shader" ]
974    },
975    {
976      "opname" : "OpImageSampleProjImplicitLod",
977      "class"  : "Image",
978      "opcode" : 91,
979      "operands" : [
980        { "kind" : "IdResultType" },
981        { "kind" : "IdResult" },
982        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
983        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
984        { "kind" : "ImageOperands", "quantifier" : "?" }
985      ],
986      "capabilities" : [ "Shader" ]
987    },
988    {
989      "opname" : "OpImageSampleProjExplicitLod",
990      "class"  : "Image",
991      "opcode" : 92,
992      "operands" : [
993        { "kind" : "IdResultType" },
994        { "kind" : "IdResult" },
995        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
996        { "kind" : "IdRef",         "name" : "'Coordinate'" },
997        { "kind" : "ImageOperands" }
998      ],
999      "capabilities" : [ "Shader" ]
1000    },
1001    {
1002      "opname" : "OpImageSampleProjDrefImplicitLod",
1003      "class"  : "Image",
1004      "opcode" : 93,
1005      "operands" : [
1006        { "kind" : "IdResultType" },
1007        { "kind" : "IdResult" },
1008        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1009        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1010        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
1011        { "kind" : "ImageOperands", "quantifier" : "?" }
1012      ],
1013      "capabilities" : [ "Shader" ]
1014    },
1015    {
1016      "opname" : "OpImageSampleProjDrefExplicitLod",
1017      "class"  : "Image",
1018      "opcode" : 94,
1019      "operands" : [
1020        { "kind" : "IdResultType" },
1021        { "kind" : "IdResult" },
1022        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
1023        { "kind" : "IdRef",         "name" : "'Coordinate'" },
1024        { "kind" : "IdRef",         "name" : "'D~ref~'" },
1025        { "kind" : "ImageOperands" }
1026      ],
1027      "capabilities" : [ "Shader" ]
1028    },
1029    {
1030      "opname" : "OpImageFetch",
1031      "class"  : "Image",
1032      "opcode" : 95,
1033      "operands" : [
1034        { "kind" : "IdResultType" },
1035        { "kind" : "IdResult" },
1036        { "kind" : "IdRef",                             "name" : "'Image'" },
1037        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1038        { "kind" : "ImageOperands", "quantifier" : "?" }
1039      ]
1040    },
1041    {
1042      "opname" : "OpImageGather",
1043      "class"  : "Image",
1044      "opcode" : 96,
1045      "operands" : [
1046        { "kind" : "IdResultType" },
1047        { "kind" : "IdResult" },
1048        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1049        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1050        { "kind" : "IdRef",                             "name" : "'Component'" },
1051        { "kind" : "ImageOperands", "quantifier" : "?" }
1052      ],
1053      "capabilities" : [ "Shader" ]
1054    },
1055    {
1056      "opname" : "OpImageDrefGather",
1057      "class"  : "Image",
1058      "opcode" : 97,
1059      "operands" : [
1060        { "kind" : "IdResultType" },
1061        { "kind" : "IdResult" },
1062        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
1063        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1064        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
1065        { "kind" : "ImageOperands", "quantifier" : "?" }
1066      ],
1067      "capabilities" : [ "Shader" ]
1068    },
1069    {
1070      "opname" : "OpImageRead",
1071      "class"  : "Image",
1072      "opcode" : 98,
1073      "operands" : [
1074        { "kind" : "IdResultType" },
1075        { "kind" : "IdResult" },
1076        { "kind" : "IdRef",                             "name" : "'Image'" },
1077        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1078        { "kind" : "ImageOperands", "quantifier" : "?" }
1079      ]
1080    },
1081    {
1082      "opname" : "OpImageWrite",
1083      "class"  : "Image",
1084      "opcode" : 99,
1085      "operands" : [
1086        { "kind" : "IdRef",                             "name" : "'Image'" },
1087        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
1088        { "kind" : "IdRef",                             "name" : "'Texel'" },
1089        { "kind" : "ImageOperands", "quantifier" : "?" }
1090      ]
1091    },
1092    {
1093      "opname" : "OpImage",
1094      "class"  : "Image",
1095      "opcode" : 100,
1096      "operands" : [
1097        { "kind" : "IdResultType" },
1098        { "kind" : "IdResult" },
1099        { "kind" : "IdRef",        "name" : "'Sampled Image'" }
1100      ]
1101    },
1102    {
1103      "opname" : "OpImageQueryFormat",
1104      "class"  : "Image",
1105      "opcode" : 101,
1106      "operands" : [
1107        { "kind" : "IdResultType" },
1108        { "kind" : "IdResult" },
1109        { "kind" : "IdRef",        "name" : "'Image'" }
1110      ],
1111      "capabilities" : [ "Kernel" ]
1112    },
1113    {
1114      "opname" : "OpImageQueryOrder",
1115      "class"  : "Image",
1116      "opcode" : 102,
1117      "operands" : [
1118        { "kind" : "IdResultType" },
1119        { "kind" : "IdResult" },
1120        { "kind" : "IdRef",        "name" : "'Image'" }
1121      ],
1122      "capabilities" : [ "Kernel" ]
1123    },
1124    {
1125      "opname" : "OpImageQuerySizeLod",
1126      "class"  : "Image",
1127      "opcode" : 103,
1128      "operands" : [
1129        { "kind" : "IdResultType" },
1130        { "kind" : "IdResult" },
1131        { "kind" : "IdRef",        "name" : "'Image'" },
1132        { "kind" : "IdRef",        "name" : "'Level of Detail'" }
1133      ],
1134      "capabilities" : [ "Kernel", "ImageQuery" ]
1135    },
1136    {
1137      "opname" : "OpImageQuerySize",
1138      "class"  : "Image",
1139      "opcode" : 104,
1140      "operands" : [
1141        { "kind" : "IdResultType" },
1142        { "kind" : "IdResult" },
1143        { "kind" : "IdRef",        "name" : "'Image'" }
1144      ],
1145      "capabilities" : [ "Kernel", "ImageQuery" ]
1146    },
1147    {
1148      "opname" : "OpImageQueryLod",
1149      "class"  : "Image",
1150      "opcode" : 105,
1151      "operands" : [
1152        { "kind" : "IdResultType" },
1153        { "kind" : "IdResult" },
1154        { "kind" : "IdRef",        "name" : "'Sampled Image'" },
1155        { "kind" : "IdRef",        "name" : "'Coordinate'" }
1156      ],
1157      "capabilities" : [ "ImageQuery" ]
1158    },
1159    {
1160      "opname" : "OpImageQueryLevels",
1161      "class"  : "Image",
1162      "opcode" : 106,
1163      "operands" : [
1164        { "kind" : "IdResultType" },
1165        { "kind" : "IdResult" },
1166        { "kind" : "IdRef",        "name" : "'Image'" }
1167      ],
1168      "capabilities" : [ "Kernel", "ImageQuery" ]
1169    },
1170    {
1171      "opname" : "OpImageQuerySamples",
1172      "class"  : "Image",
1173      "opcode" : 107,
1174      "operands" : [
1175        { "kind" : "IdResultType" },
1176        { "kind" : "IdResult" },
1177        { "kind" : "IdRef",        "name" : "'Image'" }
1178      ],
1179      "capabilities" : [ "Kernel", "ImageQuery" ]
1180    },
1181    {
1182      "opname" : "OpConvertFToU",
1183      "class"  : "Conversion",
1184      "opcode" : 109,
1185      "operands" : [
1186        { "kind" : "IdResultType" },
1187        { "kind" : "IdResult" },
1188        { "kind" : "IdRef",        "name" : "'Float Value'" }
1189      ]
1190    },
1191    {
1192      "opname" : "OpConvertFToS",
1193      "class"  : "Conversion",
1194      "opcode" : 110,
1195      "operands" : [
1196        { "kind" : "IdResultType" },
1197        { "kind" : "IdResult" },
1198        { "kind" : "IdRef",        "name" : "'Float Value'" }
1199      ]
1200    },
1201    {
1202      "opname" : "OpConvertSToF",
1203      "class"  : "Conversion",
1204      "opcode" : 111,
1205      "operands" : [
1206        { "kind" : "IdResultType" },
1207        { "kind" : "IdResult" },
1208        { "kind" : "IdRef",        "name" : "'Signed Value'" }
1209      ]
1210    },
1211    {
1212      "opname" : "OpConvertUToF",
1213      "class"  : "Conversion",
1214      "opcode" : 112,
1215      "operands" : [
1216        { "kind" : "IdResultType" },
1217        { "kind" : "IdResult" },
1218        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1219      ]
1220    },
1221    {
1222      "opname" : "OpUConvert",
1223      "class"  : "Conversion",
1224      "opcode" : 113,
1225      "operands" : [
1226        { "kind" : "IdResultType" },
1227        { "kind" : "IdResult" },
1228        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1229      ]
1230    },
1231    {
1232      "opname" : "OpSConvert",
1233      "class"  : "Conversion",
1234      "opcode" : 114,
1235      "operands" : [
1236        { "kind" : "IdResultType" },
1237        { "kind" : "IdResult" },
1238        { "kind" : "IdRef",        "name" : "'Signed Value'" }
1239      ]
1240    },
1241    {
1242      "opname" : "OpFConvert",
1243      "class"  : "Conversion",
1244      "opcode" : 115,
1245      "operands" : [
1246        { "kind" : "IdResultType" },
1247        { "kind" : "IdResult" },
1248        { "kind" : "IdRef",        "name" : "'Float Value'" }
1249      ]
1250    },
1251    {
1252      "opname" : "OpQuantizeToF16",
1253      "class"  : "Conversion",
1254      "opcode" : 116,
1255      "operands" : [
1256        { "kind" : "IdResultType" },
1257        { "kind" : "IdResult" },
1258        { "kind" : "IdRef",        "name" : "'Value'" }
1259      ]
1260    },
1261    {
1262      "opname" : "OpConvertPtrToU",
1263      "class"  : "Conversion",
1264      "opcode" : 117,
1265      "operands" : [
1266        { "kind" : "IdResultType" },
1267        { "kind" : "IdResult" },
1268        { "kind" : "IdRef",        "name" : "'Pointer'" }
1269      ],
1270      "capabilities" : [
1271        "Addresses",
1272        "PhysicalStorageBufferAddresses"
1273      ]
1274    },
1275    {
1276      "opname" : "OpSatConvertSToU",
1277      "class"  : "Conversion",
1278      "opcode" : 118,
1279      "operands" : [
1280        { "kind" : "IdResultType" },
1281        { "kind" : "IdResult" },
1282        { "kind" : "IdRef",        "name" : "'Signed Value'" }
1283      ],
1284      "capabilities" : [ "Kernel" ]
1285    },
1286    {
1287      "opname" : "OpSatConvertUToS",
1288      "class"  : "Conversion",
1289      "opcode" : 119,
1290      "operands" : [
1291        { "kind" : "IdResultType" },
1292        { "kind" : "IdResult" },
1293        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
1294      ],
1295      "capabilities" : [ "Kernel" ]
1296    },
1297    {
1298      "opname" : "OpConvertUToPtr",
1299      "class"  : "Conversion",
1300      "opcode" : 120,
1301      "operands" : [
1302        { "kind" : "IdResultType" },
1303        { "kind" : "IdResult" },
1304        { "kind" : "IdRef",        "name" : "'Integer Value'" }
1305      ],
1306      "capabilities" : [
1307        "Addresses",
1308        "PhysicalStorageBufferAddresses"
1309      ]
1310    },
1311    {
1312      "opname" : "OpPtrCastToGeneric",
1313      "class"  : "Conversion",
1314      "opcode" : 121,
1315      "operands" : [
1316        { "kind" : "IdResultType" },
1317        { "kind" : "IdResult" },
1318        { "kind" : "IdRef",        "name" : "'Pointer'" }
1319      ],
1320      "capabilities" : [ "Kernel" ]
1321    },
1322    {
1323      "opname" : "OpGenericCastToPtr",
1324      "class"  : "Conversion",
1325      "opcode" : 122,
1326      "operands" : [
1327        { "kind" : "IdResultType" },
1328        { "kind" : "IdResult" },
1329        { "kind" : "IdRef",        "name" : "'Pointer'" }
1330      ],
1331      "capabilities" : [ "Kernel" ]
1332    },
1333    {
1334      "opname" : "OpGenericCastToPtrExplicit",
1335      "class"  : "Conversion",
1336      "opcode" : 123,
1337      "operands" : [
1338        { "kind" : "IdResultType" },
1339        { "kind" : "IdResult" },
1340        { "kind" : "IdRef",        "name" : "'Pointer'" },
1341        { "kind" : "StorageClass", "name" : "'Storage'" }
1342      ],
1343      "capabilities" : [ "Kernel" ]
1344    },
1345    {
1346      "opname" : "OpBitcast",
1347      "class"  : "Conversion",
1348      "opcode" : 124,
1349      "operands" : [
1350        { "kind" : "IdResultType" },
1351        { "kind" : "IdResult" },
1352        { "kind" : "IdRef",        "name" : "'Operand'" }
1353      ]
1354    },
1355    {
1356      "opname" : "OpSNegate",
1357      "class"  : "Arithmetic",
1358      "opcode" : 126,
1359      "operands" : [
1360        { "kind" : "IdResultType" },
1361        { "kind" : "IdResult" },
1362        { "kind" : "IdRef",        "name" : "'Operand'" }
1363      ]
1364    },
1365    {
1366      "opname" : "OpFNegate",
1367      "class"  : "Arithmetic",
1368      "opcode" : 127,
1369      "operands" : [
1370        { "kind" : "IdResultType" },
1371        { "kind" : "IdResult" },
1372        { "kind" : "IdRef",        "name" : "'Operand'" }
1373      ]
1374    },
1375    {
1376      "opname" : "OpIAdd",
1377      "class"  : "Arithmetic",
1378      "opcode" : 128,
1379      "operands" : [
1380        { "kind" : "IdResultType" },
1381        { "kind" : "IdResult" },
1382        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1383        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1384      ]
1385    },
1386    {
1387      "opname" : "OpFAdd",
1388      "class"  : "Arithmetic",
1389      "opcode" : 129,
1390      "operands" : [
1391        { "kind" : "IdResultType" },
1392        { "kind" : "IdResult" },
1393        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1394        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1395      ]
1396    },
1397    {
1398      "opname" : "OpISub",
1399      "class"  : "Arithmetic",
1400      "opcode" : 130,
1401      "operands" : [
1402        { "kind" : "IdResultType" },
1403        { "kind" : "IdResult" },
1404        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1405        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1406      ]
1407    },
1408    {
1409      "opname" : "OpFSub",
1410      "class"  : "Arithmetic",
1411      "opcode" : 131,
1412      "operands" : [
1413        { "kind" : "IdResultType" },
1414        { "kind" : "IdResult" },
1415        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1416        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1417      ]
1418    },
1419    {
1420      "opname" : "OpIMul",
1421      "class"  : "Arithmetic",
1422      "opcode" : 132,
1423      "operands" : [
1424        { "kind" : "IdResultType" },
1425        { "kind" : "IdResult" },
1426        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1427        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1428      ]
1429    },
1430    {
1431      "opname" : "OpFMul",
1432      "class"  : "Arithmetic",
1433      "opcode" : 133,
1434      "operands" : [
1435        { "kind" : "IdResultType" },
1436        { "kind" : "IdResult" },
1437        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1438        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1439      ]
1440    },
1441    {
1442      "opname" : "OpUDiv",
1443      "class"  : "Arithmetic",
1444      "opcode" : 134,
1445      "operands" : [
1446        { "kind" : "IdResultType" },
1447        { "kind" : "IdResult" },
1448        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1449        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1450      ]
1451    },
1452    {
1453      "opname" : "OpSDiv",
1454      "class"  : "Arithmetic",
1455      "opcode" : 135,
1456      "operands" : [
1457        { "kind" : "IdResultType" },
1458        { "kind" : "IdResult" },
1459        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1460        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1461      ]
1462    },
1463    {
1464      "opname" : "OpFDiv",
1465      "class"  : "Arithmetic",
1466      "opcode" : 136,
1467      "operands" : [
1468        { "kind" : "IdResultType" },
1469        { "kind" : "IdResult" },
1470        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1471        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1472      ]
1473    },
1474    {
1475      "opname" : "OpUMod",
1476      "class"  : "Arithmetic",
1477      "opcode" : 137,
1478      "operands" : [
1479        { "kind" : "IdResultType" },
1480        { "kind" : "IdResult" },
1481        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1482        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1483      ]
1484    },
1485    {
1486      "opname" : "OpSRem",
1487      "class"  : "Arithmetic",
1488      "opcode" : 138,
1489      "operands" : [
1490        { "kind" : "IdResultType" },
1491        { "kind" : "IdResult" },
1492        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1493        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1494      ]
1495    },
1496    {
1497      "opname" : "OpSMod",
1498      "class"  : "Arithmetic",
1499      "opcode" : 139,
1500      "operands" : [
1501        { "kind" : "IdResultType" },
1502        { "kind" : "IdResult" },
1503        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1504        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1505      ]
1506    },
1507    {
1508      "opname" : "OpFRem",
1509      "class"  : "Arithmetic",
1510      "opcode" : 140,
1511      "operands" : [
1512        { "kind" : "IdResultType" },
1513        { "kind" : "IdResult" },
1514        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1515        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1516      ]
1517    },
1518    {
1519      "opname" : "OpFMod",
1520      "class"  : "Arithmetic",
1521      "opcode" : 141,
1522      "operands" : [
1523        { "kind" : "IdResultType" },
1524        { "kind" : "IdResult" },
1525        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1526        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1527      ]
1528    },
1529    {
1530      "opname" : "OpVectorTimesScalar",
1531      "class"  : "Arithmetic",
1532      "opcode" : 142,
1533      "operands" : [
1534        { "kind" : "IdResultType" },
1535        { "kind" : "IdResult" },
1536        { "kind" : "IdRef",        "name" : "'Vector'" },
1537        { "kind" : "IdRef",        "name" : "'Scalar'" }
1538      ]
1539    },
1540    {
1541      "opname" : "OpMatrixTimesScalar",
1542      "class"  : "Arithmetic",
1543      "opcode" : 143,
1544      "operands" : [
1545        { "kind" : "IdResultType" },
1546        { "kind" : "IdResult" },
1547        { "kind" : "IdRef",        "name" : "'Matrix'" },
1548        { "kind" : "IdRef",        "name" : "'Scalar'" }
1549      ],
1550      "capabilities" : [ "Matrix" ]
1551    },
1552    {
1553      "opname" : "OpVectorTimesMatrix",
1554      "class"  : "Arithmetic",
1555      "opcode" : 144,
1556      "operands" : [
1557        { "kind" : "IdResultType" },
1558        { "kind" : "IdResult" },
1559        { "kind" : "IdRef",        "name" : "'Vector'" },
1560        { "kind" : "IdRef",        "name" : "'Matrix'" }
1561      ],
1562      "capabilities" : [ "Matrix" ]
1563    },
1564    {
1565      "opname" : "OpMatrixTimesVector",
1566      "class"  : "Arithmetic",
1567      "opcode" : 145,
1568      "operands" : [
1569        { "kind" : "IdResultType" },
1570        { "kind" : "IdResult" },
1571        { "kind" : "IdRef",        "name" : "'Matrix'" },
1572        { "kind" : "IdRef",        "name" : "'Vector'" }
1573      ],
1574      "capabilities" : [ "Matrix" ]
1575    },
1576    {
1577      "opname" : "OpMatrixTimesMatrix",
1578      "class"  : "Arithmetic",
1579      "opcode" : 146,
1580      "operands" : [
1581        { "kind" : "IdResultType" },
1582        { "kind" : "IdResult" },
1583        { "kind" : "IdRef",        "name" : "'LeftMatrix'" },
1584        { "kind" : "IdRef",        "name" : "'RightMatrix'" }
1585      ],
1586      "capabilities" : [ "Matrix" ]
1587    },
1588    {
1589      "opname" : "OpOuterProduct",
1590      "class"  : "Arithmetic",
1591      "opcode" : 147,
1592      "operands" : [
1593        { "kind" : "IdResultType" },
1594        { "kind" : "IdResult" },
1595        { "kind" : "IdRef",        "name" : "'Vector 1'" },
1596        { "kind" : "IdRef",        "name" : "'Vector 2'" }
1597      ],
1598      "capabilities" : [ "Matrix" ]
1599    },
1600    {
1601      "opname" : "OpDot",
1602      "class"  : "Arithmetic",
1603      "opcode" : 148,
1604      "operands" : [
1605        { "kind" : "IdResultType" },
1606        { "kind" : "IdResult" },
1607        { "kind" : "IdRef",        "name" : "'Vector 1'" },
1608        { "kind" : "IdRef",        "name" : "'Vector 2'" }
1609      ]
1610    },
1611    {
1612      "opname" : "OpIAddCarry",
1613      "class"  : "Arithmetic",
1614      "opcode" : 149,
1615      "operands" : [
1616        { "kind" : "IdResultType" },
1617        { "kind" : "IdResult" },
1618        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1619        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1620      ]
1621    },
1622    {
1623      "opname" : "OpISubBorrow",
1624      "class"  : "Arithmetic",
1625      "opcode" : 150,
1626      "operands" : [
1627        { "kind" : "IdResultType" },
1628        { "kind" : "IdResult" },
1629        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1630        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1631      ]
1632    },
1633    {
1634      "opname" : "OpUMulExtended",
1635      "class"  : "Arithmetic",
1636      "opcode" : 151,
1637      "operands" : [
1638        { "kind" : "IdResultType" },
1639        { "kind" : "IdResult" },
1640        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1641        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1642      ]
1643    },
1644    {
1645      "opname" : "OpSMulExtended",
1646      "class"  : "Arithmetic",
1647      "opcode" : 152,
1648      "operands" : [
1649        { "kind" : "IdResultType" },
1650        { "kind" : "IdResult" },
1651        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1652        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1653      ]
1654    },
1655    {
1656      "opname" : "OpAny",
1657      "class"  : "Relational_and_Logical",
1658      "opcode" : 154,
1659      "operands" : [
1660        { "kind" : "IdResultType" },
1661        { "kind" : "IdResult" },
1662        { "kind" : "IdRef",        "name" : "'Vector'" }
1663      ]
1664    },
1665    {
1666      "opname" : "OpAll",
1667      "class"  : "Relational_and_Logical",
1668      "opcode" : 155,
1669      "operands" : [
1670        { "kind" : "IdResultType" },
1671        { "kind" : "IdResult" },
1672        { "kind" : "IdRef",        "name" : "'Vector'" }
1673      ]
1674    },
1675    {
1676      "opname" : "OpIsNan",
1677      "class"  : "Relational_and_Logical",
1678      "opcode" : 156,
1679      "operands" : [
1680        { "kind" : "IdResultType" },
1681        { "kind" : "IdResult" },
1682        { "kind" : "IdRef",        "name" : "'x'" }
1683      ]
1684    },
1685    {
1686      "opname" : "OpIsInf",
1687      "class"  : "Relational_and_Logical",
1688      "opcode" : 157,
1689      "operands" : [
1690        { "kind" : "IdResultType" },
1691        { "kind" : "IdResult" },
1692        { "kind" : "IdRef",        "name" : "'x'" }
1693      ]
1694    },
1695    {
1696      "opname" : "OpIsFinite",
1697      "class"  : "Relational_and_Logical",
1698      "opcode" : 158,
1699      "operands" : [
1700        { "kind" : "IdResultType" },
1701        { "kind" : "IdResult" },
1702        { "kind" : "IdRef",        "name" : "'x'" }
1703      ],
1704      "capabilities" : [ "Kernel" ]
1705    },
1706    {
1707      "opname" : "OpIsNormal",
1708      "class"  : "Relational_and_Logical",
1709      "opcode" : 159,
1710      "operands" : [
1711        { "kind" : "IdResultType" },
1712        { "kind" : "IdResult" },
1713        { "kind" : "IdRef",        "name" : "'x'" }
1714      ],
1715      "capabilities" : [ "Kernel" ]
1716    },
1717    {
1718      "opname" : "OpSignBitSet",
1719      "class"  : "Relational_and_Logical",
1720      "opcode" : 160,
1721      "operands" : [
1722        { "kind" : "IdResultType" },
1723        { "kind" : "IdResult" },
1724        { "kind" : "IdRef",        "name" : "'x'" }
1725      ],
1726      "capabilities" : [ "Kernel" ]
1727    },
1728    {
1729      "opname" : "OpLessOrGreater",
1730      "class"  : "Relational_and_Logical",
1731      "opcode" : 161,
1732      "operands" : [
1733        { "kind" : "IdResultType" },
1734        { "kind" : "IdResult" },
1735        { "kind" : "IdRef",        "name" : "'x'" },
1736        { "kind" : "IdRef",        "name" : "'y'" }
1737      ],
1738      "capabilities" : [ "Kernel" ]
1739    },
1740    {
1741      "opname" : "OpOrdered",
1742      "class"  : "Relational_and_Logical",
1743      "opcode" : 162,
1744      "operands" : [
1745        { "kind" : "IdResultType" },
1746        { "kind" : "IdResult" },
1747        { "kind" : "IdRef",        "name" : "'x'" },
1748        { "kind" : "IdRef",        "name" : "'y'" }
1749      ],
1750      "capabilities" : [ "Kernel" ]
1751    },
1752    {
1753      "opname" : "OpUnordered",
1754      "class"  : "Relational_and_Logical",
1755      "opcode" : 163,
1756      "operands" : [
1757        { "kind" : "IdResultType" },
1758        { "kind" : "IdResult" },
1759        { "kind" : "IdRef",        "name" : "'x'" },
1760        { "kind" : "IdRef",        "name" : "'y'" }
1761      ],
1762      "capabilities" : [ "Kernel" ]
1763    },
1764    {
1765      "opname" : "OpLogicalEqual",
1766      "class"  : "Relational_and_Logical",
1767      "opcode" : 164,
1768      "operands" : [
1769        { "kind" : "IdResultType" },
1770        { "kind" : "IdResult" },
1771        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1772        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1773      ]
1774    },
1775    {
1776      "opname" : "OpLogicalNotEqual",
1777      "class"  : "Relational_and_Logical",
1778      "opcode" : 165,
1779      "operands" : [
1780        { "kind" : "IdResultType" },
1781        { "kind" : "IdResult" },
1782        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1783        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1784      ]
1785    },
1786    {
1787      "opname" : "OpLogicalOr",
1788      "class"  : "Relational_and_Logical",
1789      "opcode" : 166,
1790      "operands" : [
1791        { "kind" : "IdResultType" },
1792        { "kind" : "IdResult" },
1793        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1794        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1795      ]
1796    },
1797    {
1798      "opname" : "OpLogicalAnd",
1799      "class"  : "Relational_and_Logical",
1800      "opcode" : 167,
1801      "operands" : [
1802        { "kind" : "IdResultType" },
1803        { "kind" : "IdResult" },
1804        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1805        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1806      ]
1807    },
1808    {
1809      "opname" : "OpLogicalNot",
1810      "class"  : "Relational_and_Logical",
1811      "opcode" : 168,
1812      "operands" : [
1813        { "kind" : "IdResultType" },
1814        { "kind" : "IdResult" },
1815        { "kind" : "IdRef",        "name" : "'Operand'" }
1816      ]
1817    },
1818    {
1819      "opname" : "OpSelect",
1820      "class"  : "Relational_and_Logical",
1821      "opcode" : 169,
1822      "operands" : [
1823        { "kind" : "IdResultType" },
1824        { "kind" : "IdResult" },
1825        { "kind" : "IdRef",        "name" : "'Condition'" },
1826        { "kind" : "IdRef",        "name" : "'Object 1'" },
1827        { "kind" : "IdRef",        "name" : "'Object 2'" }
1828      ]
1829    },
1830    {
1831      "opname" : "OpIEqual",
1832      "class"  : "Relational_and_Logical",
1833      "opcode" : 170,
1834      "operands" : [
1835        { "kind" : "IdResultType" },
1836        { "kind" : "IdResult" },
1837        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1838        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1839      ]
1840    },
1841    {
1842      "opname" : "OpINotEqual",
1843      "class"  : "Relational_and_Logical",
1844      "opcode" : 171,
1845      "operands" : [
1846        { "kind" : "IdResultType" },
1847        { "kind" : "IdResult" },
1848        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1849        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1850      ]
1851    },
1852    {
1853      "opname" : "OpUGreaterThan",
1854      "class"  : "Relational_and_Logical",
1855      "opcode" : 172,
1856      "operands" : [
1857        { "kind" : "IdResultType" },
1858        { "kind" : "IdResult" },
1859        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1860        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1861      ]
1862    },
1863    {
1864      "opname" : "OpSGreaterThan",
1865      "class"  : "Relational_and_Logical",
1866      "opcode" : 173,
1867      "operands" : [
1868        { "kind" : "IdResultType" },
1869        { "kind" : "IdResult" },
1870        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1871        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1872      ]
1873    },
1874    {
1875      "opname" : "OpUGreaterThanEqual",
1876      "class"  : "Relational_and_Logical",
1877      "opcode" : 174,
1878      "operands" : [
1879        { "kind" : "IdResultType" },
1880        { "kind" : "IdResult" },
1881        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1882        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1883      ]
1884    },
1885    {
1886      "opname" : "OpSGreaterThanEqual",
1887      "class"  : "Relational_and_Logical",
1888      "opcode" : 175,
1889      "operands" : [
1890        { "kind" : "IdResultType" },
1891        { "kind" : "IdResult" },
1892        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1893        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1894      ]
1895    },
1896    {
1897      "opname" : "OpULessThan",
1898      "class"  : "Relational_and_Logical",
1899      "opcode" : 176,
1900      "operands" : [
1901        { "kind" : "IdResultType" },
1902        { "kind" : "IdResult" },
1903        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1904        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1905      ]
1906    },
1907    {
1908      "opname" : "OpSLessThan",
1909      "class"  : "Relational_and_Logical",
1910      "opcode" : 177,
1911      "operands" : [
1912        { "kind" : "IdResultType" },
1913        { "kind" : "IdResult" },
1914        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1915        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1916      ]
1917    },
1918    {
1919      "opname" : "OpULessThanEqual",
1920      "class"  : "Relational_and_Logical",
1921      "opcode" : 178,
1922      "operands" : [
1923        { "kind" : "IdResultType" },
1924        { "kind" : "IdResult" },
1925        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1926        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1927      ]
1928    },
1929    {
1930      "opname" : "OpSLessThanEqual",
1931      "class"  : "Relational_and_Logical",
1932      "opcode" : 179,
1933      "operands" : [
1934        { "kind" : "IdResultType" },
1935        { "kind" : "IdResult" },
1936        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1937        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1938      ]
1939    },
1940    {
1941      "opname" : "OpFOrdEqual",
1942      "class"  : "Relational_and_Logical",
1943      "opcode" : 180,
1944      "operands" : [
1945        { "kind" : "IdResultType" },
1946        { "kind" : "IdResult" },
1947        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1948        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1949      ]
1950    },
1951    {
1952      "opname" : "OpFUnordEqual",
1953      "class"  : "Relational_and_Logical",
1954      "opcode" : 181,
1955      "operands" : [
1956        { "kind" : "IdResultType" },
1957        { "kind" : "IdResult" },
1958        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1959        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1960      ]
1961    },
1962    {
1963      "opname" : "OpFOrdNotEqual",
1964      "class"  : "Relational_and_Logical",
1965      "opcode" : 182,
1966      "operands" : [
1967        { "kind" : "IdResultType" },
1968        { "kind" : "IdResult" },
1969        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1970        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1971      ]
1972    },
1973    {
1974      "opname" : "OpFUnordNotEqual",
1975      "class"  : "Relational_and_Logical",
1976      "opcode" : 183,
1977      "operands" : [
1978        { "kind" : "IdResultType" },
1979        { "kind" : "IdResult" },
1980        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1981        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1982      ]
1983    },
1984    {
1985      "opname" : "OpFOrdLessThan",
1986      "class"  : "Relational_and_Logical",
1987      "opcode" : 184,
1988      "operands" : [
1989        { "kind" : "IdResultType" },
1990        { "kind" : "IdResult" },
1991        { "kind" : "IdRef",        "name" : "'Operand 1'" },
1992        { "kind" : "IdRef",        "name" : "'Operand 2'" }
1993      ]
1994    },
1995    {
1996      "opname" : "OpFUnordLessThan",
1997      "class"  : "Relational_and_Logical",
1998      "opcode" : 185,
1999      "operands" : [
2000        { "kind" : "IdResultType" },
2001        { "kind" : "IdResult" },
2002        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2003        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2004      ]
2005    },
2006    {
2007      "opname" : "OpFOrdGreaterThan",
2008      "class"  : "Relational_and_Logical",
2009      "opcode" : 186,
2010      "operands" : [
2011        { "kind" : "IdResultType" },
2012        { "kind" : "IdResult" },
2013        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2014        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2015      ]
2016    },
2017    {
2018      "opname" : "OpFUnordGreaterThan",
2019      "class"  : "Relational_and_Logical",
2020      "opcode" : 187,
2021      "operands" : [
2022        { "kind" : "IdResultType" },
2023        { "kind" : "IdResult" },
2024        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2025        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2026      ]
2027    },
2028    {
2029      "opname" : "OpFOrdLessThanEqual",
2030      "class"  : "Relational_and_Logical",
2031      "opcode" : 188,
2032      "operands" : [
2033        { "kind" : "IdResultType" },
2034        { "kind" : "IdResult" },
2035        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2036        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2037      ]
2038    },
2039    {
2040      "opname" : "OpFUnordLessThanEqual",
2041      "class"  : "Relational_and_Logical",
2042      "opcode" : 189,
2043      "operands" : [
2044        { "kind" : "IdResultType" },
2045        { "kind" : "IdResult" },
2046        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2047        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2048      ]
2049    },
2050    {
2051      "opname" : "OpFOrdGreaterThanEqual",
2052      "class"  : "Relational_and_Logical",
2053      "opcode" : 190,
2054      "operands" : [
2055        { "kind" : "IdResultType" },
2056        { "kind" : "IdResult" },
2057        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2058        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2059      ]
2060    },
2061    {
2062      "opname" : "OpFUnordGreaterThanEqual",
2063      "class"  : "Relational_and_Logical",
2064      "opcode" : 191,
2065      "operands" : [
2066        { "kind" : "IdResultType" },
2067        { "kind" : "IdResult" },
2068        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2069        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2070      ]
2071    },
2072    {
2073      "opname" : "OpShiftRightLogical",
2074      "class"  : "Bit",
2075      "opcode" : 194,
2076      "operands" : [
2077        { "kind" : "IdResultType" },
2078        { "kind" : "IdResult" },
2079        { "kind" : "IdRef",        "name" : "'Base'" },
2080        { "kind" : "IdRef",        "name" : "'Shift'" }
2081      ]
2082    },
2083    {
2084      "opname" : "OpShiftRightArithmetic",
2085      "class"  : "Bit",
2086      "opcode" : 195,
2087      "operands" : [
2088        { "kind" : "IdResultType" },
2089        { "kind" : "IdResult" },
2090        { "kind" : "IdRef",        "name" : "'Base'" },
2091        { "kind" : "IdRef",        "name" : "'Shift'" }
2092      ]
2093    },
2094    {
2095      "opname" : "OpShiftLeftLogical",
2096      "class"  : "Bit",
2097      "opcode" : 196,
2098      "operands" : [
2099        { "kind" : "IdResultType" },
2100        { "kind" : "IdResult" },
2101        { "kind" : "IdRef",        "name" : "'Base'" },
2102        { "kind" : "IdRef",        "name" : "'Shift'" }
2103      ]
2104    },
2105    {
2106      "opname" : "OpBitwiseOr",
2107      "class"  : "Bit",
2108      "opcode" : 197,
2109      "operands" : [
2110        { "kind" : "IdResultType" },
2111        { "kind" : "IdResult" },
2112        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2113        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2114      ]
2115    },
2116    {
2117      "opname" : "OpBitwiseXor",
2118      "class"  : "Bit",
2119      "opcode" : 198,
2120      "operands" : [
2121        { "kind" : "IdResultType" },
2122        { "kind" : "IdResult" },
2123        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2124        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2125      ]
2126    },
2127    {
2128      "opname" : "OpBitwiseAnd",
2129      "class"  : "Bit",
2130      "opcode" : 199,
2131      "operands" : [
2132        { "kind" : "IdResultType" },
2133        { "kind" : "IdResult" },
2134        { "kind" : "IdRef",        "name" : "'Operand 1'" },
2135        { "kind" : "IdRef",        "name" : "'Operand 2'" }
2136      ]
2137    },
2138    {
2139      "opname" : "OpNot",
2140      "class"  : "Bit",
2141      "opcode" : 200,
2142      "operands" : [
2143        { "kind" : "IdResultType" },
2144        { "kind" : "IdResult" },
2145        { "kind" : "IdRef",        "name" : "'Operand'" }
2146      ]
2147    },
2148    {
2149      "opname" : "OpBitFieldInsert",
2150      "class"  : "Bit",
2151      "opcode" : 201,
2152      "operands" : [
2153        { "kind" : "IdResultType" },
2154        { "kind" : "IdResult" },
2155        { "kind" : "IdRef",        "name" : "'Base'" },
2156        { "kind" : "IdRef",        "name" : "'Insert'" },
2157        { "kind" : "IdRef",        "name" : "'Offset'" },
2158        { "kind" : "IdRef",        "name" : "'Count'" }
2159      ],
2160      "capabilities" : [ "Shader" ]
2161    },
2162    {
2163      "opname" : "OpBitFieldSExtract",
2164      "class"  : "Bit",
2165      "opcode" : 202,
2166      "operands" : [
2167        { "kind" : "IdResultType" },
2168        { "kind" : "IdResult" },
2169        { "kind" : "IdRef",        "name" : "'Base'" },
2170        { "kind" : "IdRef",        "name" : "'Offset'" },
2171        { "kind" : "IdRef",        "name" : "'Count'" }
2172      ],
2173      "capabilities" : [ "Shader" ]
2174    },
2175    {
2176      "opname" : "OpBitFieldUExtract",
2177      "class"  : "Bit",
2178      "opcode" : 203,
2179      "operands" : [
2180        { "kind" : "IdResultType" },
2181        { "kind" : "IdResult" },
2182        { "kind" : "IdRef",        "name" : "'Base'" },
2183        { "kind" : "IdRef",        "name" : "'Offset'" },
2184        { "kind" : "IdRef",        "name" : "'Count'" }
2185      ],
2186      "capabilities" : [ "Shader" ]
2187    },
2188    {
2189      "opname" : "OpBitReverse",
2190      "class"  : "Bit",
2191      "opcode" : 204,
2192      "operands" : [
2193        { "kind" : "IdResultType" },
2194        { "kind" : "IdResult" },
2195        { "kind" : "IdRef",        "name" : "'Base'" }
2196      ],
2197      "capabilities" : [ "Shader" ]
2198    },
2199    {
2200      "opname" : "OpBitCount",
2201      "class"  : "Bit",
2202      "opcode" : 205,
2203      "operands" : [
2204        { "kind" : "IdResultType" },
2205        { "kind" : "IdResult" },
2206        { "kind" : "IdRef",        "name" : "'Base'" }
2207      ]
2208    },
2209    {
2210      "opname" : "OpDPdx",
2211      "class"  : "Derivative",
2212      "opcode" : 207,
2213      "operands" : [
2214        { "kind" : "IdResultType" },
2215        { "kind" : "IdResult" },
2216        { "kind" : "IdRef",        "name" : "'P'" }
2217      ],
2218      "capabilities" : [ "Shader" ]
2219    },
2220    {
2221      "opname" : "OpDPdy",
2222      "class"  : "Derivative",
2223      "opcode" : 208,
2224      "operands" : [
2225        { "kind" : "IdResultType" },
2226        { "kind" : "IdResult" },
2227        { "kind" : "IdRef",        "name" : "'P'" }
2228      ],
2229      "capabilities" : [ "Shader" ]
2230    },
2231    {
2232      "opname" : "OpFwidth",
2233      "class"  : "Derivative",
2234      "opcode" : 209,
2235      "operands" : [
2236        { "kind" : "IdResultType" },
2237        { "kind" : "IdResult" },
2238        { "kind" : "IdRef",        "name" : "'P'" }
2239      ],
2240      "capabilities" : [ "Shader" ]
2241    },
2242    {
2243      "opname" : "OpDPdxFine",
2244      "class"  : "Derivative",
2245      "opcode" : 210,
2246      "operands" : [
2247        { "kind" : "IdResultType" },
2248        { "kind" : "IdResult" },
2249        { "kind" : "IdRef",        "name" : "'P'" }
2250      ],
2251      "capabilities" : [ "DerivativeControl" ]
2252    },
2253    {
2254      "opname" : "OpDPdyFine",
2255      "class"  : "Derivative",
2256      "opcode" : 211,
2257      "operands" : [
2258        { "kind" : "IdResultType" },
2259        { "kind" : "IdResult" },
2260        { "kind" : "IdRef",        "name" : "'P'" }
2261      ],
2262      "capabilities" : [ "DerivativeControl" ]
2263    },
2264    {
2265      "opname" : "OpFwidthFine",
2266      "class"  : "Derivative",
2267      "opcode" : 212,
2268      "operands" : [
2269        { "kind" : "IdResultType" },
2270        { "kind" : "IdResult" },
2271        { "kind" : "IdRef",        "name" : "'P'" }
2272      ],
2273      "capabilities" : [ "DerivativeControl" ]
2274    },
2275    {
2276      "opname" : "OpDPdxCoarse",
2277      "class"  : "Derivative",
2278      "opcode" : 213,
2279      "operands" : [
2280        { "kind" : "IdResultType" },
2281        { "kind" : "IdResult" },
2282        { "kind" : "IdRef",        "name" : "'P'" }
2283      ],
2284      "capabilities" : [ "DerivativeControl" ]
2285    },
2286    {
2287      "opname" : "OpDPdyCoarse",
2288      "class"  : "Derivative",
2289      "opcode" : 214,
2290      "operands" : [
2291        { "kind" : "IdResultType" },
2292        { "kind" : "IdResult" },
2293        { "kind" : "IdRef",        "name" : "'P'" }
2294      ],
2295      "capabilities" : [ "DerivativeControl" ]
2296    },
2297    {
2298      "opname" : "OpFwidthCoarse",
2299      "class"  : "Derivative",
2300      "opcode" : 215,
2301      "operands" : [
2302        { "kind" : "IdResultType" },
2303        { "kind" : "IdResult" },
2304        { "kind" : "IdRef",        "name" : "'P'" }
2305      ],
2306      "capabilities" : [ "DerivativeControl" ]
2307    },
2308    {
2309      "opname" : "OpEmitVertex",
2310      "class"  : "Primitive",
2311      "opcode" : 218,
2312      "capabilities" : [ "Geometry" ]
2313    },
2314    {
2315      "opname" : "OpEndPrimitive",
2316      "class"  : "Primitive",
2317      "opcode" : 219,
2318      "capabilities" : [ "Geometry" ]
2319    },
2320    {
2321      "opname" : "OpEmitStreamVertex",
2322      "class"  : "Primitive",
2323      "opcode" : 220,
2324      "operands" : [
2325        { "kind" : "IdRef", "name" : "'Stream'" }
2326      ],
2327      "capabilities" : [ "GeometryStreams" ]
2328    },
2329    {
2330      "opname" : "OpEndStreamPrimitive",
2331      "class"  : "Primitive",
2332      "opcode" : 221,
2333      "operands" : [
2334        { "kind" : "IdRef", "name" : "'Stream'" }
2335      ],
2336      "capabilities" : [ "GeometryStreams" ]
2337    },
2338    {
2339      "opname" : "OpControlBarrier",
2340      "class"  : "Barrier",
2341      "opcode" : 224,
2342      "operands" : [
2343        { "kind" : "IdScope",           "name" : "'Execution'" },
2344        { "kind" : "IdScope",           "name" : "'Memory'" },
2345        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2346      ]
2347    },
2348    {
2349      "opname" : "OpMemoryBarrier",
2350      "class"  : "Barrier",
2351      "opcode" : 225,
2352      "operands" : [
2353        { "kind" : "IdScope",           "name" : "'Memory'" },
2354        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2355      ]
2356    },
2357    {
2358      "opname" : "OpAtomicLoad",
2359      "class"  : "Atomic",
2360      "opcode" : 227,
2361      "operands" : [
2362        { "kind" : "IdResultType" },
2363        { "kind" : "IdResult" },
2364        { "kind" : "IdRef",             "name" : "'Pointer'" },
2365        { "kind" : "IdScope",           "name" : "'Memory'" },
2366        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2367      ]
2368    },
2369    {
2370      "opname" : "OpAtomicStore",
2371      "class"  : "Atomic",
2372      "opcode" : 228,
2373      "operands" : [
2374        { "kind" : "IdRef",             "name" : "'Pointer'" },
2375        { "kind" : "IdScope",           "name" : "'Memory'" },
2376        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2377        { "kind" : "IdRef",             "name" : "'Value'" }
2378      ]
2379    },
2380    {
2381      "opname" : "OpAtomicExchange",
2382      "class"  : "Atomic",
2383      "opcode" : 229,
2384      "operands" : [
2385        { "kind" : "IdResultType" },
2386        { "kind" : "IdResult" },
2387        { "kind" : "IdRef",             "name" : "'Pointer'" },
2388        { "kind" : "IdScope",           "name" : "'Memory'" },
2389        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2390        { "kind" : "IdRef",             "name" : "'Value'" }
2391      ]
2392    },
2393    {
2394      "opname" : "OpAtomicCompareExchange",
2395      "class"  : "Atomic",
2396      "opcode" : 230,
2397      "operands" : [
2398        { "kind" : "IdResultType" },
2399        { "kind" : "IdResult" },
2400        { "kind" : "IdRef",             "name" : "'Pointer'" },
2401        { "kind" : "IdScope",           "name" : "'Memory'" },
2402        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2403        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2404        { "kind" : "IdRef",             "name" : "'Value'" },
2405        { "kind" : "IdRef",             "name" : "'Comparator'" }
2406      ]
2407    },
2408    {
2409      "opname" : "OpAtomicCompareExchangeWeak",
2410      "class"  : "Atomic",
2411      "opcode" : 231,
2412      "operands" : [
2413        { "kind" : "IdResultType" },
2414        { "kind" : "IdResult" },
2415        { "kind" : "IdRef",             "name" : "'Pointer'" },
2416        { "kind" : "IdScope",           "name" : "'Memory'" },
2417        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
2418        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
2419        { "kind" : "IdRef",             "name" : "'Value'" },
2420        { "kind" : "IdRef",             "name" : "'Comparator'" }
2421      ],
2422      "capabilities" : [ "Kernel" ],
2423      "lastVersion" : "1.3"
2424    },
2425    {
2426      "opname" : "OpAtomicIIncrement",
2427      "class"  : "Atomic",
2428      "opcode" : 232,
2429      "operands" : [
2430        { "kind" : "IdResultType" },
2431        { "kind" : "IdResult" },
2432        { "kind" : "IdRef",             "name" : "'Pointer'" },
2433        { "kind" : "IdScope",           "name" : "'Memory'" },
2434        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2435      ]
2436    },
2437    {
2438      "opname" : "OpAtomicIDecrement",
2439      "class"  : "Atomic",
2440      "opcode" : 233,
2441      "operands" : [
2442        { "kind" : "IdResultType" },
2443        { "kind" : "IdResult" },
2444        { "kind" : "IdRef",             "name" : "'Pointer'" },
2445        { "kind" : "IdScope",           "name" : "'Memory'" },
2446        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
2447      ]
2448    },
2449    {
2450      "opname" : "OpAtomicIAdd",
2451      "class"  : "Atomic",
2452      "opcode" : 234,
2453      "operands" : [
2454        { "kind" : "IdResultType" },
2455        { "kind" : "IdResult" },
2456        { "kind" : "IdRef",             "name" : "'Pointer'" },
2457        { "kind" : "IdScope",           "name" : "'Memory'" },
2458        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2459        { "kind" : "IdRef",             "name" : "'Value'" }
2460      ]
2461    },
2462    {
2463      "opname" : "OpAtomicISub",
2464      "class"  : "Atomic",
2465      "opcode" : 235,
2466      "operands" : [
2467        { "kind" : "IdResultType" },
2468        { "kind" : "IdResult" },
2469        { "kind" : "IdRef",             "name" : "'Pointer'" },
2470        { "kind" : "IdScope",           "name" : "'Memory'" },
2471        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2472        { "kind" : "IdRef",             "name" : "'Value'" }
2473      ]
2474    },
2475    {
2476      "opname" : "OpAtomicSMin",
2477      "class"  : "Atomic",
2478      "opcode" : 236,
2479      "operands" : [
2480        { "kind" : "IdResultType" },
2481        { "kind" : "IdResult" },
2482        { "kind" : "IdRef",             "name" : "'Pointer'" },
2483        { "kind" : "IdScope",           "name" : "'Memory'" },
2484        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2485        { "kind" : "IdRef",             "name" : "'Value'" }
2486      ]
2487    },
2488    {
2489      "opname" : "OpAtomicUMin",
2490      "class"  : "Atomic",
2491      "opcode" : 237,
2492      "operands" : [
2493        { "kind" : "IdResultType" },
2494        { "kind" : "IdResult" },
2495        { "kind" : "IdRef",             "name" : "'Pointer'" },
2496        { "kind" : "IdScope",           "name" : "'Memory'" },
2497        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2498        { "kind" : "IdRef",             "name" : "'Value'" }
2499      ]
2500    },
2501    {
2502      "opname" : "OpAtomicSMax",
2503      "class"  : "Atomic",
2504      "opcode" : 238,
2505      "operands" : [
2506        { "kind" : "IdResultType" },
2507        { "kind" : "IdResult" },
2508        { "kind" : "IdRef",             "name" : "'Pointer'" },
2509        { "kind" : "IdScope",           "name" : "'Memory'" },
2510        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2511        { "kind" : "IdRef",             "name" : "'Value'" }
2512      ]
2513    },
2514    {
2515      "opname" : "OpAtomicUMax",
2516      "class"  : "Atomic",
2517      "opcode" : 239,
2518      "operands" : [
2519        { "kind" : "IdResultType" },
2520        { "kind" : "IdResult" },
2521        { "kind" : "IdRef",             "name" : "'Pointer'" },
2522        { "kind" : "IdScope",           "name" : "'Memory'" },
2523        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2524        { "kind" : "IdRef",             "name" : "'Value'" }
2525      ]
2526    },
2527    {
2528      "opname" : "OpAtomicAnd",
2529      "class"  : "Atomic",
2530      "opcode" : 240,
2531      "operands" : [
2532        { "kind" : "IdResultType" },
2533        { "kind" : "IdResult" },
2534        { "kind" : "IdRef",             "name" : "'Pointer'" },
2535        { "kind" : "IdScope",           "name" : "'Memory'" },
2536        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2537        { "kind" : "IdRef",             "name" : "'Value'" }
2538      ]
2539    },
2540    {
2541      "opname" : "OpAtomicOr",
2542      "class"  : "Atomic",
2543      "opcode" : 241,
2544      "operands" : [
2545        { "kind" : "IdResultType" },
2546        { "kind" : "IdResult" },
2547        { "kind" : "IdRef",             "name" : "'Pointer'" },
2548        { "kind" : "IdScope",           "name" : "'Memory'" },
2549        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2550        { "kind" : "IdRef",             "name" : "'Value'" }
2551      ]
2552    },
2553    {
2554      "opname" : "OpAtomicXor",
2555      "class"  : "Atomic",
2556      "opcode" : 242,
2557      "operands" : [
2558        { "kind" : "IdResultType" },
2559        { "kind" : "IdResult" },
2560        { "kind" : "IdRef",             "name" : "'Pointer'" },
2561        { "kind" : "IdScope",           "name" : "'Memory'" },
2562        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
2563        { "kind" : "IdRef",             "name" : "'Value'" }
2564      ]
2565    },
2566    {
2567      "opname" : "OpPhi",
2568      "class"  : "Control-Flow",
2569      "opcode" : 245,
2570      "operands" : [
2571        { "kind" : "IdResultType" },
2572        { "kind" : "IdResult" },
2573        { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
2574      ]
2575    },
2576    {
2577      "opname" : "OpLoopMerge",
2578      "class"  : "Control-Flow",
2579      "opcode" : 246,
2580      "operands" : [
2581        { "kind" : "IdRef",       "name" : "'Merge Block'" },
2582        { "kind" : "IdRef",       "name" : "'Continue Target'" },
2583        { "kind" : "LoopControl" }
2584      ]
2585    },
2586    {
2587      "opname" : "OpSelectionMerge",
2588      "class"  : "Control-Flow",
2589      "opcode" : 247,
2590      "operands" : [
2591        { "kind" : "IdRef",            "name" : "'Merge Block'" },
2592        { "kind" : "SelectionControl" }
2593      ]
2594    },
2595    {
2596      "opname" : "OpLabel",
2597      "class"  : "Control-Flow",
2598      "opcode" : 248,
2599      "operands" : [
2600        { "kind" : "IdResult" }
2601      ]
2602    },
2603    {
2604      "opname" : "OpBranch",
2605      "class"  : "Control-Flow",
2606      "opcode" : 249,
2607      "operands" : [
2608        { "kind" : "IdRef", "name" : "'Target Label'" }
2609      ]
2610    },
2611    {
2612      "opname" : "OpBranchConditional",
2613      "class"  : "Control-Flow",
2614      "opcode" : 250,
2615      "operands" : [
2616        { "kind" : "IdRef",                              "name" : "'Condition'" },
2617        { "kind" : "IdRef",                              "name" : "'True Label'" },
2618        { "kind" : "IdRef",                              "name" : "'False Label'" },
2619        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
2620      ]
2621    },
2622    {
2623      "opname" : "OpSwitch",
2624      "class"  : "Control-Flow",
2625      "opcode" : 251,
2626      "operands" : [
2627        { "kind" : "IdRef",                                       "name" : "'Selector'" },
2628        { "kind" : "IdRef",                                       "name" : "'Default'" },
2629        { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
2630      ]
2631    },
2632    {
2633      "opname" : "OpKill",
2634      "class"  : "Control-Flow",
2635      "opcode" : 252,
2636      "capabilities" : [ "Shader" ]
2637    },
2638    {
2639      "opname" : "OpReturn",
2640      "class"  : "Control-Flow",
2641      "opcode" : 253
2642    },
2643    {
2644      "opname" : "OpReturnValue",
2645      "class"  : "Control-Flow",
2646      "opcode" : 254,
2647      "operands" : [
2648        { "kind" : "IdRef", "name" : "'Value'" }
2649      ]
2650    },
2651    {
2652      "opname" : "OpUnreachable",
2653      "class"  : "Control-Flow",
2654      "opcode" : 255
2655    },
2656    {
2657      "opname" : "OpLifetimeStart",
2658      "class"  : "Control-Flow",
2659      "opcode" : 256,
2660      "operands" : [
2661        { "kind" : "IdRef",          "name" : "'Pointer'" },
2662        { "kind" : "LiteralInteger", "name" : "'Size'" }
2663      ],
2664      "capabilities" : [ "Kernel" ]
2665    },
2666    {
2667      "opname" : "OpLifetimeStop",
2668      "class"  : "Control-Flow",
2669      "opcode" : 257,
2670      "operands" : [
2671        { "kind" : "IdRef",          "name" : "'Pointer'" },
2672        { "kind" : "LiteralInteger", "name" : "'Size'" }
2673      ],
2674      "capabilities" : [ "Kernel" ]
2675    },
2676    {
2677      "opname" : "OpGroupAsyncCopy",
2678      "class"  : "Group",
2679      "opcode" : 259,
2680      "operands" : [
2681        { "kind" : "IdResultType" },
2682        { "kind" : "IdResult" },
2683        { "kind" : "IdScope",      "name" : "'Execution'" },
2684        { "kind" : "IdRef",        "name" : "'Destination'" },
2685        { "kind" : "IdRef",        "name" : "'Source'" },
2686        { "kind" : "IdRef",        "name" : "'Num Elements'" },
2687        { "kind" : "IdRef",        "name" : "'Stride'" },
2688        { "kind" : "IdRef",        "name" : "'Event'" }
2689      ],
2690      "capabilities" : [ "Kernel" ]
2691    },
2692    {
2693      "opname" : "OpGroupWaitEvents",
2694      "class"  : "Group",
2695      "opcode" : 260,
2696      "operands" : [
2697        { "kind" : "IdScope", "name" : "'Execution'" },
2698        { "kind" : "IdRef",   "name" : "'Num Events'" },
2699        { "kind" : "IdRef",   "name" : "'Events List'" }
2700      ],
2701      "capabilities" : [ "Kernel" ]
2702    },
2703    {
2704      "opname" : "OpGroupAll",
2705      "class"  : "Group",
2706      "opcode" : 261,
2707      "operands" : [
2708        { "kind" : "IdResultType" },
2709        { "kind" : "IdResult" },
2710        { "kind" : "IdScope",      "name" : "'Execution'" },
2711        { "kind" : "IdRef",        "name" : "'Predicate'" }
2712      ],
2713      "capabilities" : [ "Groups" ]
2714    },
2715    {
2716      "opname" : "OpGroupAny",
2717      "class"  : "Group",
2718      "opcode" : 262,
2719      "operands" : [
2720        { "kind" : "IdResultType" },
2721        { "kind" : "IdResult" },
2722        { "kind" : "IdScope",      "name" : "'Execution'" },
2723        { "kind" : "IdRef",        "name" : "'Predicate'" }
2724      ],
2725      "capabilities" : [ "Groups" ]
2726    },
2727    {
2728      "opname" : "OpGroupBroadcast",
2729      "class"  : "Group",
2730      "opcode" : 263,
2731      "operands" : [
2732        { "kind" : "IdResultType" },
2733        { "kind" : "IdResult" },
2734        { "kind" : "IdScope",      "name" : "'Execution'" },
2735        { "kind" : "IdRef",        "name" : "'Value'" },
2736        { "kind" : "IdRef",        "name" : "'LocalId'" }
2737      ],
2738      "capabilities" : [ "Groups" ]
2739    },
2740    {
2741      "opname" : "OpGroupIAdd",
2742      "class"  : "Group",
2743      "opcode" : 264,
2744      "operands" : [
2745        { "kind" : "IdResultType" },
2746        { "kind" : "IdResult" },
2747        { "kind" : "IdScope",        "name" : "'Execution'" },
2748        { "kind" : "GroupOperation", "name" : "'Operation'" },
2749        { "kind" : "IdRef",          "name" : "'X'" }
2750      ],
2751      "capabilities" : [ "Groups" ]
2752    },
2753    {
2754      "opname" : "OpGroupFAdd",
2755      "class"  : "Group",
2756      "opcode" : 265,
2757      "operands" : [
2758        { "kind" : "IdResultType" },
2759        { "kind" : "IdResult" },
2760        { "kind" : "IdScope",        "name" : "'Execution'" },
2761        { "kind" : "GroupOperation", "name" : "'Operation'" },
2762        { "kind" : "IdRef",          "name" : "'X'" }
2763      ],
2764      "capabilities" : [ "Groups" ]
2765    },
2766    {
2767      "opname" : "OpGroupFMin",
2768      "class"  : "Group",
2769      "opcode" : 266,
2770      "operands" : [
2771        { "kind" : "IdResultType" },
2772        { "kind" : "IdResult" },
2773        { "kind" : "IdScope",        "name" : "'Execution'" },
2774        { "kind" : "GroupOperation", "name" : "'Operation'" },
2775        { "kind" : "IdRef",          "name" : "'X'" }
2776      ],
2777      "capabilities" : [ "Groups" ]
2778    },
2779    {
2780      "opname" : "OpGroupUMin",
2781      "class"  : "Group",
2782      "opcode" : 267,
2783      "operands" : [
2784        { "kind" : "IdResultType" },
2785        { "kind" : "IdResult" },
2786        { "kind" : "IdScope",        "name" : "'Execution'" },
2787        { "kind" : "GroupOperation", "name" : "'Operation'" },
2788        { "kind" : "IdRef",          "name" : "'X'" }
2789      ],
2790      "capabilities" : [ "Groups" ]
2791    },
2792    {
2793      "opname" : "OpGroupSMin",
2794      "class"  : "Group",
2795      "opcode" : 268,
2796      "operands" : [
2797        { "kind" : "IdResultType" },
2798        { "kind" : "IdResult" },
2799        { "kind" : "IdScope",        "name" : "'Execution'" },
2800        { "kind" : "GroupOperation", "name" : "'Operation'" },
2801        { "kind" : "IdRef",          "name" : "'X'" }
2802      ],
2803      "capabilities" : [ "Groups" ]
2804    },
2805    {
2806      "opname" : "OpGroupFMax",
2807      "class"  : "Group",
2808      "opcode" : 269,
2809      "operands" : [
2810        { "kind" : "IdResultType" },
2811        { "kind" : "IdResult" },
2812        { "kind" : "IdScope",        "name" : "'Execution'" },
2813        { "kind" : "GroupOperation", "name" : "'Operation'" },
2814        { "kind" : "IdRef",          "name" : "'X'" }
2815      ],
2816      "capabilities" : [ "Groups" ]
2817    },
2818    {
2819      "opname" : "OpGroupUMax",
2820      "class"  : "Group",
2821      "opcode" : 270,
2822      "operands" : [
2823        { "kind" : "IdResultType" },
2824        { "kind" : "IdResult" },
2825        { "kind" : "IdScope",        "name" : "'Execution'" },
2826        { "kind" : "GroupOperation", "name" : "'Operation'" },
2827        { "kind" : "IdRef",          "name" : "'X'" }
2828      ],
2829      "capabilities" : [ "Groups" ]
2830    },
2831    {
2832      "opname" : "OpGroupSMax",
2833      "class"  : "Group",
2834      "opcode" : 271,
2835      "operands" : [
2836        { "kind" : "IdResultType" },
2837        { "kind" : "IdResult" },
2838        { "kind" : "IdScope",        "name" : "'Execution'" },
2839        { "kind" : "GroupOperation", "name" : "'Operation'" },
2840        { "kind" : "IdRef",          "name" : "'X'" }
2841      ],
2842      "capabilities" : [ "Groups" ]
2843    },
2844    {
2845      "opname" : "OpReadPipe",
2846      "class"  : "Pipe",
2847      "opcode" : 274,
2848      "operands" : [
2849        { "kind" : "IdResultType" },
2850        { "kind" : "IdResult" },
2851        { "kind" : "IdRef",        "name" : "'Pipe'" },
2852        { "kind" : "IdRef",        "name" : "'Pointer'" },
2853        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2854        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2855      ],
2856      "capabilities" : [ "Pipes" ]
2857    },
2858    {
2859      "opname" : "OpWritePipe",
2860      "class"  : "Pipe",
2861      "opcode" : 275,
2862      "operands" : [
2863        { "kind" : "IdResultType" },
2864        { "kind" : "IdResult" },
2865        { "kind" : "IdRef",        "name" : "'Pipe'" },
2866        { "kind" : "IdRef",        "name" : "'Pointer'" },
2867        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2868        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2869      ],
2870      "capabilities" : [ "Pipes" ]
2871    },
2872    {
2873      "opname" : "OpReservedReadPipe",
2874      "class"  : "Pipe",
2875      "opcode" : 276,
2876      "operands" : [
2877        { "kind" : "IdResultType" },
2878        { "kind" : "IdResult" },
2879        { "kind" : "IdRef",        "name" : "'Pipe'" },
2880        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
2881        { "kind" : "IdRef",        "name" : "'Index'" },
2882        { "kind" : "IdRef",        "name" : "'Pointer'" },
2883        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2884        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2885      ],
2886      "capabilities" : [ "Pipes" ]
2887    },
2888    {
2889      "opname" : "OpReservedWritePipe",
2890      "class"  : "Pipe",
2891      "opcode" : 277,
2892      "operands" : [
2893        { "kind" : "IdResultType" },
2894        { "kind" : "IdResult" },
2895        { "kind" : "IdRef",        "name" : "'Pipe'" },
2896        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
2897        { "kind" : "IdRef",        "name" : "'Index'" },
2898        { "kind" : "IdRef",        "name" : "'Pointer'" },
2899        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2900        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2901      ],
2902      "capabilities" : [ "Pipes" ]
2903    },
2904    {
2905      "opname" : "OpReserveReadPipePackets",
2906      "class"  : "Pipe",
2907      "opcode" : 278,
2908      "operands" : [
2909        { "kind" : "IdResultType" },
2910        { "kind" : "IdResult" },
2911        { "kind" : "IdRef",        "name" : "'Pipe'" },
2912        { "kind" : "IdRef",        "name" : "'Num Packets'" },
2913        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2914        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2915      ],
2916      "capabilities" : [ "Pipes" ]
2917    },
2918    {
2919      "opname" : "OpReserveWritePipePackets",
2920      "class"  : "Pipe",
2921      "opcode" : 279,
2922      "operands" : [
2923        { "kind" : "IdResultType" },
2924        { "kind" : "IdResult" },
2925        { "kind" : "IdRef",        "name" : "'Pipe'" },
2926        { "kind" : "IdRef",        "name" : "'Num Packets'" },
2927        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2928        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2929      ],
2930      "capabilities" : [ "Pipes" ]
2931    },
2932    {
2933      "opname" : "OpCommitReadPipe",
2934      "class"  : "Pipe",
2935      "opcode" : 280,
2936      "operands" : [
2937        { "kind" : "IdRef", "name" : "'Pipe'" },
2938        { "kind" : "IdRef", "name" : "'Reserve Id'" },
2939        { "kind" : "IdRef", "name" : "'Packet Size'" },
2940        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2941      ],
2942      "capabilities" : [ "Pipes" ]
2943    },
2944    {
2945      "opname" : "OpCommitWritePipe",
2946      "class"  : "Pipe",
2947      "opcode" : 281,
2948      "operands" : [
2949        { "kind" : "IdRef", "name" : "'Pipe'" },
2950        { "kind" : "IdRef", "name" : "'Reserve Id'" },
2951        { "kind" : "IdRef", "name" : "'Packet Size'" },
2952        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
2953      ],
2954      "capabilities" : [ "Pipes" ]
2955    },
2956    {
2957      "opname" : "OpIsValidReserveId",
2958      "class"  : "Pipe",
2959      "opcode" : 282,
2960      "operands" : [
2961        { "kind" : "IdResultType" },
2962        { "kind" : "IdResult" },
2963        { "kind" : "IdRef",        "name" : "'Reserve Id'" }
2964      ],
2965      "capabilities" : [ "Pipes" ]
2966    },
2967    {
2968      "opname" : "OpGetNumPipePackets",
2969      "class"  : "Pipe",
2970      "opcode" : 283,
2971      "operands" : [
2972        { "kind" : "IdResultType" },
2973        { "kind" : "IdResult" },
2974        { "kind" : "IdRef",        "name" : "'Pipe'" },
2975        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2976        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2977      ],
2978      "capabilities" : [ "Pipes" ]
2979    },
2980    {
2981      "opname" : "OpGetMaxPipePackets",
2982      "class"  : "Pipe",
2983      "opcode" : 284,
2984      "operands" : [
2985        { "kind" : "IdResultType" },
2986        { "kind" : "IdResult" },
2987        { "kind" : "IdRef",        "name" : "'Pipe'" },
2988        { "kind" : "IdRef",        "name" : "'Packet Size'" },
2989        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
2990      ],
2991      "capabilities" : [ "Pipes" ]
2992    },
2993    {
2994      "opname" : "OpGroupReserveReadPipePackets",
2995      "class"  : "Pipe",
2996      "opcode" : 285,
2997      "operands" : [
2998        { "kind" : "IdResultType" },
2999        { "kind" : "IdResult" },
3000        { "kind" : "IdScope",      "name" : "'Execution'" },
3001        { "kind" : "IdRef",        "name" : "'Pipe'" },
3002        { "kind" : "IdRef",        "name" : "'Num Packets'" },
3003        { "kind" : "IdRef",        "name" : "'Packet Size'" },
3004        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
3005      ],
3006      "capabilities" : [ "Pipes" ]
3007    },
3008    {
3009      "opname" : "OpGroupReserveWritePipePackets",
3010      "class"  : "Pipe",
3011      "opcode" : 286,
3012      "operands" : [
3013        { "kind" : "IdResultType" },
3014        { "kind" : "IdResult" },
3015        { "kind" : "IdScope",      "name" : "'Execution'" },
3016        { "kind" : "IdRef",        "name" : "'Pipe'" },
3017        { "kind" : "IdRef",        "name" : "'Num Packets'" },
3018        { "kind" : "IdRef",        "name" : "'Packet Size'" },
3019        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
3020      ],
3021      "capabilities" : [ "Pipes" ]
3022    },
3023    {
3024      "opname" : "OpGroupCommitReadPipe",
3025      "class"  : "Pipe",
3026      "opcode" : 287,
3027      "operands" : [
3028        { "kind" : "IdScope", "name" : "'Execution'" },
3029        { "kind" : "IdRef",   "name" : "'Pipe'" },
3030        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
3031        { "kind" : "IdRef",   "name" : "'Packet Size'" },
3032        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
3033      ],
3034      "capabilities" : [ "Pipes" ]
3035    },
3036    {
3037      "opname" : "OpGroupCommitWritePipe",
3038      "class"  : "Pipe",
3039      "opcode" : 288,
3040      "operands" : [
3041        { "kind" : "IdScope", "name" : "'Execution'" },
3042        { "kind" : "IdRef",   "name" : "'Pipe'" },
3043        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
3044        { "kind" : "IdRef",   "name" : "'Packet Size'" },
3045        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
3046      ],
3047      "capabilities" : [ "Pipes" ]
3048    },
3049    {
3050      "opname" : "OpEnqueueMarker",
3051      "class"  : "Device-Side_Enqueue",
3052      "opcode" : 291,
3053      "operands" : [
3054        { "kind" : "IdResultType" },
3055        { "kind" : "IdResult" },
3056        { "kind" : "IdRef",        "name" : "'Queue'" },
3057        { "kind" : "IdRef",        "name" : "'Num Events'" },
3058        { "kind" : "IdRef",        "name" : "'Wait Events'" },
3059        { "kind" : "IdRef",        "name" : "'Ret Event'" }
3060      ],
3061      "capabilities" : [ "DeviceEnqueue" ]
3062    },
3063    {
3064      "opname" : "OpEnqueueKernel",
3065      "class"  : "Device-Side_Enqueue",
3066      "opcode" : 292,
3067      "operands" : [
3068        { "kind" : "IdResultType" },
3069        { "kind" : "IdResult" },
3070        { "kind" : "IdRef",                            "name" : "'Queue'" },
3071        { "kind" : "IdRef",                            "name" : "'Flags'" },
3072        { "kind" : "IdRef",                            "name" : "'ND Range'" },
3073        { "kind" : "IdRef",                            "name" : "'Num Events'" },
3074        { "kind" : "IdRef",                            "name" : "'Wait Events'" },
3075        { "kind" : "IdRef",                            "name" : "'Ret Event'" },
3076        { "kind" : "IdRef",                            "name" : "'Invoke'" },
3077        { "kind" : "IdRef",                            "name" : "'Param'" },
3078        { "kind" : "IdRef",                            "name" : "'Param Size'" },
3079        { "kind" : "IdRef",                            "name" : "'Param Align'" },
3080        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Local Size'" }
3081      ],
3082      "capabilities" : [ "DeviceEnqueue" ]
3083    },
3084    {
3085      "opname" : "OpGetKernelNDrangeSubGroupCount",
3086      "class"  : "Device-Side_Enqueue",
3087      "opcode" : 293,
3088      "operands" : [
3089        { "kind" : "IdResultType" },
3090        { "kind" : "IdResult" },
3091        { "kind" : "IdRef",        "name" : "'ND Range'" },
3092        { "kind" : "IdRef",        "name" : "'Invoke'" },
3093        { "kind" : "IdRef",        "name" : "'Param'" },
3094        { "kind" : "IdRef",        "name" : "'Param Size'" },
3095        { "kind" : "IdRef",        "name" : "'Param Align'" }
3096      ],
3097      "capabilities" : [ "DeviceEnqueue" ]
3098    },
3099    {
3100      "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
3101      "class"  : "Device-Side_Enqueue",
3102      "opcode" : 294,
3103      "operands" : [
3104        { "kind" : "IdResultType" },
3105        { "kind" : "IdResult" },
3106        { "kind" : "IdRef",        "name" : "'ND Range'" },
3107        { "kind" : "IdRef",        "name" : "'Invoke'" },
3108        { "kind" : "IdRef",        "name" : "'Param'" },
3109        { "kind" : "IdRef",        "name" : "'Param Size'" },
3110        { "kind" : "IdRef",        "name" : "'Param Align'" }
3111      ],
3112      "capabilities" : [ "DeviceEnqueue" ]
3113    },
3114    {
3115      "opname" : "OpGetKernelWorkGroupSize",
3116      "class"  : "Device-Side_Enqueue",
3117      "opcode" : 295,
3118      "operands" : [
3119        { "kind" : "IdResultType" },
3120        { "kind" : "IdResult" },
3121        { "kind" : "IdRef",        "name" : "'Invoke'" },
3122        { "kind" : "IdRef",        "name" : "'Param'" },
3123        { "kind" : "IdRef",        "name" : "'Param Size'" },
3124        { "kind" : "IdRef",        "name" : "'Param Align'" }
3125      ],
3126      "capabilities" : [ "DeviceEnqueue" ]
3127    },
3128    {
3129      "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
3130      "class"  : "Device-Side_Enqueue",
3131      "opcode" : 296,
3132      "operands" : [
3133        { "kind" : "IdResultType" },
3134        { "kind" : "IdResult" },
3135        { "kind" : "IdRef",        "name" : "'Invoke'" },
3136        { "kind" : "IdRef",        "name" : "'Param'" },
3137        { "kind" : "IdRef",        "name" : "'Param Size'" },
3138        { "kind" : "IdRef",        "name" : "'Param Align'" }
3139      ],
3140      "capabilities" : [ "DeviceEnqueue" ]
3141    },
3142    {
3143      "opname" : "OpRetainEvent",
3144      "class"  : "Device-Side_Enqueue",
3145      "opcode" : 297,
3146      "operands" : [
3147        { "kind" : "IdRef", "name" : "'Event'" }
3148      ],
3149      "capabilities" : [ "DeviceEnqueue" ]
3150    },
3151    {
3152      "opname" : "OpReleaseEvent",
3153      "class"  : "Device-Side_Enqueue",
3154      "opcode" : 298,
3155      "operands" : [
3156        { "kind" : "IdRef", "name" : "'Event'" }
3157      ],
3158      "capabilities" : [ "DeviceEnqueue" ]
3159    },
3160    {
3161      "opname" : "OpCreateUserEvent",
3162      "class"  : "Device-Side_Enqueue",
3163      "opcode" : 299,
3164      "operands" : [
3165        { "kind" : "IdResultType" },
3166        { "kind" : "IdResult" }
3167      ],
3168      "capabilities" : [ "DeviceEnqueue" ]
3169    },
3170    {
3171      "opname" : "OpIsValidEvent",
3172      "class"  : "Device-Side_Enqueue",
3173      "opcode" : 300,
3174      "operands" : [
3175        { "kind" : "IdResultType" },
3176        { "kind" : "IdResult" },
3177        { "kind" : "IdRef",        "name" : "'Event'" }
3178      ],
3179      "capabilities" : [ "DeviceEnqueue" ]
3180    },
3181    {
3182      "opname" : "OpSetUserEventStatus",
3183      "class"  : "Device-Side_Enqueue",
3184      "opcode" : 301,
3185      "operands" : [
3186        { "kind" : "IdRef", "name" : "'Event'" },
3187        { "kind" : "IdRef", "name" : "'Status'" }
3188      ],
3189      "capabilities" : [ "DeviceEnqueue" ]
3190    },
3191    {
3192      "opname" : "OpCaptureEventProfilingInfo",
3193      "class"  : "Device-Side_Enqueue",
3194      "opcode" : 302,
3195      "operands" : [
3196        { "kind" : "IdRef", "name" : "'Event'" },
3197        { "kind" : "IdRef", "name" : "'Profiling Info'" },
3198        { "kind" : "IdRef", "name" : "'Value'" }
3199      ],
3200      "capabilities" : [ "DeviceEnqueue" ]
3201    },
3202    {
3203      "opname" : "OpGetDefaultQueue",
3204      "class"  : "Device-Side_Enqueue",
3205      "opcode" : 303,
3206      "operands" : [
3207        { "kind" : "IdResultType" },
3208        { "kind" : "IdResult" }
3209      ],
3210      "capabilities" : [ "DeviceEnqueue" ]
3211    },
3212    {
3213      "opname" : "OpBuildNDRange",
3214      "class"  : "Device-Side_Enqueue",
3215      "opcode" : 304,
3216      "operands" : [
3217        { "kind" : "IdResultType" },
3218        { "kind" : "IdResult" },
3219        { "kind" : "IdRef",        "name" : "'GlobalWorkSize'" },
3220        { "kind" : "IdRef",        "name" : "'LocalWorkSize'" },
3221        { "kind" : "IdRef",        "name" : "'GlobalWorkOffset'" }
3222      ],
3223      "capabilities" : [ "DeviceEnqueue" ]
3224    },
3225    {
3226      "opname" : "OpImageSparseSampleImplicitLod",
3227      "class"  : "Image",
3228      "opcode" : 305,
3229      "operands" : [
3230        { "kind" : "IdResultType" },
3231        { "kind" : "IdResult" },
3232        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3233        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3234        { "kind" : "ImageOperands", "quantifier" : "?" }
3235      ],
3236      "capabilities" : [ "SparseResidency" ]
3237    },
3238    {
3239      "opname" : "OpImageSparseSampleExplicitLod",
3240      "class"  : "Image",
3241      "opcode" : 306,
3242      "operands" : [
3243        { "kind" : "IdResultType" },
3244        { "kind" : "IdResult" },
3245        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3246        { "kind" : "IdRef",         "name" : "'Coordinate'" },
3247        { "kind" : "ImageOperands" }
3248      ],
3249      "capabilities" : [ "SparseResidency" ]
3250    },
3251    {
3252      "opname" : "OpImageSparseSampleDrefImplicitLod",
3253      "class"  : "Image",
3254      "opcode" : 307,
3255      "operands" : [
3256        { "kind" : "IdResultType" },
3257        { "kind" : "IdResult" },
3258        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3259        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3260        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3261        { "kind" : "ImageOperands", "quantifier" : "?" }
3262      ],
3263      "capabilities" : [ "SparseResidency" ]
3264    },
3265    {
3266      "opname" : "OpImageSparseSampleDrefExplicitLod",
3267      "class"  : "Image",
3268      "opcode" : 308,
3269      "operands" : [
3270        { "kind" : "IdResultType" },
3271        { "kind" : "IdResult" },
3272        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3273        { "kind" : "IdRef",         "name" : "'Coordinate'" },
3274        { "kind" : "IdRef",         "name" : "'D~ref~'" },
3275        { "kind" : "ImageOperands" }
3276      ],
3277      "capabilities" : [ "SparseResidency" ]
3278    },
3279    {
3280      "opname" : "OpImageSparseSampleProjImplicitLod",
3281      "class"  : "Image",
3282      "opcode" : 309,
3283      "operands" : [
3284        { "kind" : "IdResultType" },
3285        { "kind" : "IdResult" },
3286        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3287        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3288        { "kind" : "ImageOperands", "quantifier" : "?" }
3289      ],
3290      "capabilities" : [ "SparseResidency" ],
3291      "version" : "None"
3292    },
3293    {
3294      "opname" : "OpImageSparseSampleProjExplicitLod",
3295      "class"  : "Image",
3296      "opcode" : 310,
3297      "operands" : [
3298        { "kind" : "IdResultType" },
3299        { "kind" : "IdResult" },
3300        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3301        { "kind" : "IdRef",         "name" : "'Coordinate'" },
3302        { "kind" : "ImageOperands" }
3303      ],
3304      "capabilities" : [ "SparseResidency" ],
3305      "version" : "None"
3306    },
3307    {
3308      "opname" : "OpImageSparseSampleProjDrefImplicitLod",
3309      "class"  : "Image",
3310      "opcode" : 311,
3311      "operands" : [
3312        { "kind" : "IdResultType" },
3313        { "kind" : "IdResult" },
3314        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3315        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3316        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3317        { "kind" : "ImageOperands", "quantifier" : "?" }
3318      ],
3319      "capabilities" : [ "SparseResidency" ],
3320      "version" : "None"
3321    },
3322    {
3323      "opname" : "OpImageSparseSampleProjDrefExplicitLod",
3324      "class"  : "Image",
3325      "opcode" : 312,
3326      "operands" : [
3327        { "kind" : "IdResultType" },
3328        { "kind" : "IdResult" },
3329        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
3330        { "kind" : "IdRef",         "name" : "'Coordinate'" },
3331        { "kind" : "IdRef",         "name" : "'D~ref~'" },
3332        { "kind" : "ImageOperands" }
3333      ],
3334      "capabilities" : [ "SparseResidency" ],
3335      "version" : "None"
3336    },
3337    {
3338      "opname" : "OpImageSparseFetch",
3339      "class"  : "Image",
3340      "opcode" : 313,
3341      "operands" : [
3342        { "kind" : "IdResultType" },
3343        { "kind" : "IdResult" },
3344        { "kind" : "IdRef",                             "name" : "'Image'" },
3345        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3346        { "kind" : "ImageOperands", "quantifier" : "?" }
3347      ],
3348      "capabilities" : [ "SparseResidency" ]
3349    },
3350    {
3351      "opname" : "OpImageSparseGather",
3352      "class"  : "Image",
3353      "opcode" : 314,
3354      "operands" : [
3355        { "kind" : "IdResultType" },
3356        { "kind" : "IdResult" },
3357        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3358        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3359        { "kind" : "IdRef",                             "name" : "'Component'" },
3360        { "kind" : "ImageOperands", "quantifier" : "?" }
3361      ],
3362      "capabilities" : [ "SparseResidency" ]
3363    },
3364    {
3365      "opname" : "OpImageSparseDrefGather",
3366      "class"  : "Image",
3367      "opcode" : 315,
3368      "operands" : [
3369        { "kind" : "IdResultType" },
3370        { "kind" : "IdResult" },
3371        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
3372        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3373        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
3374        { "kind" : "ImageOperands", "quantifier" : "?" }
3375      ],
3376      "capabilities" : [ "SparseResidency" ]
3377    },
3378    {
3379      "opname" : "OpImageSparseTexelsResident",
3380      "class"  : "Image",
3381      "opcode" : 316,
3382      "operands" : [
3383        { "kind" : "IdResultType" },
3384        { "kind" : "IdResult" },
3385        { "kind" : "IdRef",        "name" : "'Resident Code'" }
3386      ],
3387      "capabilities" : [ "SparseResidency" ]
3388    },
3389    {
3390      "opname" : "OpNoLine",
3391      "class"  : "Debug",
3392      "opcode" : 317
3393    },
3394    {
3395      "opname" : "OpAtomicFlagTestAndSet",
3396      "class"  : "Atomic",
3397      "opcode" : 318,
3398      "operands" : [
3399        { "kind" : "IdResultType" },
3400        { "kind" : "IdResult" },
3401        { "kind" : "IdRef",             "name" : "'Pointer'" },
3402        { "kind" : "IdScope",           "name" : "'Memory'" },
3403        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3404      ],
3405      "capabilities" : [ "Kernel" ]
3406    },
3407    {
3408      "opname" : "OpAtomicFlagClear",
3409      "class"  : "Atomic",
3410      "opcode" : 319,
3411      "operands" : [
3412        { "kind" : "IdRef",             "name" : "'Pointer'" },
3413        { "kind" : "IdScope",           "name" : "'Memory'" },
3414        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3415      ],
3416      "capabilities" : [ "Kernel" ]
3417    },
3418    {
3419      "opname" : "OpImageSparseRead",
3420      "class"  : "Image",
3421      "opcode" : 320,
3422      "operands" : [
3423        { "kind" : "IdResultType" },
3424        { "kind" : "IdResult" },
3425        { "kind" : "IdRef",                             "name" : "'Image'" },
3426        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
3427        { "kind" : "ImageOperands", "quantifier" : "?" }
3428      ],
3429      "capabilities" : [ "SparseResidency" ]
3430    },
3431    {
3432      "opname" : "OpSizeOf",
3433      "class"  : "Miscellaneous",
3434      "opcode" : 321,
3435      "operands" : [
3436        { "kind" : "IdResultType" },
3437        { "kind" : "IdResult" },
3438        { "kind" : "IdRef", "name" : "'Pointer'" }
3439      ],
3440      "capabilities" : [ "Addresses" ],
3441      "version" : "1.1"
3442    },
3443    {
3444      "opname" : "OpTypePipeStorage",
3445      "class"  : "Type-Declaration",
3446      "opcode" : 322,
3447      "operands" : [
3448        { "kind" : "IdResult" }
3449      ],
3450      "capabilities" : [ "PipeStorage" ],
3451      "version" : "1.1"
3452    },
3453    {
3454      "opname" : "OpConstantPipeStorage",
3455      "class"  : "Pipe",
3456      "opcode" : 323,
3457      "operands" : [
3458        { "kind" : "IdResultType" },
3459        { "kind" : "IdResult" },
3460        { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
3461        { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
3462        { "kind" : "LiteralInteger", "name" : "'Capacity'" }
3463      ],
3464      "capabilities" : [ "PipeStorage" ],
3465      "version" : "1.1"
3466    },
3467    {
3468      "opname" : "OpCreatePipeFromPipeStorage",
3469      "class"  : "Pipe",
3470      "opcode" : 324,
3471      "operands" : [
3472        { "kind" : "IdResultType" },
3473        { "kind" : "IdResult" },
3474        { "kind" : "IdRef", "name" : "'Pipe Storage'" }
3475      ],
3476      "capabilities" : [ "PipeStorage" ],
3477      "version" : "1.1"
3478    },
3479    {
3480      "opname" : "OpGetKernelLocalSizeForSubgroupCount",
3481      "class"  : "Device-Side_Enqueue",
3482      "opcode" : 325,
3483      "operands" : [
3484        { "kind" : "IdResultType" },
3485        { "kind" : "IdResult" },
3486        { "kind" : "IdRef", "name" : "'Subgroup Count'" },
3487        { "kind" : "IdRef", "name" : "'Invoke'" },
3488        { "kind" : "IdRef", "name" : "'Param'" },
3489        { "kind" : "IdRef", "name" : "'Param Size'" },
3490        { "kind" : "IdRef", "name" : "'Param Align'" }
3491      ],
3492      "capabilities" : [ "SubgroupDispatch" ],
3493      "version" : "1.1"
3494    },
3495    {
3496      "opname" : "OpGetKernelMaxNumSubgroups",
3497      "class"  : "Device-Side_Enqueue",
3498      "opcode" : 326,
3499      "operands" : [
3500        { "kind" : "IdResultType" },
3501        { "kind" : "IdResult" },
3502        { "kind" : "IdRef", "name" : "'Invoke'" },
3503        { "kind" : "IdRef", "name" : "'Param'" },
3504        { "kind" : "IdRef", "name" : "'Param Size'" },
3505        { "kind" : "IdRef", "name" : "'Param Align'" }
3506      ],
3507      "capabilities" : [ "SubgroupDispatch" ],
3508      "version" : "1.1"
3509    },
3510    {
3511      "opname" : "OpTypeNamedBarrier",
3512      "class"  : "Type-Declaration",
3513      "opcode" : 327,
3514      "operands" : [
3515        { "kind" : "IdResult" }
3516      ],
3517      "capabilities" : [ "NamedBarrier" ],
3518      "version" : "1.1"
3519    },
3520    {
3521      "opname" : "OpNamedBarrierInitialize",
3522      "class"  : "Barrier",
3523      "opcode" : 328,
3524      "operands" : [
3525        { "kind" : "IdResultType" },
3526        { "kind" : "IdResult" },
3527        { "kind" : "IdRef", "name" : "'Subgroup Count'" }
3528      ],
3529      "capabilities" : [ "NamedBarrier" ],
3530      "version" : "1.1"
3531    },
3532    {
3533      "opname" : "OpMemoryNamedBarrier",
3534      "class"  : "Barrier",
3535      "opcode" : 329,
3536      "operands" : [
3537        { "kind" : "IdRef", "name" : "'Named Barrier'" },
3538        { "kind" : "IdScope", "name" : "'Memory'" },
3539        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
3540      ],
3541      "capabilities" : [ "NamedBarrier" ],
3542      "version" : "1.1"
3543    },
3544    {
3545      "opname" : "OpModuleProcessed",
3546      "class"  : "Debug",
3547      "opcode" : 330,
3548      "operands" : [
3549        { "kind" : "LiteralString", "name" : "'Process'" }
3550      ],
3551      "version" : "1.1"
3552    },
3553    {
3554      "opname" : "OpExecutionModeId",
3555      "class"  : "Mode-Setting",
3556      "opcode" : 331,
3557      "operands" : [
3558        { "kind" : "IdRef", "name" : "'Entry Point'" },
3559        { "kind" : "ExecutionMode", "name" : "'Mode'" }
3560      ],
3561      "version" : "1.2"
3562    },
3563    {
3564      "opname" : "OpDecorateId",
3565      "class"  : "Annotation",
3566      "opcode" : 332,
3567      "operands" : [
3568        { "kind" : "IdRef", "name" : "'Target'" },
3569        { "kind" : "Decoration" }
3570      ],
3571      "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
3572      "version" : "1.2"
3573    },
3574    {
3575      "opname" : "OpGroupNonUniformElect",
3576      "class"  : "Non-Uniform",
3577      "opcode" : 333,
3578      "operands" : [
3579        { "kind" : "IdResultType" },
3580        { "kind" : "IdResult" },
3581        { "kind" : "IdScope", "name" : "'Execution'" }
3582      ],
3583      "capabilities" : [ "GroupNonUniform" ],
3584      "version" : "1.3"
3585    },
3586    {
3587      "opname" : "OpGroupNonUniformAll",
3588      "class"  : "Non-Uniform",
3589      "opcode" : 334,
3590      "operands" : [
3591        { "kind" : "IdResultType" },
3592        { "kind" : "IdResult" },
3593        { "kind" : "IdScope", "name" : "'Execution'" },
3594        { "kind" : "IdRef", "name" : "'Predicate'" }
3595      ],
3596      "capabilities" : [ "GroupNonUniformVote" ],
3597      "version" : "1.3"
3598    },
3599    {
3600      "opname" : "OpGroupNonUniformAny",
3601      "class"  : "Non-Uniform",
3602      "opcode" : 335,
3603      "operands" : [
3604        { "kind" : "IdResultType" },
3605        { "kind" : "IdResult" },
3606        { "kind" : "IdScope", "name" : "'Execution'" },
3607        { "kind" : "IdRef", "name" : "'Predicate'" }
3608      ],
3609      "capabilities" : [ "GroupNonUniformVote" ],
3610      "version" : "1.3"
3611    },
3612    {
3613      "opname" : "OpGroupNonUniformAllEqual",
3614      "class"  : "Non-Uniform",
3615      "opcode" : 336,
3616      "operands" : [
3617        { "kind" : "IdResultType" },
3618        { "kind" : "IdResult" },
3619        { "kind" : "IdScope", "name" : "'Execution'" },
3620        { "kind" : "IdRef", "name" : "'Value'" }
3621      ],
3622      "capabilities" : [ "GroupNonUniformVote" ],
3623      "version" : "1.3"
3624    },
3625    {
3626      "opname" : "OpGroupNonUniformBroadcast",
3627      "class"  : "Non-Uniform",
3628      "opcode" : 337,
3629      "operands" : [
3630        { "kind" : "IdResultType" },
3631        { "kind" : "IdResult" },
3632        { "kind" : "IdScope", "name" : "'Execution'" },
3633        { "kind" : "IdRef", "name" : "'Value'" },
3634        { "kind" : "IdRef", "name" : "'Id'" }
3635      ],
3636      "capabilities" : [ "GroupNonUniformBallot" ],
3637      "version" : "1.3"
3638    },
3639    {
3640      "opname" : "OpGroupNonUniformBroadcastFirst",
3641      "class"  : "Non-Uniform",
3642      "opcode" : 338,
3643      "operands" : [
3644        { "kind" : "IdResultType" },
3645        { "kind" : "IdResult" },
3646        { "kind" : "IdScope", "name" : "'Execution'" },
3647        { "kind" : "IdRef", "name" : "'Value'" }
3648      ],
3649      "capabilities" : [ "GroupNonUniformBallot" ],
3650      "version" : "1.3"
3651    },
3652    {
3653      "opname" : "OpGroupNonUniformBallot",
3654      "class"  : "Non-Uniform",
3655      "opcode" : 339,
3656      "operands" : [
3657        { "kind" : "IdResultType" },
3658        { "kind" : "IdResult" },
3659        { "kind" : "IdScope", "name" : "'Execution'" },
3660        { "kind" : "IdRef", "name" : "'Predicate'" }
3661      ],
3662      "capabilities" : [ "GroupNonUniformBallot" ],
3663      "version" : "1.3"
3664    },
3665    {
3666      "opname" : "OpGroupNonUniformInverseBallot",
3667      "class"  : "Non-Uniform",
3668      "opcode" : 340,
3669      "operands" : [
3670        { "kind" : "IdResultType" },
3671        { "kind" : "IdResult" },
3672        { "kind" : "IdScope", "name" : "'Execution'" },
3673        { "kind" : "IdRef", "name" : "'Value'" }
3674      ],
3675      "capabilities" : [ "GroupNonUniformBallot" ],
3676      "version" : "1.3"
3677    },
3678    {
3679      "opname" : "OpGroupNonUniformBallotBitExtract",
3680      "class"  : "Non-Uniform",
3681      "opcode" : 341,
3682      "operands" : [
3683        { "kind" : "IdResultType" },
3684        { "kind" : "IdResult" },
3685        { "kind" : "IdScope", "name" : "'Execution'" },
3686        { "kind" : "IdRef", "name" : "'Value'" },
3687        { "kind" : "IdRef", "name" : "'Index'" }
3688      ],
3689      "capabilities" : [ "GroupNonUniformBallot" ],
3690      "version" : "1.3"
3691    },
3692    {
3693      "opname" : "OpGroupNonUniformBallotBitCount",
3694      "class"  : "Non-Uniform",
3695      "opcode" : 342,
3696      "operands" : [
3697        { "kind" : "IdResultType" },
3698        { "kind" : "IdResult" },
3699        { "kind" : "IdScope", "name" : "'Execution'" },
3700        { "kind" : "GroupOperation", "name" : "'Operation'" },
3701        { "kind" : "IdRef", "name" : "'Value'" }
3702      ],
3703      "capabilities" : [ "GroupNonUniformBallot" ],
3704      "version" : "1.3"
3705    },
3706    {
3707      "opname" : "OpGroupNonUniformBallotFindLSB",
3708      "class"  : "Non-Uniform",
3709      "opcode" : 343,
3710      "operands" : [
3711        { "kind" : "IdResultType" },
3712        { "kind" : "IdResult" },
3713        { "kind" : "IdScope", "name" : "'Execution'" },
3714        { "kind" : "IdRef", "name" : "'Value'" }
3715      ],
3716      "capabilities" : [ "GroupNonUniformBallot" ],
3717      "version" : "1.3"
3718    },
3719    {
3720      "opname" : "OpGroupNonUniformBallotFindMSB",
3721      "class"  : "Non-Uniform",
3722      "opcode" : 344,
3723      "operands" : [
3724        { "kind" : "IdResultType" },
3725        { "kind" : "IdResult" },
3726        { "kind" : "IdScope", "name" : "'Execution'" },
3727        { "kind" : "IdRef", "name" : "'Value'" }
3728      ],
3729      "capabilities" : [ "GroupNonUniformBallot" ],
3730      "version" : "1.3"
3731    },
3732    {
3733      "opname" : "OpGroupNonUniformShuffle",
3734      "class"  : "Non-Uniform",
3735      "opcode" : 345,
3736      "operands" : [
3737        { "kind" : "IdResultType" },
3738        { "kind" : "IdResult" },
3739        { "kind" : "IdScope", "name" : "'Execution'" },
3740        { "kind" : "IdRef", "name" : "'Value'" },
3741        { "kind" : "IdRef", "name" : "'Id'" }
3742      ],
3743      "capabilities" : [ "GroupNonUniformShuffle" ],
3744      "version" : "1.3"
3745    },
3746    {
3747      "opname" : "OpGroupNonUniformShuffleXor",
3748      "class"  : "Non-Uniform",
3749      "opcode" : 346,
3750      "operands" : [
3751        { "kind" : "IdResultType" },
3752        { "kind" : "IdResult" },
3753        { "kind" : "IdScope", "name" : "'Execution'" },
3754        { "kind" : "IdRef", "name" : "'Value'" },
3755        { "kind" : "IdRef", "name" : "'Mask'" }
3756      ],
3757      "capabilities" : [ "GroupNonUniformShuffle" ],
3758      "version" : "1.3"
3759    },
3760    {
3761      "opname" : "OpGroupNonUniformShuffleUp",
3762      "class"  : "Non-Uniform",
3763      "opcode" : 347,
3764      "operands" : [
3765        { "kind" : "IdResultType" },
3766        { "kind" : "IdResult" },
3767        { "kind" : "IdScope", "name" : "'Execution'" },
3768        { "kind" : "IdRef", "name" : "'Value'" },
3769        { "kind" : "IdRef", "name" : "'Delta'" }
3770      ],
3771      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3772      "version" : "1.3"
3773    },
3774    {
3775      "opname" : "OpGroupNonUniformShuffleDown",
3776      "class"  : "Non-Uniform",
3777      "opcode" : 348,
3778      "operands" : [
3779        { "kind" : "IdResultType" },
3780        { "kind" : "IdResult" },
3781        { "kind" : "IdScope", "name" : "'Execution'" },
3782        { "kind" : "IdRef", "name" : "'Value'" },
3783        { "kind" : "IdRef", "name" : "'Delta'" }
3784      ],
3785      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
3786      "version" : "1.3"
3787    },
3788    {
3789      "opname" : "OpGroupNonUniformIAdd",
3790      "class"  : "Non-Uniform",
3791      "opcode" : 349,
3792      "operands" : [
3793        { "kind" : "IdResultType" },
3794        { "kind" : "IdResult" },
3795        { "kind" : "IdScope", "name" : "'Execution'" },
3796        { "kind" : "GroupOperation", "name" : "'Operation'" },
3797        { "kind" : "IdRef", "name" : "'Value'" },
3798        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3799      ],
3800      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3801      "version" : "1.3"
3802    },
3803    {
3804      "opname" : "OpGroupNonUniformFAdd",
3805      "class"  : "Non-Uniform",
3806      "opcode" : 350,
3807      "operands" : [
3808        { "kind" : "IdResultType" },
3809        { "kind" : "IdResult" },
3810        { "kind" : "IdScope", "name" : "'Execution'" },
3811        { "kind" : "GroupOperation", "name" : "'Operation'" },
3812        { "kind" : "IdRef", "name" : "'Value'" },
3813        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3814      ],
3815      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3816      "version" : "1.3"
3817    },
3818    {
3819      "opname" : "OpGroupNonUniformIMul",
3820      "class"  : "Non-Uniform",
3821      "opcode" : 351,
3822      "operands" : [
3823        { "kind" : "IdResultType" },
3824        { "kind" : "IdResult" },
3825        { "kind" : "IdScope", "name" : "'Execution'" },
3826        { "kind" : "GroupOperation", "name" : "'Operation'" },
3827        { "kind" : "IdRef", "name" : "'Value'" },
3828        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3829      ],
3830      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3831      "version" : "1.3"
3832    },
3833    {
3834      "opname" : "OpGroupNonUniformFMul",
3835      "class"  : "Non-Uniform",
3836      "opcode" : 352,
3837      "operands" : [
3838        { "kind" : "IdResultType" },
3839        { "kind" : "IdResult" },
3840        { "kind" : "IdScope", "name" : "'Execution'" },
3841        { "kind" : "GroupOperation", "name" : "'Operation'" },
3842        { "kind" : "IdRef", "name" : "'Value'" },
3843        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3844      ],
3845      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3846      "version" : "1.3"
3847    },
3848    {
3849      "opname" : "OpGroupNonUniformSMin",
3850      "class"  : "Non-Uniform",
3851      "opcode" : 353,
3852      "operands" : [
3853        { "kind" : "IdResultType" },
3854        { "kind" : "IdResult" },
3855        { "kind" : "IdScope", "name" : "'Execution'" },
3856        { "kind" : "GroupOperation", "name" : "'Operation'" },
3857        { "kind" : "IdRef", "name" : "'Value'" },
3858        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3859      ],
3860      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3861      "version" : "1.3"
3862    },
3863    {
3864      "opname" : "OpGroupNonUniformUMin",
3865      "class"  : "Non-Uniform",
3866      "opcode" : 354,
3867      "operands" : [
3868        { "kind" : "IdResultType" },
3869        { "kind" : "IdResult" },
3870        { "kind" : "IdScope", "name" : "'Execution'" },
3871        { "kind" : "GroupOperation", "name" : "'Operation'" },
3872        { "kind" : "IdRef", "name" : "'Value'" },
3873        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3874      ],
3875      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3876      "version" : "1.3"
3877    },
3878    {
3879      "opname" : "OpGroupNonUniformFMin",
3880      "class"  : "Non-Uniform",
3881      "opcode" : 355,
3882      "operands" : [
3883        { "kind" : "IdResultType" },
3884        { "kind" : "IdResult" },
3885        { "kind" : "IdScope", "name" : "'Execution'" },
3886        { "kind" : "GroupOperation", "name" : "'Operation'" },
3887        { "kind" : "IdRef", "name" : "'Value'" },
3888        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3889      ],
3890      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3891      "version" : "1.3"
3892    },
3893    {
3894      "opname" : "OpGroupNonUniformSMax",
3895      "class"  : "Non-Uniform",
3896      "opcode" : 356,
3897      "operands" : [
3898        { "kind" : "IdResultType" },
3899        { "kind" : "IdResult" },
3900        { "kind" : "IdScope", "name" : "'Execution'" },
3901        { "kind" : "GroupOperation", "name" : "'Operation'" },
3902        { "kind" : "IdRef", "name" : "'Value'" },
3903        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3904      ],
3905      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3906      "version" : "1.3"
3907    },
3908    {
3909      "opname" : "OpGroupNonUniformUMax",
3910      "class"  : "Non-Uniform",
3911      "opcode" : 357,
3912      "operands" : [
3913        { "kind" : "IdResultType" },
3914        { "kind" : "IdResult" },
3915        { "kind" : "IdScope", "name" : "'Execution'" },
3916        { "kind" : "GroupOperation", "name" : "'Operation'" },
3917        { "kind" : "IdRef", "name" : "'Value'" },
3918        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3919      ],
3920      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3921      "version" : "1.3"
3922    },
3923    {
3924      "opname" : "OpGroupNonUniformFMax",
3925      "class"  : "Non-Uniform",
3926      "opcode" : 358,
3927      "operands" : [
3928        { "kind" : "IdResultType" },
3929        { "kind" : "IdResult" },
3930        { "kind" : "IdScope", "name" : "'Execution'" },
3931        { "kind" : "GroupOperation", "name" : "'Operation'" },
3932        { "kind" : "IdRef", "name" : "'Value'" },
3933        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3934      ],
3935      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3936      "version" : "1.3"
3937    },
3938    {
3939      "opname" : "OpGroupNonUniformBitwiseAnd",
3940      "class"  : "Non-Uniform",
3941      "opcode" : 359,
3942      "operands" : [
3943        { "kind" : "IdResultType" },
3944        { "kind" : "IdResult" },
3945        { "kind" : "IdScope", "name" : "'Execution'" },
3946        { "kind" : "GroupOperation", "name" : "'Operation'" },
3947        { "kind" : "IdRef", "name" : "'Value'" },
3948        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3949      ],
3950      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3951      "version" : "1.3"
3952    },
3953    {
3954      "opname" : "OpGroupNonUniformBitwiseOr",
3955      "class"  : "Non-Uniform",
3956      "opcode" : 360,
3957      "operands" : [
3958        { "kind" : "IdResultType" },
3959        { "kind" : "IdResult" },
3960        { "kind" : "IdScope", "name" : "'Execution'" },
3961        { "kind" : "GroupOperation", "name" : "'Operation'" },
3962        { "kind" : "IdRef", "name" : "'Value'" },
3963        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3964      ],
3965      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3966      "version" : "1.3"
3967    },
3968    {
3969      "opname" : "OpGroupNonUniformBitwiseXor",
3970      "class"  : "Non-Uniform",
3971      "opcode" : 361,
3972      "operands" : [
3973        { "kind" : "IdResultType" },
3974        { "kind" : "IdResult" },
3975        { "kind" : "IdScope", "name" : "'Execution'" },
3976        { "kind" : "GroupOperation", "name" : "'Operation'" },
3977        { "kind" : "IdRef", "name" : "'Value'" },
3978        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3979      ],
3980      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3981      "version" : "1.3"
3982    },
3983    {
3984      "opname" : "OpGroupNonUniformLogicalAnd",
3985      "class"  : "Non-Uniform",
3986      "opcode" : 362,
3987      "operands" : [
3988        { "kind" : "IdResultType" },
3989        { "kind" : "IdResult" },
3990        { "kind" : "IdScope", "name" : "'Execution'" },
3991        { "kind" : "GroupOperation", "name" : "'Operation'" },
3992        { "kind" : "IdRef", "name" : "'Value'" },
3993        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
3994      ],
3995      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
3996      "version" : "1.3"
3997    },
3998    {
3999      "opname" : "OpGroupNonUniformLogicalOr",
4000      "class"  : "Non-Uniform",
4001      "opcode" : 363,
4002      "operands" : [
4003        { "kind" : "IdResultType" },
4004        { "kind" : "IdResult" },
4005        { "kind" : "IdScope", "name" : "'Execution'" },
4006        { "kind" : "GroupOperation", "name" : "'Operation'" },
4007        { "kind" : "IdRef", "name" : "'Value'" },
4008        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4009      ],
4010      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4011      "version" : "1.3"
4012    },
4013    {
4014      "opname" : "OpGroupNonUniformLogicalXor",
4015      "class"  : "Non-Uniform",
4016      "opcode" : 364,
4017      "operands" : [
4018        { "kind" : "IdResultType" },
4019        { "kind" : "IdResult" },
4020        { "kind" : "IdScope", "name" : "'Execution'" },
4021        { "kind" : "GroupOperation", "name" : "'Operation'" },
4022        { "kind" : "IdRef", "name" : "'Value'" },
4023        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4024      ],
4025      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedNV" ],
4026      "version" : "1.3"
4027    },
4028    {
4029      "opname" : "OpGroupNonUniformQuadBroadcast",
4030      "class"  : "Non-Uniform",
4031      "opcode" : 365,
4032      "operands" : [
4033        { "kind" : "IdResultType" },
4034        { "kind" : "IdResult" },
4035        { "kind" : "IdScope", "name" : "'Execution'" },
4036        { "kind" : "IdRef", "name" : "'Value'" },
4037        { "kind" : "IdRef", "name" : "'Index'" }
4038      ],
4039      "capabilities" : [ "GroupNonUniformQuad" ],
4040      "version" : "1.3"
4041    },
4042    {
4043      "opname" : "OpGroupNonUniformQuadSwap",
4044      "class"  : "Non-Uniform",
4045      "opcode" : 366,
4046      "operands" : [
4047        { "kind" : "IdResultType" },
4048        { "kind" : "IdResult" },
4049        { "kind" : "IdScope", "name" : "'Execution'" },
4050        { "kind" : "IdRef", "name" : "'Value'" },
4051        { "kind" : "IdRef", "name" : "'Direction'" }
4052      ],
4053      "capabilities" : [ "GroupNonUniformQuad" ],
4054      "version" : "1.3"
4055    },
4056    {
4057      "opname" : "OpCopyLogical",
4058      "class"  : "Composite",
4059      "opcode" : 400,
4060      "operands" : [
4061        { "kind" : "IdResultType" },
4062        { "kind" : "IdResult" },
4063        { "kind" : "IdRef",        "name" : "'Operand'" }
4064      ],
4065      "version" : "1.4"
4066    },
4067    {
4068      "opname" : "OpPtrEqual",
4069      "class"  : "Memory",
4070      "opcode" : 401,
4071      "operands" : [
4072        { "kind" : "IdResultType" },
4073        { "kind" : "IdResult" },
4074        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4075        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4076      ],
4077      "version" : "1.4"
4078    },
4079    {
4080      "opname" : "OpPtrNotEqual",
4081      "class"  : "Memory",
4082      "opcode" : 402,
4083      "operands" : [
4084        { "kind" : "IdResultType" },
4085        { "kind" : "IdResult" },
4086        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4087        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4088      ],
4089      "version" : "1.4"
4090    },
4091    {
4092      "opname" : "OpPtrDiff",
4093      "class"  : "Memory",
4094      "opcode" : 403,
4095      "operands" : [
4096        { "kind" : "IdResultType" },
4097        { "kind" : "IdResult" },
4098        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4099        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4100      ],
4101      "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ],
4102      "version" : "1.4"
4103    },
4104    {
4105      "opname" : "OpTerminateInvocation",
4106      "class"  : "Control-Flow",
4107      "opcode" : 4416,
4108      "extensions" : [
4109        "SPV_KHR_terminate_invocation"
4110      ],
4111      "capabilities" : [ "Shader" ],
4112      "version" : "None"
4113    },
4114    {
4115      "opname" : "OpSubgroupBallotKHR",
4116      "class"  : "Group",
4117      "opcode" : 4421,
4118      "operands" : [
4119        { "kind" : "IdResultType" },
4120        { "kind" : "IdResult" },
4121        { "kind" : "IdRef", "name" : "'Predicate'" }
4122      ],
4123      "capabilities" : [ "SubgroupBallotKHR" ],
4124      "extensions" : [ "SPV_KHR_shader_ballot" ],
4125      "version" : "None"
4126    },
4127    {
4128      "opname" : "OpSubgroupFirstInvocationKHR",
4129      "class"  : "Group",
4130      "opcode" : 4422,
4131      "operands" : [
4132        { "kind" : "IdResultType" },
4133        { "kind" : "IdResult" },
4134        { "kind" : "IdRef", "name" : "'Value'" }
4135      ],
4136      "capabilities" : [ "SubgroupBallotKHR" ],
4137      "extensions" : [ "SPV_KHR_shader_ballot" ],
4138      "version" : "None"
4139    },
4140    {
4141      "opname" : "OpSubgroupAllKHR",
4142      "class"  : "Group",
4143      "opcode" : 4428,
4144      "operands" : [
4145        { "kind" : "IdResultType" },
4146        { "kind" : "IdResult" },
4147        { "kind" : "IdRef", "name" : "'Predicate'" }
4148      ],
4149      "extensions" : [
4150        "SPV_KHR_subgroup_vote"
4151      ],
4152      "capabilities" : [ "SubgroupVoteKHR" ],
4153      "version" : "None"
4154    },
4155    {
4156      "opname" : "OpSubgroupAnyKHR",
4157      "class"  : "Group",
4158      "opcode" : 4429,
4159      "operands" : [
4160        { "kind" : "IdResultType" },
4161        { "kind" : "IdResult" },
4162        { "kind" : "IdRef", "name" : "'Predicate'" }
4163      ],
4164      "extensions" : [
4165        "SPV_KHR_subgroup_vote"
4166      ],
4167      "capabilities" : [ "SubgroupVoteKHR" ],
4168      "version" : "None"
4169    },
4170    {
4171      "opname" : "OpSubgroupAllEqualKHR",
4172      "class"  : "Group",
4173      "opcode" : 4430,
4174      "operands" : [
4175        { "kind" : "IdResultType" },
4176        { "kind" : "IdResult" },
4177        { "kind" : "IdRef", "name" : "'Predicate'" }
4178      ],
4179      "extensions" : [
4180        "SPV_KHR_subgroup_vote"
4181      ],
4182      "capabilities" : [ "SubgroupVoteKHR" ],
4183      "version" : "None"
4184    },
4185    {
4186      "opname" : "OpSubgroupReadInvocationKHR",
4187      "class"  : "Group",
4188      "opcode" : 4432,
4189      "operands" : [
4190        { "kind" : "IdResultType" },
4191        { "kind" : "IdResult" },
4192        { "kind" : "IdRef", "name" : "'Value'" },
4193        { "kind" : "IdRef", "name" : "'Index'" }
4194      ],
4195      "capabilities" : [ "SubgroupBallotKHR" ],
4196      "extensions" : [ "SPV_KHR_shader_ballot" ],
4197      "version" : "None"
4198    },
4199    {
4200        "opname" : "OpTypeRayQueryProvisionalKHR",
4201        "class" : "Reserved",
4202        "opcode" : 4472,
4203        "operands" : [
4204            { "kind" : "IdResult" }
4205        ],
4206        "capabilities" : [ "RayQueryProvisionalKHR" ],
4207        "extensions" : [ "SPV_KHR_ray_query" ],
4208        "version" : "None"
4209    },
4210    {
4211        "opname" : "OpRayQueryInitializeKHR",
4212        "class" : "Reserved",
4213        "opcode" : 4473,
4214        "operands" : [
4215            {
4216                "kind" : "IdRef",
4217                "name" : "'RayQuery'"
4218            },
4219            {
4220                "kind" : "IdRef",
4221                "name" : "'Accel'"
4222            },
4223            {
4224                "kind" : "IdRef",
4225                "name" : "'RayFlags'"
4226            },
4227            {
4228                "kind" : "IdRef",
4229                "name" : "'CullMask'"
4230            },
4231            {
4232                "kind" : "IdRef",
4233                "name" : "'RayOrigin'"
4234            },
4235            {
4236                "kind" : "IdRef",
4237                "name" : "'RayTMin'"
4238            },
4239            {
4240                "kind" : "IdRef",
4241                "name" : "'RayDirection'"
4242            },
4243            {
4244                "kind" : "IdRef",
4245                "name" : "'RayTMax'"
4246            }
4247
4248        ],
4249        "capabilities" : [ "RayQueryProvisionalKHR" ],
4250        "extensions" : [ "SPV_KHR_ray_query" ],
4251        "version" : "None"
4252    },
4253    {
4254        "opname" : "OpRayQueryTerminateKHR",
4255        "class" : "Reserved",
4256        "opcode" : 4474,
4257        "operands" : [
4258            {
4259                "kind" : "IdRef",
4260                "name" : "'RayQuery'"
4261            }
4262        ],
4263        "capabilities" : [ "RayQueryProvisionalKHR" ],
4264        "extensions" : [ "SPV_KHR_ray_query" ],
4265        "version" : "None"
4266    },
4267    {
4268        "opname" : "OpRayQueryGenerateIntersectionKHR",
4269        "class" : "Reserved",
4270        "opcode" : 4475,
4271        "operands" : [
4272            {
4273                "kind" : "IdRef",
4274                "name" : "'RayQuery'"
4275            },
4276            {
4277                "kind" : "IdRef",
4278                "name" : "'HitT'"
4279            }
4280        ],
4281        "capabilities" : [ "RayQueryProvisionalKHR" ],
4282        "extensions" : [ "SPV_KHR_ray_query" ],
4283        "version" : "None"
4284    },
4285    {
4286        "opname" : "OpRayQueryConfirmIntersectionKHR",
4287        "class" : "Reserved",
4288        "opcode" : 4476,
4289        "operands" : [
4290            {
4291                "kind" : "IdRef",
4292                "name" : "'RayQuery'"
4293            }
4294        ],
4295        "capabilities" : [ "RayQueryProvisionalKHR" ],
4296        "extensions" : [ "SPV_KHR_ray_query" ],
4297        "version" : "None"
4298    },
4299    {
4300        "opname" : "OpRayQueryProceedKHR",
4301        "class" : "Reserved",
4302        "opcode" : 4477,
4303        "operands" : [
4304            { "kind" : "IdResultType" },
4305            { "kind" : "IdResult" },
4306            {
4307                "kind" : "IdRef",
4308                "name" : "'RayQuery'"
4309            }
4310        ],
4311        "capabilities" : [ "RayQueryProvisionalKHR" ],
4312        "extensions" : [ "SPV_KHR_ray_query" ],
4313        "version" : "None"
4314    },
4315    {
4316        "opname" : "OpRayQueryGetIntersectionTypeKHR",
4317        "class" : "Reserved",
4318        "opcode" : 4479,
4319        "operands" : [
4320            { "kind" : "IdResultType" },
4321            { "kind" : "IdResult" },
4322            {
4323                "kind" : "IdRef",
4324                "name" : "'RayQuery'"
4325            },
4326            {
4327                "kind" : "IdRef",
4328                "name" : "'Intersection'"
4329            }
4330        ],
4331        "capabilities" : [ "RayQueryProvisionalKHR" ],
4332        "extensions" : [ "SPV_KHR_ray_query" ],
4333        "version" : "None"
4334    },
4335    {
4336      "opname" : "OpGroupIAddNonUniformAMD",
4337      "class"  : "Group",
4338      "opcode" : 5000,
4339      "operands" : [
4340        { "kind" : "IdResultType" },
4341        { "kind" : "IdResult" },
4342        { "kind" : "IdScope",        "name" : "'Execution'" },
4343        { "kind" : "GroupOperation", "name" : "'Operation'" },
4344        { "kind" : "IdRef",          "name" : "'X'" }
4345      ],
4346      "capabilities" : [ "Groups" ],
4347      "extensions" : [ "SPV_AMD_shader_ballot" ],
4348      "version" : "None"
4349    },
4350    {
4351      "opname" : "OpGroupFAddNonUniformAMD",
4352      "class"  : "Group",
4353      "opcode" : 5001,
4354      "operands" : [
4355        { "kind" : "IdResultType" },
4356        { "kind" : "IdResult" },
4357        { "kind" : "IdScope",        "name" : "'Execution'" },
4358        { "kind" : "GroupOperation", "name" : "'Operation'" },
4359        { "kind" : "IdRef",          "name" : "'X'" }
4360      ],
4361      "capabilities" : [ "Groups" ],
4362      "extensions" : [ "SPV_AMD_shader_ballot" ],
4363      "version" : "None"
4364    },
4365    {
4366      "opname" : "OpGroupFMinNonUniformAMD",
4367      "class"  : "Group",
4368      "opcode" : 5002,
4369      "operands" : [
4370        { "kind" : "IdResultType" },
4371        { "kind" : "IdResult" },
4372        { "kind" : "IdScope",        "name" : "'Execution'" },
4373        { "kind" : "GroupOperation", "name" : "'Operation'" },
4374        { "kind" : "IdRef",          "name" : "'X'" }
4375      ],
4376      "capabilities" : [ "Groups" ],
4377      "extensions" : [ "SPV_AMD_shader_ballot" ],
4378      "version" : "None"
4379    },
4380    {
4381      "opname" : "OpGroupUMinNonUniformAMD",
4382      "class"  : "Group",
4383      "opcode" : 5003,
4384      "operands" : [
4385        { "kind" : "IdResultType" },
4386        { "kind" : "IdResult" },
4387        { "kind" : "IdScope",        "name" : "'Execution'" },
4388        { "kind" : "GroupOperation", "name" : "'Operation'" },
4389        { "kind" : "IdRef",          "name" : "'X'" }
4390      ],
4391      "capabilities" : [ "Groups" ],
4392      "extensions" : [ "SPV_AMD_shader_ballot" ],
4393      "version" : "None"
4394    },
4395    {
4396      "opname" : "OpGroupSMinNonUniformAMD",
4397      "class"  : "Group",
4398      "opcode" : 5004,
4399      "operands" : [
4400        { "kind" : "IdResultType" },
4401        { "kind" : "IdResult" },
4402        { "kind" : "IdScope",        "name" : "'Execution'" },
4403        { "kind" : "GroupOperation", "name" : "'Operation'" },
4404        { "kind" : "IdRef",          "name" : "'X'" }
4405      ],
4406      "capabilities" : [ "Groups" ],
4407      "extensions" : [ "SPV_AMD_shader_ballot" ],
4408      "version" : "None"
4409    },
4410    {
4411      "opname" : "OpGroupFMaxNonUniformAMD",
4412      "class"  : "Group",
4413      "opcode" : 5005,
4414      "operands" : [
4415        { "kind" : "IdResultType" },
4416        { "kind" : "IdResult" },
4417        { "kind" : "IdScope",        "name" : "'Execution'" },
4418        { "kind" : "GroupOperation", "name" : "'Operation'" },
4419        { "kind" : "IdRef",          "name" : "'X'" }
4420      ],
4421      "capabilities" : [ "Groups" ],
4422      "extensions" : [ "SPV_AMD_shader_ballot" ],
4423      "version" : "None"
4424    },
4425    {
4426      "opname" : "OpGroupUMaxNonUniformAMD",
4427      "class"  : "Group",
4428      "opcode" : 5006,
4429      "operands" : [
4430        { "kind" : "IdResultType" },
4431        { "kind" : "IdResult" },
4432        { "kind" : "IdScope",        "name" : "'Execution'" },
4433        { "kind" : "GroupOperation", "name" : "'Operation'" },
4434        { "kind" : "IdRef",          "name" : "'X'" }
4435      ],
4436      "capabilities" : [ "Groups" ],
4437      "extensions" : [ "SPV_AMD_shader_ballot" ],
4438      "version" : "None"
4439    },
4440    {
4441      "opname" : "OpGroupSMaxNonUniformAMD",
4442      "class"  : "Group",
4443      "opcode" : 5007,
4444      "operands" : [
4445        { "kind" : "IdResultType" },
4446        { "kind" : "IdResult" },
4447        { "kind" : "IdScope",        "name" : "'Execution'" },
4448        { "kind" : "GroupOperation", "name" : "'Operation'" },
4449        { "kind" : "IdRef",          "name" : "'X'" }
4450      ],
4451      "capabilities" : [ "Groups" ],
4452      "extensions" : [ "SPV_AMD_shader_ballot" ],
4453      "version" : "None"
4454    },
4455    {
4456      "opname" : "OpFragmentMaskFetchAMD",
4457      "class"  : "Reserved",
4458      "opcode" : 5011,
4459      "operands" : [
4460        { "kind" : "IdResultType" },
4461        { "kind" : "IdResult" },
4462        { "kind" : "IdRef", "name" : "'Image'" },
4463        { "kind" : "IdRef", "name" : "'Coordinate'" }
4464      ],
4465      "capabilities" : [ "FragmentMaskAMD" ],
4466      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4467      "version" : "None"
4468    },
4469    {
4470      "opname" : "OpFragmentFetchAMD",
4471      "class"  : "Reserved",
4472      "opcode" : 5012,
4473      "operands" : [
4474        { "kind" : "IdResultType" },
4475        { "kind" : "IdResult" },
4476        { "kind" : "IdRef", "name" : "'Image'" },
4477        { "kind" : "IdRef", "name" : "'Coordinate'" },
4478        { "kind" : "IdRef", "name" : "'Fragment Index'" }
4479      ],
4480      "capabilities" : [ "FragmentMaskAMD" ],
4481      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4482      "version" : "None"
4483    },
4484    {
4485      "opname" : "OpReadClockKHR",
4486      "class"  : "Reserved",
4487      "opcode" : 5056,
4488      "operands" : [
4489        { "kind" : "IdResultType" },
4490        { "kind" : "IdResult" },
4491        { "kind" : "IdScope", "name" : "'Execution'" }
4492      ],
4493      "capabilities" : [ "ShaderClockKHR" ],
4494      "extensions" : [ "SPV_KHR_shader_clock" ],
4495      "version" : "None"
4496    },
4497    {
4498      "opname" : "OpImageSampleFootprintNV",
4499      "class"  : "Image",
4500      "opcode" : 5283,
4501      "operands" : [
4502        { "kind" : "IdResultType" },
4503        { "kind" : "IdResult" },
4504        { "kind" : "IdRef", "name" : "'Sampled Image'" },
4505        { "kind" : "IdRef", "name" : "'Coordinate'" },
4506        { "kind" : "IdRef", "name" : "'Granularity'" },
4507        { "kind" : "IdRef", "name" : "'Coarse'" },
4508        { "kind" : "ImageOperands", "quantifier" : "?" }
4509      ],
4510      "capabilities" : [ "ImageFootprintNV" ],
4511      "extensions" : [ "SPV_NV_shader_image_footprint" ],
4512      "version" : "None"
4513    },
4514    {
4515      "opname" : "OpGroupNonUniformPartitionNV",
4516      "class"  : "Non-Uniform",
4517      "opcode" : 5296,
4518      "operands" : [
4519        { "kind" : "IdResultType" },
4520        { "kind" : "IdResult" },
4521        { "kind" : "IdRef", "name" : "'Value'" }
4522      ],
4523      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4524      "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4525      "version" : "None"
4526    },
4527    {
4528      "opname" : "OpWritePackedPrimitiveIndices4x8NV",
4529      "class"  : "Reserved",
4530      "opcode" : 5299,
4531      "operands" : [
4532        { "kind" : "IdRef", "name" : "'Index Offset'" },
4533        { "kind" : "IdRef", "name" : "'Packed Indices'" }
4534      ],
4535      "capabilities" : [ "MeshShadingNV" ],
4536      "extensions" : [ "SPV_NV_mesh_shader" ],
4537      "version" : "None"
4538    },
4539    {
4540      "opname" : "OpReportIntersectionNV",
4541      "class"  : "Reserved",
4542      "opcode" : 5334,
4543      "operands" : [
4544        { "kind" : "IdResultType" },
4545        { "kind" : "IdResult" },
4546        { "kind" : "IdRef", "name" : "'Hit'" },
4547        { "kind" : "IdRef", "name" : "'HitKind'" }
4548      ],
4549      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4550      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4551      "version" : "None"
4552    },
4553    {
4554      "opname" : "OpReportIntersectionKHR",
4555      "class"  : "Reserved",
4556      "opcode" : 5334,
4557      "operands" : [
4558        { "kind" : "IdResultType" },
4559        { "kind" : "IdResult" },
4560        { "kind" : "IdRef", "name" : "'Hit'" },
4561        { "kind" : "IdRef", "name" : "'HitKind'" }
4562      ],
4563      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4564      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4565      "version" : "None"
4566    },
4567    {
4568      "opname" : "OpIgnoreIntersectionNV",
4569      "class"  : "Reserved",
4570      "opcode" : 5335,
4571      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4572      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4573      "version" : "None"
4574    },
4575    {
4576      "opname" : "OpIgnoreIntersectionKHR",
4577      "class"  : "Reserved",
4578      "opcode" : 5335,
4579      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4580      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4581      "version" : "None"
4582    },
4583    {
4584      "opname" : "OpTerminateRayNV",
4585      "class"  : "Reserved",
4586      "opcode" : 5336,
4587      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4588      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4589      "version" : "None"
4590    },
4591    {
4592      "opname" : "OpTerminateRayKHR",
4593      "class"  : "Reserved",
4594      "opcode" : 5336,
4595      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4596      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4597      "version" : "None"
4598    },
4599    {
4600      "opname" : "OpTraceNV",
4601      "class"  : "Reserved",
4602      "opcode" : 5337,
4603      "operands" : [
4604
4605        { "kind" : "IdRef", "name" : "'Accel'" },
4606        { "kind" : "IdRef", "name" : "'Ray Flags'" },
4607        { "kind" : "IdRef", "name" : "'Cull Mask'" },
4608        { "kind" : "IdRef", "name" : "'SBT Offset'" },
4609        { "kind" : "IdRef", "name" : "'SBT Stride'" },
4610        { "kind" : "IdRef", "name" : "'Miss Index'" },
4611        { "kind" : "IdRef", "name" : "'Ray Origin'" },
4612        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4613        { "kind" : "IdRef", "name" : "'Ray Direction'" },
4614        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4615        { "kind" : "IdRef", "name" : "'PayloadId'" }
4616      ],
4617      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4618      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4619      "version" : "None"
4620    },
4621    {
4622      "opname" : "OpTraceRayKHR",
4623      "class"  : "Reserved",
4624      "opcode" : 5337,
4625      "operands" : [
4626
4627        { "kind" : "IdRef", "name" : "'Accel'" },
4628        { "kind" : "IdRef", "name" : "'Ray Flags'" },
4629        { "kind" : "IdRef", "name" : "'Cull Mask'" },
4630        { "kind" : "IdRef", "name" : "'SBT Offset'" },
4631        { "kind" : "IdRef", "name" : "'SBT Stride'" },
4632        { "kind" : "IdRef", "name" : "'Miss Index'" },
4633        { "kind" : "IdRef", "name" : "'Ray Origin'" },
4634        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4635        { "kind" : "IdRef", "name" : "'Ray Direction'" },
4636        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4637        { "kind" : "IdRef", "name" : "'PayloadId'" }
4638      ],
4639      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4640      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4641      "version" : "None"
4642    },
4643    {
4644      "opname" : "OpTypeAccelerationStructureNV",
4645      "class"  : "Reserved",
4646      "opcode" : 5341,
4647      "operands" : [
4648        { "kind" : "IdResult" }
4649      ],
4650      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4651      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4652      "version" : "None"
4653    },
4654    {
4655      "opname" : "OpTypeAccelerationStructureKHR",
4656      "class"  : "Reserved",
4657      "opcode" : 5341,
4658      "operands" : [
4659        { "kind" : "IdResult" }
4660      ],
4661      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4662      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4663      "version" : "None"
4664    },
4665    {
4666      "opname" : "OpExecuteCallableNV",
4667      "class"  : "Reserved",
4668      "opcode" : 5344,
4669      "operands" : [
4670
4671        { "kind" : "IdRef", "name" : "'SBT Index'" },
4672        { "kind" : "IdRef", "name" : "'Callable DataId'" }
4673      ],
4674      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4675      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4676      "version" : "None"
4677    },
4678    {
4679      "opname" : "OpExecuteCallableKHR",
4680      "class"  : "Reserved",
4681      "opcode" : 5344,
4682      "operands" : [
4683
4684        { "kind" : "IdRef", "name" : "'SBT Index'" },
4685        { "kind" : "IdRef", "name" : "'Callable DataId'" }
4686      ],
4687      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4688      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4689      "version" : "None"
4690    },
4691    {
4692      "opname" : "OpTypeCooperativeMatrixNV",
4693      "class"  : "Reserved",
4694      "opcode" : 5358,
4695      "operands" : [
4696        { "kind" : "IdResult" },
4697        { "kind" : "IdRef",        "name" : "'Component Type'" },
4698        { "kind" : "IdScope",      "name" : "'Execution'" },
4699        { "kind" : "IdRef",        "name" : "'Rows'" },
4700        { "kind" : "IdRef",        "name" : "'Columns'" }
4701      ],
4702      "capabilities" : [ "CooperativeMatrixNV" ],
4703      "extensions" : [ "SPV_NV_cooperative_matrix" ],
4704      "version" : "None"
4705    },
4706    {
4707      "opname" : "OpCooperativeMatrixLoadNV",
4708      "class"  : "Reserved",
4709      "opcode" : 5359,
4710      "operands" : [
4711        { "kind" : "IdResultType" },
4712        { "kind" : "IdResult" },
4713        { "kind" : "IdRef",             "name" : "'Pointer'" },
4714        { "kind" : "IdRef",             "name" : "'Stride'" },
4715        { "kind" : "IdRef",             "name" : "'Column Major'" },
4716        { "kind" : "MemoryAccess",      "quantifier" : "?" }
4717      ],
4718      "capabilities" : [ "CooperativeMatrixNV" ],
4719      "extensions" : [ "SPV_NV_cooperative_matrix" ],
4720      "version" : "None"
4721    },
4722    {
4723      "opname" : "OpCooperativeMatrixStoreNV",
4724      "class"  : "Reserved",
4725      "opcode" : 5360,
4726      "operands" : [
4727        { "kind" : "IdRef",             "name" : "'Pointer'" },
4728        { "kind" : "IdRef",             "name" : "'Object'" },
4729        { "kind" : "IdRef",             "name" : "'Stride'" },
4730        { "kind" : "IdRef",             "name" : "'Column Major'" },
4731        { "kind" : "MemoryAccess",      "quantifier" : "?" }
4732      ],
4733      "capabilities" : [ "CooperativeMatrixNV" ],
4734      "extensions" : [ "SPV_NV_cooperative_matrix" ],
4735      "version" : "None"
4736    },
4737    {
4738      "opname" : "OpCooperativeMatrixMulAddNV",
4739      "class"  : "Reserved",
4740      "opcode" : 5361,
4741      "operands" : [
4742        { "kind" : "IdResultType" },
4743        { "kind" : "IdResult" },
4744        { "kind" : "IdRef",             "name" : "'A'" },
4745        { "kind" : "IdRef",             "name" : "'B'" },
4746        { "kind" : "IdRef",             "name" : "'C'" }
4747      ],
4748      "capabilities" : [ "CooperativeMatrixNV" ],
4749      "extensions" : [ "SPV_NV_cooperative_matrix" ],
4750      "version" : "None"
4751    },
4752    {
4753      "opname" : "OpCooperativeMatrixLengthNV",
4754      "class"  : "Reserved",
4755      "opcode" : 5362,
4756      "operands" : [
4757        { "kind" : "IdResultType" },
4758        { "kind" : "IdResult" },
4759        { "kind" : "IdRef",        "name" : "'Type'" }
4760      ],
4761      "capabilities" : [ "CooperativeMatrixNV" ],
4762      "extensions" : [ "SPV_NV_cooperative_matrix" ],
4763      "version" : "None"
4764    },
4765    {
4766      "opname" : "OpBeginInvocationInterlockEXT",
4767      "class"  : "Reserved",
4768      "opcode" : 5364,
4769      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4770      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4771      "version" : "None"
4772    },
4773    {
4774      "opname" : "OpEndInvocationInterlockEXT",
4775      "class"  : "Reserved",
4776      "opcode" : 5365,
4777      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
4778      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
4779      "version" : "None"
4780    },
4781    {
4782      "opname" : "OpDemoteToHelperInvocationEXT",
4783      "class"  : "Reserved",
4784      "opcode" : 5380,
4785      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4786      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4787      "version" : "None"
4788    },
4789    {
4790      "opname" : "OpIsHelperInvocationEXT",
4791      "class"  : "Reserved",
4792      "opcode" : 5381,
4793      "operands" : [
4794        { "kind" : "IdResultType" },
4795        { "kind" : "IdResult" }
4796      ],
4797      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
4798      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
4799      "version" : "None"
4800    },
4801    {
4802      "opname" : "OpSubgroupShuffleINTEL",
4803      "class"  : "Group",
4804      "opcode" : 5571,
4805      "operands" : [
4806        { "kind" : "IdResultType" },
4807        { "kind" : "IdResult" },
4808        { "kind" : "IdRef", "name" : "'Data'" },
4809        { "kind" : "IdRef", "name" : "'InvocationId'" }
4810      ],
4811      "capabilities" : [ "SubgroupShuffleINTEL" ],
4812      "version" : "None"
4813    },
4814    {
4815      "opname" : "OpSubgroupShuffleDownINTEL",
4816      "class"  : "Group",
4817      "opcode" : 5572,
4818      "operands" : [
4819        { "kind" : "IdResultType" },
4820        { "kind" : "IdResult" },
4821        { "kind" : "IdRef", "name" : "'Current'" },
4822        { "kind" : "IdRef", "name" : "'Next'" },
4823        { "kind" : "IdRef", "name" : "'Delta'" }
4824      ],
4825      "capabilities" : [ "SubgroupShuffleINTEL" ],
4826      "version" : "None"
4827    },
4828    {
4829      "opname" : "OpSubgroupShuffleUpINTEL",
4830      "class"  : "Group",
4831      "opcode" : 5573,
4832      "operands" : [
4833        { "kind" : "IdResultType" },
4834        { "kind" : "IdResult" },
4835        { "kind" : "IdRef", "name" : "'Previous'" },
4836        { "kind" : "IdRef", "name" : "'Current'" },
4837        { "kind" : "IdRef", "name" : "'Delta'" }
4838      ],
4839      "capabilities" : [ "SubgroupShuffleINTEL" ],
4840      "version" : "None"
4841    },
4842    {
4843      "opname" : "OpSubgroupShuffleXorINTEL",
4844      "class"  : "Group",
4845      "opcode" : 5574,
4846      "operands" : [
4847        { "kind" : "IdResultType" },
4848        { "kind" : "IdResult" },
4849        { "kind" : "IdRef", "name" : "'Data'" },
4850        { "kind" : "IdRef", "name" : "'Value'" }
4851      ],
4852      "capabilities" : [ "SubgroupShuffleINTEL" ],
4853      "version" : "None"
4854    },
4855    {
4856      "opname" : "OpSubgroupBlockReadINTEL",
4857      "class"  : "Group",
4858      "opcode" : 5575,
4859      "operands" : [
4860        { "kind" : "IdResultType" },
4861        { "kind" : "IdResult" },
4862        { "kind" : "IdRef", "name" : "'Ptr'" }
4863      ],
4864      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4865      "version" : "None"
4866    },
4867    {
4868      "opname" : "OpSubgroupBlockWriteINTEL",
4869      "class"  : "Group",
4870      "opcode" : 5576,
4871      "operands" : [
4872        { "kind" : "IdRef", "name" : "'Ptr'" },
4873        { "kind" : "IdRef", "name" : "'Data'" }
4874      ],
4875      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
4876      "version" : "None"
4877    },
4878    {
4879      "opname" : "OpSubgroupImageBlockReadINTEL",
4880      "class"  : "Group",
4881      "opcode" : 5577,
4882      "operands" : [
4883        { "kind" : "IdResultType" },
4884        { "kind" : "IdResult" },
4885        { "kind" : "IdRef", "name" : "'Image'" },
4886        { "kind" : "IdRef", "name" : "'Coordinate'" }
4887      ],
4888      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4889      "version" : "None"
4890    },
4891    {
4892      "opname" : "OpSubgroupImageBlockWriteINTEL",
4893      "class"  : "Group",
4894      "opcode" : 5578,
4895      "operands" : [
4896        { "kind" : "IdRef", "name" : "'Image'" },
4897        { "kind" : "IdRef", "name" : "'Coordinate'" },
4898        { "kind" : "IdRef", "name" : "'Data'" }
4899      ],
4900      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
4901      "version" : "None"
4902    },
4903    {
4904      "opname" : "OpSubgroupImageMediaBlockReadINTEL",
4905      "class"  : "Group",
4906      "opcode" : 5580,
4907      "operands" : [
4908        { "kind" : "IdResultType" },
4909        { "kind" : "IdResult" },
4910        { "kind" : "IdRef", "name" : "'Image'" },
4911        { "kind" : "IdRef", "name" : "'Coordinate'" },
4912        { "kind" : "IdRef", "name" : "'Width'" },
4913        { "kind" : "IdRef", "name" : "'Height'" }
4914      ],
4915      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4916      "version" : "None"
4917    },
4918    {
4919      "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
4920      "class"  : "Group",
4921      "opcode" : 5581,
4922      "operands" : [
4923        { "kind" : "IdRef", "name" : "'Image'" },
4924        { "kind" : "IdRef", "name" : "'Coordinate'" },
4925        { "kind" : "IdRef", "name" : "'Width'" },
4926        { "kind" : "IdRef", "name" : "'Height'" },
4927        { "kind" : "IdRef", "name" : "'Data'" }
4928      ],
4929      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
4930      "version" : "None"
4931    },
4932    {
4933      "opname" : "OpUCountLeadingZerosINTEL",
4934      "class"  : "Reserved",
4935      "opcode" : 5585,
4936      "operands" : [
4937        { "kind" : "IdResultType" },
4938        { "kind" : "IdResult" },
4939        { "kind" : "IdRef",        "name" : "'Operand'" }
4940      ],
4941      "capabilities" : [ "IntegerFunctions2INTEL" ],
4942      "version" : "None"
4943    },
4944    {
4945      "opname" : "OpUCountTrailingZerosINTEL",
4946      "class"  : "Reserved",
4947      "opcode" : 5586,
4948      "operands" : [
4949        { "kind" : "IdResultType" },
4950        { "kind" : "IdResult" },
4951        { "kind" : "IdRef",        "name" : "'Operand'" }
4952      ],
4953      "capabilities" : [ "IntegerFunctions2INTEL" ],
4954      "version" : "None"
4955    },
4956    {
4957      "opname" : "OpAbsISubINTEL",
4958      "class"  : "Reserved",
4959      "opcode" : 5587,
4960      "operands" : [
4961        { "kind" : "IdResultType" },
4962        { "kind" : "IdResult" },
4963        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4964        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4965      ],
4966      "capabilities" : [ "IntegerFunctions2INTEL" ],
4967      "version" : "None"
4968    },
4969    {
4970      "opname" : "OpAbsUSubINTEL",
4971      "class"  : "Reserved",
4972      "opcode" : 5588,
4973      "operands" : [
4974        { "kind" : "IdResultType" },
4975        { "kind" : "IdResult" },
4976        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4977        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4978      ],
4979      "capabilities" : [ "IntegerFunctions2INTEL" ],
4980      "version" : "None"
4981    },
4982    {
4983      "opname" : "OpIAddSatINTEL",
4984      "class"  : "Reserved",
4985      "opcode" : 5589,
4986      "operands" : [
4987        { "kind" : "IdResultType" },
4988        { "kind" : "IdResult" },
4989        { "kind" : "IdRef",        "name" : "'Operand 1'" },
4990        { "kind" : "IdRef",        "name" : "'Operand 2'" }
4991      ],
4992      "capabilities" : [ "IntegerFunctions2INTEL" ],
4993      "version" : "None"
4994    },
4995    {
4996      "opname" : "OpUAddSatINTEL",
4997      "class"  : "Reserved",
4998      "opcode" : 5590,
4999      "operands" : [
5000        { "kind" : "IdResultType" },
5001        { "kind" : "IdResult" },
5002        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5003        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5004      ],
5005      "capabilities" : [ "IntegerFunctions2INTEL" ],
5006      "version" : "None"
5007    },
5008    {
5009      "opname" : "OpIAverageINTEL",
5010      "class"  : "Reserved",
5011      "opcode" : 5591,
5012      "operands" : [
5013        { "kind" : "IdResultType" },
5014        { "kind" : "IdResult" },
5015        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5016        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5017      ],
5018      "capabilities" : [ "IntegerFunctions2INTEL" ],
5019      "version" : "None"
5020    },
5021    {
5022      "opname" : "OpUAverageINTEL",
5023      "class"  : "Reserved",
5024      "opcode" : 5592,
5025      "operands" : [
5026        { "kind" : "IdResultType" },
5027        { "kind" : "IdResult" },
5028        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5029        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5030      ],
5031      "capabilities" : [ "IntegerFunctions2INTEL" ],
5032      "version" : "None"
5033    },
5034    {
5035      "opname" : "OpIAverageRoundedINTEL",
5036      "class"  : "Reserved",
5037      "opcode" : 5593,
5038      "operands" : [
5039        { "kind" : "IdResultType" },
5040        { "kind" : "IdResult" },
5041        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5042        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5043      ],
5044      "capabilities" : [ "IntegerFunctions2INTEL" ],
5045      "version" : "None"
5046    },
5047    {
5048      "opname" : "OpUAverageRoundedINTEL",
5049      "class"  : "Reserved",
5050      "opcode" : 5594,
5051      "operands" : [
5052        { "kind" : "IdResultType" },
5053        { "kind" : "IdResult" },
5054        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5055        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5056      ],
5057      "capabilities" : [ "IntegerFunctions2INTEL" ],
5058      "version" : "None"
5059    },
5060    {
5061      "opname" : "OpISubSatINTEL",
5062      "class"  : "Reserved",
5063      "opcode" : 5595,
5064      "operands" : [
5065        { "kind" : "IdResultType" },
5066        { "kind" : "IdResult" },
5067        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5068        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5069      ],
5070      "capabilities" : [ "IntegerFunctions2INTEL" ],
5071      "version" : "None"
5072    },
5073    {
5074      "opname" : "OpUSubSatINTEL",
5075      "class"  : "Reserved",
5076      "opcode" : 5596,
5077      "operands" : [
5078        { "kind" : "IdResultType" },
5079        { "kind" : "IdResult" },
5080        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5081        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5082      ],
5083      "capabilities" : [ "IntegerFunctions2INTEL" ],
5084      "version" : "None"
5085    },
5086    {
5087      "opname" : "OpIMul32x16INTEL",
5088      "class"  : "Reserved",
5089      "opcode" : 5597,
5090      "operands" : [
5091        { "kind" : "IdResultType" },
5092        { "kind" : "IdResult" },
5093        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5094        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5095      ],
5096      "capabilities" : [ "IntegerFunctions2INTEL" ],
5097      "version" : "None"
5098    },
5099    {
5100      "opname" : "OpUMul32x16INTEL",
5101      "class"  : "Reserved",
5102      "opcode" : 5598,
5103      "operands" : [
5104        { "kind" : "IdResultType" },
5105        { "kind" : "IdResult" },
5106        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5107        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5108      ],
5109      "capabilities" : [ "IntegerFunctions2INTEL" ],
5110      "version" : "None"
5111    },
5112    {
5113      "opname" : "OpFunctionPointerINTEL",
5114      "class"  : "@exclude",
5115      "opcode" : 5600,
5116      "operands" : [
5117        { "kind" : "IdResultType" },
5118        { "kind" : "IdResult" },
5119        { "kind" : "IdRef",        "name" : "'Function'" }
5120      ],
5121      "capabilities" : [ "FunctionPointersINTEL" ],
5122      "extensions" : [ "SPV_INTEL_function_pointers" ],
5123      "version" : "None"
5124    },
5125    {
5126      "opname" : "OpFunctionPointerCallINTEL",
5127      "class"  : "@exclude",
5128      "opcode" : 5601,
5129      "operands" : [
5130        { "kind" : "IdResultType" },
5131        { "kind" : "IdResult" },
5132        { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1'" }
5133      ],
5134      "capabilities" : [ "FunctionPointersINTEL" ],
5135      "extensions" : [ "SPV_INTEL_function_pointers" ],
5136      "version" : "None"
5137    },
5138    {
5139      "opname" : "OpDecorateString",
5140      "class"  : "Annotation",
5141      "opcode" : 5632,
5142      "operands" : [
5143        { "kind" : "IdRef",         "name" : "'Target'" },
5144        { "kind" : "Decoration" }
5145      ],
5146      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5147      "version" : "1.4"
5148    },
5149    {
5150      "opname" : "OpDecorateStringGOOGLE",
5151      "class"  : "Annotation",
5152      "opcode" : 5632,
5153      "operands" : [
5154        { "kind" : "IdRef",         "name" : "'Target'" },
5155        { "kind" : "Decoration" }
5156      ],
5157      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5158      "version" : "1.4"
5159    },
5160    {
5161      "opname" : "OpMemberDecorateString",
5162      "class"  : "Annotation",
5163      "opcode" : 5633,
5164      "operands" : [
5165        { "kind" : "IdRef",          "name" : "'Struct Type'" },
5166        { "kind" : "LiteralInteger", "name" : "'Member'" },
5167        { "kind" : "Decoration" }
5168      ],
5169      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5170      "version" : "1.4"
5171    },
5172    {
5173      "opname" : "OpMemberDecorateStringGOOGLE",
5174      "class"  : "Annotation",
5175      "opcode" : 5633,
5176      "operands" : [
5177        { "kind" : "IdRef",          "name" : "'Struct Type'" },
5178        { "kind" : "LiteralInteger", "name" : "'Member'" },
5179        { "kind" : "Decoration" }
5180      ],
5181      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5182      "version" : "1.4"
5183    },
5184    {
5185      "opname" : "OpVmeImageINTEL",
5186      "class"  : "@exclude",
5187      "opcode" : 5699,
5188      "operands" : [
5189        { "kind" : "IdResultType" },
5190        { "kind" : "IdResult" },
5191        { "kind" : "IdRef", "name" : "'Image Type'" },
5192        { "kind" : "IdRef", "name" : "'Sampler'" }
5193      ],
5194      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5195      "version" : "None"
5196    },
5197    {
5198      "opname" : "OpTypeVmeImageINTEL",
5199      "class"  : "@exclude",
5200      "opcode" : 5700,
5201      "operands" : [
5202        { "kind" : "IdResult" },
5203        { "kind" : "IdRef", "name" : "'Image Type'" }
5204      ],
5205      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5206      "version" : "None"
5207    },
5208    {
5209      "opname" : "OpTypeAvcImePayloadINTEL",
5210      "class"  : "@exclude",
5211      "opcode" : 5701,
5212      "operands" : [
5213        { "kind" : "IdResult" }
5214      ],
5215      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5216      "version" : "None"
5217    },
5218    {
5219      "opname" : "OpTypeAvcRefPayloadINTEL",
5220      "class"  : "@exclude",
5221      "opcode" : 5702,
5222      "operands" : [
5223        { "kind" : "IdResult" }
5224      ],
5225      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5226      "version" : "None"
5227    },
5228    {
5229      "opname" : "OpTypeAvcSicPayloadINTEL",
5230      "class"  : "@exclude",
5231      "opcode" : 5703,
5232      "operands" : [
5233        { "kind" : "IdResult" }
5234      ],
5235      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5236      "version" : "None"
5237    },
5238    {
5239      "opname" : "OpTypeAvcMcePayloadINTEL",
5240      "class"  : "@exclude",
5241      "opcode" : 5704,
5242      "operands" : [
5243        { "kind" : "IdResult" }
5244      ],
5245      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5246      "version" : "None"
5247    },
5248    {
5249      "opname" : "OpTypeAvcMceResultINTEL",
5250      "class"  : "@exclude",
5251      "opcode" : 5705,
5252      "operands" : [
5253        { "kind" : "IdResult" }
5254      ],
5255      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5256      "version" : "None"
5257    },
5258    {
5259      "opname" : "OpTypeAvcImeResultINTEL",
5260      "class"  : "@exclude",
5261      "opcode" : 5706,
5262      "operands" : [
5263        { "kind" : "IdResult" }
5264      ],
5265      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5266      "version" : "None"
5267    },
5268    {
5269      "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
5270      "class"  : "@exclude",
5271      "opcode" : 5707,
5272      "operands" : [
5273        { "kind" : "IdResult" }
5274      ],
5275      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5276      "version" : "None"
5277    },
5278    {
5279      "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
5280      "class"  : "@exclude",
5281      "opcode" : 5708,
5282      "operands" : [
5283        { "kind" : "IdResult" }
5284      ],
5285      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5286      "version" : "None"
5287    },
5288    {
5289      "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
5290      "class"  : "@exclude",
5291      "opcode" : 5709,
5292      "operands" : [
5293        { "kind" : "IdResult" }
5294      ],
5295      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5296      "version" : "None"
5297    },
5298    {
5299      "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
5300      "class"  : "@exclude",
5301      "opcode" : 5710,
5302      "operands" : [
5303        { "kind" : "IdResult" }
5304      ],
5305      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5306      "version" : "None"
5307    },
5308    {
5309      "opname" : "OpTypeAvcRefResultINTEL",
5310      "class"  : "@exclude",
5311      "opcode" : 5711,
5312      "operands" : [
5313        { "kind" : "IdResult" }
5314      ],
5315      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5316      "version" : "None"
5317    },
5318    {
5319      "opname" : "OpTypeAvcSicResultINTEL",
5320      "class"  : "@exclude",
5321      "opcode" : 5712,
5322      "operands" : [
5323        { "kind" : "IdResult" }
5324      ],
5325      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5326      "version" : "None"
5327    },
5328    {
5329      "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
5330      "class"  : "@exclude",
5331      "opcode" : 5713,
5332      "operands" : [
5333        { "kind" : "IdResultType" },
5334        { "kind" : "IdResult" },
5335        { "kind" : "IdRef", "name" : "'Slice Type'" },
5336        { "kind" : "IdRef", "name" : "'Qp'" }
5337      ],
5338      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5339      "version" : "None"
5340    },
5341    {
5342      "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
5343      "class"  : "@exclude",
5344      "opcode" : 5714,
5345      "operands" : [
5346        { "kind" : "IdResultType" },
5347        { "kind" : "IdResult" },
5348        { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
5349        { "kind" : "IdRef", "name" : "'Payload'" }
5350      ],
5351      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5352      "version" : "None"
5353    },
5354    {
5355      "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
5356      "class"  : "@exclude",
5357      "opcode" : 5715,
5358      "operands" : [
5359        { "kind" : "IdResultType" },
5360        { "kind" : "IdResult" },
5361        { "kind" : "IdRef", "name" : "'Slice Type'" },
5362        { "kind" : "IdRef", "name" : "'Qp'" }
5363      ],
5364      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5365      "version" : "None"
5366    },
5367    {
5368      "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
5369      "class"  : "@exclude",
5370      "opcode" : 5716,
5371      "operands" : [
5372        { "kind" : "IdResultType" },
5373        { "kind" : "IdResult" },
5374        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
5375        { "kind" : "IdRef", "name" : "'Payload'" }
5376      ],
5377      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5378      "version" : "None"
5379    },
5380    {
5381      "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
5382      "class"  : "@exclude",
5383      "opcode" : 5717,
5384      "operands" : [
5385        { "kind" : "IdResultType" },
5386        { "kind" : "IdResult" },
5387        { "kind" : "IdRef", "name" : "'Slice Type'" },
5388        { "kind" : "IdRef", "name" : "'Qp'" }
5389      ],
5390      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5391      "version" : "None"
5392    },
5393    {
5394      "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
5395      "class"  : "@exclude",
5396      "opcode" : 5718,
5397      "operands" : [
5398        { "kind" : "IdResultType" },
5399        { "kind" : "IdResult" },
5400        { "kind" : "IdRef", "name" : "'Direction Cost'" },
5401        { "kind" : "IdRef", "name" : "'Payload'" }
5402      ],
5403      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5404      "version" : "None"
5405    },
5406    {
5407      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
5408      "class"  : "@exclude",
5409      "opcode" : 5719,
5410      "operands" : [
5411        { "kind" : "IdResultType" },
5412        { "kind" : "IdResult" },
5413        { "kind" : "IdRef", "name" : "'Slice Type'" },
5414        { "kind" : "IdRef", "name" : "'Qp'" }
5415      ],
5416      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5417      "version" : "None"
5418    },
5419    {
5420      "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
5421      "class"  : "@exclude",
5422      "opcode" : 5720,
5423      "operands" : [
5424        { "kind" : "IdResultType" },
5425        { "kind" : "IdResult" },
5426        { "kind" : "IdRef", "name" : "'Slice Type'" },
5427        { "kind" : "IdRef", "name" : "'Qp'" }
5428      ],
5429      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5430      "version" : "None"
5431    },
5432    {
5433      "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
5434      "class"  : "@exclude",
5435      "opcode" : 5721,
5436      "operands" : [
5437        { "kind" : "IdResultType" },
5438        { "kind" : "IdResult" }
5439      ],
5440      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5441      "version" : "None"
5442    },
5443    {
5444      "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
5445      "class"  : "@exclude",
5446      "opcode" : 5722,
5447      "operands" : [
5448        { "kind" : "IdResultType" },
5449        { "kind" : "IdResult" }
5450      ],
5451      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5452      "version" : "None"
5453    },
5454    {
5455      "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
5456      "class"  : "@exclude",
5457      "opcode" : 5723,
5458      "operands" : [
5459        { "kind" : "IdResultType" },
5460        { "kind" : "IdResult" }
5461      ],
5462      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5463      "version" : "None"
5464    },
5465    {
5466      "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
5467      "class"  : "@exclude",
5468      "opcode" : 5724,
5469      "operands" : [
5470        { "kind" : "IdResultType" },
5471        { "kind" : "IdResult" },
5472        { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
5473        { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
5474        { "kind" : "IdRef", "name" : "'Cost Precision'" },
5475        { "kind" : "IdRef", "name" : "'Payload'" }
5476      ],
5477      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5478      "version" : "None"
5479    },
5480    {
5481      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
5482      "class"  : "@exclude",
5483      "opcode" : 5725,
5484      "operands" : [
5485        { "kind" : "IdResultType" },
5486        { "kind" : "IdResult" },
5487        { "kind" : "IdRef", "name" : "'Slice Type'" },
5488        { "kind" : "IdRef", "name" : "'Qp'" }
5489      ],
5490      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5491      "version" : "None"
5492    },
5493    {
5494      "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
5495      "class"  : "@exclude",
5496      "opcode" : 5726,
5497      "operands" : [
5498        { "kind" : "IdResultType" },
5499        { "kind" : "IdResult" }
5500      ],
5501      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5502      "version" : "None"
5503    },
5504    {
5505      "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
5506      "class"  : "@exclude",
5507      "opcode" : 5727,
5508      "operands" : [
5509        { "kind" : "IdResultType" },
5510        { "kind" : "IdResult" }
5511      ],
5512      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
5513      "version" : "None"
5514    },
5515    {
5516      "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
5517      "class"  : "@exclude",
5518      "opcode" : 5728,
5519      "operands" : [
5520        { "kind" : "IdResultType" },
5521        { "kind" : "IdResult" },
5522        { "kind" : "IdRef", "name" : "'Payload'" }
5523      ],
5524      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5525      "version" : "None"
5526    },
5527    {
5528      "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
5529      "class"  : "@exclude",
5530      "opcode" : 5729,
5531      "operands" : [
5532        { "kind" : "IdResultType" },
5533        { "kind" : "IdResult" },
5534        { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
5535        { "kind" : "IdRef", "name" : "'Payload'" }
5536      ],
5537      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5538      "version" : "None"
5539    },
5540    {
5541      "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
5542      "class"  : "@exclude",
5543      "opcode" : 5730,
5544      "operands" : [
5545        { "kind" : "IdResultType" },
5546        { "kind" : "IdResult" },
5547        { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
5548        { "kind" : "IdRef", "name" : "'Payload'" }
5549      ],
5550      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5551      "version" : "None"
5552    },
5553    {
5554      "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
5555      "class"  : "@exclude",
5556      "opcode" : 5731,
5557      "operands" : [
5558        { "kind" : "IdResultType" },
5559        { "kind" : "IdResult" },
5560        { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
5561        { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
5562        { "kind" : "IdRef", "name" : "'Payload'" }
5563      ],
5564      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5565      "version" : "None"
5566    },
5567    {
5568      "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
5569      "class"  : "@exclude",
5570      "opcode" : 5732,
5571      "operands" : [
5572        { "kind" : "IdResultType" },
5573        { "kind" : "IdResult" },
5574        { "kind" : "IdRef", "name" : "'Payload'" }
5575      ],
5576      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5577      "version" : "None"
5578    },
5579    {
5580      "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
5581      "class"  : "@exclude",
5582      "opcode" : 5733,
5583      "operands" : [
5584        { "kind" : "IdResultType" },
5585        { "kind" : "IdResult" },
5586        { "kind" : "IdRef", "name" : "'Payload'" }
5587      ],
5588      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5589      "version" : "None"
5590    },
5591    {
5592      "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
5593      "class"  : "@exclude",
5594      "opcode" : 5734,
5595      "operands" : [
5596        { "kind" : "IdResultType" },
5597        { "kind" : "IdResult" },
5598        { "kind" : "IdRef", "name" : "'Payload'" }
5599      ],
5600      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5601      "version" : "None"
5602    },
5603    {
5604      "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
5605      "class"  : "@exclude",
5606      "opcode" : 5735,
5607      "operands" : [
5608        { "kind" : "IdResultType" },
5609        { "kind" : "IdResult" },
5610        { "kind" : "IdRef", "name" : "'Payload'" }
5611      ],
5612      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5613      "version" : "None"
5614    },
5615    {
5616      "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
5617      "class"  : "@exclude",
5618      "opcode" : 5736,
5619      "operands" : [
5620        { "kind" : "IdResultType" },
5621        { "kind" : "IdResult" },
5622        { "kind" : "IdRef", "name" : "'Payload'" }
5623      ],
5624      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5625      "version" : "None"
5626    },
5627    {
5628      "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
5629      "class"  : "@exclude",
5630      "opcode" : 5737,
5631      "operands" : [
5632        { "kind" : "IdResultType" },
5633        { "kind" : "IdResult" },
5634        { "kind" : "IdRef", "name" : "'Payload'" }
5635      ],
5636      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5637      "version" : "None"
5638    },
5639    {
5640      "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
5641      "class"  : "@exclude",
5642      "opcode" : 5738,
5643      "operands" : [
5644        { "kind" : "IdResultType" },
5645        { "kind" : "IdResult" },
5646        { "kind" : "IdRef", "name" : "'Payload'" }
5647      ],
5648      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5649      "version" : "None"
5650    },
5651    {
5652      "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
5653      "class"  : "@exclude",
5654      "opcode" : 5739,
5655      "operands" : [
5656        { "kind" : "IdResultType" },
5657        { "kind" : "IdResult" },
5658        { "kind" : "IdRef", "name" : "'Payload'" }
5659      ],
5660      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5661      "version" : "None"
5662    },
5663    {
5664      "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
5665      "class"  : "@exclude",
5666      "opcode" : 5740,
5667      "operands" : [
5668        { "kind" : "IdResultType" },
5669        { "kind" : "IdResult" },
5670        { "kind" : "IdRef", "name" : "'Payload'" }
5671      ],
5672      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5673      "version" : "None"
5674    },
5675    {
5676      "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
5677      "class"  : "@exclude",
5678      "opcode" : 5741,
5679      "operands" : [
5680        { "kind" : "IdResultType" },
5681        { "kind" : "IdResult" },
5682        { "kind" : "IdRef", "name" : "'Payload'" }
5683      ],
5684      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5685      "version" : "None"
5686    },
5687    {
5688      "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
5689      "class"  : "@exclude",
5690      "opcode" : 5742,
5691      "operands" : [
5692        { "kind" : "IdResultType" },
5693        { "kind" : "IdResult" },
5694        { "kind" : "IdRef", "name" : "'Payload'" }
5695      ],
5696      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5697      "version" : "None"
5698    },
5699    {
5700      "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
5701      "class"  : "@exclude",
5702      "opcode" : 5743,
5703      "operands" : [
5704        { "kind" : "IdResultType" },
5705        { "kind" : "IdResult" },
5706        { "kind" : "IdRef", "name" : "'Payload'" }
5707      ],
5708      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5709      "version" : "None"
5710    },
5711    {
5712      "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
5713      "class"  : "@exclude",
5714      "opcode" : 5744,
5715      "operands" : [
5716        { "kind" : "IdResultType" },
5717        { "kind" : "IdResult" },
5718        { "kind" : "IdRef", "name" : "'Payload'" }
5719      ],
5720      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5721      "version" : "None"
5722    },
5723    {
5724      "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
5725      "class"  : "@exclude",
5726      "opcode" : 5745,
5727      "operands" : [
5728        { "kind" : "IdResultType" },
5729        { "kind" : "IdResult" },
5730        { "kind" : "IdRef", "name" : "'Payload'" }
5731      ],
5732      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5733      "version" : "None"
5734    },
5735    {
5736      "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
5737      "class"  : "@exclude",
5738      "opcode" : 5746,
5739      "operands" : [
5740        { "kind" : "IdResultType" },
5741        { "kind" : "IdResult" },
5742        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
5743        { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
5744        { "kind" : "IdRef", "name" : "'Payload'" }
5745      ],
5746      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5747      "version" : "None"
5748    },
5749    {
5750      "opname" : "OpSubgroupAvcImeInitializeINTEL",
5751      "class"  : "@exclude",
5752      "opcode" : 5747,
5753      "operands" : [
5754        { "kind" : "IdResultType" },
5755        { "kind" : "IdResult" },
5756        { "kind" : "IdRef", "name" : "'Src Coord'" },
5757        { "kind" : "IdRef", "name" : "'Partition Mask'" },
5758        { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
5759      ],
5760      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5761      "version" : "None"
5762    },
5763    {
5764      "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
5765      "class"  : "@exclude",
5766      "opcode" : 5748,
5767      "operands" : [
5768        { "kind" : "IdResultType" },
5769        { "kind" : "IdResult" },
5770        { "kind" : "IdRef", "name" : "'Ref Offset'" },
5771        { "kind" : "IdRef", "name" : "'Search Window Config'" },
5772        { "kind" : "IdRef", "name" : "'Payload'" }
5773      ],
5774      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5775      "version" : "None"
5776    },
5777    {
5778      "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
5779      "class"  : "@exclude",
5780      "opcode" : 5749,
5781      "operands" : [
5782        { "kind" : "IdResultType" },
5783        { "kind" : "IdResult" },
5784        { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
5785        { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
5786        { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
5787        { "kind" : "IdRef", "name" : "'Payload'" }
5788      ],
5789      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5790      "version" : "None"
5791    },
5792    {
5793      "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
5794      "class"  : "@exclude",
5795      "opcode" : 5750,
5796      "operands" : [
5797        { "kind" : "IdResultType" },
5798        { "kind" : "IdResult" },
5799        { "kind" : "IdRef", "name" : "'Search Window Config'" },
5800        { "kind" : "IdRef", "name" : "'Dual Ref'" }
5801      ],
5802      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5803      "version" : "None"
5804    },
5805    {
5806      "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
5807      "class"  : "@exclude",
5808      "opcode" : 5751,
5809      "operands" : [
5810        { "kind" : "IdResultType" },
5811        { "kind" : "IdResult" },
5812        { "kind" : "IdRef", "name" : "'Ref Offset'" },
5813        { "kind" : "IdRef", "name" : "'Src Coord'" },
5814        { "kind" : "IdRef", "name" : "'Ref Window Size'" },
5815        { "kind" : "IdRef", "name" : "'Image Size'" }
5816      ],
5817      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5818      "version" : "None"
5819    },
5820    {
5821      "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
5822      "class"  : "@exclude",
5823      "opcode" : 5752,
5824      "operands" : [
5825        { "kind" : "IdResultType" },
5826        { "kind" : "IdResult" },
5827        { "kind" : "IdRef", "name" : "'Payload'" }
5828      ],
5829      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5830      "version" : "None"
5831    },
5832    {
5833      "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
5834      "class"  : "@exclude",
5835      "opcode" : 5753,
5836      "operands" : [
5837        { "kind" : "IdResultType" },
5838        { "kind" : "IdResult" },
5839        { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
5840        { "kind" : "IdRef", "name" : "'Payload'" }
5841      ],
5842      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5843      "version" : "None"
5844    },
5845    {
5846      "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
5847      "class"  : "@exclude",
5848      "opcode" : 5754,
5849      "operands" : [
5850        { "kind" : "IdResultType" },
5851        { "kind" : "IdResult" },
5852        { "kind" : "IdRef", "name" : "'Payload'" }
5853      ],
5854      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5855      "version" : "None"
5856    },
5857    {
5858      "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
5859      "class"  : "@exclude",
5860      "opcode" : 5755,
5861      "operands" : [
5862        { "kind" : "IdResultType" },
5863        { "kind" : "IdResult" },
5864        { "kind" : "IdRef", "name" : "'Threshold'" },
5865        { "kind" : "IdRef", "name" : "'Payload'" }
5866      ],
5867      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5868      "version" : "None"
5869    },
5870    {
5871      "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
5872      "class"  : "@exclude",
5873      "opcode" : 5756,
5874      "operands" : [
5875        { "kind" : "IdResultType" },
5876        { "kind" : "IdResult" },
5877        { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
5878        { "kind" : "IdRef", "name" : "'Payload'" }
5879      ],
5880      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5881      "version" : "None"
5882    },
5883    {
5884      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
5885      "class"  : "@exclude",
5886      "opcode" : 5757,
5887      "operands" : [
5888        { "kind" : "IdResultType" },
5889        { "kind" : "IdResult" },
5890        { "kind" : "IdRef", "name" : "'Src Image'" },
5891        { "kind" : "IdRef", "name" : "'Ref Image'" },
5892        { "kind" : "IdRef", "name" : "'Payload'" }
5893      ],
5894      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5895      "version" : "None"
5896    },
5897    {
5898      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
5899      "class"  : "@exclude",
5900      "opcode" : 5758,
5901      "operands" : [
5902        { "kind" : "IdResultType" },
5903        { "kind" : "IdResult" },
5904        { "kind" : "IdRef", "name" : "'Src Image'" },
5905        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5906        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5907        { "kind" : "IdRef", "name" : "'Payload'" }
5908      ],
5909      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5910      "version" : "None"
5911    },
5912    {
5913      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
5914      "class"  : "@exclude",
5915      "opcode" : 5759,
5916      "operands" : [
5917        { "kind" : "IdResultType" },
5918        { "kind" : "IdResult" },
5919        { "kind" : "IdRef", "name" : "'Src Image'" },
5920        { "kind" : "IdRef", "name" : "'Ref Image'" },
5921        { "kind" : "IdRef", "name" : "'Payload'" },
5922        { "kind" : "IdRef", "name" : "'Streamin Components'" }
5923      ],
5924      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5925      "version" : "None"
5926    },
5927    {
5928      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
5929      "class"  : "@exclude",
5930      "opcode" : 5760,
5931      "operands" : [
5932        { "kind" : "IdResultType" },
5933        { "kind" : "IdResult" },
5934        { "kind" : "IdRef", "name" : "'Src Image'" },
5935        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5936        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5937        { "kind" : "IdRef", "name" : "'Payload'" },
5938        { "kind" : "IdRef", "name" : "'Streamin Components'" }
5939      ],
5940      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5941      "version" : "None"
5942    },
5943    {
5944      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
5945      "class"  : "@exclude",
5946      "opcode" : 5761,
5947      "operands" : [
5948        { "kind" : "IdResultType" },
5949        { "kind" : "IdResult" },
5950        { "kind" : "IdRef", "name" : "'Src Image'" },
5951        { "kind" : "IdRef", "name" : "'Ref Image'" },
5952        { "kind" : "IdRef", "name" : "'Payload'" }
5953      ],
5954      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5955      "version" : "None"
5956    },
5957    {
5958      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
5959      "class"  : "@exclude",
5960      "opcode" : 5762,
5961      "operands" : [
5962        { "kind" : "IdResultType" },
5963        { "kind" : "IdResult" },
5964        { "kind" : "IdRef", "name" : "'Src Image'" },
5965        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5966        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5967        { "kind" : "IdRef", "name" : "'Payload'" }
5968      ],
5969      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5970      "version" : "None"
5971    },
5972    {
5973      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
5974      "class"  : "@exclude",
5975      "opcode" : 5763,
5976      "operands" : [
5977        { "kind" : "IdResultType" },
5978        { "kind" : "IdResult" },
5979        { "kind" : "IdRef", "name" : "'Src Image'" },
5980        { "kind" : "IdRef", "name" : "'Ref Image'" },
5981        { "kind" : "IdRef", "name" : "'Payload'" },
5982        { "kind" : "IdRef", "name" : "'Streamin Components'" }
5983      ],
5984      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5985      "version" : "None"
5986    },
5987    {
5988      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
5989      "class"  : "@exclude",
5990      "opcode" : 5764,
5991      "operands" : [
5992        { "kind" : "IdResultType" },
5993        { "kind" : "IdResult" },
5994        { "kind" : "IdRef", "name" : "'Src Image'" },
5995        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
5996        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
5997        { "kind" : "IdRef", "name" : "'Payload'" },
5998        { "kind" : "IdRef", "name" : "'Streamin Components'" }
5999      ],
6000      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6001      "version" : "None"
6002    },
6003    {
6004      "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
6005      "class"  : "@exclude",
6006      "opcode" : 5765,
6007      "operands" : [
6008        { "kind" : "IdResultType" },
6009        { "kind" : "IdResult" },
6010        { "kind" : "IdRef", "name" : "'Payload'" }
6011      ],
6012      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6013      "version" : "None"
6014    },
6015    {
6016      "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
6017      "class"  : "@exclude",
6018      "opcode" : 5766,
6019      "operands" : [
6020        { "kind" : "IdResultType" },
6021        { "kind" : "IdResult" },
6022        { "kind" : "IdRef", "name" : "'Payload'" }
6023      ],
6024      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6025      "version" : "None"
6026    },
6027    {
6028      "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
6029      "class"  : "@exclude",
6030      "opcode" : 5767,
6031      "operands" : [
6032        { "kind" : "IdResultType" },
6033        { "kind" : "IdResult" },
6034        { "kind" : "IdRef", "name" : "'Payload'" }
6035      ],
6036      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6037      "version" : "None"
6038    },
6039    {
6040      "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
6041      "class"  : "@exclude",
6042      "opcode" : 5768,
6043      "operands" : [
6044        { "kind" : "IdResultType" },
6045        { "kind" : "IdResult" },
6046        { "kind" : "IdRef", "name" : "'Payload'" }
6047      ],
6048      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6049      "version" : "None"
6050    },
6051    {
6052      "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
6053      "class"  : "@exclude",
6054      "opcode" : 5769,
6055      "operands" : [
6056        { "kind" : "IdResultType" },
6057        { "kind" : "IdResult" },
6058        { "kind" : "IdRef", "name" : "'Payload'" }
6059      ],
6060      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6061      "version" : "None"
6062    },
6063    {
6064      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
6065      "class"  : "@exclude",
6066      "opcode" : 5770,
6067      "operands" : [
6068        { "kind" : "IdResultType" },
6069        { "kind" : "IdResult" },
6070        { "kind" : "IdRef", "name" : "'Payload'" },
6071        { "kind" : "IdRef", "name" : "'Major Shape'" }
6072      ],
6073      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6074      "version" : "None"
6075    },
6076    {
6077      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
6078      "class"  : "@exclude",
6079      "opcode" : 5771,
6080      "operands" : [
6081        { "kind" : "IdResultType" },
6082        { "kind" : "IdResult" },
6083        { "kind" : "IdRef", "name" : "'Payload'" },
6084        { "kind" : "IdRef", "name" : "'Major Shape'" }
6085      ],
6086      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6087      "version" : "None"
6088    },
6089    {
6090      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
6091      "class"  : "@exclude",
6092      "opcode" : 5772,
6093      "operands" : [
6094        { "kind" : "IdResultType" },
6095        { "kind" : "IdResult" },
6096        { "kind" : "IdRef", "name" : "'Payload'" },
6097        { "kind" : "IdRef", "name" : "'Major Shape'" }
6098      ],
6099      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6100      "version" : "None"
6101    },
6102    {
6103      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
6104      "class"  : "@exclude",
6105      "opcode" : 5773,
6106      "operands" : [
6107        { "kind" : "IdResultType" },
6108        { "kind" : "IdResult" },
6109        { "kind" : "IdRef", "name" : "'Payload'" },
6110        { "kind" : "IdRef", "name" : "'Major Shape'" },
6111        { "kind" : "IdRef", "name" : "'Direction'" }
6112      ],
6113      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6114      "version" : "None"
6115    },
6116    {
6117      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
6118      "class"  : "@exclude",
6119      "opcode" : 5774,
6120      "operands" : [
6121        { "kind" : "IdResultType" },
6122        { "kind" : "IdResult" },
6123        { "kind" : "IdRef", "name" : "'Payload'" },
6124        { "kind" : "IdRef", "name" : "'Major Shape'" },
6125        { "kind" : "IdRef", "name" : "'Direction'" }
6126      ],
6127      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6128      "version" : "None"
6129    },
6130    {
6131      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
6132      "class"  : "@exclude",
6133      "opcode" : 5775,
6134      "operands" : [
6135        { "kind" : "IdResultType" },
6136        { "kind" : "IdResult" },
6137        { "kind" : "IdRef", "name" : "'Payload'" },
6138        { "kind" : "IdRef", "name" : "'Major Shape'" },
6139        { "kind" : "IdRef", "name" : "'Direction'" }
6140      ],
6141      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6142      "version" : "None"
6143    },
6144    {
6145      "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
6146      "class"  : "@exclude",
6147      "opcode" : 5776,
6148      "operands" : [
6149        { "kind" : "IdResultType" },
6150        { "kind" : "IdResult" },
6151        { "kind" : "IdRef", "name" : "'Image Select'" },
6152        { "kind" : "IdRef", "name" : "'Payload'" }
6153      ],
6154      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6155      "version" : "None"
6156    },
6157    {
6158      "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
6159      "class"  : "@exclude",
6160      "opcode" : 5777,
6161      "operands" : [
6162        { "kind" : "IdResultType" },
6163        { "kind" : "IdResult" },
6164        { "kind" : "IdRef", "name" : "'Payload'" }
6165      ],
6166      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6167      "version" : "None"
6168    },
6169    {
6170      "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
6171      "class"  : "@exclude",
6172      "opcode" : 5778,
6173      "operands" : [
6174        { "kind" : "IdResultType" },
6175        { "kind" : "IdResult" },
6176        { "kind" : "IdRef", "name" : "'Payload'" }
6177      ],
6178      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6179      "version" : "None"
6180    },
6181    {
6182      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
6183      "class"  : "@exclude",
6184      "opcode" : 5779,
6185      "operands" : [
6186        { "kind" : "IdResultType" },
6187        { "kind" : "IdResult" },
6188        { "kind" : "IdRef", "name" : "'Payload'" }
6189      ],
6190      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6191      "version" : "None"
6192    },
6193    {
6194      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
6195      "class"  : "@exclude",
6196      "opcode" : 5780,
6197      "operands" : [
6198        { "kind" : "IdResultType" },
6199        { "kind" : "IdResult" },
6200        { "kind" : "IdRef", "name" : "'Payload'" }
6201      ],
6202      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6203      "version" : "None"
6204    },
6205    {
6206      "opname" : "OpSubgroupAvcFmeInitializeINTEL",
6207      "class"  : "@exclude",
6208      "opcode" : 5781,
6209      "operands" : [
6210        { "kind" : "IdResultType" },
6211        { "kind" : "IdResult" },
6212        { "kind" : "IdRef", "name" : "'Src Coord'" },
6213        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6214        { "kind" : "IdRef", "name" : "'Major Shapes'" },
6215        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6216        { "kind" : "IdRef", "name" : "'Direction'" },
6217        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6218        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6219      ],
6220      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6221      "version" : "None"
6222    },
6223    {
6224      "opname" : "OpSubgroupAvcBmeInitializeINTEL",
6225      "class"  : "@exclude",
6226      "opcode" : 5782,
6227      "operands" : [
6228        { "kind" : "IdResultType" },
6229        { "kind" : "IdResult" },
6230        { "kind" : "IdRef", "name" : "'Src Coord'" },
6231        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6232        { "kind" : "IdRef", "name" : "'Major Shapes'" },
6233        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6234        { "kind" : "IdRef", "name" : "'Direction'" },
6235        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6236        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6237        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6238      ],
6239      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6240      "version" : "None"
6241    },
6242    {
6243      "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
6244      "class"  : "@exclude",
6245      "opcode" : 5783,
6246      "operands" : [
6247        { "kind" : "IdResultType" },
6248        { "kind" : "IdResult" },
6249        { "kind" : "IdRef", "name" : "'Payload'" }
6250      ],
6251      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6252      "version" : "None"
6253    },
6254    {
6255      "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
6256      "class"  : "@exclude",
6257      "opcode" : 5784,
6258      "operands" : [
6259        { "kind" : "IdResultType" },
6260        { "kind" : "IdResult" },
6261        { "kind" : "IdRef", "name" : "'Payload'" }
6262      ],
6263      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6264      "version" : "None"
6265    },
6266    {
6267      "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
6268      "class"  : "@exclude",
6269      "opcode" : 5785,
6270      "operands" : [
6271        { "kind" : "IdResultType" },
6272        { "kind" : "IdResult" },
6273        { "kind" : "IdRef", "name" : "'Payload'" }
6274      ],
6275      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6276      "version" : "None"
6277    },
6278    {
6279      "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
6280      "class"  : "@exclude",
6281      "opcode" : 5786,
6282      "operands" : [
6283        { "kind" : "IdResultType" },
6284        { "kind" : "IdResult" },
6285        { "kind" : "IdRef", "name" : "'Src Image'" },
6286        { "kind" : "IdRef", "name" : "'Ref Image'" },
6287        { "kind" : "IdRef", "name" : "'Payload'" }
6288      ],
6289      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6290      "version" : "None"
6291    },
6292    {
6293      "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
6294      "class"  : "@exclude",
6295      "opcode" : 5787,
6296      "operands" : [
6297        { "kind" : "IdResultType" },
6298        { "kind" : "IdResult" },
6299        { "kind" : "IdRef", "name" : "'Src Image'" },
6300        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6301        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6302        { "kind" : "IdRef", "name" : "'Payload'" }
6303      ],
6304      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6305      "version" : "None"
6306    },
6307    {
6308      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
6309      "class"  : "@exclude",
6310      "opcode" : 5788,
6311      "operands" : [
6312        { "kind" : "IdResultType" },
6313        { "kind" : "IdResult" },
6314        { "kind" : "IdRef", "name" : "'Src Image'" },
6315        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6316        { "kind" : "IdRef", "name" : "'Payload'" }
6317      ],
6318      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6319      "version" : "None"
6320    },
6321    {
6322      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
6323      "class"  : "@exclude",
6324      "opcode" : 5789,
6325      "operands" : [
6326        { "kind" : "IdResultType" },
6327        { "kind" : "IdResult" },
6328        { "kind" : "IdRef", "name" : "'Src Image'" },
6329        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6330        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6331        { "kind" : "IdRef", "name" : "'Payload'" }
6332      ],
6333      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6334      "version" : "None"
6335    },
6336    {
6337      "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
6338      "class"  : "@exclude",
6339      "opcode" : 5790,
6340      "operands" : [
6341        { "kind" : "IdResultType" },
6342        { "kind" : "IdResult" },
6343        { "kind" : "IdRef", "name" : "'Payload'" }
6344      ],
6345      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6346      "version" : "None"
6347    },
6348    {
6349      "opname" : "OpSubgroupAvcSicInitializeINTEL",
6350      "class"  : "@exclude",
6351      "opcode" : 5791,
6352      "operands" : [
6353        { "kind" : "IdResultType" },
6354        { "kind" : "IdResult" },
6355        { "kind" : "IdRef", "name" : "'Src Coord'" }
6356      ],
6357      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6358      "version" : "None"
6359    },
6360    {
6361      "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
6362      "class"  : "@exclude",
6363      "opcode" : 5792,
6364      "operands" : [
6365        { "kind" : "IdResultType" },
6366        { "kind" : "IdResult" },
6367        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6368        { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
6369        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6370        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6371        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6372        { "kind" : "IdRef", "name" : "'Payload'" }
6373      ],
6374      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6375      "version" : "None"
6376    },
6377    {
6378      "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
6379      "class"  : "@exclude",
6380      "opcode" : 5793,
6381      "operands" : [
6382        { "kind" : "IdResultType" },
6383        { "kind" : "IdResult" },
6384        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6385        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6386        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6387        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6388        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6389        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6390        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6391        { "kind" : "IdRef", "name" : "'Payload'" }
6392      ],
6393      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6394      "version" : "None"
6395    },
6396    {
6397      "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
6398      "class"  : "@exclude",
6399      "opcode" : 5794,
6400      "operands" : [
6401        { "kind" : "IdResultType" },
6402        { "kind" : "IdResult" },
6403        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6404        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6405        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6406        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6407        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6408        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6409        { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
6410        { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
6411        { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
6412        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6413        { "kind" : "IdRef", "name" : "'Payload'" }
6414      ],
6415      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6416      "version" : "None"
6417    },
6418    {
6419      "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
6420      "class"  : "@exclude",
6421      "opcode" : 5795,
6422      "operands" : [
6423        { "kind" : "IdResultType" },
6424        { "kind" : "IdResult" },
6425        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6426        { "kind" : "IdRef", "name" : "'Direction'" }
6427      ],
6428      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6429      "version" : "None"
6430    },
6431    {
6432      "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
6433      "class"  : "@exclude",
6434      "opcode" : 5796,
6435      "operands" : [
6436        { "kind" : "IdResultType" },
6437        { "kind" : "IdResult" },
6438        { "kind" : "IdRef", "name" : "'Payload'" }
6439      ],
6440      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6441      "version" : "None"
6442    },
6443    {
6444      "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
6445      "class"  : "@exclude",
6446      "opcode" : 5797,
6447      "operands" : [
6448        { "kind" : "IdResultType" },
6449        { "kind" : "IdResult" },
6450        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
6451        { "kind" : "IdRef", "name" : "'Payload'" }
6452      ],
6453      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6454      "version" : "None"
6455    },
6456    {
6457      "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
6458      "class"  : "@exclude",
6459      "opcode" : 5798,
6460      "operands" : [
6461        { "kind" : "IdResultType" },
6462        { "kind" : "IdResult" },
6463        { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
6464        { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
6465        { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
6466        { "kind" : "IdRef", "name" : "'Payload'" }
6467      ],
6468      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6469      "version" : "None"
6470    },
6471    {
6472      "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
6473      "class"  : "@exclude",
6474      "opcode" : 5799,
6475      "operands" : [
6476        { "kind" : "IdResultType" },
6477        { "kind" : "IdResult" },
6478        { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
6479        { "kind" : "IdRef", "name" : "'Payload'" }
6480      ],
6481      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6482      "version" : "None"
6483    },
6484    {
6485      "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
6486      "class"  : "@exclude",
6487      "opcode" : 5800,
6488      "operands" : [
6489        { "kind" : "IdResultType" },
6490        { "kind" : "IdResult" },
6491        { "kind" : "IdRef", "name" : "'Payload'" }
6492      ],
6493      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6494      "version" : "None"
6495    },
6496    {
6497      "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
6498      "class"  : "@exclude",
6499      "opcode" : 5801,
6500      "operands" : [
6501        { "kind" : "IdResultType" },
6502        { "kind" : "IdResult" },
6503        { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
6504        { "kind" : "IdRef", "name" : "'Payload'" }
6505      ],
6506      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6507      "version" : "None"
6508    },
6509    {
6510      "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
6511      "class"  : "@exclude",
6512      "opcode" : 5802,
6513      "operands" : [
6514        { "kind" : "IdResultType" },
6515        { "kind" : "IdResult" },
6516        { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
6517        { "kind" : "IdRef", "name" : "'Payload'" }
6518      ],
6519      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6520      "version" : "None"
6521    },
6522    {
6523      "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
6524      "class"  : "@exclude",
6525      "opcode" : 5803,
6526      "operands" : [
6527        { "kind" : "IdResultType" },
6528        { "kind" : "IdResult" },
6529        { "kind" : "IdRef", "name" : "'Src Image'" },
6530        { "kind" : "IdRef", "name" : "'Payload'" }
6531      ],
6532      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6533      "version" : "None"
6534    },
6535    {
6536      "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
6537      "class"  : "@exclude",
6538      "opcode" : 5804,
6539      "operands" : [
6540        { "kind" : "IdResultType" },
6541        { "kind" : "IdResult" },
6542        { "kind" : "IdRef", "name" : "'Src Image'" },
6543        { "kind" : "IdRef", "name" : "'Ref Image'" },
6544        { "kind" : "IdRef", "name" : "'Payload'" }
6545      ],
6546      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6547      "version" : "None"
6548    },
6549    {
6550      "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
6551      "class"  : "@exclude",
6552      "opcode" : 5805,
6553      "operands" : [
6554        { "kind" : "IdResultType" },
6555        { "kind" : "IdResult" },
6556        { "kind" : "IdRef", "name" : "'Src Image'" },
6557        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6558        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6559        { "kind" : "IdRef", "name" : "'Payload'" }
6560      ],
6561      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6562      "version" : "None"
6563    },
6564    {
6565      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
6566      "class"  : "@exclude",
6567      "opcode" : 5806,
6568      "operands" : [
6569        { "kind" : "IdResultType" },
6570        { "kind" : "IdResult" },
6571        { "kind" : "IdRef", "name" : "'Src Image'" },
6572        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6573        { "kind" : "IdRef", "name" : "'Payload'" }
6574      ],
6575      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6576      "version" : "None"
6577    },
6578    {
6579      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
6580      "class"  : "@exclude",
6581      "opcode" : 5807,
6582      "operands" : [
6583        { "kind" : "IdResultType" },
6584        { "kind" : "IdResult" },
6585        { "kind" : "IdRef", "name" : "'Src Image'" },
6586        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6587        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6588        { "kind" : "IdRef", "name" : "'Payload'" }
6589      ],
6590      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6591      "version" : "None"
6592    },
6593    {
6594      "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
6595      "class"  : "@exclude",
6596      "opcode" : 5808,
6597      "operands" : [
6598        { "kind" : "IdResultType" },
6599        { "kind" : "IdResult" },
6600        { "kind" : "IdRef", "name" : "'Payload'" }
6601      ],
6602      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6603      "version" : "None"
6604    },
6605    {
6606      "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
6607      "class"  : "@exclude",
6608      "opcode" : 5809,
6609      "operands" : [
6610        { "kind" : "IdResultType" },
6611        { "kind" : "IdResult" },
6612        { "kind" : "IdRef", "name" : "'Payload'" }
6613      ],
6614      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6615      "version" : "None"
6616    },
6617    {
6618      "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
6619      "class"  : "@exclude",
6620      "opcode" : 5810,
6621      "operands" : [
6622        { "kind" : "IdResultType" },
6623        { "kind" : "IdResult" },
6624        { "kind" : "IdRef", "name" : "'Payload'" }
6625      ],
6626      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6627      "version" : "None"
6628    },
6629    {
6630      "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
6631      "class"  : "@exclude",
6632      "opcode" : 5811,
6633      "operands" : [
6634        { "kind" : "IdResultType" },
6635        { "kind" : "IdResult" },
6636        { "kind" : "IdRef", "name" : "'Payload'" }
6637      ],
6638      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6639      "version" : "None"
6640    },
6641    {
6642      "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
6643      "class"  : "@exclude",
6644      "opcode" : 5812,
6645      "operands" : [
6646        { "kind" : "IdResultType" },
6647        { "kind" : "IdResult" },
6648        { "kind" : "IdRef", "name" : "'Payload'" }
6649      ],
6650      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6651      "version" : "None"
6652    },
6653    {
6654      "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
6655      "class"  : "@exclude",
6656      "opcode" : 5813,
6657      "operands" : [
6658        { "kind" : "IdResultType" },
6659        { "kind" : "IdResult" },
6660        { "kind" : "IdRef", "name" : "'Payload'" }
6661      ],
6662      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6663      "version" : "None"
6664    },
6665    {
6666      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
6667      "class"  : "@exclude",
6668      "opcode" : 5814,
6669      "operands" : [
6670        { "kind" : "IdResultType" },
6671        { "kind" : "IdResult" },
6672        { "kind" : "IdRef", "name" : "'Payload'" }
6673      ],
6674      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6675      "version" : "None"
6676    },
6677    {
6678      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
6679      "class"  : "@exclude",
6680      "opcode" : 5815,
6681      "operands" : [
6682        { "kind" : "IdResultType" },
6683        { "kind" : "IdResult" },
6684        { "kind" : "IdRef", "name" : "'Payload'" }
6685      ],
6686      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6687      "version" : "None"
6688    },
6689    {
6690      "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
6691      "class"  : "@exclude",
6692      "opcode" : 5816,
6693      "operands" : [
6694        { "kind" : "IdResultType" },
6695        { "kind" : "IdResult" },
6696        { "kind" : "IdRef", "name" : "'Payload'" }
6697      ],
6698      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6699      "version" : "None"
6700    },
6701    {
6702      "opname" : "OpLoopControlINTEL",
6703      "class"  : "Reserved",
6704      "opcode" : 5887,
6705      "operands" : [
6706        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Loop Control Parameters'" }
6707      ],
6708      "capabilities" : [ "UnstructuredLoopControlsINTEL" ],
6709      "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
6710      "version" : "None"
6711    },
6712    {
6713      "opname" : "OpReadPipeBlockingINTEL",
6714      "class"  : "Pipe",
6715      "opcode" : 5946,
6716      "operands" : [
6717        { "kind" : "IdResultType" },
6718        { "kind" : "IdResult" },
6719        { "kind" : "IdRef", "name" : "'Packet Size'" },
6720        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
6721      ],
6722      "capabilities" : [ "BlockingPipesINTEL" ],
6723      "extensions" : [ "SPV_INTEL_blocking_pipes" ],
6724      "version" : "None"
6725    },
6726    {
6727      "opname" : "OpWritePipeBlockingINTEL",
6728      "class"  : "Pipe",
6729      "opcode" : 5947,
6730      "operands" : [
6731        { "kind" : "IdResultType" },
6732        { "kind" : "IdResult" },
6733        { "kind" : "IdRef", "name" : "'Packet Size'" },
6734        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
6735      ],
6736      "capabilities" : [ "BlockingPipesINTEL" ],
6737      "extensions" : [ "SPV_INTEL_blocking_pipes" ],
6738      "version" : "None"
6739    },
6740    {
6741      "opname" : "OpFPGARegINTEL",
6742      "class"  : "Reserved",
6743      "opcode" : 5949,
6744      "operands" : [
6745        { "kind" : "IdResultType" },
6746        { "kind" : "IdResult" },
6747        { "kind" : "IdRef", "name" : "'Result'" },
6748        { "kind" : "IdRef", "name" : "'Input'" }
6749      ],
6750      "capabilities" : [ "FPGARegINTEL" ],
6751      "extensions" : [ "SPV_INTEL_fpga_reg" ],
6752      "version" : "None"
6753    },
6754    {
6755        "opname" : "OpRayQueryGetRayTMinKHR",
6756        "class" : "Reserved",
6757        "opcode" : 6016,
6758        "operands" : [
6759            { "kind" : "IdResultType" },
6760            { "kind" : "IdResult" },
6761            {
6762                "kind" : "IdRef",
6763                "name" : "'RayQuery'"
6764            }
6765        ],
6766        "capabilities" : [ "RayQueryProvisionalKHR" ],
6767        "extensions" : [ "SPV_KHR_ray_query" ],
6768        "version" : "None"
6769    },
6770    {
6771        "opname" : "OpRayQueryGetRayFlagsKHR",
6772        "class" : "Reserved",
6773        "opcode" : 6017,
6774        "operands" : [
6775            { "kind" : "IdResultType" },
6776            { "kind" : "IdResult" },
6777            {
6778                "kind" : "IdRef",
6779                "name" : "'RayQuery'"
6780            }
6781        ],
6782        "capabilities" : [ "RayQueryProvisionalKHR" ],
6783        "extensions" : [ "SPV_KHR_ray_query" ],
6784        "version" : "None"
6785    },
6786    {
6787        "opname" : "OpRayQueryGetIntersectionTKHR",
6788        "class" : "Reserved",
6789        "opcode" : 6018,
6790        "operands" : [
6791            { "kind" : "IdResultType" },
6792            { "kind" : "IdResult" },
6793            {
6794                "kind" : "IdRef",
6795                "name" : "'RayQuery'"
6796            },
6797            {
6798                "kind" : "IdRef",
6799                "name" : "'Intersection'"
6800            }
6801        ],
6802        "capabilities" : [ "RayQueryProvisionalKHR" ],
6803        "extensions" : [ "SPV_KHR_ray_query" ],
6804        "version" : "None"
6805    },
6806    {
6807        "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
6808        "class" : "Reserved",
6809        "opcode" : 6019,
6810        "operands" : [
6811            { "kind" : "IdResultType" },
6812            { "kind" : "IdResult" },
6813            {
6814                "kind" : "IdRef",
6815                "name" : "'RayQuery'"
6816            },
6817            {
6818                "kind" : "IdRef",
6819                "name" : "'Intersection'"
6820            }
6821        ],
6822        "capabilities" : [ "RayQueryProvisionalKHR" ],
6823        "extensions" : [ "SPV_KHR_ray_query" ],
6824        "version" : "None"
6825    },
6826    {
6827        "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
6828        "class" : "Reserved",
6829        "opcode" : 6020,
6830        "operands" : [
6831            { "kind" : "IdResultType" },
6832            { "kind" : "IdResult" },
6833            {
6834                "kind" : "IdRef",
6835                "name" : "'RayQuery'"
6836            },
6837            {
6838                "kind" : "IdRef",
6839                "name" : "'Intersection'"
6840            }
6841        ],
6842        "capabilities" : [ "RayQueryProvisionalKHR" ],
6843        "extensions" : [ "SPV_KHR_ray_query" ],
6844        "version" : "None"
6845    },
6846    {
6847        "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
6848        "class" : "Reserved",
6849        "opcode" : 6021,
6850        "operands" : [
6851            { "kind" : "IdResultType" },
6852            { "kind" : "IdResult" },
6853            {
6854                "kind" : "IdRef",
6855                "name" : "'RayQuery'"
6856            },
6857            {
6858                "kind" : "IdRef",
6859                "name" : "'Intersection'"
6860            }
6861        ],
6862        "capabilities" : [ "RayQueryProvisionalKHR" ],
6863        "extensions" : [ "SPV_KHR_ray_query" ],
6864        "version" : "None"
6865    },
6866    {
6867        "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
6868        "class" : "Reserved",
6869        "opcode" : 6022,
6870        "operands" : [
6871            { "kind" : "IdResultType" },
6872            { "kind" : "IdResult" },
6873            {
6874                "kind" : "IdRef",
6875                "name" : "'RayQuery'"
6876            },
6877            {
6878                "kind" : "IdRef",
6879                "name" : "'Intersection'"
6880            }
6881        ],
6882        "capabilities" : [ "RayQueryProvisionalKHR" ],
6883        "extensions" : [ "SPV_KHR_ray_query" ],
6884        "version" : "None"
6885    },
6886    {
6887        "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
6888        "class" : "Reserved",
6889        "opcode" : 6023,
6890        "operands" : [
6891            { "kind" : "IdResultType" },
6892            { "kind" : "IdResult" },
6893            {
6894                "kind" : "IdRef",
6895                "name" : "'RayQuery'"
6896            },
6897            {
6898                "kind" : "IdRef",
6899                "name" : "'Intersection'"
6900            }
6901        ],
6902        "capabilities" : [ "RayQueryProvisionalKHR" ],
6903        "extensions" : [ "SPV_KHR_ray_query" ],
6904        "version" : "None"
6905    },
6906    {
6907        "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
6908        "class" : "Reserved",
6909        "opcode" : 6024,
6910        "operands" : [
6911            { "kind" : "IdResultType" },
6912            { "kind" : "IdResult" },
6913            {
6914                "kind" : "IdRef",
6915                "name" : "'RayQuery'"
6916            },
6917            {
6918                "kind" : "IdRef",
6919                "name" : "'Intersection'"
6920            }
6921        ],
6922        "capabilities" : [ "RayQueryProvisionalKHR" ],
6923        "extensions" : [ "SPV_KHR_ray_query" ],
6924        "version" : "None"
6925    },
6926    {
6927        "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
6928        "class" : "Reserved",
6929        "opcode" : 6025,
6930        "operands" : [
6931            { "kind" : "IdResultType" },
6932            { "kind" : "IdResult" },
6933            {
6934                "kind" : "IdRef",
6935                "name" : "'RayQuery'"
6936            },
6937            {
6938                "kind" : "IdRef",
6939                "name" : "'Intersection'"
6940            }
6941        ],
6942        "capabilities" : [ "RayQueryProvisionalKHR" ],
6943        "extensions" : [ "SPV_KHR_ray_query" ],
6944        "version" : "None"
6945    },
6946    {
6947        "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
6948        "class" : "Reserved",
6949        "opcode" : 6026,
6950        "operands" : [
6951            { "kind" : "IdResultType" },
6952            { "kind" : "IdResult" },
6953            {
6954                "kind" : "IdRef",
6955                "name" : "'RayQuery'"
6956            }
6957        ],
6958        "capabilities" : [ "RayQueryProvisionalKHR" ],
6959        "extensions" : [ "SPV_KHR_ray_query" ],
6960        "version" : "None"
6961    },
6962    {
6963        "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
6964        "class" : "Reserved",
6965        "opcode" : 6027,
6966        "operands" : [
6967            { "kind" : "IdResultType" },
6968            { "kind" : "IdResult" },
6969            {
6970                "kind" : "IdRef",
6971                "name" : "'RayQuery'"
6972            },
6973            {
6974                "kind" : "IdRef",
6975                "name" : "'Intersection'"
6976            }
6977        ],
6978        "capabilities" : [ "RayQueryProvisionalKHR" ],
6979        "extensions" : [ "SPV_KHR_ray_query" ],
6980        "version" : "None"
6981    },
6982    {
6983        "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
6984        "class" : "Reserved",
6985        "opcode" : 6028,
6986        "operands" : [
6987            { "kind" : "IdResultType" },
6988            { "kind" : "IdResult" },
6989            {
6990                "kind" : "IdRef",
6991                "name" : "'RayQuery'"
6992            },
6993            {
6994                "kind" : "IdRef",
6995                "name" : "'Intersection'"
6996            }
6997        ],
6998        "capabilities" : [ "RayQueryProvisionalKHR" ],
6999        "extensions" : [ "SPV_KHR_ray_query" ],
7000        "version" : "None"
7001    },
7002    {
7003        "opname" : "OpRayQueryGetWorldRayDirectionKHR",
7004        "class" : "Reserved",
7005        "opcode" : 6029,
7006        "operands" : [
7007            { "kind" : "IdResultType" },
7008            { "kind" : "IdResult" },
7009            {
7010                "kind" : "IdRef",
7011                "name" : "'RayQuery'"
7012            }
7013        ],
7014        "capabilities" : [ "RayQueryProvisionalKHR" ],
7015        "extensions" : [ "SPV_KHR_ray_query" ],
7016        "version" : "None"
7017    },
7018    {
7019        "opname" : "OpRayQueryGetWorldRayOriginKHR",
7020        "class" : "Reserved",
7021        "opcode" : 6030,
7022        "operands" : [
7023            { "kind" : "IdResultType" },
7024            { "kind" : "IdResult" },
7025            {
7026                "kind" : "IdRef",
7027                "name" : "'RayQuery'"
7028            }
7029        ],
7030        "capabilities" : [ "RayQueryProvisionalKHR" ],
7031        "extensions" : [ "SPV_KHR_ray_query" ],
7032        "version" : "None"
7033    },
7034    {
7035        "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
7036        "class" : "Reserved",
7037        "opcode" : 6031,
7038        "operands" : [
7039            { "kind" : "IdResultType" },
7040            { "kind" : "IdResult" },
7041            {
7042                "kind" : "IdRef",
7043                "name" : "'RayQuery'"
7044            },
7045            {
7046                "kind" : "IdRef",
7047                "name" : "'Intersection'"
7048            }
7049        ],
7050        "capabilities" : [ "RayQueryProvisionalKHR" ],
7051        "extensions" : [ "SPV_KHR_ray_query" ],
7052        "version" : "None"
7053    },
7054    {
7055        "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
7056        "class" : "Reserved",
7057        "opcode" : 6032,
7058        "operands" : [
7059            { "kind" : "IdResultType" },
7060            { "kind" : "IdResult" },
7061            {
7062                "kind" : "IdRef",
7063                "name" : "'RayQuery'"
7064            },
7065             {
7066                "kind" : "IdRef",
7067                "name" : "'Intersection'"
7068            }
7069        ],
7070        "capabilities" : [ "RayQueryProvisionalKHR" ],
7071        "extensions" : [ "SPV_KHR_ray_query" ],
7072        "version" : "None"
7073    },
7074    {
7075      "opname" : "OpAtomicFAddEXT",
7076      "class"  : "Atomic",
7077      "opcode" : 6035,
7078      "operands" : [
7079        { "kind" : "IdResultType" },
7080        { "kind" : "IdResult" },
7081        { "kind" : "IdRef",             "name" : "'Pointer'" },
7082        { "kind" : "IdScope",           "name" : "'Memory'" },
7083        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
7084        { "kind" : "IdRef",             "name" : "'Value'" }
7085      ],
7086      "capabilities" : [ "AtomicFloat32AddEXT", "AtomicFloat64AddEXT" ],
7087      "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
7088      "version" : "None"
7089    }
7090  ],
7091  "operand_kinds" : [
7092    {
7093      "category" : "BitEnum",
7094      "kind" : "ImageOperands",
7095      "enumerants" : [
7096        {
7097          "enumerant" : "None",
7098          "value" : "0x0000"
7099        },
7100        {
7101          "enumerant" : "Bias",
7102          "value" : "0x0001",
7103          "capabilities" : [ "Shader" ],
7104          "parameters" : [
7105            { "kind" : "IdRef" }
7106          ]
7107        },
7108        {
7109          "enumerant" : "Lod",
7110          "value" : "0x0002",
7111          "parameters" : [
7112            { "kind" : "IdRef" }
7113          ]
7114        },
7115        {
7116          "enumerant" : "Grad",
7117          "value" : "0x0004",
7118          "parameters" : [
7119            { "kind" : "IdRef" },
7120            { "kind" : "IdRef" }
7121          ]
7122        },
7123        {
7124          "enumerant" : "ConstOffset",
7125          "value" : "0x0008",
7126          "parameters" : [
7127            { "kind" : "IdRef" }
7128          ]
7129        },
7130        {
7131          "enumerant" : "Offset",
7132          "value" : "0x0010",
7133          "capabilities" : [ "ImageGatherExtended" ],
7134          "parameters" : [
7135            { "kind" : "IdRef" }
7136          ]
7137        },
7138        {
7139          "enumerant" : "ConstOffsets",
7140          "value" : "0x0020",
7141          "capabilities" : [ "ImageGatherExtended" ],
7142          "parameters" : [
7143            { "kind" : "IdRef" }
7144          ]
7145        },
7146        {
7147          "enumerant" : "Sample",
7148          "value" : "0x0040",
7149          "parameters" : [
7150            { "kind" : "IdRef" }
7151          ]
7152        },
7153        {
7154          "enumerant" : "MinLod",
7155          "value" : "0x0080",
7156          "capabilities" : [ "MinLod" ],
7157          "parameters" : [
7158            { "kind" : "IdRef" }
7159          ]
7160        },
7161        {
7162          "enumerant" : "MakeTexelAvailable",
7163          "value" : "0x0100",
7164          "capabilities" : [ "VulkanMemoryModel" ],
7165          "parameters" : [
7166            { "kind" : "IdScope" }
7167          ],
7168          "version" : "1.5"
7169        },
7170        {
7171          "enumerant" : "MakeTexelAvailableKHR",
7172          "value" : "0x0100",
7173          "capabilities" : [ "VulkanMemoryModel" ],
7174          "parameters" : [
7175            { "kind" : "IdScope" }
7176          ],
7177          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7178          "version" : "1.5"
7179        },
7180        {
7181          "enumerant" : "MakeTexelVisible",
7182          "value" : "0x0200",
7183          "capabilities" : [ "VulkanMemoryModel" ],
7184          "parameters" : [
7185            { "kind" : "IdScope" }
7186          ],
7187          "version" : "1.5"
7188        },
7189        {
7190          "enumerant" : "MakeTexelVisibleKHR",
7191          "value" : "0x0200",
7192          "capabilities" : [ "VulkanMemoryModel" ],
7193          "parameters" : [
7194            { "kind" : "IdScope" }
7195          ],
7196          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7197          "version" : "1.5"
7198        },
7199        {
7200          "enumerant" : "NonPrivateTexel",
7201          "value" : "0x0400",
7202          "capabilities" : [ "VulkanMemoryModel" ],
7203          "version" : "1.5"
7204        },
7205        {
7206          "enumerant" : "NonPrivateTexelKHR",
7207          "value" : "0x0400",
7208          "capabilities" : [ "VulkanMemoryModel" ],
7209          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7210          "version" : "1.5"
7211        },
7212        {
7213          "enumerant" : "VolatileTexel",
7214          "value" : "0x0800",
7215          "capabilities" : [ "VulkanMemoryModel" ],
7216          "version" : "1.5"
7217        },
7218        {
7219          "enumerant" : "VolatileTexelKHR",
7220          "value" : "0x0800",
7221          "capabilities" : [ "VulkanMemoryModel" ],
7222          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7223          "version" : "1.5"
7224        },
7225        {
7226          "enumerant" : "SignExtend",
7227          "value" : "0x1000",
7228          "version" : "1.4"
7229        },
7230        {
7231          "enumerant" : "ZeroExtend",
7232          "value" : "0x2000",
7233          "version" : "1.4"
7234        }
7235      ]
7236    },
7237    {
7238      "category" : "BitEnum",
7239      "kind" : "FPFastMathMode",
7240      "enumerants" : [
7241        {
7242          "enumerant" : "None",
7243          "value" : "0x0000"
7244        },
7245        {
7246          "enumerant" : "NotNaN",
7247          "value" : "0x0001",
7248          "capabilities" : [ "Kernel" ]
7249        },
7250        {
7251          "enumerant" : "NotInf",
7252          "value" : "0x0002",
7253          "capabilities" : [ "Kernel" ]
7254        },
7255        {
7256          "enumerant" : "NSZ",
7257          "value" : "0x0004",
7258          "capabilities" : [ "Kernel" ]
7259        },
7260        {
7261          "enumerant" : "AllowRecip",
7262          "value" : "0x0008",
7263          "capabilities" : [ "Kernel" ]
7264        },
7265        {
7266          "enumerant" : "Fast",
7267          "value" : "0x0010",
7268          "capabilities" : [ "Kernel" ]
7269        }
7270      ]
7271    },
7272    {
7273      "category" : "BitEnum",
7274      "kind" : "SelectionControl",
7275      "enumerants" : [
7276        {
7277          "enumerant" : "None",
7278          "value" : "0x0000"
7279        },
7280        {
7281          "enumerant" : "Flatten",
7282          "value" : "0x0001"
7283        },
7284        {
7285          "enumerant" : "DontFlatten",
7286          "value" : "0x0002"
7287        }
7288      ]
7289    },
7290    {
7291      "category" : "BitEnum",
7292      "kind" : "LoopControl",
7293      "enumerants" : [
7294        {
7295          "enumerant" : "None",
7296          "value" : "0x0000"
7297        },
7298        {
7299          "enumerant" : "Unroll",
7300          "value" : "0x0001"
7301        },
7302        {
7303          "enumerant" : "DontUnroll",
7304          "value" : "0x0002"
7305        },
7306        {
7307          "enumerant" : "DependencyInfinite",
7308          "value" : "0x0004",
7309          "version" : "1.1"
7310        },
7311        {
7312          "enumerant" : "DependencyLength",
7313          "value" : "0x0008",
7314          "parameters" : [
7315            { "kind" : "LiteralInteger" }
7316          ],
7317          "version" : "1.1"
7318        },
7319        {
7320          "enumerant" : "MinIterations",
7321          "value" : "0x0010",
7322          "parameters" : [
7323            { "kind" : "LiteralInteger" }
7324          ],
7325          "version" : "1.4"
7326        },
7327        {
7328          "enumerant" : "MaxIterations",
7329          "value" : "0x0020",
7330          "parameters" : [
7331            { "kind" : "LiteralInteger" }
7332          ],
7333          "version" : "1.4"
7334        },
7335        {
7336          "enumerant" : "IterationMultiple",
7337          "value" : "0x0040",
7338          "parameters" : [
7339            { "kind" : "LiteralInteger" }
7340          ],
7341          "version" : "1.4"
7342        },
7343        {
7344          "enumerant" : "PeelCount",
7345          "value" : "0x0080",
7346          "parameters" : [
7347            { "kind" : "LiteralInteger" }
7348          ],
7349          "version" : "1.4"
7350        },
7351        {
7352          "enumerant" : "PartialCount",
7353          "value" : "0x0100",
7354          "parameters" : [
7355            { "kind" : "LiteralInteger" }
7356          ],
7357          "version" : "1.4"
7358        },
7359        {
7360          "enumerant" : "InitiationIntervalINTEL",
7361          "value" : "0x10000",
7362          "parameters" : [
7363            { "kind" : "LiteralInteger" }
7364          ],
7365          "capabilities" : [ "FPGALoopControlsINTEL" ],
7366          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7367          "version" : "None"
7368        },
7369        {
7370          "enumerant" : "MaxConcurrencyINTEL",
7371          "value" : "0x20000",
7372          "parameters" : [
7373            { "kind" : "LiteralInteger" }
7374          ],
7375          "capabilities" : [ "FPGALoopControlsINTEL" ],
7376          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7377          "version" : "None"
7378        },
7379        {
7380          "enumerant" : "DependencyArrayINTEL",
7381          "value" : "0x40000",
7382          "parameters" : [
7383            { "kind" : "LiteralInteger" }
7384          ],
7385          "capabilities" : [ "FPGALoopControlsINTEL" ],
7386          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7387          "version" : "None"
7388        },
7389        {
7390          "enumerant" : "PipelineEnableINTEL",
7391          "value" : "0x80000",
7392          "parameters" : [
7393            { "kind" : "LiteralInteger" }
7394          ],
7395          "capabilities" : [ "FPGALoopControlsINTEL" ],
7396          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7397          "version" : "None"
7398        },
7399        {
7400          "enumerant" : "LoopCoalesceINTEL",
7401          "value" : "0x100000",
7402          "parameters" : [
7403            { "kind" : "LiteralInteger" }
7404          ],
7405          "capabilities" : [ "FPGALoopControlsINTEL" ],
7406          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7407          "version" : "None"
7408        },
7409        {
7410          "enumerant" : "MaxInterleavingINTEL",
7411          "value" : "0x200000",
7412          "parameters" : [
7413            { "kind" : "LiteralInteger" }
7414          ],
7415          "capabilities" : [ "FPGALoopControlsINTEL" ],
7416          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7417          "version" : "None"
7418        },
7419        {
7420          "enumerant" : "SpeculatedIterationsINTEL",
7421          "value" : "0x400000",
7422          "parameters" : [
7423            { "kind" : "LiteralInteger" }
7424          ],
7425          "capabilities" : [ "FPGALoopControlsINTEL" ],
7426          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
7427          "version" : "None"
7428        }
7429      ]
7430    },
7431    {
7432      "category" : "BitEnum",
7433      "kind" : "FunctionControl",
7434      "enumerants" : [
7435        {
7436          "enumerant" : "None",
7437          "value" : "0x0000"
7438        },
7439        {
7440          "enumerant" : "Inline",
7441          "value" : "0x0001"
7442        },
7443        {
7444          "enumerant" : "DontInline",
7445          "value" : "0x0002"
7446        },
7447        {
7448          "enumerant" : "Pure",
7449          "value" : "0x0004"
7450        },
7451        {
7452          "enumerant" : "Const",
7453          "value" : "0x0008"
7454        }
7455      ]
7456    },
7457    {
7458      "category" : "BitEnum",
7459      "kind" : "MemorySemantics",
7460      "enumerants" : [
7461        {
7462          "enumerant" : "Relaxed",
7463          "value" : "0x0000"
7464        },
7465        {
7466          "enumerant" : "None",
7467          "value" : "0x0000"
7468        },
7469        {
7470          "enumerant" : "Acquire",
7471          "value" : "0x0002"
7472        },
7473        {
7474          "enumerant" : "Release",
7475          "value" : "0x0004"
7476        },
7477        {
7478          "enumerant" : "AcquireRelease",
7479          "value" : "0x0008"
7480        },
7481        {
7482          "enumerant" : "SequentiallyConsistent",
7483          "value" : "0x0010"
7484        },
7485        {
7486          "enumerant" : "UniformMemory",
7487          "value" : "0x0040",
7488          "capabilities" : [ "Shader" ]
7489        },
7490        {
7491          "enumerant" : "SubgroupMemory",
7492          "value" : "0x0080"
7493        },
7494        {
7495          "enumerant" : "WorkgroupMemory",
7496          "value" : "0x0100"
7497        },
7498        {
7499          "enumerant" : "CrossWorkgroupMemory",
7500          "value" : "0x0200"
7501        },
7502        {
7503          "enumerant" : "AtomicCounterMemory",
7504          "value" : "0x0400",
7505          "capabilities" : [ "AtomicStorage" ]
7506        },
7507        {
7508          "enumerant" : "ImageMemory",
7509          "value" : "0x0800"
7510        },
7511        {
7512          "enumerant" : "OutputMemory",
7513          "value" : "0x1000",
7514          "capabilities" : [ "VulkanMemoryModel" ],
7515          "version" : "1.5"
7516        },
7517        {
7518          "enumerant" : "OutputMemoryKHR",
7519          "value" : "0x1000",
7520          "capabilities" : [ "VulkanMemoryModel" ],
7521          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7522          "version" : "1.5"
7523        },
7524        {
7525          "enumerant" : "MakeAvailable",
7526          "value" : "0x2000",
7527          "capabilities" : [ "VulkanMemoryModel" ],
7528          "version" : "1.5"
7529        },
7530        {
7531          "enumerant" : "MakeAvailableKHR",
7532          "value" : "0x2000",
7533          "capabilities" : [ "VulkanMemoryModel" ],
7534          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7535          "version" : "1.5"
7536        },
7537        {
7538          "enumerant" : "MakeVisible",
7539          "value" : "0x4000",
7540          "capabilities" : [ "VulkanMemoryModel" ],
7541          "version" : "1.5"
7542        },
7543        {
7544          "enumerant" : "MakeVisibleKHR",
7545          "value" : "0x4000",
7546          "capabilities" : [ "VulkanMemoryModel" ],
7547          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7548          "version" : "1.5"
7549        },
7550        {
7551          "enumerant" : "Volatile",
7552          "value" : "0x8000",
7553          "capabilities" : [ "VulkanMemoryModel" ],
7554          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7555          "version" : "1.5"
7556        }
7557      ]
7558    },
7559    {
7560      "category" : "BitEnum",
7561      "kind" : "MemoryAccess",
7562      "enumerants" : [
7563        {
7564          "enumerant" : "None",
7565          "value" : "0x0000"
7566        },
7567        {
7568          "enumerant" : "Volatile",
7569          "value" : "0x0001"
7570        },
7571        {
7572          "enumerant" : "Aligned",
7573          "value" : "0x0002",
7574          "parameters" : [
7575            { "kind" : "LiteralInteger" }
7576          ]
7577        },
7578        {
7579          "enumerant" : "Nontemporal",
7580          "value" : "0x0004"
7581        },
7582        {
7583          "enumerant" : "MakePointerAvailable",
7584          "value" : "0x0008",
7585          "parameters" : [
7586            { "kind" : "IdScope" }
7587          ],
7588          "capabilities" : [ "VulkanMemoryModel" ],
7589          "version" : "1.5"
7590        },
7591        {
7592          "enumerant" : "MakePointerAvailableKHR",
7593          "value" : "0x0008",
7594          "parameters" : [
7595            { "kind" : "IdScope" }
7596          ],
7597          "capabilities" : [ "VulkanMemoryModel" ],
7598          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7599          "version" : "1.5"
7600        },
7601        {
7602          "enumerant" : "MakePointerVisible",
7603          "value" : "0x0010",
7604          "parameters" : [
7605            { "kind" : "IdScope" }
7606          ],
7607          "capabilities" : [ "VulkanMemoryModel" ],
7608          "version" : "1.5"
7609        },
7610        {
7611          "enumerant" : "MakePointerVisibleKHR",
7612          "value" : "0x0010",
7613          "parameters" : [
7614            { "kind" : "IdScope" }
7615          ],
7616          "capabilities" : [ "VulkanMemoryModel" ],
7617          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7618          "version" : "1.5"
7619        },
7620        {
7621          "enumerant" : "NonPrivatePointer",
7622          "value" : "0x0020",
7623          "capabilities" : [ "VulkanMemoryModel" ],
7624          "version" : "1.5"
7625        },
7626        {
7627          "enumerant" : "NonPrivatePointerKHR",
7628          "value" : "0x0020",
7629          "capabilities" : [ "VulkanMemoryModel" ],
7630          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7631          "version" : "1.5"
7632        }
7633      ]
7634    },
7635    {
7636      "category" : "BitEnum",
7637      "kind" : "KernelProfilingInfo",
7638      "enumerants" : [
7639        {
7640          "enumerant" : "None",
7641          "value" : "0x0000"
7642        },
7643        {
7644          "enumerant" : "CmdExecTime",
7645          "value" : "0x0001",
7646          "capabilities" : [ "Kernel" ]
7647        }
7648      ]
7649    },
7650    {
7651      "category" : "BitEnum",
7652      "kind" : "RayFlags",
7653      "enumerants" : [
7654        {
7655          "enumerant" : "NoneKHR",
7656          "value" : "0x0000",
7657          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7658          "version" : "None"
7659        },
7660        {
7661          "enumerant" : "OpaqueKHR",
7662          "value" : "0x0001",
7663          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7664          "version" : "None"
7665        },
7666        {
7667          "enumerant" : "NoOpaqueKHR",
7668          "value" : "0x0002",
7669          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7670          "version" : "None"
7671        },
7672        {
7673          "enumerant" : "TerminateOnFirstHitKHR",
7674          "value" : "0x0004",
7675          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7676          "version" : "None"
7677        },
7678        {
7679          "enumerant" : "SkipClosestHitShaderKHR",
7680          "value" : "0x0008",
7681          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7682          "version" : "None"
7683        },
7684        {
7685          "enumerant" : "CullBackFacingTrianglesKHR",
7686          "value" : "0x0010",
7687          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7688          "version" : "None"
7689        },
7690        {
7691          "enumerant" : "CullFrontFacingTrianglesKHR",
7692          "value" : "0x0020",
7693          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7694          "version" : "None"
7695        },
7696        {
7697          "enumerant" : "CullOpaqueKHR",
7698          "value" : "0x0040",
7699          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7700          "version" : "None"
7701        },
7702        {
7703          "enumerant" : "CullNoOpaqueKHR",
7704          "value" : "0x0080",
7705          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
7706          "version" : "None"
7707        },
7708        {
7709          "enumerant" : "SkipTrianglesKHR",
7710          "value" : "0x0100",
7711          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
7712          "version" : "None"
7713        },
7714        {
7715          "enumerant" : "SkipAABBsKHR",
7716          "value" : "0x0200",
7717          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ],
7718          "version" : "None"
7719        }
7720      ]
7721    },
7722    {
7723      "category" : "BitEnum",
7724      "kind" : "FragmentShadingRate",
7725      "enumerants" : [
7726        {
7727          "enumerant" : "Vertical2Pixels",
7728          "value" : "0x0001",
7729          "capabilities" : [ "FragmentShadingRateKHR" ],
7730          "version" : "None"
7731        },
7732        {
7733          "enumerant" : "Vertical4Pixels",
7734          "value" : "0x0002",
7735          "capabilities" : [ "FragmentShadingRateKHR" ],
7736          "version" : "None"
7737        },
7738        {
7739          "enumerant" : "Horizontal2Pixels",
7740          "value" : "0x0004",
7741          "capabilities" : [ "FragmentShadingRateKHR" ],
7742          "version" : "None"
7743        },
7744        {
7745          "enumerant" : "Horizontal4Pixels",
7746          "value" : "0x0008",
7747          "capabilities" : [ "FragmentShadingRateKHR" ],
7748          "version" : "None"
7749        }
7750      ]
7751    },
7752    {
7753      "category" : "ValueEnum",
7754      "kind" : "SourceLanguage",
7755      "enumerants" : [
7756        {
7757          "enumerant" : "Unknown",
7758          "value" : 0
7759        },
7760        {
7761          "enumerant" : "ESSL",
7762          "value" : 1
7763        },
7764        {
7765          "enumerant" : "GLSL",
7766          "value" : 2
7767        },
7768        {
7769          "enumerant" : "OpenCL_C",
7770          "value" : 3
7771        },
7772        {
7773          "enumerant" : "OpenCL_CPP",
7774          "value" : 4
7775        },
7776        {
7777          "enumerant" : "HLSL",
7778          "value" : 5
7779        }
7780      ]
7781    },
7782    {
7783      "category" : "ValueEnum",
7784      "kind" : "ExecutionModel",
7785      "enumerants" : [
7786        {
7787          "enumerant" : "Vertex",
7788          "value" : 0,
7789          "capabilities" : [ "Shader" ]
7790        },
7791        {
7792          "enumerant" : "TessellationControl",
7793          "value" : 1,
7794          "capabilities" : [ "Tessellation" ]
7795        },
7796        {
7797          "enumerant" : "TessellationEvaluation",
7798          "value" : 2,
7799          "capabilities" : [ "Tessellation" ]
7800        },
7801        {
7802          "enumerant" : "Geometry",
7803          "value" : 3,
7804          "capabilities" : [ "Geometry" ]
7805        },
7806        {
7807          "enumerant" : "Fragment",
7808          "value" : 4,
7809          "capabilities" : [ "Shader" ]
7810        },
7811        {
7812          "enumerant" : "GLCompute",
7813          "value" : 5,
7814          "capabilities" : [ "Shader" ]
7815        },
7816        {
7817          "enumerant" : "Kernel",
7818          "value" : 6,
7819          "capabilities" : [ "Kernel" ]
7820        },
7821        {
7822          "enumerant" : "TaskNV",
7823          "value" : 5267,
7824          "capabilities" : [ "MeshShadingNV" ],
7825          "version" : "None"
7826        },
7827        {
7828          "enumerant" : "MeshNV",
7829          "value" : 5268,
7830          "capabilities" : [ "MeshShadingNV" ],
7831          "version" : "None"
7832        },
7833        {
7834          "enumerant" : "RayGenerationNV",
7835          "value" : 5313,
7836          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7837          "version" : "None"
7838        },
7839        {
7840          "enumerant" : "RayGenerationKHR",
7841          "value" : 5313,
7842          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7843          "version" : "None"
7844        },
7845        {
7846          "enumerant" : "IntersectionNV",
7847          "value" : 5314,
7848          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7849          "version" : "None"
7850        },
7851        {
7852          "enumerant" : "IntersectionKHR",
7853          "value" : 5314,
7854          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7855          "version" : "None"
7856        },
7857        {
7858          "enumerant" : "AnyHitNV",
7859          "value" : 5315,
7860          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7861          "version" : "None"
7862        },
7863        {
7864          "enumerant" : "AnyHitKHR",
7865          "value" : 5315,
7866          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7867          "version" : "None"
7868        },
7869        {
7870          "enumerant" : "ClosestHitNV",
7871          "value" : 5316,
7872          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7873          "version" : "None"
7874        },
7875        {
7876          "enumerant" : "ClosestHitKHR",
7877          "value" : 5316,
7878          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7879          "version" : "None"
7880        },
7881        {
7882          "enumerant" : "MissNV",
7883          "value" : 5317,
7884          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7885          "version" : "None"
7886        },
7887        {
7888          "enumerant" : "MissKHR",
7889          "value" : 5317,
7890          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7891          "version" : "None"
7892        },
7893        {
7894          "enumerant" : "CallableNV",
7895          "value" : 5318,
7896          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7897          "version" : "None"
7898        },
7899        {
7900          "enumerant" : "CallableKHR",
7901          "value" : 5318,
7902          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7903          "version" : "None"
7904        }
7905      ]
7906    },
7907    {
7908      "category" : "ValueEnum",
7909      "kind" : "AddressingModel",
7910      "enumerants" : [
7911        {
7912          "enumerant" : "Logical",
7913          "value" : 0
7914        },
7915        {
7916          "enumerant" : "Physical32",
7917          "value" : 1,
7918          "capabilities" : [ "Addresses" ]
7919        },
7920        {
7921          "enumerant" : "Physical64",
7922          "value" : 2,
7923          "capabilities" : [ "Addresses" ]
7924        },
7925        {
7926          "enumerant" : "PhysicalStorageBuffer64",
7927          "value" : 5348,
7928          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
7929          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7930          "version" : "1.5"
7931        },
7932        {
7933          "enumerant" : "PhysicalStorageBuffer64EXT",
7934          "value" : 5348,
7935          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7936          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7937          "version" : "1.5"
7938        }
7939      ]
7940    },
7941    {
7942      "category" : "ValueEnum",
7943      "kind" : "MemoryModel",
7944      "enumerants" : [
7945        {
7946          "enumerant" : "Simple",
7947          "value" : 0,
7948          "capabilities" : [ "Shader" ]
7949        },
7950        {
7951          "enumerant" : "GLSL450",
7952          "value" : 1,
7953          "capabilities" : [ "Shader" ]
7954        },
7955        {
7956          "enumerant" : "OpenCL",
7957          "value" : 2,
7958          "capabilities" : [ "Kernel" ]
7959        },
7960        {
7961          "enumerant" : "Vulkan",
7962          "value" : 3,
7963          "capabilities" : [ "VulkanMemoryModel" ],
7964          "version" : "1.5"
7965        },
7966        {
7967          "enumerant" : "VulkanKHR",
7968          "value" : 3,
7969          "capabilities" : [ "VulkanMemoryModel" ],
7970          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7971          "version" : "1.5"
7972        }
7973      ]
7974    },
7975    {
7976      "category" : "ValueEnum",
7977      "kind" : "ExecutionMode",
7978      "enumerants" : [
7979        {
7980          "enumerant" : "Invocations",
7981          "value" : 0,
7982          "capabilities" : [ "Geometry" ],
7983          "parameters" : [
7984            { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
7985          ]
7986        },
7987        {
7988          "enumerant" : "SpacingEqual",
7989          "value" : 1,
7990          "capabilities" : [ "Tessellation" ]
7991        },
7992        {
7993          "enumerant" : "SpacingFractionalEven",
7994          "value" : 2,
7995          "capabilities" : [ "Tessellation" ]
7996        },
7997        {
7998          "enumerant" : "SpacingFractionalOdd",
7999          "value" : 3,
8000          "capabilities" : [ "Tessellation" ]
8001        },
8002        {
8003          "enumerant" : "VertexOrderCw",
8004          "value" : 4,
8005          "capabilities" : [ "Tessellation" ]
8006        },
8007        {
8008          "enumerant" : "VertexOrderCcw",
8009          "value" : 5,
8010          "capabilities" : [ "Tessellation" ]
8011        },
8012        {
8013          "enumerant" : "PixelCenterInteger",
8014          "value" : 6,
8015          "capabilities" : [ "Shader" ]
8016        },
8017        {
8018          "enumerant" : "OriginUpperLeft",
8019          "value" : 7,
8020          "capabilities" : [ "Shader" ]
8021        },
8022        {
8023          "enumerant" : "OriginLowerLeft",
8024          "value" : 8,
8025          "capabilities" : [ "Shader" ]
8026        },
8027        {
8028          "enumerant" : "EarlyFragmentTests",
8029          "value" : 9,
8030          "capabilities" : [ "Shader" ]
8031        },
8032        {
8033          "enumerant" : "PointMode",
8034          "value" : 10,
8035          "capabilities" : [ "Tessellation" ]
8036        },
8037        {
8038          "enumerant" : "Xfb",
8039          "value" : 11,
8040          "capabilities" : [ "TransformFeedback" ]
8041        },
8042        {
8043          "enumerant" : "DepthReplacing",
8044          "value" : 12,
8045          "capabilities" : [ "Shader" ]
8046        },
8047        {
8048          "enumerant" : "DepthGreater",
8049          "value" : 14,
8050          "capabilities" : [ "Shader" ]
8051        },
8052        {
8053          "enumerant" : "DepthLess",
8054          "value" : 15,
8055          "capabilities" : [ "Shader" ]
8056        },
8057        {
8058          "enumerant" : "DepthUnchanged",
8059          "value" : 16,
8060          "capabilities" : [ "Shader" ]
8061        },
8062        {
8063          "enumerant" : "LocalSize",
8064          "value" : 17,
8065          "parameters" : [
8066            { "kind" : "LiteralInteger", "name" : "'x size'" },
8067            { "kind" : "LiteralInteger", "name" : "'y size'" },
8068            { "kind" : "LiteralInteger", "name" : "'z size'" }
8069          ]
8070        },
8071        {
8072          "enumerant" : "LocalSizeHint",
8073          "value" : 18,
8074          "capabilities" : [ "Kernel" ],
8075          "parameters" : [
8076            { "kind" : "LiteralInteger", "name" : "'x size'" },
8077            { "kind" : "LiteralInteger", "name" : "'y size'" },
8078            { "kind" : "LiteralInteger", "name" : "'z size'" }
8079          ]
8080        },
8081        {
8082          "enumerant" : "InputPoints",
8083          "value" : 19,
8084          "capabilities" : [ "Geometry" ]
8085        },
8086        {
8087          "enumerant" : "InputLines",
8088          "value" : 20,
8089          "capabilities" : [ "Geometry" ]
8090        },
8091        {
8092          "enumerant" : "InputLinesAdjacency",
8093          "value" : 21,
8094          "capabilities" : [ "Geometry" ]
8095        },
8096        {
8097          "enumerant" : "Triangles",
8098          "value" : 22,
8099          "capabilities" : [ "Geometry", "Tessellation" ]
8100        },
8101        {
8102          "enumerant" : "InputTrianglesAdjacency",
8103          "value" : 23,
8104          "capabilities" : [ "Geometry" ]
8105        },
8106        {
8107          "enumerant" : "Quads",
8108          "value" : 24,
8109          "capabilities" : [ "Tessellation" ]
8110        },
8111        {
8112          "enumerant" : "Isolines",
8113          "value" : 25,
8114          "capabilities" : [ "Tessellation" ]
8115        },
8116        {
8117          "enumerant" : "OutputVertices",
8118          "value" : 26,
8119          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
8120          "parameters" : [
8121            { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
8122          ]
8123        },
8124        {
8125          "enumerant" : "OutputPoints",
8126          "value" : 27,
8127          "capabilities" : [ "Geometry", "MeshShadingNV" ]
8128        },
8129        {
8130          "enumerant" : "OutputLineStrip",
8131          "value" : 28,
8132          "capabilities" : [ "Geometry" ]
8133        },
8134        {
8135          "enumerant" : "OutputTriangleStrip",
8136          "value" : 29,
8137          "capabilities" : [ "Geometry" ]
8138        },
8139        {
8140          "enumerant" : "VecTypeHint",
8141          "value" : 30,
8142          "capabilities" : [ "Kernel" ],
8143          "parameters" : [
8144            { "kind" : "LiteralInteger", "name" : "'Vector type'" }
8145          ]
8146        },
8147        {
8148          "enumerant" : "ContractionOff",
8149          "value" : 31,
8150          "capabilities" : [ "Kernel" ]
8151        },
8152        {
8153          "enumerant" : "Initializer",
8154          "value" : 33,
8155          "capabilities" : [ "Kernel" ],
8156          "version" : "1.1"
8157        },
8158        {
8159          "enumerant" : "Finalizer",
8160          "value" : 34,
8161          "capabilities" : [ "Kernel" ],
8162          "version" : "1.1"
8163        },
8164        {
8165          "enumerant" : "SubgroupSize",
8166          "value" : 35,
8167          "capabilities" : [ "SubgroupDispatch" ],
8168          "parameters" : [
8169            { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
8170          ],
8171          "version" : "1.1"
8172        },
8173        {
8174          "enumerant" : "SubgroupsPerWorkgroup",
8175          "value" : 36,
8176          "capabilities" : [ "SubgroupDispatch" ],
8177          "parameters" : [
8178            { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
8179          ],
8180          "version" : "1.1"
8181        },
8182        {
8183          "enumerant" : "SubgroupsPerWorkgroupId",
8184          "value" : 37,
8185          "capabilities" : [ "SubgroupDispatch" ],
8186          "parameters" : [
8187            { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
8188          ],
8189          "version" : "1.2"
8190        },
8191        {
8192          "enumerant" : "LocalSizeId",
8193          "value" : 38,
8194          "parameters" : [
8195            { "kind" : "IdRef", "name" : "'x size'" },
8196            { "kind" : "IdRef", "name" : "'y size'" },
8197            { "kind" : "IdRef", "name" : "'z size'" }
8198          ],
8199          "version" : "1.2"
8200        },
8201        {
8202          "enumerant" : "LocalSizeHintId",
8203          "value" : 39,
8204          "capabilities" : [ "Kernel" ],
8205          "parameters" : [
8206            { "kind" : "IdRef", "name" : "'Local Size Hint'" }
8207          ],
8208          "version" : "1.2"
8209        },
8210        {
8211          "enumerant" : "PostDepthCoverage",
8212          "value" : 4446,
8213          "capabilities" : [ "SampleMaskPostDepthCoverage" ],
8214          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
8215          "version" : "None"
8216        },
8217        {
8218          "enumerant" : "DenormPreserve",
8219          "value" : 4459,
8220          "capabilities" : [ "DenormPreserve" ],
8221          "extensions" : [ "SPV_KHR_float_controls" ],
8222          "parameters" : [
8223            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8224          ],
8225          "version" : "1.4"
8226        },
8227        {
8228          "enumerant" : "DenormFlushToZero",
8229          "value" : 4460,
8230          "capabilities" : [ "DenormFlushToZero" ],
8231          "extensions" : [ "SPV_KHR_float_controls" ],
8232          "parameters" : [
8233            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8234          ],
8235          "version" : "1.4"
8236        },
8237        {
8238          "enumerant" : "SignedZeroInfNanPreserve",
8239          "value" : 4461,
8240          "capabilities" : [ "SignedZeroInfNanPreserve" ],
8241          "extensions" : [ "SPV_KHR_float_controls" ],
8242          "parameters" : [
8243            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8244          ],
8245          "version" : "1.4"
8246        },
8247        {
8248          "enumerant" : "RoundingModeRTE",
8249          "value" : 4462,
8250          "capabilities" : [ "RoundingModeRTE" ],
8251          "extensions" : [ "SPV_KHR_float_controls" ],
8252          "parameters" : [
8253            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8254          ],
8255          "version" : "1.4"
8256        },
8257        {
8258          "enumerant" : "RoundingModeRTZ",
8259          "value" : 4463,
8260          "capabilities" : [ "RoundingModeRTZ" ],
8261          "extensions" : [ "SPV_KHR_float_controls" ],
8262          "parameters" : [
8263            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8264          ],
8265          "version" : "1.4"
8266        },
8267        {
8268          "enumerant" : "StencilRefReplacingEXT",
8269          "value" : 5027,
8270          "capabilities" : [ "StencilExportEXT" ],
8271          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
8272          "version" : "None"
8273        },
8274        {
8275          "enumerant" : "OutputLinesNV",
8276          "value" : 5269,
8277          "capabilities" : [ "MeshShadingNV" ],
8278          "extensions" : [ "SPV_NV_mesh_shader" ],
8279          "version" : "None"
8280        },
8281        {
8282          "enumerant" : "OutputPrimitivesNV",
8283          "value" : 5270,
8284          "capabilities" : [ "MeshShadingNV" ],
8285          "parameters" : [
8286            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
8287          ],
8288          "extensions" : [ "SPV_NV_mesh_shader" ],
8289          "version" : "None"
8290        },
8291        {
8292          "enumerant" : "DerivativeGroupQuadsNV",
8293          "value" : 5289,
8294          "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
8295          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8296          "version" : "None"
8297        },
8298        {
8299          "enumerant" : "DerivativeGroupLinearNV",
8300          "value" : 5290,
8301          "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
8302          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8303          "version" : "None"
8304        },
8305        {
8306          "enumerant" : "OutputTrianglesNV",
8307          "value" : 5298,
8308          "capabilities" : [ "MeshShadingNV" ],
8309          "extensions" : [ "SPV_NV_mesh_shader" ],
8310          "version" : "None"
8311        },
8312        {
8313          "enumerant" : "PixelInterlockOrderedEXT",
8314          "value" : 5366,
8315          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8316          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8317          "version" : "None"
8318        },
8319        {
8320          "enumerant" : "PixelInterlockUnorderedEXT",
8321          "value" : 5367,
8322          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8323          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8324          "version" : "None"
8325        },
8326        {
8327          "enumerant" : "SampleInterlockOrderedEXT",
8328          "value" : 5368,
8329          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8330          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8331          "version" : "None"
8332        },
8333        {
8334          "enumerant" : "SampleInterlockUnorderedEXT",
8335          "value" : 5369,
8336          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8337          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8338          "version" : "None"
8339        },
8340        {
8341          "enumerant" : "ShadingRateInterlockOrderedEXT",
8342          "value" : 5370,
8343          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8344          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8345          "version" : "None"
8346        },
8347        {
8348          "enumerant" : "ShadingRateInterlockUnorderedEXT",
8349          "value" : 5371,
8350          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8351          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8352          "version" : "None"
8353        },
8354        {
8355          "enumerant" : "MaxWorkgroupSizeINTEL",
8356          "value" : 5893,
8357          "parameters" : [
8358            { "kind" : "LiteralInteger", "name" : "'max_x_size'" },
8359            { "kind" : "LiteralInteger", "name" : "'max_y_size'" },
8360            { "kind" : "LiteralInteger", "name" : "'max_z_size'" }
8361          ],
8362          "capabilities" : [ "KernelAttributesINTEL" ],
8363          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8364          "version" : "None"
8365        },
8366        {
8367          "enumerant" : "MaxWorkDimINTEL",
8368          "value" : 5894,
8369          "parameters" : [
8370            { "kind" : "LiteralInteger", "name" : "'max_dimensions'" }
8371          ],
8372          "capabilities" : [ "KernelAttributesINTEL" ],
8373          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8374          "version" : "None"
8375        },
8376        {
8377          "enumerant" : "NoGlobalOffsetINTEL",
8378          "value" : 5895,
8379          "capabilities" : [ "KernelAttributesINTEL" ],
8380          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8381          "version" : "None"
8382        },
8383        {
8384          "enumerant" : "NumSIMDWorkitemsINTEL",
8385          "value" : 5896,
8386          "parameters" : [
8387            { "kind" : "LiteralInteger", "name" : "'vector_width'" }
8388          ],
8389          "capabilities" : [ "FPGAKernelAttributesINTEL" ],
8390          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
8391          "version" : "None"
8392        }
8393      ]
8394    },
8395    {
8396      "category" : "ValueEnum",
8397      "kind" : "StorageClass",
8398      "enumerants" : [
8399        {
8400          "enumerant" : "UniformConstant",
8401          "value" : 0
8402        },
8403        {
8404          "enumerant" : "Input",
8405          "value" : 1
8406        },
8407        {
8408          "enumerant" : "Uniform",
8409          "value" : 2,
8410          "capabilities" : [ "Shader" ]
8411        },
8412        {
8413          "enumerant" : "Output",
8414          "value" : 3,
8415          "capabilities" : [ "Shader" ]
8416        },
8417        {
8418          "enumerant" : "Workgroup",
8419          "value" : 4
8420        },
8421        {
8422          "enumerant" : "CrossWorkgroup",
8423          "value" : 5
8424        },
8425        {
8426          "enumerant" : "Private",
8427          "value" : 6,
8428          "capabilities" : [ "Shader" ]
8429        },
8430        {
8431          "enumerant" : "Function",
8432          "value" : 7
8433        },
8434        {
8435          "enumerant" : "Generic",
8436          "value" : 8,
8437          "capabilities" : [ "GenericPointer" ]
8438        },
8439        {
8440          "enumerant" : "PushConstant",
8441          "value" : 9,
8442          "capabilities" : [ "Shader" ]
8443        },
8444        {
8445          "enumerant" : "AtomicCounter",
8446          "value" : 10,
8447          "capabilities" : [ "AtomicStorage" ]
8448        },
8449        {
8450          "enumerant" : "Image",
8451          "value" : 11
8452        },
8453        {
8454          "enumerant" : "StorageBuffer",
8455          "value" : 12,
8456          "extensions" : [
8457            "SPV_KHR_storage_buffer_storage_class",
8458            "SPV_KHR_variable_pointers"
8459          ],
8460          "capabilities" : [ "Shader" ],
8461          "version" : "1.3"
8462        },
8463        {
8464          "enumerant" : "CallableDataNV",
8465          "value" : 5328,
8466          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8467          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8468          "version" : "None"
8469        },
8470        {
8471          "enumerant" : "CallableDataKHR",
8472          "value" : 5328,
8473          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8474          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8475          "version" : "None"
8476        },
8477        {
8478          "enumerant" : "IncomingCallableDataNV",
8479          "value" : 5329,
8480          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8481          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8482          "version" : "None"
8483        },
8484        {
8485          "enumerant" : "IncomingCallableDataKHR",
8486          "value" : 5329,
8487          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8488          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8489          "version" : "None"
8490        },
8491        {
8492          "enumerant" : "RayPayloadNV",
8493          "value" : 5338,
8494          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8495          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8496          "version" : "None"
8497        },
8498        {
8499          "enumerant" : "RayPayloadKHR",
8500          "value" : 5338,
8501          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8502          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8503          "version" : "None"
8504        },
8505        {
8506          "enumerant" : "HitAttributeNV",
8507          "value" : 5339,
8508          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8509          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8510          "version" : "None"
8511        },
8512        {
8513          "enumerant" : "HitAttributeKHR",
8514          "value" : 5339,
8515          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8516          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8517          "version" : "None"
8518        },
8519        {
8520          "enumerant" : "IncomingRayPayloadNV",
8521          "value" : 5342,
8522          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8523          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8524          "version" : "None"
8525        },
8526        {
8527          "enumerant" : "IncomingRayPayloadKHR",
8528          "value" : 5342,
8529          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8530          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8531          "version" : "None"
8532        },
8533        {
8534          "enumerant" : "ShaderRecordBufferNV",
8535          "value" : 5343,
8536          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8537          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8538          "version" : "None"
8539        },
8540        {
8541          "enumerant" : "ShaderRecordBufferKHR",
8542          "value" : 5343,
8543          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8544          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8545          "version" : "None"
8546        },
8547        {
8548          "enumerant" : "PhysicalStorageBuffer",
8549          "value" : 5349,
8550          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
8551          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8552          "version" : "1.5"
8553        },
8554        {
8555          "enumerant" : "PhysicalStorageBufferEXT",
8556          "value" : 5349,
8557          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8558          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8559          "version" : "1.5"
8560        },
8561        {
8562          "enumerant" : "CodeSectionINTEL",
8563          "value" : 5605,
8564          "extensions" : [ "SPV_INTEL_function_pointers" ],
8565          "capabilities" : [ "FunctionPointersINTEL" ],
8566          "version" : "None"
8567        }
8568      ]
8569    },
8570    {
8571      "category" : "ValueEnum",
8572      "kind" : "Dim",
8573      "enumerants" : [
8574        {
8575          "enumerant" : "1D",
8576          "value" : 0,
8577          "capabilities" : [ "Sampled1D", "Image1D" ]
8578        },
8579        {
8580          "enumerant" : "2D",
8581          "value" : 1,
8582          "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
8583        },
8584        {
8585          "enumerant" : "3D",
8586          "value" : 2
8587        },
8588        {
8589          "enumerant" : "Cube",
8590          "value" : 3,
8591          "capabilities" : [ "Shader", "ImageCubeArray" ]
8592        },
8593        {
8594          "enumerant" : "Rect",
8595          "value" : 4,
8596          "capabilities" : [ "SampledRect", "ImageRect" ]
8597        },
8598        {
8599          "enumerant" : "Buffer",
8600          "value" : 5,
8601          "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
8602        },
8603        {
8604          "enumerant" : "SubpassData",
8605          "value" : 6,
8606          "capabilities" : [ "InputAttachment" ]
8607        }
8608      ]
8609    },
8610    {
8611      "category" : "ValueEnum",
8612      "kind" : "SamplerAddressingMode",
8613      "enumerants" : [
8614        {
8615          "enumerant" : "None",
8616          "value" : 0,
8617          "capabilities" : [ "Kernel" ]
8618        },
8619        {
8620          "enumerant" : "ClampToEdge",
8621          "value" : 1,
8622          "capabilities" : [ "Kernel" ]
8623        },
8624        {
8625          "enumerant" : "Clamp",
8626          "value" : 2,
8627          "capabilities" : [ "Kernel" ]
8628        },
8629        {
8630          "enumerant" : "Repeat",
8631          "value" : 3,
8632          "capabilities" : [ "Kernel" ]
8633        },
8634        {
8635          "enumerant" : "RepeatMirrored",
8636          "value" : 4,
8637          "capabilities" : [ "Kernel" ]
8638        }
8639      ]
8640    },
8641    {
8642      "category" : "ValueEnum",
8643      "kind" : "SamplerFilterMode",
8644      "enumerants" : [
8645        {
8646          "enumerant" : "Nearest",
8647          "value" : 0,
8648          "capabilities" : [ "Kernel" ]
8649        },
8650        {
8651          "enumerant" : "Linear",
8652          "value" : 1,
8653          "capabilities" : [ "Kernel" ]
8654        }
8655      ]
8656    },
8657    {
8658      "category" : "ValueEnum",
8659      "kind" : "ImageFormat",
8660      "enumerants" : [
8661        {
8662          "enumerant" : "Unknown",
8663          "value" : 0
8664        },
8665        {
8666          "enumerant" : "Rgba32f",
8667          "value" : 1,
8668          "capabilities" : [ "Shader" ]
8669        },
8670        {
8671          "enumerant" : "Rgba16f",
8672          "value" : 2,
8673          "capabilities" : [ "Shader" ]
8674        },
8675        {
8676          "enumerant" : "R32f",
8677          "value" : 3,
8678          "capabilities" : [ "Shader" ]
8679        },
8680        {
8681          "enumerant" : "Rgba8",
8682          "value" : 4,
8683          "capabilities" : [ "Shader" ]
8684        },
8685        {
8686          "enumerant" : "Rgba8Snorm",
8687          "value" : 5,
8688          "capabilities" : [ "Shader" ]
8689        },
8690        {
8691          "enumerant" : "Rg32f",
8692          "value" : 6,
8693          "capabilities" : [ "StorageImageExtendedFormats" ]
8694        },
8695        {
8696          "enumerant" : "Rg16f",
8697          "value" : 7,
8698          "capabilities" : [ "StorageImageExtendedFormats" ]
8699        },
8700        {
8701          "enumerant" : "R11fG11fB10f",
8702          "value" : 8,
8703          "capabilities" : [ "StorageImageExtendedFormats" ]
8704        },
8705        {
8706          "enumerant" : "R16f",
8707          "value" : 9,
8708          "capabilities" : [ "StorageImageExtendedFormats" ]
8709        },
8710        {
8711          "enumerant" : "Rgba16",
8712          "value" : 10,
8713          "capabilities" : [ "StorageImageExtendedFormats" ]
8714        },
8715        {
8716          "enumerant" : "Rgb10A2",
8717          "value" : 11,
8718          "capabilities" : [ "StorageImageExtendedFormats" ]
8719        },
8720        {
8721          "enumerant" : "Rg16",
8722          "value" : 12,
8723          "capabilities" : [ "StorageImageExtendedFormats" ]
8724        },
8725        {
8726          "enumerant" : "Rg8",
8727          "value" : 13,
8728          "capabilities" : [ "StorageImageExtendedFormats" ]
8729        },
8730        {
8731          "enumerant" : "R16",
8732          "value" : 14,
8733          "capabilities" : [ "StorageImageExtendedFormats" ]
8734        },
8735        {
8736          "enumerant" : "R8",
8737          "value" : 15,
8738          "capabilities" : [ "StorageImageExtendedFormats" ]
8739        },
8740        {
8741          "enumerant" : "Rgba16Snorm",
8742          "value" : 16,
8743          "capabilities" : [ "StorageImageExtendedFormats" ]
8744        },
8745        {
8746          "enumerant" : "Rg16Snorm",
8747          "value" : 17,
8748          "capabilities" : [ "StorageImageExtendedFormats" ]
8749        },
8750        {
8751          "enumerant" : "Rg8Snorm",
8752          "value" : 18,
8753          "capabilities" : [ "StorageImageExtendedFormats" ]
8754        },
8755        {
8756          "enumerant" : "R16Snorm",
8757          "value" : 19,
8758          "capabilities" : [ "StorageImageExtendedFormats" ]
8759        },
8760        {
8761          "enumerant" : "R8Snorm",
8762          "value" : 20,
8763          "capabilities" : [ "StorageImageExtendedFormats" ]
8764        },
8765        {
8766          "enumerant" : "Rgba32i",
8767          "value" : 21,
8768          "capabilities" : [ "Shader" ]
8769        },
8770        {
8771          "enumerant" : "Rgba16i",
8772          "value" : 22,
8773          "capabilities" : [ "Shader" ]
8774        },
8775        {
8776          "enumerant" : "Rgba8i",
8777          "value" : 23,
8778          "capabilities" : [ "Shader" ]
8779        },
8780        {
8781          "enumerant" : "R32i",
8782          "value" : 24,
8783          "capabilities" : [ "Shader" ]
8784        },
8785        {
8786          "enumerant" : "Rg32i",
8787          "value" : 25,
8788          "capabilities" : [ "StorageImageExtendedFormats" ]
8789        },
8790        {
8791          "enumerant" : "Rg16i",
8792          "value" : 26,
8793          "capabilities" : [ "StorageImageExtendedFormats" ]
8794        },
8795        {
8796          "enumerant" : "Rg8i",
8797          "value" : 27,
8798          "capabilities" : [ "StorageImageExtendedFormats" ]
8799        },
8800        {
8801          "enumerant" : "R16i",
8802          "value" : 28,
8803          "capabilities" : [ "StorageImageExtendedFormats" ]
8804        },
8805        {
8806          "enumerant" : "R8i",
8807          "value" : 29,
8808          "capabilities" : [ "StorageImageExtendedFormats" ]
8809        },
8810        {
8811          "enumerant" : "Rgba32ui",
8812          "value" : 30,
8813          "capabilities" : [ "Shader" ]
8814        },
8815        {
8816          "enumerant" : "Rgba16ui",
8817          "value" : 31,
8818          "capabilities" : [ "Shader" ]
8819        },
8820        {
8821          "enumerant" : "Rgba8ui",
8822          "value" : 32,
8823          "capabilities" : [ "Shader" ]
8824        },
8825        {
8826          "enumerant" : "R32ui",
8827          "value" : 33,
8828          "capabilities" : [ "Shader" ]
8829        },
8830        {
8831          "enumerant" : "Rgb10a2ui",
8832          "value" : 34,
8833          "capabilities" : [ "StorageImageExtendedFormats" ]
8834        },
8835        {
8836          "enumerant" : "Rg32ui",
8837          "value" : 35,
8838          "capabilities" : [ "StorageImageExtendedFormats" ]
8839        },
8840        {
8841          "enumerant" : "Rg16ui",
8842          "value" : 36,
8843          "capabilities" : [ "StorageImageExtendedFormats" ]
8844        },
8845        {
8846          "enumerant" : "Rg8ui",
8847          "value" : 37,
8848          "capabilities" : [ "StorageImageExtendedFormats" ]
8849        },
8850        {
8851          "enumerant" : "R16ui",
8852          "value" : 38,
8853          "capabilities" : [ "StorageImageExtendedFormats" ]
8854        },
8855        {
8856          "enumerant" : "R8ui",
8857          "value" : 39,
8858          "capabilities" : [ "StorageImageExtendedFormats" ]
8859        },
8860	{
8861          "enumerant" : "R64ui",
8862          "value" : 40,
8863          "capabilities" : [ "Int64ImageEXT" ]
8864        },
8865        {
8866          "enumerant" : "R64i",
8867          "value" : 41,
8868          "capabilities" : [ "Int64ImageEXT" ]
8869        }
8870      ]
8871    },
8872    {
8873      "category" : "ValueEnum",
8874      "kind" : "ImageChannelOrder",
8875      "enumerants" : [
8876        {
8877          "enumerant" : "R",
8878          "value" : 0,
8879          "capabilities" : [ "Kernel" ]
8880        },
8881        {
8882          "enumerant" : "A",
8883          "value" : 1,
8884          "capabilities" : [ "Kernel" ]
8885        },
8886        {
8887          "enumerant" : "RG",
8888          "value" : 2,
8889          "capabilities" : [ "Kernel" ]
8890        },
8891        {
8892          "enumerant" : "RA",
8893          "value" : 3,
8894          "capabilities" : [ "Kernel" ]
8895        },
8896        {
8897          "enumerant" : "RGB",
8898          "value" : 4,
8899          "capabilities" : [ "Kernel" ]
8900        },
8901        {
8902          "enumerant" : "RGBA",
8903          "value" : 5,
8904          "capabilities" : [ "Kernel" ]
8905        },
8906        {
8907          "enumerant" : "BGRA",
8908          "value" : 6,
8909          "capabilities" : [ "Kernel" ]
8910        },
8911        {
8912          "enumerant" : "ARGB",
8913          "value" : 7,
8914          "capabilities" : [ "Kernel" ]
8915        },
8916        {
8917          "enumerant" : "Intensity",
8918          "value" : 8,
8919          "capabilities" : [ "Kernel" ]
8920        },
8921        {
8922          "enumerant" : "Luminance",
8923          "value" : 9,
8924          "capabilities" : [ "Kernel" ]
8925        },
8926        {
8927          "enumerant" : "Rx",
8928          "value" : 10,
8929          "capabilities" : [ "Kernel" ]
8930        },
8931        {
8932          "enumerant" : "RGx",
8933          "value" : 11,
8934          "capabilities" : [ "Kernel" ]
8935        },
8936        {
8937          "enumerant" : "RGBx",
8938          "value" : 12,
8939          "capabilities" : [ "Kernel" ]
8940        },
8941        {
8942          "enumerant" : "Depth",
8943          "value" : 13,
8944          "capabilities" : [ "Kernel" ]
8945        },
8946        {
8947          "enumerant" : "DepthStencil",
8948          "value" : 14,
8949          "capabilities" : [ "Kernel" ]
8950        },
8951        {
8952          "enumerant" : "sRGB",
8953          "value" : 15,
8954          "capabilities" : [ "Kernel" ]
8955        },
8956        {
8957          "enumerant" : "sRGBx",
8958          "value" : 16,
8959          "capabilities" : [ "Kernel" ]
8960        },
8961        {
8962          "enumerant" : "sRGBA",
8963          "value" : 17,
8964          "capabilities" : [ "Kernel" ]
8965        },
8966        {
8967          "enumerant" : "sBGRA",
8968          "value" : 18,
8969          "capabilities" : [ "Kernel" ]
8970        },
8971        {
8972          "enumerant" : "ABGR",
8973          "value" : 19,
8974          "capabilities" : [ "Kernel" ]
8975        }
8976      ]
8977    },
8978    {
8979      "category" : "ValueEnum",
8980      "kind" : "ImageChannelDataType",
8981      "enumerants" : [
8982        {
8983          "enumerant" : "SnormInt8",
8984          "value" : 0,
8985          "capabilities" : [ "Kernel" ]
8986        },
8987        {
8988          "enumerant" : "SnormInt16",
8989          "value" : 1,
8990          "capabilities" : [ "Kernel" ]
8991        },
8992        {
8993          "enumerant" : "UnormInt8",
8994          "value" : 2,
8995          "capabilities" : [ "Kernel" ]
8996        },
8997        {
8998          "enumerant" : "UnormInt16",
8999          "value" : 3,
9000          "capabilities" : [ "Kernel" ]
9001        },
9002        {
9003          "enumerant" : "UnormShort565",
9004          "value" : 4,
9005          "capabilities" : [ "Kernel" ]
9006        },
9007        {
9008          "enumerant" : "UnormShort555",
9009          "value" : 5,
9010          "capabilities" : [ "Kernel" ]
9011        },
9012        {
9013          "enumerant" : "UnormInt101010",
9014          "value" : 6,
9015          "capabilities" : [ "Kernel" ]
9016        },
9017        {
9018          "enumerant" : "SignedInt8",
9019          "value" : 7,
9020          "capabilities" : [ "Kernel" ]
9021        },
9022        {
9023          "enumerant" : "SignedInt16",
9024          "value" : 8,
9025          "capabilities" : [ "Kernel" ]
9026        },
9027        {
9028          "enumerant" : "SignedInt32",
9029          "value" : 9,
9030          "capabilities" : [ "Kernel" ]
9031        },
9032        {
9033          "enumerant" : "UnsignedInt8",
9034          "value" : 10,
9035          "capabilities" : [ "Kernel" ]
9036        },
9037        {
9038          "enumerant" : "UnsignedInt16",
9039          "value" : 11,
9040          "capabilities" : [ "Kernel" ]
9041        },
9042        {
9043          "enumerant" : "UnsignedInt32",
9044          "value" : 12,
9045          "capabilities" : [ "Kernel" ]
9046        },
9047        {
9048          "enumerant" : "HalfFloat",
9049          "value" : 13,
9050          "capabilities" : [ "Kernel" ]
9051        },
9052        {
9053          "enumerant" : "Float",
9054          "value" : 14,
9055          "capabilities" : [ "Kernel" ]
9056        },
9057        {
9058          "enumerant" : "UnormInt24",
9059          "value" : 15,
9060          "capabilities" : [ "Kernel" ]
9061        },
9062        {
9063          "enumerant" : "UnormInt101010_2",
9064          "value" : 16,
9065          "capabilities" : [ "Kernel" ]
9066        }
9067      ]
9068    },
9069    {
9070      "category" : "ValueEnum",
9071      "kind" : "FPRoundingMode",
9072      "enumerants" : [
9073        {
9074          "enumerant" : "RTE",
9075          "value" : 0
9076        },
9077        {
9078          "enumerant" : "RTZ",
9079          "value" : 1
9080        },
9081        {
9082          "enumerant" : "RTP",
9083          "value" : 2
9084        },
9085        {
9086          "enumerant" : "RTN",
9087          "value" : 3
9088        }
9089      ]
9090    },
9091    {
9092      "category" : "ValueEnum",
9093      "kind" : "LinkageType",
9094      "enumerants" : [
9095        {
9096          "enumerant" : "Export",
9097          "value" : 0,
9098          "capabilities" : [ "Linkage" ]
9099        },
9100        {
9101          "enumerant" : "Import",
9102          "value" : 1,
9103          "capabilities" : [ "Linkage" ]
9104        }
9105      ]
9106    },
9107    {
9108      "category" : "ValueEnum",
9109      "kind" : "AccessQualifier",
9110      "enumerants" : [
9111        {
9112          "enumerant" : "ReadOnly",
9113          "value" : 0,
9114          "capabilities" : [ "Kernel" ]
9115        },
9116        {
9117          "enumerant" : "WriteOnly",
9118          "value" : 1,
9119          "capabilities" : [ "Kernel" ]
9120        },
9121        {
9122          "enumerant" : "ReadWrite",
9123          "value" : 2,
9124          "capabilities" : [ "Kernel" ]
9125        }
9126      ]
9127    },
9128    {
9129      "category" : "ValueEnum",
9130      "kind" : "FunctionParameterAttribute",
9131      "enumerants" : [
9132        {
9133          "enumerant" : "Zext",
9134          "value" : 0,
9135          "capabilities" : [ "Kernel" ]
9136        },
9137        {
9138          "enumerant" : "Sext",
9139          "value" : 1,
9140          "capabilities" : [ "Kernel" ]
9141        },
9142        {
9143          "enumerant" : "ByVal",
9144          "value" : 2,
9145          "capabilities" : [ "Kernel" ]
9146        },
9147        {
9148          "enumerant" : "Sret",
9149          "value" : 3,
9150          "capabilities" : [ "Kernel" ]
9151        },
9152        {
9153          "enumerant" : "NoAlias",
9154          "value" : 4,
9155          "capabilities" : [ "Kernel" ]
9156        },
9157        {
9158          "enumerant" : "NoCapture",
9159          "value" : 5,
9160          "capabilities" : [ "Kernel" ]
9161        },
9162        {
9163          "enumerant" : "NoWrite",
9164          "value" : 6,
9165          "capabilities" : [ "Kernel" ]
9166        },
9167        {
9168          "enumerant" : "NoReadWrite",
9169          "value" : 7,
9170          "capabilities" : [ "Kernel" ]
9171        }
9172      ]
9173    },
9174    {
9175      "category" : "ValueEnum",
9176      "kind" : "Decoration",
9177      "enumerants" : [
9178        {
9179          "enumerant" : "RelaxedPrecision",
9180          "value" : 0,
9181          "capabilities" : [ "Shader" ]
9182        },
9183        {
9184          "enumerant" : "SpecId",
9185          "value" : 1,
9186          "capabilities" : [ "Shader", "Kernel" ],
9187          "parameters" : [
9188            { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
9189          ]
9190        },
9191        {
9192          "enumerant" : "Block",
9193          "value" : 2,
9194          "capabilities" : [ "Shader" ]
9195        },
9196        {
9197          "enumerant" : "BufferBlock",
9198          "value" : 3,
9199          "capabilities" : [ "Shader" ],
9200          "lastVersion" : "1.3"
9201        },
9202        {
9203          "enumerant" : "RowMajor",
9204          "value" : 4,
9205          "capabilities" : [ "Matrix" ]
9206        },
9207        {
9208          "enumerant" : "ColMajor",
9209          "value" : 5,
9210          "capabilities" : [ "Matrix" ]
9211        },
9212        {
9213          "enumerant" : "ArrayStride",
9214          "value" : 6,
9215          "capabilities" : [ "Shader" ],
9216          "parameters" : [
9217            { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
9218          ]
9219        },
9220        {
9221          "enumerant" : "MatrixStride",
9222          "value" : 7,
9223          "capabilities" : [ "Matrix" ],
9224          "parameters" : [
9225            { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
9226          ]
9227        },
9228        {
9229          "enumerant" : "GLSLShared",
9230          "value" : 8,
9231          "capabilities" : [ "Shader" ]
9232        },
9233        {
9234          "enumerant" : "GLSLPacked",
9235          "value" : 9,
9236          "capabilities" : [ "Shader" ]
9237        },
9238        {
9239          "enumerant" : "CPacked",
9240          "value" : 10,
9241          "capabilities" : [ "Kernel" ]
9242        },
9243        {
9244          "enumerant" : "BuiltIn",
9245          "value" : 11,
9246          "parameters" : [
9247            { "kind" : "BuiltIn" }
9248          ]
9249        },
9250        {
9251          "enumerant" : "NoPerspective",
9252          "value" : 13,
9253          "capabilities" : [ "Shader" ]
9254        },
9255        {
9256          "enumerant" : "Flat",
9257          "value" : 14,
9258          "capabilities" : [ "Shader" ]
9259        },
9260        {
9261          "enumerant" : "Patch",
9262          "value" : 15,
9263          "capabilities" : [ "Tessellation" ]
9264        },
9265        {
9266          "enumerant" : "Centroid",
9267          "value" : 16,
9268          "capabilities" : [ "Shader" ]
9269        },
9270        {
9271          "enumerant" : "Sample",
9272          "value" : 17,
9273          "capabilities" : [ "SampleRateShading" ]
9274        },
9275        {
9276          "enumerant" : "Invariant",
9277          "value" : 18,
9278          "capabilities" : [ "Shader" ]
9279        },
9280        {
9281          "enumerant" : "Restrict",
9282          "value" : 19
9283        },
9284        {
9285          "enumerant" : "Aliased",
9286          "value" : 20
9287        },
9288        {
9289          "enumerant" : "Volatile",
9290          "value" : 21
9291        },
9292        {
9293          "enumerant" : "Constant",
9294          "value" : 22,
9295          "capabilities" : [ "Kernel" ]
9296        },
9297        {
9298          "enumerant" : "Coherent",
9299          "value" : 23
9300        },
9301        {
9302          "enumerant" : "NonWritable",
9303          "value" : 24
9304        },
9305        {
9306          "enumerant" : "NonReadable",
9307          "value" : 25
9308        },
9309        {
9310          "enumerant" : "Uniform",
9311          "value" : 26,
9312          "capabilities" : [ "Shader" ]
9313        },
9314        {
9315          "enumerant" : "UniformId",
9316          "value" : 27,
9317          "capabilities" : [ "Shader" ],
9318          "parameters" : [
9319            { "kind" : "IdScope",           "name" : "'Execution'" }
9320          ],
9321          "version" : "1.4"
9322        },
9323        {
9324          "enumerant" : "SaturatedConversion",
9325          "value" : 28,
9326          "capabilities" : [ "Kernel" ]
9327        },
9328        {
9329          "enumerant" : "Stream",
9330          "value" : 29,
9331          "capabilities" : [ "GeometryStreams" ],
9332          "parameters" : [
9333            { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
9334          ]
9335        },
9336        {
9337          "enumerant" : "Location",
9338          "value" : 30,
9339          "capabilities" : [ "Shader" ],
9340          "parameters" : [
9341            { "kind" : "LiteralInteger", "name" : "'Location'" }
9342          ]
9343        },
9344        {
9345          "enumerant" : "Component",
9346          "value" : 31,
9347          "capabilities" : [ "Shader" ],
9348          "parameters" : [
9349            { "kind" : "LiteralInteger", "name" : "'Component'" }
9350          ]
9351        },
9352        {
9353          "enumerant" : "Index",
9354          "value" : 32,
9355          "capabilities" : [ "Shader" ],
9356          "parameters" : [
9357            { "kind" : "LiteralInteger", "name" : "'Index'" }
9358          ]
9359        },
9360        {
9361          "enumerant" : "Binding",
9362          "value" : 33,
9363          "capabilities" : [ "Shader" ],
9364          "parameters" : [
9365            { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
9366          ]
9367        },
9368        {
9369          "enumerant" : "DescriptorSet",
9370          "value" : 34,
9371          "capabilities" : [ "Shader" ],
9372          "parameters" : [
9373            { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
9374          ]
9375        },
9376        {
9377          "enumerant" : "Offset",
9378          "value" : 35,
9379          "capabilities" : [ "Shader" ],
9380          "parameters" : [
9381            { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
9382          ]
9383        },
9384        {
9385          "enumerant" : "XfbBuffer",
9386          "value" : 36,
9387          "capabilities" : [ "TransformFeedback" ],
9388          "parameters" : [
9389            { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
9390          ]
9391        },
9392        {
9393          "enumerant" : "XfbStride",
9394          "value" : 37,
9395          "capabilities" : [ "TransformFeedback" ],
9396          "parameters" : [
9397            { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
9398          ]
9399        },
9400        {
9401          "enumerant" : "FuncParamAttr",
9402          "value" : 38,
9403          "capabilities" : [ "Kernel" ],
9404          "parameters" : [
9405            { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
9406          ]
9407        },
9408        {
9409          "enumerant" : "FPRoundingMode",
9410          "value" : 39,
9411          "parameters" : [
9412            { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
9413          ]
9414        },
9415        {
9416          "enumerant" : "FPFastMathMode",
9417          "value" : 40,
9418          "capabilities" : [ "Kernel" ],
9419          "parameters" : [
9420            { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
9421          ]
9422        },
9423        {
9424          "enumerant" : "LinkageAttributes",
9425          "value" : 41,
9426          "capabilities" : [ "Linkage" ],
9427          "parameters" : [
9428            { "kind" : "LiteralString", "name" : "'Name'" },
9429            { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
9430          ]
9431        },
9432        {
9433          "enumerant" : "NoContraction",
9434          "value" : 42,
9435          "capabilities" : [ "Shader" ]
9436        },
9437        {
9438          "enumerant" : "InputAttachmentIndex",
9439          "value" : 43,
9440          "capabilities" : [ "InputAttachment" ],
9441          "parameters" : [
9442            { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
9443          ]
9444        },
9445        {
9446          "enumerant" : "Alignment",
9447          "value" : 44,
9448          "capabilities" : [ "Kernel" ],
9449          "parameters" : [
9450            { "kind" : "LiteralInteger", "name" : "'Alignment'" }
9451          ]
9452        },
9453        {
9454          "enumerant" : "MaxByteOffset",
9455          "value" : 45,
9456          "capabilities" : [ "Addresses" ],
9457          "parameters" : [
9458            { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
9459          ],
9460          "version" : "1.1"
9461        },
9462        {
9463          "enumerant" : "AlignmentId",
9464          "value" : 46,
9465          "capabilities" : [ "Kernel" ],
9466          "parameters" : [
9467            { "kind" : "IdRef", "name" : "'Alignment'" }
9468          ],
9469          "version" : "1.2"
9470        },
9471        {
9472          "enumerant" : "MaxByteOffsetId",
9473          "value" : 47,
9474          "capabilities" : [ "Addresses" ],
9475          "parameters" : [
9476            { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
9477          ],
9478          "version" : "1.2"
9479        },
9480        {
9481          "enumerant" : "NoSignedWrap",
9482          "value" : 4469,
9483          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9484          "version" : "1.4"
9485        },
9486        {
9487          "enumerant" : "NoUnsignedWrap",
9488          "value" : 4470,
9489          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9490          "version" : "1.4"
9491        },
9492        {
9493          "enumerant" : "ExplicitInterpAMD",
9494          "value" : 4999,
9495          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9496          "version" : "None"
9497        },
9498        {
9499          "enumerant" : "OverrideCoverageNV",
9500          "value" : 5248,
9501          "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
9502          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
9503          "version" : "None"
9504        },
9505        {
9506          "enumerant" : "PassthroughNV",
9507          "value" : 5250,
9508          "capabilities" : [ "GeometryShaderPassthroughNV" ],
9509          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
9510          "version" : "None"
9511        },
9512        {
9513          "enumerant" : "ViewportRelativeNV",
9514          "value" : 5252,
9515          "capabilities" : [ "ShaderViewportMaskNV" ],
9516          "version" : "None"
9517        },
9518        {
9519          "enumerant" : "SecondaryViewportRelativeNV",
9520          "value" : 5256,
9521          "capabilities" : [ "ShaderStereoViewNV" ],
9522          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9523          "version" : "None",
9524          "parameters" : [
9525            { "kind" : "LiteralInteger", "name" : "'Offset'" }
9526          ]
9527        },
9528        {
9529          "enumerant" : "PerPrimitiveNV",
9530          "value" : 5271,
9531          "capabilities" : [ "MeshShadingNV" ],
9532          "extensions" : [ "SPV_NV_mesh_shader" ],
9533          "version" : "None"
9534        },
9535        {
9536          "enumerant" : "PerViewNV",
9537          "value" : 5272,
9538          "capabilities" : [ "MeshShadingNV" ],
9539          "extensions" : [ "SPV_NV_mesh_shader" ],
9540          "version" : "None"
9541        },
9542        {
9543          "enumerant" : "PerTaskNV",
9544          "value" : 5273,
9545          "capabilities" : [ "MeshShadingNV" ],
9546          "extensions" : [ "SPV_NV_mesh_shader" ],
9547          "version" : "None"
9548        },
9549        {
9550          "enumerant" : "PerVertexNV",
9551          "value" : 5285,
9552          "capabilities" : [ "FragmentBarycentricNV" ],
9553          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9554          "version" : "None"
9555        },
9556        {
9557          "enumerant" : "NonUniform",
9558          "value" : 5300,
9559          "capabilities" : [ "ShaderNonUniform" ],
9560          "version" : "1.5"
9561        },
9562        {
9563          "enumerant" : "NonUniformEXT",
9564          "value" : 5300,
9565          "capabilities" : [ "ShaderNonUniform" ],
9566          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
9567          "version" : "1.5"
9568        },
9569        {
9570          "enumerant" : "RestrictPointer",
9571          "value" : 5355,
9572          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9573          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9574          "version" : "1.5"
9575        },
9576        {
9577          "enumerant" : "RestrictPointerEXT",
9578          "value" : 5355,
9579          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9580          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9581          "version" : "1.5"
9582        },
9583        {
9584          "enumerant" : "AliasedPointer",
9585          "value" : 5356,
9586          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9587          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9588          "version" : "1.5"
9589        },
9590        {
9591          "enumerant" : "AliasedPointerEXT",
9592          "value" : 5356,
9593          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9594          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9595          "version" : "1.5"
9596        },
9597        {
9598          "enumerant" : "ReferencedIndirectlyINTEL",
9599          "value" : 5602,
9600          "capabilities" : [ "IndirectReferencesINTEL" ],
9601          "extensions" : [ "SPV_INTEL_function_pointers" ],
9602          "version" : "None"
9603        },
9604        {
9605          "enumerant" : "CounterBuffer",
9606          "value" : 5634,
9607          "parameters" : [
9608            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9609          ],
9610          "version" : "1.4"
9611        },
9612        {
9613          "enumerant" : "HlslCounterBufferGOOGLE",
9614          "value" : 5634,
9615          "parameters" : [
9616            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9617          ],
9618          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9619          "version" : "None"
9620        },
9621        {
9622          "enumerant" : "UserSemantic",
9623          "value" : 5635,
9624          "parameters" : [
9625            { "kind" : "LiteralString", "name" : "'Semantic'" }
9626          ],
9627          "version" : "1.4"
9628        },
9629        {
9630          "enumerant" : "HlslSemanticGOOGLE",
9631          "value" : 5635,
9632          "parameters" : [
9633            { "kind" : "LiteralString", "name" : "'Semantic'" }
9634          ],
9635          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9636          "version" : "None"
9637        },
9638        {
9639          "enumerant" : "UserTypeGOOGLE",
9640          "value" : 5636,
9641          "parameters" : [
9642            { "kind" : "LiteralString", "name" : "'User Type'" }
9643          ],
9644          "extensions" : [ "SPV_GOOGLE_user_type" ],
9645          "version" : "None"
9646        },
9647        {
9648          "enumerant" : "RegisterINTEL",
9649          "value" : 5825,
9650          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9651          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9652          "version" : "None"
9653        },
9654        {
9655          "enumerant" : "MemoryINTEL",
9656          "value" : 5826,
9657          "parameters" : [
9658            { "kind" : "LiteralString", "name" : "'Memory Type'" }
9659          ],
9660          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9661          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9662          "version" : "None"
9663        },
9664        {
9665          "enumerant" : "NumbanksINTEL",
9666          "value" : 5827,
9667          "parameters" : [
9668            { "kind" : "LiteralInteger", "name" : "'Banks'" }
9669          ],
9670          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9671          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9672          "version" : "None"
9673        },
9674        {
9675          "enumerant" : "BankwidthINTEL",
9676          "value" : 5828,
9677          "parameters" : [
9678            { "kind" : "LiteralInteger", "name" : "'Bank Width'" }
9679          ],
9680          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9681          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9682          "version" : "None"
9683        },
9684        {
9685          "enumerant" : "MaxPrivateCopiesINTEL",
9686          "value" : 5829,
9687          "parameters" : [
9688            { "kind" : "LiteralInteger", "name" : "'Maximum Copies'" }
9689          ],
9690          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9691          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9692          "version" : "None"
9693        },
9694        {
9695          "enumerant" : "SinglepumpINTEL",
9696          "value" : 5830,
9697          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9698          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9699          "version" : "None"
9700        },
9701        {
9702          "enumerant" : "DoublepumpINTEL",
9703          "value" : 5831,
9704          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9705          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9706          "version" : "None"
9707        },
9708        {
9709          "enumerant" : "MaxReplicatesINTEL",
9710          "value" : 5832,
9711          "parameters" : [
9712            { "kind" : "LiteralInteger", "name" : "'Maximum Replicates'" }
9713          ],
9714          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9715          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9716          "version" : "None"
9717        },
9718        {
9719          "enumerant" : "SimpleDualPortINTEL",
9720          "value" : 5833,
9721          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9722          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9723          "version" : "None"
9724        },
9725        {
9726          "enumerant" : "MergeINTEL",
9727          "value" : 5834,
9728          "parameters" : [
9729            { "kind" : "LiteralString", "name" : "'Merge Key'" },
9730            { "kind" : "LiteralString", "name" : "'Merge Type'" }
9731          ],
9732          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9733          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9734          "version" : "None"
9735        },
9736        {
9737          "enumerant" : "BankBitsINTEL",
9738          "value" : 5835,
9739          "parameters" : [
9740            { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Bank Bits'" }
9741          ],
9742          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9743          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9744          "version" : "None"
9745        },
9746        {
9747          "enumerant" : "ForcePow2DepthINTEL",
9748          "value" : 5836,
9749          "parameters" : [
9750            { "kind" : "LiteralInteger", "name" : "'Force Key'" }
9751          ],
9752          "capabilities" : [ "FPGAMemoryAttributesINTEL" ],
9753          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
9754          "version" : "None"
9755        }
9756      ]
9757    },
9758    {
9759      "category" : "ValueEnum",
9760      "kind" : "BuiltIn",
9761      "enumerants" : [
9762        {
9763          "enumerant" : "Position",
9764          "value" : 0,
9765          "capabilities" : [ "Shader" ]
9766        },
9767        {
9768          "enumerant" : "PointSize",
9769          "value" : 1,
9770          "capabilities" : [ "Shader" ]
9771        },
9772        {
9773          "enumerant" : "ClipDistance",
9774          "value" : 3,
9775          "capabilities" : [ "ClipDistance" ]
9776        },
9777        {
9778          "enumerant" : "CullDistance",
9779          "value" : 4,
9780          "capabilities" : [ "CullDistance" ]
9781        },
9782        {
9783          "enumerant" : "VertexId",
9784          "value" : 5,
9785          "capabilities" : [ "Shader" ]
9786        },
9787        {
9788          "enumerant" : "InstanceId",
9789          "value" : 6,
9790          "capabilities" : [ "Shader" ]
9791        },
9792        {
9793          "enumerant" : "PrimitiveId",
9794          "value" : 7,
9795          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingProvisionalKHR" ]
9796        },
9797        {
9798          "enumerant" : "InvocationId",
9799          "value" : 8,
9800          "capabilities" : [ "Geometry", "Tessellation" ]
9801        },
9802        {
9803          "enumerant" : "Layer",
9804          "value" : 9,
9805          "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
9806        },
9807        {
9808          "enumerant" : "ViewportIndex",
9809          "value" : 10,
9810          "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
9811        },
9812        {
9813          "enumerant" : "TessLevelOuter",
9814          "value" : 11,
9815          "capabilities" : [ "Tessellation" ]
9816        },
9817        {
9818          "enumerant" : "TessLevelInner",
9819          "value" : 12,
9820          "capabilities" : [ "Tessellation" ]
9821        },
9822        {
9823          "enumerant" : "TessCoord",
9824          "value" : 13,
9825          "capabilities" : [ "Tessellation" ]
9826        },
9827        {
9828          "enumerant" : "PatchVertices",
9829          "value" : 14,
9830          "capabilities" : [ "Tessellation" ]
9831        },
9832        {
9833          "enumerant" : "FragCoord",
9834          "value" : 15,
9835          "capabilities" : [ "Shader" ]
9836        },
9837        {
9838          "enumerant" : "PointCoord",
9839          "value" : 16,
9840          "capabilities" : [ "Shader" ]
9841        },
9842        {
9843          "enumerant" : "FrontFacing",
9844          "value" : 17,
9845          "capabilities" : [ "Shader" ]
9846        },
9847        {
9848          "enumerant" : "SampleId",
9849          "value" : 18,
9850          "capabilities" : [ "SampleRateShading" ]
9851        },
9852        {
9853          "enumerant" : "SamplePosition",
9854          "value" : 19,
9855          "capabilities" : [ "SampleRateShading" ]
9856        },
9857        {
9858          "enumerant" : "SampleMask",
9859          "value" : 20,
9860          "capabilities" : [ "Shader" ]
9861        },
9862        {
9863          "enumerant" : "FragDepth",
9864          "value" : 22,
9865          "capabilities" : [ "Shader" ]
9866        },
9867        {
9868          "enumerant" : "HelperInvocation",
9869          "value" : 23,
9870          "capabilities" : [ "Shader" ]
9871        },
9872        {
9873          "enumerant" : "NumWorkgroups",
9874          "value" : 24
9875        },
9876        {
9877          "enumerant" : "WorkgroupSize",
9878          "value" : 25
9879        },
9880        {
9881          "enumerant" : "WorkgroupId",
9882          "value" : 26
9883        },
9884        {
9885          "enumerant" : "LocalInvocationId",
9886          "value" : 27
9887        },
9888        {
9889          "enumerant" : "GlobalInvocationId",
9890          "value" : 28
9891        },
9892        {
9893          "enumerant" : "LocalInvocationIndex",
9894          "value" : 29
9895        },
9896        {
9897          "enumerant" : "WorkDim",
9898          "value" : 30,
9899          "capabilities" : [ "Kernel" ]
9900        },
9901        {
9902          "enumerant" : "GlobalSize",
9903          "value" : 31,
9904          "capabilities" : [ "Kernel" ]
9905        },
9906        {
9907          "enumerant" : "EnqueuedWorkgroupSize",
9908          "value" : 32,
9909          "capabilities" : [ "Kernel" ]
9910        },
9911        {
9912          "enumerant" : "GlobalOffset",
9913          "value" : 33,
9914          "capabilities" : [ "Kernel" ]
9915        },
9916        {
9917          "enumerant" : "GlobalLinearId",
9918          "value" : 34,
9919          "capabilities" : [ "Kernel" ]
9920        },
9921        {
9922          "enumerant" : "SubgroupSize",
9923          "value" : 36,
9924          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9925        },
9926        {
9927          "enumerant" : "SubgroupMaxSize",
9928          "value" : 37,
9929          "capabilities" : [ "Kernel" ]
9930        },
9931        {
9932          "enumerant" : "NumSubgroups",
9933          "value" : 38,
9934          "capabilities" : [ "Kernel", "GroupNonUniform" ]
9935        },
9936        {
9937          "enumerant" : "NumEnqueuedSubgroups",
9938          "value" : 39,
9939          "capabilities" : [ "Kernel" ]
9940        },
9941        {
9942          "enumerant" : "SubgroupId",
9943          "value" : 40,
9944          "capabilities" : [ "Kernel", "GroupNonUniform" ]
9945        },
9946        {
9947          "enumerant" : "SubgroupLocalInvocationId",
9948          "value" : 41,
9949          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9950        },
9951        {
9952          "enumerant" : "VertexIndex",
9953          "value" : 42,
9954          "capabilities" : [ "Shader" ]
9955        },
9956        {
9957          "enumerant" : "InstanceIndex",
9958          "value" : 43,
9959          "capabilities" : [ "Shader" ]
9960        },
9961        {
9962          "enumerant" : "SubgroupEqMask",
9963          "value" : 4416,
9964          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9965          "version" : "1.3"
9966        },
9967        {
9968          "enumerant" : "SubgroupGeMask",
9969          "value" : 4417,
9970          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9971          "version" : "1.3"
9972        },
9973        {
9974          "enumerant" : "SubgroupGtMask",
9975          "value" : 4418,
9976          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9977          "version" : "1.3"
9978        },
9979        {
9980          "enumerant" : "SubgroupLeMask",
9981          "value" : 4419,
9982          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9983          "version" : "1.3"
9984        },
9985        {
9986          "enumerant" : "SubgroupLtMask",
9987          "value" : 4420,
9988          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9989          "version" : "1.3"
9990        },
9991        {
9992          "enumerant" : "SubgroupEqMaskKHR",
9993          "value" : 4416,
9994          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9995          "extensions" : [ "SPV_KHR_shader_ballot" ],
9996          "version" : "1.3"
9997        },
9998        {
9999          "enumerant" : "SubgroupGeMaskKHR",
10000          "value" : 4417,
10001          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
10002          "extensions" : [ "SPV_KHR_shader_ballot" ],
10003          "version" : "1.3"
10004        },
10005        {
10006          "enumerant" : "SubgroupGtMaskKHR",
10007          "value" : 4418,
10008          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
10009          "extensions" : [ "SPV_KHR_shader_ballot" ],
10010          "version" : "1.3"
10011        },
10012        {
10013          "enumerant" : "SubgroupLeMaskKHR",
10014          "value" : 4419,
10015          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
10016          "extensions" : [ "SPV_KHR_shader_ballot" ],
10017          "version" : "1.3"
10018        },
10019        {
10020          "enumerant" : "SubgroupLtMaskKHR",
10021          "value" : 4420,
10022          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
10023          "extensions" : [ "SPV_KHR_shader_ballot" ],
10024          "version" : "1.3"
10025        },
10026        {
10027          "enumerant" : "BaseVertex",
10028          "value" : 4424,
10029          "capabilities" : [ "DrawParameters" ],
10030          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
10031          "version" : "1.3"
10032        },
10033        {
10034          "enumerant" : "BaseInstance",
10035          "value" : 4425,
10036          "capabilities" : [ "DrawParameters" ],
10037          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
10038          "version" : "1.3"
10039        },
10040        {
10041          "enumerant" : "DrawIndex",
10042          "value" : 4426,
10043          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
10044          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
10045          "version" : "1.3"
10046        },
10047        {
10048          "enumerant" : "PrimitiveShadingRateKHR",
10049          "value" : 4432,
10050          "capabilities" : [ "FragmentShadingRateKHR" ],
10051          "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
10052          "version" : "None"
10053        },
10054        {
10055          "enumerant" : "DeviceIndex",
10056          "value" : 4438,
10057          "capabilities" : [ "DeviceGroup" ],
10058          "extensions" : [ "SPV_KHR_device_group" ],
10059          "version" : "1.3"
10060        },
10061        {
10062          "enumerant" : "ViewIndex",
10063          "value" : 4440,
10064          "capabilities" : [ "MultiView" ],
10065          "extensions" : [ "SPV_KHR_multiview" ],
10066          "version" : "1.3"
10067        },
10068        {
10069          "enumerant" : "ShadingRateKHR",
10070          "value" : 4444,
10071          "capabilities" : [ "FragmentShadingRateKHR" ],
10072          "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
10073          "version" : "None"
10074        },
10075        {
10076          "enumerant" : "BaryCoordNoPerspAMD",
10077          "value" : 4992,
10078          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10079          "version" : "None"
10080        },
10081        {
10082          "enumerant" : "BaryCoordNoPerspCentroidAMD",
10083          "value" : 4993,
10084          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10085          "version" : "None"
10086        },
10087        {
10088          "enumerant" : "BaryCoordNoPerspSampleAMD",
10089          "value" : 4994,
10090          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10091          "version" : "None"
10092        },
10093        {
10094          "enumerant" : "BaryCoordSmoothAMD",
10095          "value" : 4995,
10096          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10097          "version" : "None"
10098        },
10099        {
10100          "enumerant" : "BaryCoordSmoothCentroidAMD",
10101          "value" : 4996,
10102          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10103          "version" : "None"
10104        },
10105        {
10106          "enumerant" : "BaryCoordSmoothSampleAMD",
10107          "value" : 4997,
10108          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10109          "version" : "None"
10110        },
10111        {
10112          "enumerant" : "BaryCoordPullModelAMD",
10113          "value" : 4998,
10114          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
10115          "version" : "None"
10116        },
10117        {
10118          "enumerant" : "FragStencilRefEXT",
10119          "value" : 5014,
10120          "capabilities" : [ "StencilExportEXT" ],
10121          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
10122          "version" : "None"
10123        },
10124        {
10125          "enumerant" : "ViewportMaskNV",
10126          "value" : 5253,
10127          "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
10128          "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
10129          "version" : "None"
10130        },
10131        {
10132          "enumerant" : "SecondaryPositionNV",
10133          "value" : 5257,
10134          "capabilities" : [ "ShaderStereoViewNV" ],
10135          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10136          "version" : "None"
10137        },
10138        {
10139          "enumerant" : "SecondaryViewportMaskNV",
10140          "value" : 5258,
10141          "capabilities" : [ "ShaderStereoViewNV" ],
10142          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10143          "version" : "None"
10144        },
10145        {
10146          "enumerant" : "PositionPerViewNV",
10147          "value" : 5261,
10148          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
10149          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
10150          "version" : "None"
10151        },
10152        {
10153          "enumerant" : "ViewportMaskPerViewNV",
10154          "value" : 5262,
10155          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
10156          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
10157          "version" : "None"
10158        },
10159        {
10160          "enumerant" : "FullyCoveredEXT",
10161          "value" : 5264,
10162          "capabilities" : [ "FragmentFullyCoveredEXT" ],
10163          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
10164          "version" : "None"
10165        },
10166        {
10167          "enumerant" : "TaskCountNV",
10168          "value" : 5274,
10169          "capabilities" : [ "MeshShadingNV" ],
10170          "extensions" : [ "SPV_NV_mesh_shader" ],
10171          "version" : "None"
10172        },
10173        {
10174          "enumerant" : "PrimitiveCountNV",
10175          "value" : 5275,
10176          "capabilities" : [ "MeshShadingNV" ],
10177          "extensions" : [ "SPV_NV_mesh_shader" ],
10178          "version" : "None"
10179        },
10180        {
10181          "enumerant" : "PrimitiveIndicesNV",
10182          "value" : 5276,
10183          "capabilities" : [ "MeshShadingNV" ],
10184          "extensions" : [ "SPV_NV_mesh_shader" ],
10185          "version" : "None"
10186        },
10187        {
10188          "enumerant" : "ClipDistancePerViewNV",
10189          "value" : 5277,
10190          "capabilities" : [ "MeshShadingNV" ],
10191          "extensions" : [ "SPV_NV_mesh_shader" ],
10192          "version" : "None"
10193        },
10194        {
10195          "enumerant" : "CullDistancePerViewNV",
10196          "value" : 5278,
10197          "capabilities" : [ "MeshShadingNV" ],
10198          "extensions" : [ "SPV_NV_mesh_shader" ],
10199          "version" : "None"
10200        },
10201        {
10202          "enumerant" : "LayerPerViewNV",
10203          "value" : 5279,
10204          "capabilities" : [ "MeshShadingNV" ],
10205          "extensions" : [ "SPV_NV_mesh_shader" ],
10206          "version" : "None"
10207        },
10208        {
10209          "enumerant" : "MeshViewCountNV",
10210          "value" : 5280,
10211          "capabilities" : [ "MeshShadingNV" ],
10212          "extensions" : [ "SPV_NV_mesh_shader" ],
10213          "version" : "None"
10214        },
10215        {
10216          "enumerant" : "MeshViewIndicesNV",
10217          "value" : 5281,
10218          "capabilities" : [ "MeshShadingNV" ],
10219          "extensions" : [ "SPV_NV_mesh_shader" ],
10220          "version" : "None"
10221        },
10222        {
10223          "enumerant" : "BaryCoordNV",
10224          "value" : 5286,
10225          "capabilities" : [ "FragmentBarycentricNV" ],
10226          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10227          "version" : "None"
10228        },
10229        {
10230          "enumerant" : "BaryCoordNoPerspNV",
10231          "value" : 5287,
10232          "capabilities" : [ "FragmentBarycentricNV" ],
10233          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10234          "version" : "None"
10235        },
10236        {
10237          "enumerant" : "FragSizeEXT",
10238          "value" : 5292 ,
10239          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
10240          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10241          "version" : "None"
10242        },
10243        {
10244          "enumerant" : "FragmentSizeNV",
10245          "value" : 5292 ,
10246          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
10247          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10248          "version" : "None"
10249        },
10250        {
10251          "enumerant" : "FragInvocationCountEXT",
10252          "value" : 5293,
10253          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
10254          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10255          "version" : "None"
10256        },
10257        {
10258          "enumerant" : "InvocationsPerPixelNV",
10259          "value" : 5293,
10260          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
10261          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10262          "version" : "None"
10263        },
10264        {
10265          "enumerant" : "LaunchIdNV",
10266          "value" : 5319,
10267          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10268          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10269          "version" : "None"
10270        },
10271        {
10272          "enumerant" : "LaunchIdKHR",
10273          "value" : 5319,
10274          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10275          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10276          "version" : "None"
10277        },
10278        {
10279          "enumerant" : "LaunchSizeNV",
10280          "value" : 5320,
10281          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10282          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10283          "version" : "None"
10284        },
10285        {
10286          "enumerant" : "LaunchSizeKHR",
10287          "value" : 5320,
10288          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10289          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10290          "version" : "None"
10291        },
10292        {
10293          "enumerant" : "WorldRayOriginNV",
10294          "value" : 5321,
10295          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10296          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10297          "version" : "None"
10298        },
10299        {
10300          "enumerant" : "WorldRayOriginKHR",
10301          "value" : 5321,
10302          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10303          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10304          "version" : "None"
10305        },
10306        {
10307          "enumerant" : "WorldRayDirectionNV",
10308          "value" : 5322,
10309          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10310          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10311          "version" : "None"
10312        },
10313        {
10314          "enumerant" : "WorldRayDirectionKHR",
10315          "value" : 5322,
10316          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10317          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10318          "version" : "None"
10319        },
10320        {
10321          "enumerant" : "ObjectRayOriginNV",
10322          "value" : 5323,
10323          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10324          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10325          "version" : "None"
10326        },
10327        {
10328          "enumerant" : "ObjectRayOriginKHR",
10329          "value" : 5323,
10330          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10331          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10332          "version" : "None"
10333        },
10334        {
10335          "enumerant" : "ObjectRayDirectionNV",
10336          "value" : 5324,
10337          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10338          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10339          "version" : "None"
10340        },
10341        {
10342          "enumerant" : "ObjectRayDirectionKHR",
10343          "value" : 5324,
10344          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10345          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10346          "version" : "None"
10347        },
10348        {
10349          "enumerant" : "RayTminNV",
10350          "value" : 5325,
10351          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10352          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10353          "version" : "None"
10354        },
10355        {
10356          "enumerant" : "RayTminKHR",
10357          "value" : 5325,
10358          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10359          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10360          "version" : "None"
10361        },
10362        {
10363          "enumerant" : "RayTmaxNV",
10364          "value" : 5326,
10365          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10366          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10367          "version" : "None"
10368        },
10369        {
10370          "enumerant" : "RayTmaxKHR",
10371          "value" : 5326,
10372          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10373          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10374          "version" : "None"
10375        },
10376        {
10377          "enumerant" : "InstanceCustomIndexNV",
10378          "value" : 5327,
10379          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10380          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10381          "version" : "None"
10382        },
10383        {
10384          "enumerant" : "InstanceCustomIndexKHR",
10385          "value" : 5327,
10386          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10387          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10388          "version" : "None"
10389        },
10390        {
10391          "enumerant" : "ObjectToWorldNV",
10392          "value" : 5330,
10393          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10394          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10395          "version" : "None"
10396        },
10397        {
10398          "enumerant" : "ObjectToWorldKHR",
10399          "value" : 5330,
10400          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10401          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10402          "version" : "None"
10403        },
10404        {
10405          "enumerant" : "WorldToObjectNV",
10406          "value" : 5331,
10407          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10408          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10409          "version" : "None"
10410        },
10411        {
10412          "enumerant" : "WorldToObjectKHR",
10413          "value" : 5331,
10414          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10415          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10416          "version" : "None"
10417        },
10418        {
10419          "enumerant" : "HitTNV",
10420          "value" : 5332,
10421          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10422          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10423          "version" : "None"
10424        },
10425        {
10426          "enumerant" : "HitTKHR",
10427          "value" : 5332,
10428          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10429          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10430          "version" : "None"
10431        },
10432        {
10433          "enumerant" : "HitKindNV",
10434          "value" : 5333,
10435          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10436          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10437          "version" : "None"
10438        },
10439        {
10440          "enumerant" : "HitKindKHR",
10441          "value" : 5333,
10442          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10443          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10444          "version" : "None"
10445        },
10446        {
10447          "enumerant" : "IncomingRayFlagsNV",
10448          "value" : 5351,
10449          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10450          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10451          "version" : "None"
10452        },
10453        {
10454          "enumerant" : "IncomingRayFlagsKHR",
10455          "value" : 5351,
10456          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10457          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10458          "version" : "None"
10459        },
10460        {
10461          "enumerant" : "RayGeometryIndexKHR",
10462          "value" : 5352,
10463          "capabilities" : [ "RayTracingProvisionalKHR" ],
10464          "extensions" : [ "SPV_KHR_ray_tracing" ],
10465          "version" : "None"
10466        },
10467        {
10468          "enumerant" : "WarpsPerSMNV",
10469          "value" : 5374,
10470          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10471          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10472          "version" : "None"
10473        },
10474        {
10475          "enumerant" : "SMCountNV",
10476          "value" : 5375,
10477          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10478          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10479          "version" : "None"
10480        },
10481        {
10482          "enumerant" : "WarpIDNV",
10483          "value" : 5376,
10484          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10485          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10486          "version" : "None"
10487        },
10488        {
10489          "enumerant" : "SMIDNV",
10490          "value" : 5377,
10491          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10492          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10493          "version" : "None"
10494        }
10495      ]
10496    },
10497    {
10498      "category" : "ValueEnum",
10499      "kind" : "Scope",
10500      "enumerants" : [
10501        {
10502          "enumerant" : "CrossDevice",
10503          "value" : 0
10504        },
10505        {
10506          "enumerant" : "Device",
10507          "value" : 1
10508        },
10509        {
10510          "enumerant" : "Workgroup",
10511          "value" : 2
10512        },
10513        {
10514          "enumerant" : "Subgroup",
10515          "value" : 3
10516        },
10517        {
10518          "enumerant" : "Invocation",
10519          "value" : 4
10520        },
10521        {
10522          "enumerant" : "QueueFamily",
10523          "value" : 5,
10524          "capabilities" : [ "VulkanMemoryModel" ],
10525          "version" : "1.5"
10526        },
10527        {
10528          "enumerant" : "QueueFamilyKHR",
10529          "value" : 5,
10530          "capabilities" : [ "VulkanMemoryModel" ],
10531          "version" : "1.5"
10532        },
10533        {
10534          "enumerant" : "ShaderCallKHR",
10535          "value" : 6,
10536          "capabilities" : [ "RayTracingProvisionalKHR" ],
10537          "version" : "None"
10538        }
10539      ]
10540    },
10541    {
10542      "category" : "ValueEnum",
10543      "kind" : "GroupOperation",
10544      "enumerants" : [
10545        {
10546          "enumerant" : "Reduce",
10547          "value" : 0,
10548          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10549        },
10550        {
10551          "enumerant" : "InclusiveScan",
10552          "value" : 1,
10553          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10554        },
10555        {
10556          "enumerant" : "ExclusiveScan",
10557          "value" : 2,
10558          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10559        },
10560        {
10561          "enumerant" : "ClusteredReduce",
10562          "value" : 3,
10563          "capabilities" : [ "GroupNonUniformClustered" ],
10564          "version" : "1.3"
10565        },
10566        {
10567          "enumerant" : "PartitionedReduceNV",
10568          "value" : 6,
10569          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10570          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10571          "version" : "None"
10572        },
10573        {
10574          "enumerant" : "PartitionedInclusiveScanNV",
10575          "value" : 7,
10576          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10577          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10578          "version" : "None"
10579        },
10580        {
10581          "enumerant" : "PartitionedExclusiveScanNV",
10582          "value" : 8,
10583          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10584          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10585          "version" : "None"
10586        }
10587      ]
10588    },
10589    {
10590      "category" : "ValueEnum",
10591      "kind" : "KernelEnqueueFlags",
10592      "enumerants" : [
10593        {
10594          "enumerant" : "NoWait",
10595          "value" : 0,
10596          "capabilities" : [ "Kernel" ]
10597        },
10598        {
10599          "enumerant" : "WaitKernel",
10600          "value" : 1,
10601          "capabilities" : [ "Kernel" ]
10602        },
10603        {
10604          "enumerant" : "WaitWorkGroup",
10605          "value" : 2,
10606          "capabilities" : [ "Kernel" ]
10607        }
10608      ]
10609    },
10610    {
10611      "category" : "ValueEnum",
10612      "kind" : "Capability",
10613      "enumerants" : [
10614        {
10615          "enumerant" : "Matrix",
10616          "value" : 0
10617        },
10618        {
10619          "enumerant" : "Shader",
10620          "value" : 1,
10621          "capabilities" : [ "Matrix" ]
10622        },
10623        {
10624          "enumerant" : "Geometry",
10625          "value" : 2,
10626          "capabilities" : [ "Shader" ]
10627        },
10628        {
10629          "enumerant" : "Tessellation",
10630          "value" : 3,
10631          "capabilities" : [ "Shader" ]
10632        },
10633        {
10634          "enumerant" : "Addresses",
10635          "value" : 4
10636        },
10637        {
10638          "enumerant" : "Linkage",
10639          "value" : 5
10640        },
10641        {
10642          "enumerant" : "Kernel",
10643          "value" : 6
10644        },
10645        {
10646          "enumerant" : "Vector16",
10647          "value" : 7,
10648          "capabilities" : [ "Kernel" ]
10649        },
10650        {
10651          "enumerant" : "Float16Buffer",
10652          "value" : 8,
10653          "capabilities" : [ "Kernel" ]
10654        },
10655        {
10656          "enumerant" : "Float16",
10657          "value" : 9
10658        },
10659        {
10660          "enumerant" : "Float64",
10661          "value" : 10
10662        },
10663        {
10664          "enumerant" : "Int64",
10665          "value" : 11
10666        },
10667        {
10668          "enumerant" : "Int64Atomics",
10669          "value" : 12,
10670          "capabilities" : [ "Int64" ]
10671        },
10672        {
10673          "enumerant" : "ImageBasic",
10674          "value" : 13,
10675          "capabilities" : [ "Kernel" ]
10676        },
10677        {
10678          "enumerant" : "ImageReadWrite",
10679          "value" : 14,
10680          "capabilities" : [ "ImageBasic" ]
10681        },
10682        {
10683          "enumerant" : "ImageMipmap",
10684          "value" : 15,
10685          "capabilities" : [ "ImageBasic" ]
10686        },
10687        {
10688          "enumerant" : "Pipes",
10689          "value" : 17,
10690          "capabilities" : [ "Kernel" ]
10691        },
10692        {
10693          "enumerant" : "Groups",
10694          "value" : 18,
10695          "extensions" : [ "SPV_AMD_shader_ballot" ]
10696        },
10697        {
10698          "enumerant" : "DeviceEnqueue",
10699          "value" : 19,
10700          "capabilities" : [ "Kernel" ]
10701        },
10702        {
10703          "enumerant" : "LiteralSampler",
10704          "value" : 20,
10705          "capabilities" : [ "Kernel" ]
10706        },
10707        {
10708          "enumerant" : "AtomicStorage",
10709          "value" : 21,
10710          "capabilities" : [ "Shader" ]
10711        },
10712        {
10713          "enumerant" : "Int16",
10714          "value" : 22
10715        },
10716        {
10717          "enumerant" : "TessellationPointSize",
10718          "value" : 23,
10719          "capabilities" : [ "Tessellation" ]
10720        },
10721        {
10722          "enumerant" : "GeometryPointSize",
10723          "value" : 24,
10724          "capabilities" : [ "Geometry" ]
10725        },
10726        {
10727          "enumerant" : "ImageGatherExtended",
10728          "value" : 25,
10729          "capabilities" : [ "Shader" ]
10730        },
10731        {
10732          "enumerant" : "StorageImageMultisample",
10733          "value" : 27,
10734          "capabilities" : [ "Shader" ]
10735        },
10736        {
10737          "enumerant" : "UniformBufferArrayDynamicIndexing",
10738          "value" : 28,
10739          "capabilities" : [ "Shader" ]
10740        },
10741        {
10742          "enumerant" : "SampledImageArrayDynamicIndexing",
10743          "value" : 29,
10744          "capabilities" : [ "Shader" ]
10745        },
10746        {
10747          "enumerant" : "StorageBufferArrayDynamicIndexing",
10748          "value" : 30,
10749          "capabilities" : [ "Shader" ]
10750        },
10751        {
10752          "enumerant" : "StorageImageArrayDynamicIndexing",
10753          "value" : 31,
10754          "capabilities" : [ "Shader" ]
10755        },
10756        {
10757          "enumerant" : "ClipDistance",
10758          "value" : 32,
10759          "capabilities" : [ "Shader" ]
10760        },
10761        {
10762          "enumerant" : "CullDistance",
10763          "value" : 33,
10764          "capabilities" : [ "Shader" ]
10765        },
10766        {
10767          "enumerant" : "ImageCubeArray",
10768          "value" : 34,
10769          "capabilities" : [ "SampledCubeArray" ]
10770        },
10771        {
10772          "enumerant" : "SampleRateShading",
10773          "value" : 35,
10774          "capabilities" : [ "Shader" ]
10775        },
10776        {
10777          "enumerant" : "ImageRect",
10778          "value" : 36,
10779          "capabilities" : [ "SampledRect" ]
10780        },
10781        {
10782          "enumerant" : "SampledRect",
10783          "value" : 37,
10784          "capabilities" : [ "Shader" ]
10785        },
10786        {
10787          "enumerant" : "GenericPointer",
10788          "value" : 38,
10789          "capabilities" : [ "Addresses" ]
10790        },
10791        {
10792          "enumerant" : "Int8",
10793          "value" : 39
10794        },
10795        {
10796          "enumerant" : "InputAttachment",
10797          "value" : 40,
10798          "capabilities" : [ "Shader" ]
10799        },
10800        {
10801          "enumerant" : "SparseResidency",
10802          "value" : 41,
10803          "capabilities" : [ "Shader" ]
10804        },
10805        {
10806          "enumerant" : "MinLod",
10807          "value" : 42,
10808          "capabilities" : [ "Shader" ]
10809        },
10810        {
10811          "enumerant" : "Sampled1D",
10812          "value" : 43
10813        },
10814        {
10815          "enumerant" : "Image1D",
10816          "value" : 44,
10817          "capabilities" : [ "Sampled1D" ]
10818        },
10819        {
10820          "enumerant" : "SampledCubeArray",
10821          "value" : 45,
10822          "capabilities" : [ "Shader" ]
10823        },
10824        {
10825          "enumerant" : "SampledBuffer",
10826          "value" : 46
10827        },
10828        {
10829          "enumerant" : "ImageBuffer",
10830          "value" : 47,
10831          "capabilities" : [ "SampledBuffer" ]
10832        },
10833        {
10834          "enumerant" : "ImageMSArray",
10835          "value" : 48,
10836          "capabilities" : [ "Shader" ]
10837        },
10838        {
10839          "enumerant" : "StorageImageExtendedFormats",
10840          "value" : 49,
10841          "capabilities" : [ "Shader" ]
10842        },
10843        {
10844          "enumerant" : "ImageQuery",
10845          "value" : 50,
10846          "capabilities" : [ "Shader" ]
10847        },
10848        {
10849          "enumerant" : "DerivativeControl",
10850          "value" : 51,
10851          "capabilities" : [ "Shader" ]
10852        },
10853        {
10854          "enumerant" : "InterpolationFunction",
10855          "value" : 52,
10856          "capabilities" : [ "Shader" ]
10857        },
10858        {
10859          "enumerant" : "TransformFeedback",
10860          "value" : 53,
10861          "capabilities" : [ "Shader" ]
10862        },
10863        {
10864          "enumerant" : "GeometryStreams",
10865          "value" : 54,
10866          "capabilities" : [ "Geometry" ]
10867        },
10868        {
10869          "enumerant" : "StorageImageReadWithoutFormat",
10870          "value" : 55,
10871          "capabilities" : [ "Shader" ]
10872        },
10873        {
10874          "enumerant" : "StorageImageWriteWithoutFormat",
10875          "value" : 56,
10876          "capabilities" : [ "Shader" ]
10877        },
10878        {
10879          "enumerant" : "MultiViewport",
10880          "value" : 57,
10881          "capabilities" : [ "Geometry" ]
10882        },
10883        {
10884          "enumerant" : "SubgroupDispatch",
10885          "value" : 58,
10886          "capabilities" : [ "DeviceEnqueue" ],
10887          "version" : "1.1"
10888        },
10889        {
10890          "enumerant" : "NamedBarrier",
10891          "value" : 59,
10892          "capabilities" : [ "Kernel" ],
10893          "version" : "1.1"
10894        },
10895        {
10896          "enumerant" : "PipeStorage",
10897          "value" : 60,
10898          "capabilities" : [ "Pipes" ],
10899          "version" : "1.1"
10900        },
10901        {
10902          "enumerant" : "GroupNonUniform",
10903          "value" : 61,
10904          "version" : "1.3"
10905        },
10906        {
10907          "enumerant" : "GroupNonUniformVote",
10908          "value" : 62,
10909          "capabilities" : [ "GroupNonUniform" ],
10910          "version" : "1.3"
10911        },
10912        {
10913          "enumerant" : "GroupNonUniformArithmetic",
10914          "value" : 63,
10915          "capabilities" : [ "GroupNonUniform" ],
10916          "version" : "1.3"
10917        },
10918        {
10919          "enumerant" : "GroupNonUniformBallot",
10920          "value" : 64,
10921          "capabilities" : [ "GroupNonUniform" ],
10922          "version" : "1.3"
10923        },
10924        {
10925          "enumerant" : "GroupNonUniformShuffle",
10926          "value" : 65,
10927          "capabilities" : [ "GroupNonUniform" ],
10928          "version" : "1.3"
10929        },
10930        {
10931          "enumerant" : "GroupNonUniformShuffleRelative",
10932          "value" : 66,
10933          "capabilities" : [ "GroupNonUniform" ],
10934          "version" : "1.3"
10935        },
10936        {
10937          "enumerant" : "GroupNonUniformClustered",
10938          "value" : 67,
10939          "capabilities" : [ "GroupNonUniform" ],
10940          "version" : "1.3"
10941        },
10942        {
10943          "enumerant" : "GroupNonUniformQuad",
10944          "value" : 68,
10945          "capabilities" : [ "GroupNonUniform" ],
10946          "version" : "1.3"
10947        },
10948        {
10949          "enumerant" : "ShaderLayer",
10950          "value" : 69,
10951          "version" : "1.5"
10952        },
10953        {
10954          "enumerant" : "ShaderViewportIndex",
10955          "value" : 70,
10956          "version" : "1.5"
10957        },
10958        {
10959          "enumerant" : "FragmentShadingRateKHR",
10960          "value" : 4422,
10961          "capabilities" : [ "Shader" ],
10962          "extensions" : [ "SPV_KHR_fragment_shading_rate" ],
10963          "version" : "None"
10964        },
10965        {
10966          "enumerant" : "SubgroupBallotKHR",
10967          "value" : 4423,
10968          "extensions" : [ "SPV_KHR_shader_ballot" ],
10969          "version" : "None"
10970        },
10971        {
10972          "enumerant" : "DrawParameters",
10973          "value" : 4427,
10974          "capabilities" : [ "Shader" ],
10975          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
10976          "version" : "1.3"
10977        },
10978        {
10979          "enumerant" : "SubgroupVoteKHR",
10980          "value" : 4431,
10981          "extensions" : [ "SPV_KHR_subgroup_vote" ],
10982          "version" : "None"
10983        },
10984        {
10985          "enumerant" : "StorageBuffer16BitAccess",
10986          "value" : 4433,
10987          "extensions" : [ "SPV_KHR_16bit_storage" ],
10988          "version" : "1.3"
10989        },
10990        {
10991          "enumerant" : "StorageUniformBufferBlock16",
10992          "value" : 4433,
10993          "extensions" : [ "SPV_KHR_16bit_storage" ],
10994          "version" : "1.3"
10995        },
10996        {
10997          "enumerant" : "UniformAndStorageBuffer16BitAccess",
10998          "value" : 4434,
10999          "capabilities" : [
11000            "StorageBuffer16BitAccess",
11001            "StorageUniformBufferBlock16"
11002          ],
11003          "extensions" : [ "SPV_KHR_16bit_storage" ],
11004          "version" : "1.3"
11005        },
11006        {
11007          "enumerant" : "StorageUniform16",
11008          "value" : 4434,
11009          "capabilities" : [
11010            "StorageBuffer16BitAccess",
11011            "StorageUniformBufferBlock16"
11012          ],
11013          "extensions" : [ "SPV_KHR_16bit_storage" ],
11014          "version" : "1.3"
11015        },
11016        {
11017          "enumerant" : "StoragePushConstant16",
11018          "value" : 4435,
11019          "extensions" : [ "SPV_KHR_16bit_storage" ],
11020          "version" : "1.3"
11021        },
11022        {
11023          "enumerant" : "StorageInputOutput16",
11024          "value" : 4436,
11025          "extensions" : [ "SPV_KHR_16bit_storage" ],
11026          "version" : "1.3"
11027        },
11028        {
11029          "enumerant" : "DeviceGroup",
11030          "value" : 4437,
11031          "extensions" : [ "SPV_KHR_device_group" ],
11032          "version" : "1.3"
11033        },
11034        {
11035          "enumerant" : "MultiView",
11036          "value" : 4439,
11037          "capabilities" : [ "Shader" ],
11038          "extensions" : [ "SPV_KHR_multiview" ],
11039          "version" : "1.3"
11040        },
11041        {
11042          "enumerant" : "VariablePointersStorageBuffer",
11043          "value" : 4441,
11044          "capabilities" : [ "Shader" ],
11045          "extensions" : [ "SPV_KHR_variable_pointers" ],
11046          "version" : "1.3"
11047        },
11048        {
11049          "enumerant" : "VariablePointers",
11050          "value" : 4442,
11051          "capabilities" : [ "VariablePointersStorageBuffer" ],
11052          "extensions" : [ "SPV_KHR_variable_pointers" ],
11053          "version" : "1.3"
11054        },
11055        {
11056          "enumerant" : "AtomicStorageOps",
11057          "value" : 4445,
11058          "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
11059          "version" : "None"
11060        },
11061        {
11062          "enumerant" : "SampleMaskPostDepthCoverage",
11063          "value" : 4447,
11064          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
11065          "version" : "None"
11066        },
11067        {
11068          "enumerant" : "StorageBuffer8BitAccess",
11069          "value" : 4448,
11070          "extensions" : [ "SPV_KHR_8bit_storage" ],
11071          "version" : "1.5"
11072        },
11073        {
11074          "enumerant" : "UniformAndStorageBuffer8BitAccess",
11075          "value" : 4449,
11076          "capabilities" : [ "StorageBuffer8BitAccess" ],
11077          "extensions" : [ "SPV_KHR_8bit_storage" ],
11078          "version" : "1.5"
11079        },
11080        {
11081          "enumerant" : "StoragePushConstant8",
11082          "value" : 4450,
11083          "extensions" : [ "SPV_KHR_8bit_storage" ],
11084          "version" : "1.5"
11085        },
11086        {
11087          "enumerant" : "DenormPreserve",
11088          "value" : 4464,
11089          "extensions" : [ "SPV_KHR_float_controls" ],
11090          "version" : "1.4"
11091        },
11092        {
11093          "enumerant" : "DenormFlushToZero",
11094          "value" : 4465,
11095          "extensions" : [ "SPV_KHR_float_controls" ],
11096          "version" : "1.4"
11097        },
11098        {
11099          "enumerant" : "SignedZeroInfNanPreserve",
11100          "value" : 4466,
11101          "extensions" : [ "SPV_KHR_float_controls" ],
11102          "version" : "1.4"
11103        },
11104        {
11105          "enumerant" : "RoundingModeRTE",
11106          "value" : 4467,
11107          "extensions" : [ "SPV_KHR_float_controls" ],
11108          "version" : "1.4"
11109        },
11110        {
11111          "enumerant" : "RoundingModeRTZ",
11112          "value" : 4468,
11113          "extensions" : [ "SPV_KHR_float_controls" ],
11114          "version" : "1.4"
11115        },
11116        {
11117          "enumerant" : "RayQueryProvisionalKHR",
11118          "value" : 4471,
11119          "capabilities" : [ "Shader" ],
11120          "extensions" : [ "SPV_KHR_ray_query" ],
11121          "version" : "None"
11122        },
11123        {
11124          "enumerant" : "RayTraversalPrimitiveCullingProvisionalKHR",
11125          "value" : 4478,
11126          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
11127          "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
11128          "version" : "None"
11129        },
11130        {
11131          "enumerant" : "Float16ImageAMD",
11132          "value" : 5008,
11133          "capabilities" : [ "Shader" ],
11134          "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
11135          "version" : "None"
11136        },
11137        {
11138          "enumerant" : "ImageGatherBiasLodAMD",
11139          "value" : 5009,
11140          "capabilities" : [ "Shader" ],
11141          "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
11142          "version" : "None"
11143        },
11144        {
11145          "enumerant" : "FragmentMaskAMD",
11146          "value" : 5010,
11147          "capabilities" : [ "Shader" ],
11148          "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
11149          "version" : "None"
11150        },
11151        {
11152          "enumerant" : "StencilExportEXT",
11153          "value" : 5013,
11154          "capabilities" : [ "Shader" ],
11155          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
11156          "version" : "None"
11157        },
11158        {
11159          "enumerant" : "ImageReadWriteLodAMD",
11160          "value" : 5015,
11161          "capabilities" : [ "Shader" ],
11162          "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
11163          "version" : "None"
11164        },
11165        {
11166          "enumerant" : "Int64ImageEXT",
11167          "value" : 5016,
11168          "capabilities" : [ "Shader" ],
11169          "extensions" : [ "SPV_EXT_shader_image_int64" ],
11170          "version" : "None"
11171        },
11172        {
11173          "enumerant" : "ShaderClockKHR",
11174          "value" : 5055,
11175          "capabilities" : [ "Shader" ],
11176          "extensions" : [ "SPV_KHR_shader_clock" ],
11177          "version" : "None"
11178        },
11179        {
11180          "enumerant" : "SampleMaskOverrideCoverageNV",
11181          "value" : 5249,
11182          "capabilities" : [ "SampleRateShading" ],
11183          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
11184          "version" : "None"
11185        },
11186        {
11187          "enumerant" : "GeometryShaderPassthroughNV",
11188          "value" : 5251,
11189          "capabilities" : [ "Geometry" ],
11190          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
11191          "version" : "None"
11192        },
11193        {
11194          "enumerant" : "ShaderViewportIndexLayerEXT",
11195          "value" : 5254,
11196          "capabilities" : [ "MultiViewport" ],
11197          "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
11198          "version" : "None"
11199        },
11200        {
11201          "enumerant" : "ShaderViewportIndexLayerNV",
11202          "value" : 5254,
11203          "capabilities" : [ "MultiViewport" ],
11204          "extensions" : [ "SPV_NV_viewport_array2" ],
11205          "version" : "None"
11206        },
11207        {
11208          "enumerant" : "ShaderViewportMaskNV",
11209          "value" : 5255,
11210          "capabilities" : [ "ShaderViewportIndexLayerNV" ],
11211          "extensions" : [ "SPV_NV_viewport_array2" ],
11212          "version" : "None"
11213        },
11214        {
11215          "enumerant" : "ShaderStereoViewNV",
11216          "value" : 5259,
11217          "capabilities" : [ "ShaderViewportMaskNV" ],
11218          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
11219          "version" : "None"
11220        },
11221        {
11222          "enumerant" : "PerViewAttributesNV",
11223          "value" : 5260,
11224          "capabilities" : [ "MultiView" ],
11225          "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
11226          "version" : "None"
11227        },
11228        {
11229          "enumerant" : "FragmentFullyCoveredEXT",
11230          "value" : 5265,
11231          "capabilities" : [ "Shader" ],
11232          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
11233          "version" : "None"
11234        },
11235        {
11236          "enumerant" : "MeshShadingNV",
11237          "value" : 5266,
11238          "capabilities" : [ "Shader" ],
11239          "extensions" : [ "SPV_NV_mesh_shader" ],
11240          "version" : "None"
11241        },
11242        {
11243          "enumerant" : "ImageFootprintNV",
11244          "value" : 5282,
11245          "extensions" : [ "SPV_NV_shader_image_footprint" ],
11246          "version" : "None"
11247        },
11248        {
11249          "enumerant" : "FragmentBarycentricNV",
11250          "value" : 5284,
11251          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
11252          "version" : "None"
11253        },
11254        {
11255          "enumerant" : "ComputeDerivativeGroupQuadsNV",
11256          "value" : 5288,
11257          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
11258          "version" : "None"
11259        },
11260        {
11261          "enumerant" : "FragmentDensityEXT",
11262          "value" : 5291,
11263          "capabilities" : [ "Shader" ],
11264          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
11265          "version" : "None"
11266        },
11267        {
11268          "enumerant" : "ShadingRateNV",
11269          "value" : 5291,
11270          "capabilities" : [ "Shader" ],
11271          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
11272          "version" : "None"
11273        },
11274        {
11275          "enumerant" : "GroupNonUniformPartitionedNV",
11276          "value" : 5297,
11277          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
11278          "version" : "None"
11279        },
11280        {
11281          "enumerant" : "ShaderNonUniform",
11282          "value" : 5301,
11283          "capabilities" : [ "Shader" ],
11284          "version" : "1.5"
11285        },
11286        {
11287          "enumerant" : "ShaderNonUniformEXT",
11288          "value" : 5301,
11289          "capabilities" : [ "Shader" ],
11290          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11291          "version" : "1.5"
11292        },
11293        {
11294          "enumerant" : "RuntimeDescriptorArray",
11295          "value" : 5302,
11296          "capabilities" : [ "Shader" ],
11297          "version" : "1.5"
11298        },
11299        {
11300          "enumerant" : "RuntimeDescriptorArrayEXT",
11301          "value" : 5302,
11302          "capabilities" : [ "Shader" ],
11303          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11304          "version" : "1.5"
11305        },
11306        {
11307          "enumerant" : "InputAttachmentArrayDynamicIndexing",
11308          "value" : 5303,
11309          "capabilities" : [ "InputAttachment" ],
11310          "version" : "1.5"
11311        },
11312        {
11313          "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
11314          "value" : 5303,
11315          "capabilities" : [ "InputAttachment" ],
11316          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11317          "version" : "1.5"
11318        },
11319        {
11320          "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
11321          "value" : 5304,
11322          "capabilities" : [ "SampledBuffer" ],
11323          "version" : "1.5"
11324        },
11325        {
11326          "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
11327          "value" : 5304,
11328          "capabilities" : [ "SampledBuffer" ],
11329          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11330          "version" : "1.5"
11331        },
11332        {
11333          "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
11334          "value" : 5305,
11335          "capabilities" : [ "ImageBuffer" ],
11336          "version" : "1.5"
11337        },
11338        {
11339          "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
11340          "value" : 5305,
11341          "capabilities" : [ "ImageBuffer" ],
11342          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11343          "version" : "1.5"
11344        },
11345        {
11346          "enumerant" : "UniformBufferArrayNonUniformIndexing",
11347          "value" : 5306,
11348          "capabilities" : [ "ShaderNonUniform" ],
11349          "version" : "1.5"
11350        },
11351        {
11352          "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
11353          "value" : 5306,
11354          "capabilities" : [ "ShaderNonUniform" ],
11355          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11356          "version" : "1.5"
11357        },
11358        {
11359          "enumerant" : "SampledImageArrayNonUniformIndexing",
11360          "value" : 5307,
11361          "capabilities" : [ "ShaderNonUniform" ],
11362          "version" : "1.5"
11363        },
11364        {
11365          "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
11366          "value" : 5307,
11367          "capabilities" : [ "ShaderNonUniform" ],
11368          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11369          "version" : "1.5"
11370        },
11371        {
11372          "enumerant" : "StorageBufferArrayNonUniformIndexing",
11373          "value" : 5308,
11374          "capabilities" : [ "ShaderNonUniform" ],
11375          "version" : "1.5"
11376        },
11377        {
11378          "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
11379          "value" : 5308,
11380          "capabilities" : [ "ShaderNonUniform" ],
11381          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11382          "version" : "1.5"
11383        },
11384        {
11385          "enumerant" : "StorageImageArrayNonUniformIndexing",
11386          "value" : 5309,
11387          "capabilities" : [ "ShaderNonUniform" ],
11388          "version" : "1.5"
11389        },
11390        {
11391          "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
11392          "value" : 5309,
11393          "capabilities" : [ "ShaderNonUniform" ],
11394          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11395          "version" : "1.5"
11396        },
11397        {
11398          "enumerant" : "InputAttachmentArrayNonUniformIndexing",
11399          "value" : 5310,
11400          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
11401          "version" : "1.5"
11402        },
11403        {
11404          "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
11405          "value" : 5310,
11406          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
11407          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11408          "version" : "1.5"
11409        },
11410        {
11411          "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
11412          "value" : 5311,
11413          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
11414          "version" : "1.5"
11415        },
11416        {
11417          "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
11418          "value" : 5311,
11419          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
11420          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11421          "version" : "1.5"
11422        },
11423        {
11424          "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
11425          "value" : 5312,
11426          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11427          "version" : "1.5"
11428        },
11429        {
11430          "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
11431          "value" : 5312,
11432          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11433          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11434          "version" : "1.5"
11435        },
11436        {
11437          "enumerant" : "RayTracingNV",
11438          "value" : 5340,
11439          "capabilities" : [ "Shader" ],
11440          "extensions" : [ "SPV_NV_ray_tracing" ],
11441          "version" : "None"
11442        },
11443        {
11444          "enumerant" : "VulkanMemoryModel",
11445          "value" : 5345,
11446          "version" : "1.5"
11447        },
11448        {
11449          "enumerant" : "VulkanMemoryModelKHR",
11450          "value" : 5345,
11451          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11452          "version" : "1.5"
11453        },
11454        {
11455          "enumerant" : "VulkanMemoryModelDeviceScope",
11456          "value" : 5346,
11457          "version" : "1.5"
11458        },
11459        {
11460          "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
11461          "value" : 5346,
11462          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11463          "version" : "1.5"
11464        },
11465        {
11466          "enumerant" : "PhysicalStorageBufferAddresses",
11467          "value" : 5347,
11468          "capabilities" : [ "Shader" ],
11469          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11470          "version" : "1.5"
11471        },
11472        {
11473          "enumerant" : "PhysicalStorageBufferAddressesEXT",
11474          "value" : 5347,
11475          "capabilities" : [ "Shader" ],
11476          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11477          "version" : "1.5"
11478        },
11479        {
11480          "enumerant" : "ComputeDerivativeGroupLinearNV",
11481          "value" : 5350,
11482          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
11483          "version" : "None"
11484        },
11485        {
11486          "enumerant" : "RayTracingProvisionalKHR",
11487          "value" : 5353,
11488          "capabilities" : [ "Shader" ],
11489          "extensions" : [ "SPV_KHR_ray_tracing" ],
11490          "version" : "None"
11491        },
11492        {
11493          "enumerant" : "CooperativeMatrixNV",
11494          "value" : 5357,
11495          "capabilities" : [ "Shader" ],
11496          "extensions" : [ "SPV_NV_cooperative_matrix" ],
11497          "version" : "None"
11498        },
11499        {
11500          "enumerant" : "FragmentShaderSampleInterlockEXT",
11501          "value" : 5363,
11502          "capabilities" : [ "Shader" ],
11503          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11504          "version" : "None"
11505        },
11506        {
11507          "enumerant" : "FragmentShaderShadingRateInterlockEXT",
11508          "value" : 5372,
11509          "capabilities" : [ "Shader" ],
11510          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11511          "version" : "None"
11512        },
11513        {
11514          "enumerant" : "ShaderSMBuiltinsNV",
11515          "value" : 5373,
11516          "capabilities" : [ "Shader" ],
11517          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
11518          "version" : "None"
11519        },
11520        {
11521          "enumerant" : "FragmentShaderPixelInterlockEXT",
11522          "value" : 5378,
11523          "capabilities" : [ "Shader" ],
11524          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11525          "version" : "None"
11526        },
11527        {
11528          "enumerant" : "DemoteToHelperInvocationEXT",
11529          "value" : 5379,
11530          "capabilities" : [ "Shader" ],
11531          "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
11532          "version" : "None"
11533        },
11534        {
11535          "enumerant" : "SubgroupShuffleINTEL",
11536          "value" : 5568,
11537          "extensions" : [ "SPV_INTEL_subgroups" ],
11538          "version" : "None"
11539        },
11540        {
11541          "enumerant" : "SubgroupBufferBlockIOINTEL",
11542          "value" : 5569,
11543          "extensions" : [ "SPV_INTEL_subgroups" ],
11544          "version" : "None"
11545        },
11546        {
11547          "enumerant" : "SubgroupImageBlockIOINTEL",
11548          "value" : 5570,
11549          "extensions" : [ "SPV_INTEL_subgroups" ],
11550          "version" : "None"
11551        },
11552        {
11553          "enumerant" : "SubgroupImageMediaBlockIOINTEL",
11554          "value" : 5579,
11555          "extensions" : [ "SPV_INTEL_media_block_io" ],
11556          "version" : "None"
11557        },
11558        {
11559          "enumerant" : "IntegerFunctions2INTEL",
11560          "value" : 5584,
11561          "capabilities" : [ "Shader" ],
11562          "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
11563          "version" : "None"
11564        },
11565        {
11566          "enumerant" : "FunctionPointersINTEL",
11567          "value" : 5603,
11568          "extensions" : [ "SPV_INTEL_function_pointers" ],
11569          "version" : "None"
11570        },
11571        {
11572          "enumerant" : "IndirectReferencesINTEL",
11573          "value" : 5604,
11574          "extensions" : [ "SPV_INTEL_function_pointers" ],
11575          "version" : "None"
11576        },
11577        {
11578          "enumerant" : "SubgroupAvcMotionEstimationINTEL",
11579          "value" : 5696,
11580          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11581          "version" : "None"
11582        },
11583        {
11584          "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
11585          "value" : 5697,
11586          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11587          "version" : "None"
11588        },
11589        {
11590          "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
11591          "value" : 5698,
11592          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11593          "version" : "None"
11594        },
11595        {
11596          "enumerant" : "FPGAMemoryAttributesINTEL",
11597          "value" : 5824,
11598          "extensions" : [ "SPV_INTEL_fpga_memory_attributes" ],
11599          "version" : "None"
11600        },
11601        {
11602          "enumerant" : "UnstructuredLoopControlsINTEL",
11603          "value" : 5886,
11604          "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
11605          "version" : "None"
11606        },
11607        {
11608          "enumerant" : "FPGALoopControlsINTEL",
11609          "value" : 5888,
11610          "extensions" : [ "SPV_INTEL_fpga_loop_controls" ],
11611          "version" : "None"
11612        },
11613        {
11614          "enumerant" : "KernelAttributesINTEL",
11615          "value" : 5892,
11616          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
11617          "version" : "None"
11618        },
11619        {
11620          "enumerant" : "FPGAKernelAttributesINTEL",
11621          "value" : 5897,
11622          "extensions" : [ "SPV_INTEL_kernel_attributes" ],
11623          "version" : "None"
11624        },
11625        {
11626          "enumerant" : "BlockingPipesINTEL",
11627          "value" : 5945,
11628          "extensions" : [ "SPV_INTEL_blocking_pipes" ],
11629          "version" : "None"
11630        },
11631        {
11632          "enumerant" : "FPGARegINTEL",
11633          "value" : 5948,
11634          "extensions" : [ "SPV_INTEL_fpga_reg" ],
11635          "version" : "None"
11636        },
11637        {
11638          "enumerant" : "AtomicFloat32AddEXT",
11639          "value" : 6033,
11640          "capabilities" : [ "Shader" ],
11641          "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
11642          "version" : "None"
11643        },
11644        {
11645          "enumerant" : "AtomicFloat64AddEXT",
11646          "value" : 6034,
11647          "capabilities" : [ "Shader" ],
11648          "extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
11649          "version" : "None"
11650        }
11651      ]
11652    },
11653    {
11654      "category" : "ValueEnum",
11655      "kind" : "RayQueryIntersection",
11656      "enumerants" : [
11657        {
11658          "enumerant" : "RayQueryCandidateIntersectionKHR",
11659          "value" : 0,
11660          "capabilities" : [ "RayQueryProvisionalKHR" ],
11661          "version" : "None"
11662        },
11663        {
11664          "enumerant" : "RayQueryCommittedIntersectionKHR",
11665          "value" : 1,
11666          "capabilities" : [ "RayQueryProvisionalKHR" ],
11667          "version" : "None"
11668        }
11669      ]
11670    },
11671    {
11672      "category" : "ValueEnum",
11673      "kind" : "RayQueryCommittedIntersectionType",
11674      "enumerants" : [
11675        {
11676          "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
11677          "value" : 0,
11678          "capabilities" : [ "RayQueryProvisionalKHR" ],
11679          "version" : "None"
11680        },
11681        {
11682          "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
11683          "value" : 1,
11684          "capabilities" : [ "RayQueryProvisionalKHR" ],
11685          "version" : "None"
11686        },
11687        {
11688          "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
11689          "value" : 2,
11690          "capabilities" : [ "RayQueryProvisionalKHR" ],
11691          "version" : "None"
11692        }
11693      ]
11694    },
11695    {
11696      "category" : "ValueEnum",
11697      "kind" : "RayQueryCandidateIntersectionType",
11698      "enumerants" : [
11699        {
11700          "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
11701          "value" : 0,
11702          "capabilities" : [ "RayQueryProvisionalKHR" ],
11703          "version" : "None"
11704        },
11705        {
11706          "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
11707          "value" : 1,
11708          "capabilities" : [ "RayQueryProvisionalKHR" ],
11709          "version" : "None"
11710        }
11711      ]
11712    },
11713    {
11714      "category" : "Id",
11715      "kind" : "IdResultType",
11716      "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
11717    },
11718    {
11719      "category" : "Id",
11720      "kind" : "IdResult",
11721      "doc" : "Definition of an <id> representing the result of the enclosing instruction"
11722    },
11723    {
11724      "category" : "Id",
11725      "kind" : "IdMemorySemantics",
11726      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
11727    },
11728    {
11729      "category" : "Id",
11730      "kind" : "IdScope",
11731      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
11732    },
11733    {
11734      "category" : "Id",
11735      "kind" : "IdRef",
11736      "doc" : "Reference to an <id>"
11737    },
11738    {
11739      "category" : "Literal",
11740      "kind" : "LiteralInteger",
11741      "doc" : "An integer consuming one or more words"
11742    },
11743    {
11744      "category" : "Literal",
11745      "kind" : "LiteralString",
11746      "doc" : "A null-terminated stream of characters consuming an integral number of words"
11747    },
11748    {
11749      "category" : "Literal",
11750      "kind" : "LiteralContextDependentNumber",
11751      "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
11752    },
11753    {
11754      "category" : "Literal",
11755      "kind" : "LiteralExtInstInteger",
11756      "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
11757    },
11758    {
11759      "category" : "Literal",
11760      "kind" : "LiteralSpecConstantOpInteger",
11761      "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
11762    },
11763    {
11764      "category" : "Composite",
11765      "kind" : "PairLiteralIntegerIdRef",
11766      "bases" : [ "LiteralInteger", "IdRef" ]
11767    },
11768    {
11769      "category" : "Composite",
11770      "kind" : "PairIdRefLiteralInteger",
11771      "bases" : [ "IdRef", "LiteralInteger" ]
11772    },
11773    {
11774      "category" : "Composite",
11775      "kind" : "PairIdRefIdRef",
11776      "bases" : [ "IdRef", "IdRef" ]
11777    }
11778  ]
11779}
11780