• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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" : 1,
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" : "OpSubgroupBallotKHR",
4106      "class"  : "Group",
4107      "opcode" : 4421,
4108      "operands" : [
4109        { "kind" : "IdResultType" },
4110        { "kind" : "IdResult" },
4111        { "kind" : "IdRef", "name" : "'Predicate'" }
4112      ],
4113      "capabilities" : [ "SubgroupBallotKHR" ],
4114      "extensions" : [ "SPV_KHR_shader_ballot" ],
4115      "version" : "None"
4116    },
4117    {
4118      "opname" : "OpSubgroupFirstInvocationKHR",
4119      "class"  : "Group",
4120      "opcode" : 4422,
4121      "operands" : [
4122        { "kind" : "IdResultType" },
4123        { "kind" : "IdResult" },
4124        { "kind" : "IdRef", "name" : "'Value'" }
4125      ],
4126      "capabilities" : [ "SubgroupBallotKHR" ],
4127      "extensions" : [ "SPV_KHR_shader_ballot" ],
4128      "version" : "None"
4129    },
4130    {
4131      "opname" : "OpSubgroupAllKHR",
4132      "class"  : "Group",
4133      "opcode" : 4428,
4134      "operands" : [
4135        { "kind" : "IdResultType" },
4136        { "kind" : "IdResult" },
4137        { "kind" : "IdRef", "name" : "'Predicate'" }
4138      ],
4139      "extensions" : [
4140        "SPV_KHR_subgroup_vote"
4141      ],
4142      "capabilities" : [ "SubgroupVoteKHR" ],
4143      "version" : "None"
4144    },
4145    {
4146      "opname" : "OpSubgroupAnyKHR",
4147      "class"  : "Group",
4148      "opcode" : 4429,
4149      "operands" : [
4150        { "kind" : "IdResultType" },
4151        { "kind" : "IdResult" },
4152        { "kind" : "IdRef", "name" : "'Predicate'" }
4153      ],
4154      "extensions" : [
4155        "SPV_KHR_subgroup_vote"
4156      ],
4157      "capabilities" : [ "SubgroupVoteKHR" ],
4158      "version" : "None"
4159    },
4160    {
4161      "opname" : "OpSubgroupAllEqualKHR",
4162      "class"  : "Group",
4163      "opcode" : 4430,
4164      "operands" : [
4165        { "kind" : "IdResultType" },
4166        { "kind" : "IdResult" },
4167        { "kind" : "IdRef", "name" : "'Predicate'" }
4168      ],
4169      "extensions" : [
4170        "SPV_KHR_subgroup_vote"
4171      ],
4172      "capabilities" : [ "SubgroupVoteKHR" ],
4173      "version" : "None"
4174    },
4175    {
4176      "opname" : "OpSubgroupReadInvocationKHR",
4177      "class"  : "Group",
4178      "opcode" : 4432,
4179      "operands" : [
4180        { "kind" : "IdResultType" },
4181        { "kind" : "IdResult" },
4182        { "kind" : "IdRef", "name" : "'Value'" },
4183        { "kind" : "IdRef", "name" : "'Index'" }
4184      ],
4185      "capabilities" : [ "SubgroupBallotKHR" ],
4186      "extensions" : [ "SPV_KHR_shader_ballot" ],
4187      "version" : "None"
4188    },
4189    {
4190      "opname" : "OpGroupIAddNonUniformAMD",
4191      "class"  : "Group",
4192      "opcode" : 5000,
4193      "operands" : [
4194        { "kind" : "IdResultType" },
4195        { "kind" : "IdResult" },
4196        { "kind" : "IdScope",        "name" : "'Execution'" },
4197        { "kind" : "GroupOperation", "name" : "'Operation'" },
4198        { "kind" : "IdRef",          "name" : "'X'" }
4199      ],
4200      "capabilities" : [ "Groups" ],
4201      "extensions" : [ "SPV_AMD_shader_ballot" ],
4202      "version" : "None"
4203    },
4204    {
4205      "opname" : "OpGroupFAddNonUniformAMD",
4206      "class"  : "Group",
4207      "opcode" : 5001,
4208      "operands" : [
4209        { "kind" : "IdResultType" },
4210        { "kind" : "IdResult" },
4211        { "kind" : "IdScope",        "name" : "'Execution'" },
4212        { "kind" : "GroupOperation", "name" : "'Operation'" },
4213        { "kind" : "IdRef",          "name" : "'X'" }
4214      ],
4215      "capabilities" : [ "Groups" ],
4216      "extensions" : [ "SPV_AMD_shader_ballot" ],
4217      "version" : "None"
4218    },
4219    {
4220      "opname" : "OpGroupFMinNonUniformAMD",
4221      "class"  : "Group",
4222      "opcode" : 5002,
4223      "operands" : [
4224        { "kind" : "IdResultType" },
4225        { "kind" : "IdResult" },
4226        { "kind" : "IdScope",        "name" : "'Execution'" },
4227        { "kind" : "GroupOperation", "name" : "'Operation'" },
4228        { "kind" : "IdRef",          "name" : "'X'" }
4229      ],
4230      "capabilities" : [ "Groups" ],
4231      "extensions" : [ "SPV_AMD_shader_ballot" ],
4232      "version" : "None"
4233    },
4234    {
4235      "opname" : "OpGroupUMinNonUniformAMD",
4236      "class"  : "Group",
4237      "opcode" : 5003,
4238      "operands" : [
4239        { "kind" : "IdResultType" },
4240        { "kind" : "IdResult" },
4241        { "kind" : "IdScope",        "name" : "'Execution'" },
4242        { "kind" : "GroupOperation", "name" : "'Operation'" },
4243        { "kind" : "IdRef",          "name" : "'X'" }
4244      ],
4245      "capabilities" : [ "Groups" ],
4246      "extensions" : [ "SPV_AMD_shader_ballot" ],
4247      "version" : "None"
4248    },
4249    {
4250      "opname" : "OpGroupSMinNonUniformAMD",
4251      "class"  : "Group",
4252      "opcode" : 5004,
4253      "operands" : [
4254        { "kind" : "IdResultType" },
4255        { "kind" : "IdResult" },
4256        { "kind" : "IdScope",        "name" : "'Execution'" },
4257        { "kind" : "GroupOperation", "name" : "'Operation'" },
4258        { "kind" : "IdRef",          "name" : "'X'" }
4259      ],
4260      "capabilities" : [ "Groups" ],
4261      "extensions" : [ "SPV_AMD_shader_ballot" ],
4262      "version" : "None"
4263    },
4264    {
4265      "opname" : "OpGroupFMaxNonUniformAMD",
4266      "class"  : "Group",
4267      "opcode" : 5005,
4268      "operands" : [
4269        { "kind" : "IdResultType" },
4270        { "kind" : "IdResult" },
4271        { "kind" : "IdScope",        "name" : "'Execution'" },
4272        { "kind" : "GroupOperation", "name" : "'Operation'" },
4273        { "kind" : "IdRef",          "name" : "'X'" }
4274      ],
4275      "capabilities" : [ "Groups" ],
4276      "extensions" : [ "SPV_AMD_shader_ballot" ],
4277      "version" : "None"
4278    },
4279    {
4280      "opname" : "OpGroupUMaxNonUniformAMD",
4281      "class"  : "Group",
4282      "opcode" : 5006,
4283      "operands" : [
4284        { "kind" : "IdResultType" },
4285        { "kind" : "IdResult" },
4286        { "kind" : "IdScope",        "name" : "'Execution'" },
4287        { "kind" : "GroupOperation", "name" : "'Operation'" },
4288        { "kind" : "IdRef",          "name" : "'X'" }
4289      ],
4290      "capabilities" : [ "Groups" ],
4291      "extensions" : [ "SPV_AMD_shader_ballot" ],
4292      "version" : "None"
4293    },
4294    {
4295      "opname" : "OpGroupSMaxNonUniformAMD",
4296      "class"  : "Group",
4297      "opcode" : 5007,
4298      "operands" : [
4299        { "kind" : "IdResultType" },
4300        { "kind" : "IdResult" },
4301        { "kind" : "IdScope",        "name" : "'Execution'" },
4302        { "kind" : "GroupOperation", "name" : "'Operation'" },
4303        { "kind" : "IdRef",          "name" : "'X'" }
4304      ],
4305      "capabilities" : [ "Groups" ],
4306      "extensions" : [ "SPV_AMD_shader_ballot" ],
4307      "version" : "None"
4308    },
4309    {
4310      "opname" : "OpFragmentMaskFetchAMD",
4311      "class"  : "Reserved",
4312      "opcode" : 5011,
4313      "operands" : [
4314        { "kind" : "IdResultType" },
4315        { "kind" : "IdResult" },
4316        { "kind" : "IdRef", "name" : "'Image'" },
4317        { "kind" : "IdRef", "name" : "'Coordinate'" }
4318      ],
4319      "capabilities" : [ "FragmentMaskAMD" ],
4320      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4321      "version" : "None"
4322    },
4323    {
4324      "opname" : "OpFragmentFetchAMD",
4325      "class"  : "Reserved",
4326      "opcode" : 5012,
4327      "operands" : [
4328        { "kind" : "IdResultType" },
4329        { "kind" : "IdResult" },
4330        { "kind" : "IdRef", "name" : "'Image'" },
4331        { "kind" : "IdRef", "name" : "'Coordinate'" },
4332        { "kind" : "IdRef", "name" : "'Fragment Index'" }
4333      ],
4334      "capabilities" : [ "FragmentMaskAMD" ],
4335      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
4336      "version" : "None"
4337    },
4338    {
4339      "opname" : "OpReadClockKHR",
4340      "class"  : "Reserved",
4341      "opcode" : 5056,
4342      "operands" : [
4343        { "kind" : "IdResultType" },
4344        { "kind" : "IdResult" },
4345        { "kind" : "IdScope", "name" : "'Execution'" }
4346      ],
4347      "capabilities" : [ "ShaderClockKHR" ],
4348      "extensions" : [ "SPV_KHR_shader_clock" ],
4349      "version" : "None"
4350    },
4351    {
4352      "opname" : "OpImageSampleFootprintNV",
4353      "class"  : "Image",
4354      "opcode" : 5283,
4355      "operands" : [
4356        { "kind" : "IdResultType" },
4357        { "kind" : "IdResult" },
4358        { "kind" : "IdRef", "name" : "'Sampled Image'" },
4359        { "kind" : "IdRef", "name" : "'Coordinate'" },
4360        { "kind" : "IdRef", "name" : "'Granularity'" },
4361        { "kind" : "IdRef", "name" : "'Coarse'" },
4362        { "kind" : "ImageOperands", "quantifier" : "?" }
4363      ],
4364      "capabilities" : [ "ImageFootprintNV" ],
4365      "extensions" : [ "SPV_NV_shader_image_footprint" ],
4366      "version" : "None"
4367    },
4368    {
4369      "opname" : "OpGroupNonUniformPartitionNV",
4370      "class"  : "Non-Uniform",
4371      "opcode" : 5296,
4372      "operands" : [
4373        { "kind" : "IdResultType" },
4374        { "kind" : "IdResult" },
4375        { "kind" : "IdRef", "name" : "'Value'" }
4376      ],
4377      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
4378      "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
4379      "version" : "None"
4380    },
4381    {
4382      "opname" : "OpWritePackedPrimitiveIndices4x8NV",
4383      "class"  : "Reserved",
4384      "opcode" : 5299,
4385      "operands" : [
4386        { "kind" : "IdRef", "name" : "'Index Offset'" },
4387        { "kind" : "IdRef", "name" : "'Packed Indices'" }
4388      ],
4389      "capabilities" : [ "MeshShadingNV" ],
4390      "extensions" : [ "SPV_NV_mesh_shader" ],
4391      "version" : "None"
4392    },
4393    {
4394      "opname" : "OpReportIntersectionNV",
4395      "class"  : "Reserved",
4396      "opcode" : 5334,
4397      "operands" : [
4398        { "kind" : "IdResultType" },
4399        { "kind" : "IdResult" },
4400        { "kind" : "IdRef", "name" : "'Hit'" },
4401        { "kind" : "IdRef", "name" : "'HitKind'" }
4402      ],
4403      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4404      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4405      "version" : "None"
4406    },
4407    {
4408      "opname" : "OpReportIntersectionKHR",
4409      "class"  : "Reserved",
4410      "opcode" : 5334,
4411      "operands" : [
4412        { "kind" : "IdResultType" },
4413        { "kind" : "IdResult" },
4414        { "kind" : "IdRef", "name" : "'Hit'" },
4415        { "kind" : "IdRef", "name" : "'HitKind'" }
4416      ],
4417      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4418      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4419      "version" : "None"
4420    },
4421    {
4422      "opname" : "OpIgnoreIntersectionNV",
4423      "class"  : "Reserved",
4424      "opcode" : 5335,
4425      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4426      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4427      "version" : "None"
4428    },
4429    {
4430      "opname" : "OpIgnoreIntersectionKHR",
4431      "class"  : "Reserved",
4432      "opcode" : 5335,
4433      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4434      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4435      "version" : "None"
4436    },
4437    {
4438      "opname" : "OpTerminateRayNV",
4439      "class"  : "Reserved",
4440      "opcode" : 5336,
4441      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4442      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4443      "version" : "None"
4444    },
4445    {
4446      "opname" : "OpTerminateRayKHR",
4447      "class"  : "Reserved",
4448      "opcode" : 5336,
4449      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4450      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4451      "version" : "None"
4452    },
4453    {
4454      "opname" : "OpTraceNV",
4455      "class"  : "Reserved",
4456      "opcode" : 5337,
4457      "operands" : [
4458
4459        { "kind" : "IdRef", "name" : "'Accel'" },
4460        { "kind" : "IdRef", "name" : "'Ray Flags'" },
4461        { "kind" : "IdRef", "name" : "'Cull Mask'" },
4462        { "kind" : "IdRef", "name" : "'SBT Offset'" },
4463        { "kind" : "IdRef", "name" : "'SBT Stride'" },
4464        { "kind" : "IdRef", "name" : "'Miss Index'" },
4465        { "kind" : "IdRef", "name" : "'Ray Origin'" },
4466        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4467        { "kind" : "IdRef", "name" : "'Ray Direction'" },
4468        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4469        { "kind" : "IdRef", "name" : "'PayloadId'" }
4470      ],
4471      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4472      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4473      "version" : "None"
4474    },
4475    {
4476      "opname" : "OpTraceRayKHR",
4477      "class"  : "Reserved",
4478      "opcode" : 5337,
4479      "operands" : [
4480
4481        { "kind" : "IdRef", "name" : "'Accel'" },
4482        { "kind" : "IdRef", "name" : "'Ray Flags'" },
4483        { "kind" : "IdRef", "name" : "'Cull Mask'" },
4484        { "kind" : "IdRef", "name" : "'SBT Offset'" },
4485        { "kind" : "IdRef", "name" : "'SBT Stride'" },
4486        { "kind" : "IdRef", "name" : "'Miss Index'" },
4487        { "kind" : "IdRef", "name" : "'Ray Origin'" },
4488        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
4489        { "kind" : "IdRef", "name" : "'Ray Direction'" },
4490        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
4491        { "kind" : "IdRef", "name" : "'PayloadId'" }
4492      ],
4493      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4494      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4495      "version" : "None"
4496    },
4497    {
4498      "opname" : "OpTypeAccelerationStructureNV",
4499      "class"  : "Reserved",
4500      "opcode" : 5341,
4501      "operands" : [
4502        { "kind" : "IdResult" }
4503      ],
4504      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4505      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4506      "version" : "None"
4507    },
4508    {
4509      "opname" : "OpTypeAccelerationStructureKHR",
4510      "class"  : "Reserved",
4511      "opcode" : 5341,
4512      "operands" : [
4513        { "kind" : "IdResult" }
4514      ],
4515      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR", "RayQueryProvisionalKHR" ],
4516      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ],
4517      "version" : "None"
4518    },
4519    {
4520        "opname" : "OpTypeRayQueryProvisionalKHR",
4521        "class" : "Reserved",
4522        "opcode" : 4472,
4523        "operands" : [
4524            { "kind" : "IdResult" }
4525        ],
4526        "capabilities" : [ "RayQueryProvisionalKHR" ],
4527        "extensions" : [ "SPV_KHR_ray_query" ],
4528        "version" : "None"
4529    },
4530    {
4531        "opname" : "OpRayQueryInitializeKHR",
4532        "class" : "Reserved",
4533        "opcode" : 4473,
4534        "operands" : [
4535            {
4536                "kind" : "IdRef",
4537                "name" : "'RayQuery'"
4538            },
4539            {
4540                "kind" : "IdRef",
4541                "name" : "'Accel'"
4542            },
4543            {
4544                "kind" : "IdRef",
4545                "name" : "'RayFlags'"
4546            },
4547            {
4548                "kind" : "IdRef",
4549                "name" : "'CullMask'"
4550            },
4551            {
4552                "kind" : "IdRef",
4553                "name" : "'RayOrigin'"
4554            },
4555            {
4556                "kind" : "IdRef",
4557                "name" : "'RayTMin'"
4558            },
4559            {
4560                "kind" : "IdRef",
4561                "name" : "'RayDirection'"
4562            },
4563            {
4564                "kind" : "IdRef",
4565                "name" : "'RayTMax'"
4566            }
4567
4568        ],
4569        "capabilities" : [ "RayQueryProvisionalKHR" ],
4570        "extensions" : [ "SPV_KHR_ray_query" ],
4571        "version" : "None"
4572    },
4573    {
4574        "opname" : "OpRayQueryTerminateKHR",
4575        "class" : "Reserved",
4576        "opcode" : 4474,
4577        "operands" : [
4578            {
4579                "kind" : "IdRef",
4580                "name" : "'RayQuery'"
4581            }
4582        ],
4583        "capabilities" : [ "RayQueryProvisionalKHR" ],
4584        "extensions" : [ "SPV_KHR_ray_query" ],
4585        "version" : "None"
4586    },
4587    {
4588        "opname" : "OpRayQueryGenerateIntersectionKHR",
4589        "class" : "Reserved",
4590        "opcode" : 4475,
4591        "operands" : [
4592            {
4593                "kind" : "IdRef",
4594                "name" : "'RayQuery'"
4595            },
4596            {
4597                "kind" : "IdRef",
4598                "name" : "'HitT'"
4599            }
4600        ],
4601        "capabilities" : [ "RayQueryProvisionalKHR" ],
4602        "extensions" : [ "SPV_KHR_ray_query" ],
4603        "version" : "None"
4604    },
4605    {
4606        "opname" : "OpRayQueryConfirmIntersectionKHR",
4607        "class" : "Reserved",
4608        "opcode" : 4476,
4609        "operands" : [
4610            {
4611                "kind" : "IdRef",
4612                "name" : "'RayQuery'"
4613            }
4614        ],
4615        "capabilities" : [ "RayQueryProvisionalKHR" ],
4616        "extensions" : [ "SPV_KHR_ray_query" ],
4617        "version" : "None"
4618    },
4619    {
4620        "opname" : "OpRayQueryProceedKHR",
4621        "class" : "Reserved",
4622        "opcode" : 4477,
4623        "operands" : [
4624            { "kind" : "IdResultType" },
4625            { "kind" : "IdResult" },
4626            {
4627                "kind" : "IdRef",
4628                "name" : "'RayQuery'"
4629            }
4630        ],
4631        "capabilities" : [ "RayQueryProvisionalKHR" ],
4632        "extensions" : [ "SPV_KHR_ray_query" ],
4633        "version" : "None"
4634    },
4635    {
4636        "opname" : "OpRayQueryGetIntersectionTypeKHR",
4637        "class" : "Reserved",
4638        "opcode" : 4479,
4639        "operands" : [
4640            { "kind" : "IdResultType" },
4641            { "kind" : "IdResult" },
4642            {
4643                "kind" : "IdRef",
4644                "name" : "'RayQuery'"
4645            },
4646            {
4647                "kind" : "IdRef",
4648                "name" : "'Intersection'"
4649            }
4650        ],
4651        "capabilities" : [ "RayQueryProvisionalKHR" ],
4652        "extensions" : [ "SPV_KHR_ray_query" ],
4653        "version" : "None"
4654    },
4655    {
4656        "opname" : "OpRayQueryGetRayTMinKHR",
4657        "class" : "Reserved",
4658        "opcode" : 6016,
4659        "operands" : [
4660            { "kind" : "IdResultType" },
4661            { "kind" : "IdResult" },
4662            {
4663                "kind" : "IdRef",
4664                "name" : "'RayQuery'"
4665            }
4666        ],
4667        "capabilities" : [ "RayQueryProvisionalKHR" ],
4668        "extensions" : [ "SPV_KHR_ray_query" ],
4669        "version" : "None"
4670    },
4671    {
4672        "opname" : "OpRayQueryGetRayFlagsKHR",
4673        "class" : "Reserved",
4674        "opcode" : 6017,
4675        "operands" : [
4676            { "kind" : "IdResultType" },
4677            { "kind" : "IdResult" },
4678            {
4679                "kind" : "IdRef",
4680                "name" : "'RayQuery'"
4681            }
4682        ],
4683        "capabilities" : [ "RayQueryProvisionalKHR" ],
4684        "extensions" : [ "SPV_KHR_ray_query" ],
4685        "version" : "None"
4686    },
4687    {
4688        "opname" : "OpRayQueryGetIntersectionTKHR",
4689        "class" : "Reserved",
4690        "opcode" : 6018,
4691        "operands" : [
4692            { "kind" : "IdResultType" },
4693            { "kind" : "IdResult" },
4694            {
4695                "kind" : "IdRef",
4696                "name" : "'RayQuery'"
4697            },
4698            {
4699                "kind" : "IdRef",
4700                "name" : "'Intersection'"
4701            }
4702        ],
4703        "capabilities" : [ "RayQueryProvisionalKHR" ],
4704        "extensions" : [ "SPV_KHR_ray_query" ],
4705        "version" : "None"
4706    },
4707    {
4708        "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
4709        "class" : "Reserved",
4710        "opcode" : 6019,
4711        "operands" : [
4712            { "kind" : "IdResultType" },
4713            { "kind" : "IdResult" },
4714            {
4715                "kind" : "IdRef",
4716                "name" : "'RayQuery'"
4717            },
4718            {
4719                "kind" : "IdRef",
4720                "name" : "'Intersection'"
4721            }
4722        ],
4723        "capabilities" : [ "RayQueryProvisionalKHR" ],
4724        "extensions" : [ "SPV_KHR_ray_query" ],
4725        "version" : "None"
4726    },
4727    {
4728        "opname" : "OpRayQueryGetIntersectionInstanceIdKHR",
4729        "class" : "Reserved",
4730        "opcode" : 6020,
4731        "operands" : [
4732            { "kind" : "IdResultType" },
4733            { "kind" : "IdResult" },
4734            {
4735                "kind" : "IdRef",
4736                "name" : "'RayQuery'"
4737            },
4738            {
4739                "kind" : "IdRef",
4740                "name" : "'Intersection'"
4741            }
4742        ],
4743        "capabilities" : [ "RayQueryProvisionalKHR" ],
4744        "extensions" : [ "SPV_KHR_ray_query" ],
4745        "version" : "None"
4746    },
4747    {
4748        "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
4749        "class" : "Reserved",
4750        "opcode" : 6021,
4751        "operands" : [
4752            { "kind" : "IdResultType" },
4753            { "kind" : "IdResult" },
4754            {
4755                "kind" : "IdRef",
4756                "name" : "'RayQuery'"
4757            },
4758            {
4759                "kind" : "IdRef",
4760                "name" : "'Intersection'"
4761            }
4762        ],
4763        "capabilities" : [ "RayQueryProvisionalKHR" ],
4764        "extensions" : [ "SPV_KHR_ray_query" ],
4765        "version" : "None"
4766    },
4767    {
4768        "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR",
4769        "class" : "Reserved",
4770        "opcode" : 6022,
4771        "operands" : [
4772            { "kind" : "IdResultType" },
4773            { "kind" : "IdResult" },
4774            {
4775                "kind" : "IdRef",
4776                "name" : "'RayQuery'"
4777            },
4778            {
4779                "kind" : "IdRef",
4780                "name" : "'Intersection'"
4781            }
4782        ],
4783        "capabilities" : [ "RayQueryProvisionalKHR" ],
4784        "extensions" : [ "SPV_KHR_ray_query" ],
4785        "version" : "None"
4786    },
4787    {
4788        "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR",
4789        "class" : "Reserved",
4790        "opcode" : 6023,
4791        "operands" : [
4792            { "kind" : "IdResultType" },
4793            { "kind" : "IdResult" },
4794            {
4795                "kind" : "IdRef",
4796                "name" : "'RayQuery'"
4797            },
4798            {
4799                "kind" : "IdRef",
4800                "name" : "'Intersection'"
4801            }
4802        ],
4803        "capabilities" : [ "RayQueryProvisionalKHR" ],
4804        "extensions" : [ "SPV_KHR_ray_query" ],
4805        "version" : "None"
4806    },
4807    {
4808        "opname" : "OpRayQueryGetIntersectionBarycentricsKHR",
4809        "class" : "Reserved",
4810        "opcode" : 6024,
4811        "operands" : [
4812            { "kind" : "IdResultType" },
4813            { "kind" : "IdResult" },
4814            {
4815                "kind" : "IdRef",
4816                "name" : "'RayQuery'"
4817            },
4818            {
4819                "kind" : "IdRef",
4820                "name" : "'Intersection'"
4821            }
4822        ],
4823        "capabilities" : [ "RayQueryProvisionalKHR" ],
4824        "extensions" : [ "SPV_KHR_ray_query" ],
4825        "version" : "None"
4826    },
4827    {
4828        "opname" : "OpRayQueryGetIntersectionFrontFaceKHR",
4829        "class" : "Reserved",
4830        "opcode" : 6025,
4831        "operands" : [
4832            { "kind" : "IdResultType" },
4833            { "kind" : "IdResult" },
4834            {
4835                "kind" : "IdRef",
4836                "name" : "'RayQuery'"
4837            },
4838            {
4839                "kind" : "IdRef",
4840                "name" : "'Intersection'"
4841            }
4842        ],
4843        "capabilities" : [ "RayQueryProvisionalKHR" ],
4844        "extensions" : [ "SPV_KHR_ray_query" ],
4845        "version" : "None"
4846    },
4847    {
4848        "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
4849        "class" : "Reserved",
4850        "opcode" : 6026,
4851        "operands" : [
4852            { "kind" : "IdResultType" },
4853            { "kind" : "IdResult" },
4854            {
4855                "kind" : "IdRef",
4856                "name" : "'RayQuery'"
4857            }
4858        ],
4859        "capabilities" : [ "RayQueryProvisionalKHR" ],
4860        "extensions" : [ "SPV_KHR_ray_query" ],
4861        "version" : "None"
4862    },
4863    {
4864        "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR",
4865        "class" : "Reserved",
4866        "opcode" : 6027,
4867        "operands" : [
4868            { "kind" : "IdResultType" },
4869            { "kind" : "IdResult" },
4870            {
4871                "kind" : "IdRef",
4872                "name" : "'RayQuery'"
4873            },
4874            {
4875                "kind" : "IdRef",
4876                "name" : "'Intersection'"
4877            }
4878        ],
4879        "capabilities" : [ "RayQueryProvisionalKHR" ],
4880        "extensions" : [ "SPV_KHR_ray_query" ],
4881        "version" : "None"
4882    },
4883    {
4884        "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR",
4885        "class" : "Reserved",
4886        "opcode" : 6028,
4887        "operands" : [
4888            { "kind" : "IdResultType" },
4889            { "kind" : "IdResult" },
4890            {
4891                "kind" : "IdRef",
4892                "name" : "'RayQuery'"
4893            },
4894            {
4895                "kind" : "IdRef",
4896                "name" : "'Intersection'"
4897            }
4898        ],
4899        "capabilities" : [ "RayQueryProvisionalKHR" ],
4900        "extensions" : [ "SPV_KHR_ray_query" ],
4901        "version" : "None"
4902    },
4903    {
4904        "opname" : "OpRayQueryGetWorldRayDirectionKHR",
4905        "class" : "Reserved",
4906        "opcode" : 6029,
4907        "operands" : [
4908            { "kind" : "IdResultType" },
4909            { "kind" : "IdResult" },
4910            {
4911                "kind" : "IdRef",
4912                "name" : "'RayQuery'"
4913            }
4914        ],
4915        "capabilities" : [ "RayQueryProvisionalKHR" ],
4916        "extensions" : [ "SPV_KHR_ray_query" ],
4917        "version" : "None"
4918    },
4919
4920    {
4921        "opname" : "OpRayQueryGetWorldRayOriginKHR",
4922        "class" : "Reserved",
4923        "opcode" : 6030,
4924        "operands" : [
4925            { "kind" : "IdResultType" },
4926            { "kind" : "IdResult" },
4927            {
4928                "kind" : "IdRef",
4929                "name" : "'RayQuery'"
4930            }
4931        ],
4932        "capabilities" : [ "RayQueryProvisionalKHR" ],
4933        "extensions" : [ "SPV_KHR_ray_query" ],
4934        "version" : "None"
4935    },
4936    {
4937        "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR",
4938        "class" : "Reserved",
4939        "opcode" : 6031,
4940        "operands" : [
4941            { "kind" : "IdResultType" },
4942            { "kind" : "IdResult" },
4943            {
4944                "kind" : "IdRef",
4945                "name" : "'RayQuery'"
4946            },
4947            {
4948                "kind" : "IdRef",
4949                "name" : "'Intersection'"
4950            }
4951        ],
4952        "capabilities" : [ "RayQueryProvisionalKHR" ],
4953        "extensions" : [ "SPV_KHR_ray_query" ],
4954        "version" : "None"
4955    },
4956    {
4957        "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR",
4958        "class" : "Reserved",
4959        "opcode" : 6032,
4960        "operands" : [
4961            { "kind" : "IdResultType" },
4962            { "kind" : "IdResult" },
4963            {
4964                "kind" : "IdRef",
4965                "name" : "'RayQuery'"
4966            },
4967             {
4968                "kind" : "IdRef",
4969                "name" : "'Intersection'"
4970            }
4971        ],
4972        "capabilities" : [ "RayQueryProvisionalKHR" ],
4973        "extensions" : [ "SPV_KHR_ray_query" ],
4974        "version" : "None"
4975    },
4976    {
4977      "opname" : "OpExecuteCallableNV",
4978      "class"  : "Reserved",
4979      "opcode" : 5344,
4980      "operands" : [
4981
4982        { "kind" : "IdRef", "name" : "'SBT Index'" },
4983        { "kind" : "IdRef", "name" : "'Callable DataId'" }
4984      ],
4985      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4986      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
4987      "version" : "None"
4988    },
4989    {
4990      "opname" : "OpExecuteCallableKHR",
4991      "class"  : "Reserved",
4992      "opcode" : 5344,
4993      "operands" : [
4994
4995        { "kind" : "IdRef", "name" : "'SBT Index'" },
4996        { "kind" : "IdRef", "name" : "'Callable DataId'" }
4997      ],
4998      "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
4999      "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
5000      "version" : "None"
5001    },
5002    {
5003      "opname" : "OpTypeCooperativeMatrixNV",
5004      "class"  : "Reserved",
5005      "opcode" : 5358,
5006      "operands" : [
5007        { "kind" : "IdResult" },
5008        { "kind" : "IdRef",        "name" : "'Component Type'" },
5009        { "kind" : "IdScope",      "name" : "'Execution'" },
5010        { "kind" : "IdRef",        "name" : "'Rows'" },
5011        { "kind" : "IdRef",        "name" : "'Columns'" }
5012      ],
5013      "capabilities" : [ "CooperativeMatrixNV" ],
5014      "extensions" : [ "SPV_NV_cooperative_matrix" ],
5015      "version" : "None"
5016    },
5017    {
5018      "opname" : "OpCooperativeMatrixLoadNV",
5019      "class"  : "Reserved",
5020      "opcode" : 5359,
5021      "operands" : [
5022        { "kind" : "IdResultType" },
5023        { "kind" : "IdResult" },
5024        { "kind" : "IdRef",             "name" : "'Pointer'" },
5025        { "kind" : "IdRef",             "name" : "'Stride'" },
5026        { "kind" : "IdRef",             "name" : "'Column Major'" },
5027        { "kind" : "MemoryAccess",      "quantifier" : "?" }
5028      ],
5029      "capabilities" : [ "CooperativeMatrixNV" ],
5030      "extensions" : [ "SPV_NV_cooperative_matrix" ],
5031      "version" : "None"
5032    },
5033    {
5034      "opname" : "OpCooperativeMatrixStoreNV",
5035      "class"  : "Reserved",
5036      "opcode" : 5360,
5037      "operands" : [
5038        { "kind" : "IdRef",             "name" : "'Pointer'" },
5039        { "kind" : "IdRef",             "name" : "'Object'" },
5040        { "kind" : "IdRef",             "name" : "'Stride'" },
5041        { "kind" : "IdRef",             "name" : "'Column Major'" },
5042        { "kind" : "MemoryAccess",      "quantifier" : "?" }
5043      ],
5044      "capabilities" : [ "CooperativeMatrixNV" ],
5045      "extensions" : [ "SPV_NV_cooperative_matrix" ],
5046      "version" : "None"
5047    },
5048    {
5049      "opname" : "OpCooperativeMatrixMulAddNV",
5050      "class"  : "Reserved",
5051      "opcode" : 5361,
5052      "operands" : [
5053        { "kind" : "IdResultType" },
5054        { "kind" : "IdResult" },
5055        { "kind" : "IdRef",             "name" : "'A'" },
5056        { "kind" : "IdRef",             "name" : "'B'" },
5057        { "kind" : "IdRef",             "name" : "'C'" }
5058      ],
5059      "capabilities" : [ "CooperativeMatrixNV" ],
5060      "extensions" : [ "SPV_NV_cooperative_matrix" ],
5061      "version" : "None"
5062    },
5063    {
5064      "opname" : "OpCooperativeMatrixLengthNV",
5065      "class"  : "Reserved",
5066      "opcode" : 5362,
5067      "operands" : [
5068        { "kind" : "IdResultType" },
5069        { "kind" : "IdResult" },
5070        { "kind" : "IdRef",        "name" : "'Type'" }
5071      ],
5072      "capabilities" : [ "CooperativeMatrixNV" ],
5073      "extensions" : [ "SPV_NV_cooperative_matrix" ],
5074      "version" : "None"
5075    },
5076    {
5077      "opname" : "OpBeginInvocationInterlockEXT",
5078      "class"  : "Reserved",
5079      "opcode" : 5364,
5080      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
5081      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
5082      "version" : "None"
5083    },
5084    {
5085      "opname" : "OpEndInvocationInterlockEXT",
5086      "class"  : "Reserved",
5087      "opcode" : 5365,
5088      "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ],
5089      "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
5090      "version" : "None"
5091    },
5092    {
5093      "opname" : "OpDemoteToHelperInvocationEXT",
5094      "class"  : "Reserved",
5095      "opcode" : 5380,
5096      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
5097      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
5098      "version" : "None"
5099    },
5100    {
5101      "opname" : "OpIsHelperInvocationEXT",
5102      "class"  : "Reserved",
5103      "opcode" : 5381,
5104      "operands" : [
5105        { "kind" : "IdResultType" },
5106        { "kind" : "IdResult" }
5107      ],
5108      "capabilities" : [ "DemoteToHelperInvocationEXT" ],
5109      "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
5110      "version" : "None"
5111    },
5112    {
5113      "opname" : "OpSubgroupShuffleINTEL",
5114      "class"  : "Group",
5115      "opcode" : 5571,
5116      "operands" : [
5117        { "kind" : "IdResultType" },
5118        { "kind" : "IdResult" },
5119        { "kind" : "IdRef", "name" : "'Data'" },
5120        { "kind" : "IdRef", "name" : "'InvocationId'" }
5121      ],
5122      "capabilities" : [ "SubgroupShuffleINTEL" ],
5123      "version" : "None"
5124    },
5125    {
5126      "opname" : "OpSubgroupShuffleDownINTEL",
5127      "class"  : "Group",
5128      "opcode" : 5572,
5129      "operands" : [
5130        { "kind" : "IdResultType" },
5131        { "kind" : "IdResult" },
5132        { "kind" : "IdRef", "name" : "'Current'" },
5133        { "kind" : "IdRef", "name" : "'Next'" },
5134        { "kind" : "IdRef", "name" : "'Delta'" }
5135      ],
5136      "capabilities" : [ "SubgroupShuffleINTEL" ],
5137      "version" : "None"
5138    },
5139    {
5140      "opname" : "OpSubgroupShuffleUpINTEL",
5141      "class"  : "Group",
5142      "opcode" : 5573,
5143      "operands" : [
5144        { "kind" : "IdResultType" },
5145        { "kind" : "IdResult" },
5146        { "kind" : "IdRef", "name" : "'Previous'" },
5147        { "kind" : "IdRef", "name" : "'Current'" },
5148        { "kind" : "IdRef", "name" : "'Delta'" }
5149      ],
5150      "capabilities" : [ "SubgroupShuffleINTEL" ],
5151      "version" : "None"
5152    },
5153    {
5154      "opname" : "OpSubgroupShuffleXorINTEL",
5155      "class"  : "Group",
5156      "opcode" : 5574,
5157      "operands" : [
5158        { "kind" : "IdResultType" },
5159        { "kind" : "IdResult" },
5160        { "kind" : "IdRef", "name" : "'Data'" },
5161        { "kind" : "IdRef", "name" : "'Value'" }
5162      ],
5163      "capabilities" : [ "SubgroupShuffleINTEL" ],
5164      "version" : "None"
5165    },
5166    {
5167      "opname" : "OpSubgroupBlockReadINTEL",
5168      "class"  : "Group",
5169      "opcode" : 5575,
5170      "operands" : [
5171        { "kind" : "IdResultType" },
5172        { "kind" : "IdResult" },
5173        { "kind" : "IdRef", "name" : "'Ptr'" }
5174      ],
5175      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
5176      "version" : "None"
5177    },
5178    {
5179      "opname" : "OpSubgroupBlockWriteINTEL",
5180      "class"  : "Group",
5181      "opcode" : 5576,
5182      "operands" : [
5183        { "kind" : "IdRef", "name" : "'Ptr'" },
5184        { "kind" : "IdRef", "name" : "'Data'" }
5185      ],
5186      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
5187      "version" : "None"
5188    },
5189    {
5190      "opname" : "OpSubgroupImageBlockReadINTEL",
5191      "class"  : "Group",
5192      "opcode" : 5577,
5193      "operands" : [
5194        { "kind" : "IdResultType" },
5195        { "kind" : "IdResult" },
5196        { "kind" : "IdRef", "name" : "'Image'" },
5197        { "kind" : "IdRef", "name" : "'Coordinate'" }
5198      ],
5199      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
5200      "version" : "None"
5201    },
5202    {
5203      "opname" : "OpSubgroupImageBlockWriteINTEL",
5204      "class"  : "Group",
5205      "opcode" : 5578,
5206      "operands" : [
5207        { "kind" : "IdRef", "name" : "'Image'" },
5208        { "kind" : "IdRef", "name" : "'Coordinate'" },
5209        { "kind" : "IdRef", "name" : "'Data'" }
5210      ],
5211      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
5212      "version" : "None"
5213    },
5214    {
5215      "opname" : "OpSubgroupImageMediaBlockReadINTEL",
5216      "class"  : "Group",
5217      "opcode" : 5580,
5218      "operands" : [
5219        { "kind" : "IdResultType" },
5220        { "kind" : "IdResult" },
5221        { "kind" : "IdRef", "name" : "'Image'" },
5222        { "kind" : "IdRef", "name" : "'Coordinate'" },
5223        { "kind" : "IdRef", "name" : "'Width'" },
5224        { "kind" : "IdRef", "name" : "'Height'" }
5225      ],
5226      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
5227      "version" : "None"
5228    },
5229    {
5230      "opname" : "OpSubgroupImageMediaBlockWriteINTEL",
5231      "class"  : "Group",
5232      "opcode" : 5581,
5233      "operands" : [
5234        { "kind" : "IdRef", "name" : "'Image'" },
5235        { "kind" : "IdRef", "name" : "'Coordinate'" },
5236        { "kind" : "IdRef", "name" : "'Width'" },
5237        { "kind" : "IdRef", "name" : "'Height'" },
5238        { "kind" : "IdRef", "name" : "'Data'" }
5239      ],
5240      "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ],
5241      "version" : "None"
5242    },
5243    {
5244      "opname" : "OpUCountLeadingZerosINTEL",
5245      "class"  : "Reserved",
5246      "opcode" : 5585,
5247      "operands" : [
5248        { "kind" : "IdResultType" },
5249        { "kind" : "IdResult" },
5250        { "kind" : "IdRef",        "name" : "'Operand'" }
5251      ],
5252      "capabilities" : [ "IntegerFunctions2INTEL" ],
5253      "version" : "None"
5254    },
5255    {
5256      "opname" : "OpUCountTrailingZerosINTEL",
5257      "class"  : "Reserved",
5258      "opcode" : 5586,
5259      "operands" : [
5260        { "kind" : "IdResultType" },
5261        { "kind" : "IdResult" },
5262        { "kind" : "IdRef",        "name" : "'Operand'" }
5263      ],
5264      "capabilities" : [ "IntegerFunctions2INTEL" ],
5265      "version" : "None"
5266    },
5267    {
5268      "opname" : "OpAbsISubINTEL",
5269      "class"  : "Reserved",
5270      "opcode" : 5587,
5271      "operands" : [
5272        { "kind" : "IdResultType" },
5273        { "kind" : "IdResult" },
5274        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5275        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5276      ],
5277      "capabilities" : [ "IntegerFunctions2INTEL" ],
5278      "version" : "None"
5279    },
5280    {
5281      "opname" : "OpAbsUSubINTEL",
5282      "class"  : "Reserved",
5283      "opcode" : 5588,
5284      "operands" : [
5285        { "kind" : "IdResultType" },
5286        { "kind" : "IdResult" },
5287        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5288        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5289      ],
5290      "capabilities" : [ "IntegerFunctions2INTEL" ],
5291      "version" : "None"
5292    },
5293    {
5294      "opname" : "OpIAddSatINTEL",
5295      "class"  : "Reserved",
5296      "opcode" : 5589,
5297      "operands" : [
5298        { "kind" : "IdResultType" },
5299        { "kind" : "IdResult" },
5300        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5301        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5302      ],
5303      "capabilities" : [ "IntegerFunctions2INTEL" ],
5304      "version" : "None"
5305    },
5306    {
5307      "opname" : "OpUAddSatINTEL",
5308      "class"  : "Reserved",
5309      "opcode" : 5590,
5310      "operands" : [
5311        { "kind" : "IdResultType" },
5312        { "kind" : "IdResult" },
5313        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5314        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5315      ],
5316      "capabilities" : [ "IntegerFunctions2INTEL" ],
5317      "version" : "None"
5318    },
5319    {
5320      "opname" : "OpIAverageINTEL",
5321      "class"  : "Reserved",
5322      "opcode" : 5591,
5323      "operands" : [
5324        { "kind" : "IdResultType" },
5325        { "kind" : "IdResult" },
5326        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5327        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5328      ],
5329      "capabilities" : [ "IntegerFunctions2INTEL" ],
5330      "version" : "None"
5331    },
5332    {
5333      "opname" : "OpUAverageINTEL",
5334      "class"  : "Reserved",
5335      "opcode" : 5592,
5336      "operands" : [
5337        { "kind" : "IdResultType" },
5338        { "kind" : "IdResult" },
5339        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5340        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5341      ],
5342      "capabilities" : [ "IntegerFunctions2INTEL" ],
5343      "version" : "None"
5344    },
5345    {
5346      "opname" : "OpIAverageRoundedINTEL",
5347      "class"  : "Reserved",
5348      "opcode" : 5593,
5349      "operands" : [
5350        { "kind" : "IdResultType" },
5351        { "kind" : "IdResult" },
5352        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5353        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5354      ],
5355      "capabilities" : [ "IntegerFunctions2INTEL" ],
5356      "version" : "None"
5357    },
5358    {
5359      "opname" : "OpUAverageRoundedINTEL",
5360      "class"  : "Reserved",
5361      "opcode" : 5594,
5362      "operands" : [
5363        { "kind" : "IdResultType" },
5364        { "kind" : "IdResult" },
5365        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5366        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5367      ],
5368      "capabilities" : [ "IntegerFunctions2INTEL" ],
5369      "version" : "None"
5370    },
5371    {
5372      "opname" : "OpISubSatINTEL",
5373      "class"  : "Reserved",
5374      "opcode" : 5595,
5375      "operands" : [
5376        { "kind" : "IdResultType" },
5377        { "kind" : "IdResult" },
5378        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5379        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5380      ],
5381      "capabilities" : [ "IntegerFunctions2INTEL" ],
5382      "version" : "None"
5383    },
5384    {
5385      "opname" : "OpUSubSatINTEL",
5386      "class"  : "Reserved",
5387      "opcode" : 5596,
5388      "operands" : [
5389        { "kind" : "IdResultType" },
5390        { "kind" : "IdResult" },
5391        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5392        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5393      ],
5394      "capabilities" : [ "IntegerFunctions2INTEL" ],
5395      "version" : "None"
5396    },
5397    {
5398      "opname" : "OpIMul32x16INTEL",
5399      "class"  : "Reserved",
5400      "opcode" : 5597,
5401      "operands" : [
5402        { "kind" : "IdResultType" },
5403        { "kind" : "IdResult" },
5404        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5405        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5406      ],
5407      "capabilities" : [ "IntegerFunctions2INTEL" ],
5408      "version" : "None"
5409    },
5410    {
5411      "opname" : "OpUMul32x16INTEL",
5412      "class"  : "Reserved",
5413      "opcode" : 5598,
5414      "operands" : [
5415        { "kind" : "IdResultType" },
5416        { "kind" : "IdResult" },
5417        { "kind" : "IdRef",        "name" : "'Operand 1'" },
5418        { "kind" : "IdRef",        "name" : "'Operand 2'" }
5419      ],
5420      "capabilities" : [ "IntegerFunctions2INTEL" ],
5421      "version" : "None"
5422    },
5423    {
5424      "opname" : "OpDecorateString",
5425      "class"  : "Annotation",
5426      "opcode" : 5632,
5427      "operands" : [
5428        { "kind" : "IdRef",         "name" : "'Target'" },
5429        { "kind" : "Decoration" }
5430      ],
5431      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5432      "version" : "1.4"
5433    },
5434    {
5435      "opname" : "OpDecorateStringGOOGLE",
5436      "class"  : "Annotation",
5437      "opcode" : 5632,
5438      "operands" : [
5439        { "kind" : "IdRef",         "name" : "'Target'" },
5440        { "kind" : "Decoration" }
5441      ],
5442      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5443      "version" : "1.4"
5444    },
5445    {
5446      "opname" : "OpMemberDecorateString",
5447      "class"  : "Annotation",
5448      "opcode" : 5633,
5449      "operands" : [
5450        { "kind" : "IdRef",          "name" : "'Struct Type'" },
5451        { "kind" : "LiteralInteger", "name" : "'Member'" },
5452        { "kind" : "Decoration" }
5453      ],
5454      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5455      "version" : "1.4"
5456    },
5457    {
5458      "opname" : "OpMemberDecorateStringGOOGLE",
5459      "class"  : "Annotation",
5460      "opcode" : 5633,
5461      "operands" : [
5462        { "kind" : "IdRef",          "name" : "'Struct Type'" },
5463        { "kind" : "LiteralInteger", "name" : "'Member'" },
5464        { "kind" : "Decoration" }
5465      ],
5466      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
5467      "version" : "1.4"
5468    },
5469    {
5470      "opname" : "OpVmeImageINTEL",
5471      "class"  : "@exclude",
5472      "opcode" : 5699,
5473      "operands" : [
5474        { "kind" : "IdResultType" },
5475        { "kind" : "IdResult" },
5476        { "kind" : "IdRef", "name" : "'Image Type'" },
5477        { "kind" : "IdRef", "name" : "'Sampler'" }
5478      ],
5479      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5480      "version" : "None"
5481    },
5482    {
5483      "opname" : "OpTypeVmeImageINTEL",
5484      "class"  : "@exclude",
5485      "opcode" : 5700,
5486      "operands" : [
5487        { "kind" : "IdResult" },
5488        { "kind" : "IdRef", "name" : "'Image Type'" }
5489      ],
5490      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5491      "version" : "None"
5492    },
5493    {
5494      "opname" : "OpTypeAvcImePayloadINTEL",
5495      "class"  : "@exclude",
5496      "opcode" : 5701,
5497      "operands" : [
5498        { "kind" : "IdResult" }
5499      ],
5500      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5501      "version" : "None"
5502    },
5503    {
5504      "opname" : "OpTypeAvcRefPayloadINTEL",
5505      "class"  : "@exclude",
5506      "opcode" : 5702,
5507      "operands" : [
5508        { "kind" : "IdResult" }
5509      ],
5510      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5511      "version" : "None"
5512    },
5513    {
5514      "opname" : "OpTypeAvcSicPayloadINTEL",
5515      "class"  : "@exclude",
5516      "opcode" : 5703,
5517      "operands" : [
5518        { "kind" : "IdResult" }
5519      ],
5520      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5521      "version" : "None"
5522    },
5523    {
5524      "opname" : "OpTypeAvcMcePayloadINTEL",
5525      "class"  : "@exclude",
5526      "opcode" : 5704,
5527      "operands" : [
5528        { "kind" : "IdResult" }
5529      ],
5530      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5531      "version" : "None"
5532    },
5533    {
5534      "opname" : "OpTypeAvcMceResultINTEL",
5535      "class"  : "@exclude",
5536      "opcode" : 5705,
5537      "operands" : [
5538        { "kind" : "IdResult" }
5539      ],
5540      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5541      "version" : "None"
5542    },
5543    {
5544      "opname" : "OpTypeAvcImeResultINTEL",
5545      "class"  : "@exclude",
5546      "opcode" : 5706,
5547      "operands" : [
5548        { "kind" : "IdResult" }
5549      ],
5550      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5551      "version" : "None"
5552    },
5553    {
5554      "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
5555      "class"  : "@exclude",
5556      "opcode" : 5707,
5557      "operands" : [
5558        { "kind" : "IdResult" }
5559      ],
5560      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5561      "version" : "None"
5562    },
5563    {
5564      "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
5565      "class"  : "@exclude",
5566      "opcode" : 5708,
5567      "operands" : [
5568        { "kind" : "IdResult" }
5569      ],
5570      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5571      "version" : "None"
5572    },
5573    {
5574      "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL",
5575      "class"  : "@exclude",
5576      "opcode" : 5709,
5577      "operands" : [
5578        { "kind" : "IdResult" }
5579      ],
5580      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5581      "version" : "None"
5582    },
5583    {
5584      "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL",
5585      "class"  : "@exclude",
5586      "opcode" : 5710,
5587      "operands" : [
5588        { "kind" : "IdResult" }
5589      ],
5590      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5591      "version" : "None"
5592    },
5593    {
5594      "opname" : "OpTypeAvcRefResultINTEL",
5595      "class"  : "@exclude",
5596      "opcode" : 5711,
5597      "operands" : [
5598        { "kind" : "IdResult" }
5599      ],
5600      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5601      "version" : "None"
5602    },
5603    {
5604      "opname" : "OpTypeAvcSicResultINTEL",
5605      "class"  : "@exclude",
5606      "opcode" : 5712,
5607      "operands" : [
5608        { "kind" : "IdResult" }
5609      ],
5610      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5611      "version" : "None"
5612    },
5613    {
5614      "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
5615      "class"  : "@exclude",
5616      "opcode" : 5713,
5617      "operands" : [
5618        { "kind" : "IdResultType" },
5619        { "kind" : "IdResult" },
5620        { "kind" : "IdRef", "name" : "'Slice Type'" },
5621        { "kind" : "IdRef", "name" : "'Qp'" }
5622      ],
5623      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5624      "version" : "None"
5625    },
5626    {
5627      "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
5628      "class"  : "@exclude",
5629      "opcode" : 5714,
5630      "operands" : [
5631        { "kind" : "IdResultType" },
5632        { "kind" : "IdResult" },
5633        { "kind" : "IdRef", "name" : "'Reference Base Penalty'" },
5634        { "kind" : "IdRef", "name" : "'Payload'" }
5635      ],
5636      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5637      "version" : "None"
5638    },
5639    {
5640      "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
5641      "class"  : "@exclude",
5642      "opcode" : 5715,
5643      "operands" : [
5644        { "kind" : "IdResultType" },
5645        { "kind" : "IdResult" },
5646        { "kind" : "IdRef", "name" : "'Slice Type'" },
5647        { "kind" : "IdRef", "name" : "'Qp'" }
5648      ],
5649      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5650      "version" : "None"
5651    },
5652    {
5653      "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
5654      "class"  : "@exclude",
5655      "opcode" : 5716,
5656      "operands" : [
5657        { "kind" : "IdResultType" },
5658        { "kind" : "IdResult" },
5659        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
5660        { "kind" : "IdRef", "name" : "'Payload'" }
5661      ],
5662      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5663      "version" : "None"
5664    },
5665    {
5666      "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
5667      "class"  : "@exclude",
5668      "opcode" : 5717,
5669      "operands" : [
5670        { "kind" : "IdResultType" },
5671        { "kind" : "IdResult" },
5672        { "kind" : "IdRef", "name" : "'Slice Type'" },
5673        { "kind" : "IdRef", "name" : "'Qp'" }
5674      ],
5675      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5676      "version" : "None"
5677    },
5678    {
5679      "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
5680      "class"  : "@exclude",
5681      "opcode" : 5718,
5682      "operands" : [
5683        { "kind" : "IdResultType" },
5684        { "kind" : "IdResult" },
5685        { "kind" : "IdRef", "name" : "'Direction Cost'" },
5686        { "kind" : "IdRef", "name" : "'Payload'" }
5687      ],
5688      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5689      "version" : "None"
5690    },
5691    {
5692      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
5693      "class"  : "@exclude",
5694      "opcode" : 5719,
5695      "operands" : [
5696        { "kind" : "IdResultType" },
5697        { "kind" : "IdResult" },
5698        { "kind" : "IdRef", "name" : "'Slice Type'" },
5699        { "kind" : "IdRef", "name" : "'Qp'" }
5700      ],
5701      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5702      "version" : "None"
5703    },
5704    {
5705      "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
5706      "class"  : "@exclude",
5707      "opcode" : 5720,
5708      "operands" : [
5709        { "kind" : "IdResultType" },
5710        { "kind" : "IdResult" },
5711        { "kind" : "IdRef", "name" : "'Slice Type'" },
5712        { "kind" : "IdRef", "name" : "'Qp'" }
5713      ],
5714      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5715      "version" : "None"
5716    },
5717    {
5718      "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
5719      "class"  : "@exclude",
5720      "opcode" : 5721,
5721      "operands" : [
5722        { "kind" : "IdResultType" },
5723        { "kind" : "IdResult" }
5724      ],
5725      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5726      "version" : "None"
5727    },
5728    {
5729      "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
5730      "class"  : "@exclude",
5731      "opcode" : 5722,
5732      "operands" : [
5733        { "kind" : "IdResultType" },
5734        { "kind" : "IdResult" }
5735      ],
5736      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5737      "version" : "None"
5738    },
5739    {
5740      "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
5741      "class"  : "@exclude",
5742      "opcode" : 5723,
5743      "operands" : [
5744        { "kind" : "IdResultType" },
5745        { "kind" : "IdResult" }
5746      ],
5747      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5748      "version" : "None"
5749    },
5750    {
5751      "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
5752      "class"  : "@exclude",
5753      "opcode" : 5724,
5754      "operands" : [
5755        { "kind" : "IdResultType" },
5756        { "kind" : "IdResult" },
5757        { "kind" : "IdRef", "name" : "'Packed Cost Center Delta'" },
5758        { "kind" : "IdRef", "name" : "'Packed Cost Table'" },
5759        { "kind" : "IdRef", "name" : "'Cost Precision'" },
5760        { "kind" : "IdRef", "name" : "'Payload'" }
5761      ],
5762      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5763      "version" : "None"
5764    },
5765    {
5766      "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
5767      "class"  : "@exclude",
5768      "opcode" : 5725,
5769      "operands" : [
5770        { "kind" : "IdResultType" },
5771        { "kind" : "IdResult" },
5772        { "kind" : "IdRef", "name" : "'Slice Type'" },
5773        { "kind" : "IdRef", "name" : "'Qp'" }
5774      ],
5775      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5776      "version" : "None"
5777    },
5778    {
5779      "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
5780      "class"  : "@exclude",
5781      "opcode" : 5726,
5782      "operands" : [
5783        { "kind" : "IdResultType" },
5784        { "kind" : "IdResult" }
5785      ],
5786      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
5787      "version" : "None"
5788    },
5789    {
5790      "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
5791      "class"  : "@exclude",
5792      "opcode" : 5727,
5793      "operands" : [
5794        { "kind" : "IdResultType" },
5795        { "kind" : "IdResult" }
5796      ],
5797      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
5798      "version" : "None"
5799    },
5800    {
5801      "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
5802      "class"  : "@exclude",
5803      "opcode" : 5728,
5804      "operands" : [
5805        { "kind" : "IdResultType" },
5806        { "kind" : "IdResult" },
5807        { "kind" : "IdRef", "name" : "'Payload'" }
5808      ],
5809      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5810      "version" : "None"
5811    },
5812    {
5813      "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
5814      "class"  : "@exclude",
5815      "opcode" : 5729,
5816      "operands" : [
5817        { "kind" : "IdResultType" },
5818        { "kind" : "IdResult" },
5819        { "kind" : "IdRef", "name" : "'Source Field Polarity'" },
5820        { "kind" : "IdRef", "name" : "'Payload'" }
5821      ],
5822      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5823      "version" : "None"
5824    },
5825    {
5826      "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
5827      "class"  : "@exclude",
5828      "opcode" : 5730,
5829      "operands" : [
5830        { "kind" : "IdResultType" },
5831        { "kind" : "IdResult" },
5832        { "kind" : "IdRef", "name" : "'Reference Field Polarity'" },
5833        { "kind" : "IdRef", "name" : "'Payload'" }
5834      ],
5835      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5836      "version" : "None"
5837    },
5838    {
5839      "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
5840      "class"  : "@exclude",
5841      "opcode" : 5731,
5842      "operands" : [
5843        { "kind" : "IdResultType" },
5844        { "kind" : "IdResult" },
5845        { "kind" : "IdRef", "name" : "'Forward Reference Field Polarity'" },
5846        { "kind" : "IdRef", "name" : "'Backward Reference Field Polarity'" },
5847        { "kind" : "IdRef", "name" : "'Payload'" }
5848      ],
5849      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5850      "version" : "None"
5851    },
5852    {
5853      "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL",
5854      "class"  : "@exclude",
5855      "opcode" : 5732,
5856      "operands" : [
5857        { "kind" : "IdResultType" },
5858        { "kind" : "IdResult" },
5859        { "kind" : "IdRef", "name" : "'Payload'" }
5860      ],
5861      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5862      "version" : "None"
5863    },
5864    {
5865      "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL",
5866      "class"  : "@exclude",
5867      "opcode" : 5733,
5868      "operands" : [
5869        { "kind" : "IdResultType" },
5870        { "kind" : "IdResult" },
5871        { "kind" : "IdRef", "name" : "'Payload'" }
5872      ],
5873      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5874      "version" : "None"
5875    },
5876    {
5877      "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL",
5878      "class"  : "@exclude",
5879      "opcode" : 5734,
5880      "operands" : [
5881        { "kind" : "IdResultType" },
5882        { "kind" : "IdResult" },
5883        { "kind" : "IdRef", "name" : "'Payload'" }
5884      ],
5885      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5886      "version" : "None"
5887    },
5888    {
5889      "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL",
5890      "class"  : "@exclude",
5891      "opcode" : 5735,
5892      "operands" : [
5893        { "kind" : "IdResultType" },
5894        { "kind" : "IdResult" },
5895        { "kind" : "IdRef", "name" : "'Payload'" }
5896      ],
5897      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5898      "version" : "None"
5899    },
5900    {
5901      "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL",
5902      "class"  : "@exclude",
5903      "opcode" : 5736,
5904      "operands" : [
5905        { "kind" : "IdResultType" },
5906        { "kind" : "IdResult" },
5907        { "kind" : "IdRef", "name" : "'Payload'" }
5908      ],
5909      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5910      "version" : "None"
5911    },
5912    {
5913      "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL",
5914      "class"  : "@exclude",
5915      "opcode" : 5737,
5916      "operands" : [
5917        { "kind" : "IdResultType" },
5918        { "kind" : "IdResult" },
5919        { "kind" : "IdRef", "name" : "'Payload'" }
5920      ],
5921      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5922      "version" : "None"
5923    },
5924    {
5925      "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL",
5926      "class"  : "@exclude",
5927      "opcode" : 5738,
5928      "operands" : [
5929        { "kind" : "IdResultType" },
5930        { "kind" : "IdResult" },
5931        { "kind" : "IdRef", "name" : "'Payload'" }
5932      ],
5933      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5934      "version" : "None"
5935    },
5936    {
5937      "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL",
5938      "class"  : "@exclude",
5939      "opcode" : 5739,
5940      "operands" : [
5941        { "kind" : "IdResultType" },
5942        { "kind" : "IdResult" },
5943        { "kind" : "IdRef", "name" : "'Payload'" }
5944      ],
5945      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5946      "version" : "None"
5947    },
5948    {
5949      "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
5950      "class"  : "@exclude",
5951      "opcode" : 5740,
5952      "operands" : [
5953        { "kind" : "IdResultType" },
5954        { "kind" : "IdResult" },
5955        { "kind" : "IdRef", "name" : "'Payload'" }
5956      ],
5957      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5958      "version" : "None"
5959    },
5960    {
5961      "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL",
5962      "class"  : "@exclude",
5963      "opcode" : 5741,
5964      "operands" : [
5965        { "kind" : "IdResultType" },
5966        { "kind" : "IdResult" },
5967        { "kind" : "IdRef", "name" : "'Payload'" }
5968      ],
5969      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5970      "version" : "None"
5971    },
5972    {
5973      "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL",
5974      "class"  : "@exclude",
5975      "opcode" : 5742,
5976      "operands" : [
5977        { "kind" : "IdResultType" },
5978        { "kind" : "IdResult" },
5979        { "kind" : "IdRef", "name" : "'Payload'" }
5980      ],
5981      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5982      "version" : "None"
5983    },
5984    {
5985      "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL",
5986      "class"  : "@exclude",
5987      "opcode" : 5743,
5988      "operands" : [
5989        { "kind" : "IdResultType" },
5990        { "kind" : "IdResult" },
5991        { "kind" : "IdRef", "name" : "'Payload'" }
5992      ],
5993      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
5994      "version" : "None"
5995    },
5996    {
5997      "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
5998      "class"  : "@exclude",
5999      "opcode" : 5744,
6000      "operands" : [
6001        { "kind" : "IdResultType" },
6002        { "kind" : "IdResult" },
6003        { "kind" : "IdRef", "name" : "'Payload'" }
6004      ],
6005      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6006      "version" : "None"
6007    },
6008    {
6009      "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
6010      "class"  : "@exclude",
6011      "opcode" : 5745,
6012      "operands" : [
6013        { "kind" : "IdResultType" },
6014        { "kind" : "IdResult" },
6015        { "kind" : "IdRef", "name" : "'Payload'" }
6016      ],
6017      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6018      "version" : "None"
6019    },
6020    {
6021      "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
6022      "class"  : "@exclude",
6023      "opcode" : 5746,
6024      "operands" : [
6025        { "kind" : "IdResultType" },
6026        { "kind" : "IdResult" },
6027        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6028        { "kind" : "IdRef", "name" : "'Packed Reference Parameter Field Polarities'" },
6029        { "kind" : "IdRef", "name" : "'Payload'" }
6030      ],
6031      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6032      "version" : "None"
6033    },
6034    {
6035      "opname" : "OpSubgroupAvcImeInitializeINTEL",
6036      "class"  : "@exclude",
6037      "opcode" : 5747,
6038      "operands" : [
6039        { "kind" : "IdResultType" },
6040        { "kind" : "IdResult" },
6041        { "kind" : "IdRef", "name" : "'Src Coord'" },
6042        { "kind" : "IdRef", "name" : "'Partition Mask'" },
6043        { "kind" : "IdRef", "name" : "'SAD Adjustment'" }
6044      ],
6045      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6046      "version" : "None"
6047    },
6048    {
6049      "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL",
6050      "class"  : "@exclude",
6051      "opcode" : 5748,
6052      "operands" : [
6053        { "kind" : "IdResultType" },
6054        { "kind" : "IdResult" },
6055        { "kind" : "IdRef", "name" : "'Ref Offset'" },
6056        { "kind" : "IdRef", "name" : "'Search Window Config'" },
6057        { "kind" : "IdRef", "name" : "'Payload'" }
6058      ],
6059      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6060      "version" : "None"
6061    },
6062    {
6063      "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL",
6064      "class"  : "@exclude",
6065      "opcode" : 5749,
6066      "operands" : [
6067        { "kind" : "IdResultType" },
6068        { "kind" : "IdResult" },
6069        { "kind" : "IdRef", "name" : "'Fwd Ref Offset'" },
6070        { "kind" : "IdRef", "name" : "'Bwd Ref Offset'" },
6071        { "kind" : "IdRef", "name" : "'id> Search Window Config'" },
6072        { "kind" : "IdRef", "name" : "'Payload'" }
6073      ],
6074      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6075      "version" : "None"
6076    },
6077    {
6078      "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL",
6079      "class"  : "@exclude",
6080      "opcode" : 5750,
6081      "operands" : [
6082        { "kind" : "IdResultType" },
6083        { "kind" : "IdResult" },
6084        { "kind" : "IdRef", "name" : "'Search Window Config'" },
6085        { "kind" : "IdRef", "name" : "'Dual Ref'" }
6086      ],
6087      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6088      "version" : "None"
6089    },
6090    {
6091      "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL",
6092      "class"  : "@exclude",
6093      "opcode" : 5751,
6094      "operands" : [
6095        { "kind" : "IdResultType" },
6096        { "kind" : "IdResult" },
6097        { "kind" : "IdRef", "name" : "'Ref Offset'" },
6098        { "kind" : "IdRef", "name" : "'Src Coord'" },
6099        { "kind" : "IdRef", "name" : "'Ref Window Size'" },
6100        { "kind" : "IdRef", "name" : "'Image Size'" }
6101      ],
6102      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6103      "version" : "None"
6104    },
6105    {
6106      "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL",
6107      "class"  : "@exclude",
6108      "opcode" : 5752,
6109      "operands" : [
6110        { "kind" : "IdResultType" },
6111        { "kind" : "IdResult" },
6112        { "kind" : "IdRef", "name" : "'Payload'" }
6113      ],
6114      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6115      "version" : "None"
6116    },
6117    {
6118      "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
6119      "class"  : "@exclude",
6120      "opcode" : 5753,
6121      "operands" : [
6122        { "kind" : "IdResultType" },
6123        { "kind" : "IdResult" },
6124        { "kind" : "IdRef", "name" : "'Max Motion Vector Count'" },
6125        { "kind" : "IdRef", "name" : "'Payload'" }
6126      ],
6127      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6128      "version" : "None"
6129    },
6130    {
6131      "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
6132      "class"  : "@exclude",
6133      "opcode" : 5754,
6134      "operands" : [
6135        { "kind" : "IdResultType" },
6136        { "kind" : "IdResult" },
6137        { "kind" : "IdRef", "name" : "'Payload'" }
6138      ],
6139      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6140      "version" : "None"
6141    },
6142    {
6143      "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
6144      "class"  : "@exclude",
6145      "opcode" : 5755,
6146      "operands" : [
6147        { "kind" : "IdResultType" },
6148        { "kind" : "IdResult" },
6149        { "kind" : "IdRef", "name" : "'Threshold'" },
6150        { "kind" : "IdRef", "name" : "'Payload'" }
6151      ],
6152      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6153      "version" : "None"
6154    },
6155    {
6156      "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL",
6157      "class"  : "@exclude",
6158      "opcode" : 5756,
6159      "operands" : [
6160        { "kind" : "IdResultType" },
6161        { "kind" : "IdResult" },
6162        { "kind" : "IdRef", "name" : "'Packed Sad Weights'" },
6163        { "kind" : "IdRef", "name" : "'Payload'" }
6164      ],
6165      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6166      "version" : "None"
6167    },
6168    {
6169      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
6170      "class"  : "@exclude",
6171      "opcode" : 5757,
6172      "operands" : [
6173        { "kind" : "IdResultType" },
6174        { "kind" : "IdResult" },
6175        { "kind" : "IdRef", "name" : "'Src Image'" },
6176        { "kind" : "IdRef", "name" : "'Ref Image'" },
6177        { "kind" : "IdRef", "name" : "'Payload'" }
6178      ],
6179      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6180      "version" : "None"
6181    },
6182    {
6183      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
6184      "class"  : "@exclude",
6185      "opcode" : 5758,
6186      "operands" : [
6187        { "kind" : "IdResultType" },
6188        { "kind" : "IdResult" },
6189        { "kind" : "IdRef", "name" : "'Src Image'" },
6190        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6191        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6192        { "kind" : "IdRef", "name" : "'Payload'" }
6193      ],
6194      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6195      "version" : "None"
6196    },
6197    {
6198      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
6199      "class"  : "@exclude",
6200      "opcode" : 5759,
6201      "operands" : [
6202        { "kind" : "IdResultType" },
6203        { "kind" : "IdResult" },
6204        { "kind" : "IdRef", "name" : "'Src Image'" },
6205        { "kind" : "IdRef", "name" : "'Ref Image'" },
6206        { "kind" : "IdRef", "name" : "'Payload'" },
6207        { "kind" : "IdRef", "name" : "'Streamin Components'" }
6208      ],
6209      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6210      "version" : "None"
6211    },
6212    {
6213      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
6214      "class"  : "@exclude",
6215      "opcode" : 5760,
6216      "operands" : [
6217        { "kind" : "IdResultType" },
6218        { "kind" : "IdResult" },
6219        { "kind" : "IdRef", "name" : "'Src Image'" },
6220        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6221        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6222        { "kind" : "IdRef", "name" : "'Payload'" },
6223        { "kind" : "IdRef", "name" : "'Streamin Components'" }
6224      ],
6225      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6226      "version" : "None"
6227    },
6228    {
6229      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
6230      "class"  : "@exclude",
6231      "opcode" : 5761,
6232      "operands" : [
6233        { "kind" : "IdResultType" },
6234        { "kind" : "IdResult" },
6235        { "kind" : "IdRef", "name" : "'Src Image'" },
6236        { "kind" : "IdRef", "name" : "'Ref Image'" },
6237        { "kind" : "IdRef", "name" : "'Payload'" }
6238      ],
6239      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6240      "version" : "None"
6241    },
6242    {
6243      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
6244      "class"  : "@exclude",
6245      "opcode" : 5762,
6246      "operands" : [
6247        { "kind" : "IdResultType" },
6248        { "kind" : "IdResult" },
6249        { "kind" : "IdRef", "name" : "'Src Image'" },
6250        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6251        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6252        { "kind" : "IdRef", "name" : "'Payload'" }
6253      ],
6254      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6255      "version" : "None"
6256    },
6257    {
6258      "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
6259      "class"  : "@exclude",
6260      "opcode" : 5763,
6261      "operands" : [
6262        { "kind" : "IdResultType" },
6263        { "kind" : "IdResult" },
6264        { "kind" : "IdRef", "name" : "'Src Image'" },
6265        { "kind" : "IdRef", "name" : "'Ref Image'" },
6266        { "kind" : "IdRef", "name" : "'Payload'" },
6267        { "kind" : "IdRef", "name" : "'Streamin Components'" }
6268      ],
6269      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6270      "version" : "None"
6271    },
6272    {
6273      "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
6274      "class"  : "@exclude",
6275      "opcode" : 5764,
6276      "operands" : [
6277        { "kind" : "IdResultType" },
6278        { "kind" : "IdResult" },
6279        { "kind" : "IdRef", "name" : "'Src Image'" },
6280        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6281        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6282        { "kind" : "IdRef", "name" : "'Payload'" },
6283        { "kind" : "IdRef", "name" : "'Streamin Components'" }
6284      ],
6285      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6286      "version" : "None"
6287    },
6288    {
6289      "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL",
6290      "class"  : "@exclude",
6291      "opcode" : 5765,
6292      "operands" : [
6293        { "kind" : "IdResultType" },
6294        { "kind" : "IdResult" },
6295        { "kind" : "IdRef", "name" : "'Payload'" }
6296      ],
6297      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6298      "version" : "None"
6299    },
6300    {
6301      "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
6302      "class"  : "@exclude",
6303      "opcode" : 5766,
6304      "operands" : [
6305        { "kind" : "IdResultType" },
6306        { "kind" : "IdResult" },
6307        { "kind" : "IdRef", "name" : "'Payload'" }
6308      ],
6309      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6310      "version" : "None"
6311    },
6312    {
6313      "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
6314      "class"  : "@exclude",
6315      "opcode" : 5767,
6316      "operands" : [
6317        { "kind" : "IdResultType" },
6318        { "kind" : "IdResult" },
6319        { "kind" : "IdRef", "name" : "'Payload'" }
6320      ],
6321      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6322      "version" : "None"
6323    },
6324    {
6325      "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
6326      "class"  : "@exclude",
6327      "opcode" : 5768,
6328      "operands" : [
6329        { "kind" : "IdResultType" },
6330        { "kind" : "IdResult" },
6331        { "kind" : "IdRef", "name" : "'Payload'" }
6332      ],
6333      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6334      "version" : "None"
6335    },
6336    {
6337      "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
6338      "class"  : "@exclude",
6339      "opcode" : 5769,
6340      "operands" : [
6341        { "kind" : "IdResultType" },
6342        { "kind" : "IdResult" },
6343        { "kind" : "IdRef", "name" : "'Payload'" }
6344      ],
6345      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6346      "version" : "None"
6347    },
6348    {
6349      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
6350      "class"  : "@exclude",
6351      "opcode" : 5770,
6352      "operands" : [
6353        { "kind" : "IdResultType" },
6354        { "kind" : "IdResult" },
6355        { "kind" : "IdRef", "name" : "'Payload'" },
6356        { "kind" : "IdRef", "name" : "'Major Shape'" }
6357      ],
6358      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6359      "version" : "None"
6360    },
6361    {
6362      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
6363      "class"  : "@exclude",
6364      "opcode" : 5771,
6365      "operands" : [
6366        { "kind" : "IdResultType" },
6367        { "kind" : "IdResult" },
6368        { "kind" : "IdRef", "name" : "'Payload'" },
6369        { "kind" : "IdRef", "name" : "'Major Shape'" }
6370      ],
6371      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6372      "version" : "None"
6373    },
6374    {
6375      "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
6376      "class"  : "@exclude",
6377      "opcode" : 5772,
6378      "operands" : [
6379        { "kind" : "IdResultType" },
6380        { "kind" : "IdResult" },
6381        { "kind" : "IdRef", "name" : "'Payload'" },
6382        { "kind" : "IdRef", "name" : "'Major Shape'" }
6383      ],
6384      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6385      "version" : "None"
6386    },
6387    {
6388      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
6389      "class"  : "@exclude",
6390      "opcode" : 5773,
6391      "operands" : [
6392        { "kind" : "IdResultType" },
6393        { "kind" : "IdResult" },
6394        { "kind" : "IdRef", "name" : "'Payload'" },
6395        { "kind" : "IdRef", "name" : "'Major Shape'" },
6396        { "kind" : "IdRef", "name" : "'Direction'" }
6397      ],
6398      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6399      "version" : "None"
6400    },
6401    {
6402      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
6403      "class"  : "@exclude",
6404      "opcode" : 5774,
6405      "operands" : [
6406        { "kind" : "IdResultType" },
6407        { "kind" : "IdResult" },
6408        { "kind" : "IdRef", "name" : "'Payload'" },
6409        { "kind" : "IdRef", "name" : "'Major Shape'" },
6410        { "kind" : "IdRef", "name" : "'Direction'" }
6411      ],
6412      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6413      "version" : "None"
6414    },
6415    {
6416      "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
6417      "class"  : "@exclude",
6418      "opcode" : 5775,
6419      "operands" : [
6420        { "kind" : "IdResultType" },
6421        { "kind" : "IdResult" },
6422        { "kind" : "IdRef", "name" : "'Payload'" },
6423        { "kind" : "IdRef", "name" : "'Major Shape'" },
6424        { "kind" : "IdRef", "name" : "'Direction'" }
6425      ],
6426      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6427      "version" : "None"
6428    },
6429    {
6430      "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL",
6431      "class"  : "@exclude",
6432      "opcode" : 5776,
6433      "operands" : [
6434        { "kind" : "IdResultType" },
6435        { "kind" : "IdResult" },
6436        { "kind" : "IdRef", "name" : "'Image Select'" },
6437        { "kind" : "IdRef", "name" : "'Payload'" }
6438      ],
6439      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6440      "version" : "None"
6441    },
6442    {
6443      "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
6444      "class"  : "@exclude",
6445      "opcode" : 5777,
6446      "operands" : [
6447        { "kind" : "IdResultType" },
6448        { "kind" : "IdResult" },
6449        { "kind" : "IdRef", "name" : "'Payload'" }
6450      ],
6451      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6452      "version" : "None"
6453    },
6454    {
6455      "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
6456      "class"  : "@exclude",
6457      "opcode" : 5778,
6458      "operands" : [
6459        { "kind" : "IdResultType" },
6460        { "kind" : "IdResult" },
6461        { "kind" : "IdRef", "name" : "'Payload'" }
6462      ],
6463      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6464      "version" : "None"
6465    },
6466    {
6467      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
6468      "class"  : "@exclude",
6469      "opcode" : 5779,
6470      "operands" : [
6471        { "kind" : "IdResultType" },
6472        { "kind" : "IdResult" },
6473        { "kind" : "IdRef", "name" : "'Payload'" }
6474      ],
6475      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6476      "version" : "None"
6477    },
6478    {
6479      "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
6480      "class"  : "@exclude",
6481      "opcode" : 5780,
6482      "operands" : [
6483        { "kind" : "IdResultType" },
6484        { "kind" : "IdResult" },
6485        { "kind" : "IdRef", "name" : "'Payload'" }
6486      ],
6487      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6488      "version" : "None"
6489    },
6490    {
6491      "opname" : "OpSubgroupAvcFmeInitializeINTEL",
6492      "class"  : "@exclude",
6493      "opcode" : 5781,
6494      "operands" : [
6495        { "kind" : "IdResultType" },
6496        { "kind" : "IdResult" },
6497        { "kind" : "IdRef", "name" : "'Src Coord'" },
6498        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6499        { "kind" : "IdRef", "name" : "'Major Shapes'" },
6500        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6501        { "kind" : "IdRef", "name" : "'Direction'" },
6502        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6503        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6504      ],
6505      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6506      "version" : "None"
6507    },
6508    {
6509      "opname" : "OpSubgroupAvcBmeInitializeINTEL",
6510      "class"  : "@exclude",
6511      "opcode" : 5782,
6512      "operands" : [
6513        { "kind" : "IdResultType" },
6514        { "kind" : "IdResult" },
6515        { "kind" : "IdRef", "name" : "'Src Coord'" },
6516        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6517        { "kind" : "IdRef", "name" : "'Major Shapes'" },
6518        { "kind" : "IdRef", "name" : "'Minor Shapes'" },
6519        { "kind" : "IdRef", "name" : "'Direction'" },
6520        { "kind" : "IdRef", "name" : "'Pixel Resolution'" },
6521        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6522        { "kind" : "IdRef", "name" : "'Sad Adjustment'" }
6523      ],
6524      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6525      "version" : "None"
6526    },
6527    {
6528      "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL",
6529      "class"  : "@exclude",
6530      "opcode" : 5783,
6531      "operands" : [
6532        { "kind" : "IdResultType" },
6533        { "kind" : "IdResult" },
6534        { "kind" : "IdRef", "name" : "'Payload'" }
6535      ],
6536      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6537      "version" : "None"
6538    },
6539    {
6540      "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
6541      "class"  : "@exclude",
6542      "opcode" : 5784,
6543      "operands" : [
6544        { "kind" : "IdResultType" },
6545        { "kind" : "IdResult" },
6546        { "kind" : "IdRef", "name" : "'Payload'" }
6547      ],
6548      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6549      "version" : "None"
6550    },
6551    {
6552      "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
6553      "class"  : "@exclude",
6554      "opcode" : 5785,
6555      "operands" : [
6556        { "kind" : "IdResultType" },
6557        { "kind" : "IdResult" },
6558        { "kind" : "IdRef", "name" : "'Payload'" }
6559      ],
6560      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6561      "version" : "None"
6562    },
6563    {
6564      "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
6565      "class"  : "@exclude",
6566      "opcode" : 5786,
6567      "operands" : [
6568        { "kind" : "IdResultType" },
6569        { "kind" : "IdResult" },
6570        { "kind" : "IdRef", "name" : "'Src Image'" },
6571        { "kind" : "IdRef", "name" : "'Ref Image'" },
6572        { "kind" : "IdRef", "name" : "'Payload'" }
6573      ],
6574      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6575      "version" : "None"
6576    },
6577    {
6578      "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
6579      "class"  : "@exclude",
6580      "opcode" : 5787,
6581      "operands" : [
6582        { "kind" : "IdResultType" },
6583        { "kind" : "IdResult" },
6584        { "kind" : "IdRef", "name" : "'Src Image'" },
6585        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6586        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6587        { "kind" : "IdRef", "name" : "'Payload'" }
6588      ],
6589      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6590      "version" : "None"
6591    },
6592    {
6593      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
6594      "class"  : "@exclude",
6595      "opcode" : 5788,
6596      "operands" : [
6597        { "kind" : "IdResultType" },
6598        { "kind" : "IdResult" },
6599        { "kind" : "IdRef", "name" : "'Src Image'" },
6600        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6601        { "kind" : "IdRef", "name" : "'Payload'" }
6602      ],
6603      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6604      "version" : "None"
6605    },
6606    {
6607      "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
6608      "class"  : "@exclude",
6609      "opcode" : 5789,
6610      "operands" : [
6611        { "kind" : "IdResultType" },
6612        { "kind" : "IdResult" },
6613        { "kind" : "IdRef", "name" : "'Src Image'" },
6614        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6615        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6616        { "kind" : "IdRef", "name" : "'Payload'" }
6617      ],
6618      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6619      "version" : "None"
6620    },
6621    {
6622      "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL",
6623      "class"  : "@exclude",
6624      "opcode" : 5790,
6625      "operands" : [
6626        { "kind" : "IdResultType" },
6627        { "kind" : "IdResult" },
6628        { "kind" : "IdRef", "name" : "'Payload'" }
6629      ],
6630      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6631      "version" : "None"
6632    },
6633    {
6634      "opname" : "OpSubgroupAvcSicInitializeINTEL",
6635      "class"  : "@exclude",
6636      "opcode" : 5791,
6637      "operands" : [
6638        { "kind" : "IdResultType" },
6639        { "kind" : "IdResult" },
6640        { "kind" : "IdRef", "name" : "'Src Coord'" }
6641      ],
6642      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6643      "version" : "None"
6644    },
6645    {
6646      "opname" : "OpSubgroupAvcSicConfigureSkcINTEL",
6647      "class"  : "@exclude",
6648      "opcode" : 5792,
6649      "operands" : [
6650        { "kind" : "IdResultType" },
6651        { "kind" : "IdResult" },
6652        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6653        { "kind" : "IdRef", "name" : "'Skip Motion Vector Mask'" },
6654        { "kind" : "IdRef", "name" : "'Motion Vectors'" },
6655        { "kind" : "IdRef", "name" : "'Bidirectional Weight'" },
6656        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6657        { "kind" : "IdRef", "name" : "'Payload'" }
6658      ],
6659      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6660      "version" : "None"
6661    },
6662    {
6663      "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL",
6664      "class"  : "@exclude",
6665      "opcode" : 5793,
6666      "operands" : [
6667        { "kind" : "IdResultType" },
6668        { "kind" : "IdResult" },
6669        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6670        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6671        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6672        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6673        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6674        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6675        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6676        { "kind" : "IdRef", "name" : "'Payload'" }
6677      ],
6678      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6679      "version" : "None"
6680    },
6681    {
6682      "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
6683      "class"  : "@exclude",
6684      "opcode" : 5794,
6685      "operands" : [
6686        { "kind" : "IdResultType" },
6687        { "kind" : "IdResult" },
6688        { "kind" : "IdRef", "name" : "'Luma Intra Partition Mask'" },
6689        { "kind" : "IdRef", "name" : "'Intra Neighbour Availabilty'" },
6690        { "kind" : "IdRef", "name" : "'Left Edge Luma Pixels'" },
6691        { "kind" : "IdRef", "name" : "'Upper Left Corner Luma Pixel'" },
6692        { "kind" : "IdRef", "name" : "'Upper Edge Luma Pixels'" },
6693        { "kind" : "IdRef", "name" : "'Upper Right Edge Luma Pixels'" },
6694        { "kind" : "IdRef", "name" : "'Left Edge Chroma Pixels'" },
6695        { "kind" : "IdRef", "name" : "'Upper Left Corner Chroma Pixel'" },
6696        { "kind" : "IdRef", "name" : "'Upper Edge Chroma Pixels'" },
6697        { "kind" : "IdRef", "name" : "'Sad Adjustment'" },
6698        { "kind" : "IdRef", "name" : "'Payload'" }
6699      ],
6700      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6701      "version" : "None"
6702    },
6703    {
6704      "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
6705      "class"  : "@exclude",
6706      "opcode" : 5795,
6707      "operands" : [
6708        { "kind" : "IdResultType" },
6709        { "kind" : "IdResult" },
6710        { "kind" : "IdRef", "name" : "'Skip Block Partition Type'" },
6711        { "kind" : "IdRef", "name" : "'Direction'" }
6712      ],
6713      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6714      "version" : "None"
6715    },
6716    {
6717      "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL",
6718      "class"  : "@exclude",
6719      "opcode" : 5796,
6720      "operands" : [
6721        { "kind" : "IdResultType" },
6722        { "kind" : "IdResult" },
6723        { "kind" : "IdRef", "name" : "'Payload'" }
6724      ],
6725      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6726      "version" : "None"
6727    },
6728    {
6729      "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
6730      "class"  : "@exclude",
6731      "opcode" : 5797,
6732      "operands" : [
6733        { "kind" : "IdResultType" },
6734        { "kind" : "IdResult" },
6735        { "kind" : "IdRef", "name" : "'Packed Shape Penalty'" },
6736        { "kind" : "IdRef", "name" : "'Payload'" }
6737      ],
6738      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6739      "version" : "None"
6740    },
6741    {
6742      "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
6743      "class"  : "@exclude",
6744      "opcode" : 5798,
6745      "operands" : [
6746        { "kind" : "IdResultType" },
6747        { "kind" : "IdResult" },
6748        { "kind" : "IdRef", "name" : "'Luma Mode Penalty'" },
6749        { "kind" : "IdRef", "name" : "'Luma Packed Neighbor Modes'" },
6750        { "kind" : "IdRef", "name" : "'Luma Packed Non Dc Penalty'" },
6751        { "kind" : "IdRef", "name" : "'Payload'" }
6752      ],
6753      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6754      "version" : "None"
6755    },
6756    {
6757      "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
6758      "class"  : "@exclude",
6759      "opcode" : 5799,
6760      "operands" : [
6761        { "kind" : "IdResultType" },
6762        { "kind" : "IdResult" },
6763        { "kind" : "IdRef", "name" : "'Chroma Mode Base Penalty'" },
6764        { "kind" : "IdRef", "name" : "'Payload'" }
6765      ],
6766      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6767      "version" : "None"
6768    },
6769    {
6770      "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
6771      "class"  : "@exclude",
6772      "opcode" : 5800,
6773      "operands" : [
6774        { "kind" : "IdResultType" },
6775        { "kind" : "IdResult" },
6776        { "kind" : "IdRef", "name" : "'Payload'" }
6777      ],
6778      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6779      "version" : "None"
6780    },
6781    {
6782      "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
6783      "class"  : "@exclude",
6784      "opcode" : 5801,
6785      "operands" : [
6786        { "kind" : "IdResultType" },
6787        { "kind" : "IdResult" },
6788        { "kind" : "IdRef", "name" : "'Packed Sad Coefficients'" },
6789        { "kind" : "IdRef", "name" : "'Payload'" }
6790      ],
6791      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6792      "version" : "None"
6793    },
6794    {
6795      "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
6796      "class"  : "@exclude",
6797      "opcode" : 5802,
6798      "operands" : [
6799        { "kind" : "IdResultType" },
6800        { "kind" : "IdResult" },
6801        { "kind" : "IdRef", "name" : "'Block Based Skip Type'" },
6802        { "kind" : "IdRef", "name" : "'Payload'" }
6803      ],
6804      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6805      "version" : "None"
6806    },
6807    {
6808      "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL",
6809      "class"  : "@exclude",
6810      "opcode" : 5803,
6811      "operands" : [
6812        { "kind" : "IdResultType" },
6813        { "kind" : "IdResult" },
6814        { "kind" : "IdRef", "name" : "'Src Image'" },
6815        { "kind" : "IdRef", "name" : "'Payload'" }
6816      ],
6817      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6818      "version" : "None"
6819    },
6820    {
6821      "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
6822      "class"  : "@exclude",
6823      "opcode" : 5804,
6824      "operands" : [
6825        { "kind" : "IdResultType" },
6826        { "kind" : "IdResult" },
6827        { "kind" : "IdRef", "name" : "'Src Image'" },
6828        { "kind" : "IdRef", "name" : "'Ref Image'" },
6829        { "kind" : "IdRef", "name" : "'Payload'" }
6830      ],
6831      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6832      "version" : "None"
6833    },
6834    {
6835      "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
6836      "class"  : "@exclude",
6837      "opcode" : 5805,
6838      "operands" : [
6839        { "kind" : "IdResultType" },
6840        { "kind" : "IdResult" },
6841        { "kind" : "IdRef", "name" : "'Src Image'" },
6842        { "kind" : "IdRef", "name" : "'Fwd Ref Image'" },
6843        { "kind" : "IdRef", "name" : "'Bwd Ref Image'" },
6844        { "kind" : "IdRef", "name" : "'Payload'" }
6845      ],
6846      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6847      "version" : "None"
6848    },
6849    {
6850      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
6851      "class"  : "@exclude",
6852      "opcode" : 5806,
6853      "operands" : [
6854        { "kind" : "IdResultType" },
6855        { "kind" : "IdResult" },
6856        { "kind" : "IdRef", "name" : "'Src Image'" },
6857        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6858        { "kind" : "IdRef", "name" : "'Payload'" }
6859      ],
6860      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6861      "version" : "None"
6862    },
6863    {
6864      "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
6865      "class"  : "@exclude",
6866      "opcode" : 5807,
6867      "operands" : [
6868        { "kind" : "IdResultType" },
6869        { "kind" : "IdResult" },
6870        { "kind" : "IdRef", "name" : "'Src Image'" },
6871        { "kind" : "IdRef", "name" : "'Packed Reference Ids'" },
6872        { "kind" : "IdRef", "name" : "'Packed Reference Field Polarities'" },
6873        { "kind" : "IdRef", "name" : "'Payload'" }
6874      ],
6875      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6876      "version" : "None"
6877    },
6878    {
6879      "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL",
6880      "class"  : "@exclude",
6881      "opcode" : 5808,
6882      "operands" : [
6883        { "kind" : "IdResultType" },
6884        { "kind" : "IdResult" },
6885        { "kind" : "IdRef", "name" : "'Payload'" }
6886      ],
6887      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6888      "version" : "None"
6889    },
6890    {
6891      "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
6892      "class"  : "@exclude",
6893      "opcode" : 5809,
6894      "operands" : [
6895        { "kind" : "IdResultType" },
6896        { "kind" : "IdResult" },
6897        { "kind" : "IdRef", "name" : "'Payload'" }
6898      ],
6899      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6900      "version" : "None"
6901    },
6902    {
6903      "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
6904      "class"  : "@exclude",
6905      "opcode" : 5810,
6906      "operands" : [
6907        { "kind" : "IdResultType" },
6908        { "kind" : "IdResult" },
6909        { "kind" : "IdRef", "name" : "'Payload'" }
6910      ],
6911      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6912      "version" : "None"
6913    },
6914    {
6915      "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
6916      "class"  : "@exclude",
6917      "opcode" : 5811,
6918      "operands" : [
6919        { "kind" : "IdResultType" },
6920        { "kind" : "IdResult" },
6921        { "kind" : "IdRef", "name" : "'Payload'" }
6922      ],
6923      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6924      "version" : "None"
6925    },
6926    {
6927      "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
6928      "class"  : "@exclude",
6929      "opcode" : 5812,
6930      "operands" : [
6931        { "kind" : "IdResultType" },
6932        { "kind" : "IdResult" },
6933        { "kind" : "IdRef", "name" : "'Payload'" }
6934      ],
6935      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6936      "version" : "None"
6937    },
6938    {
6939      "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL",
6940      "class"  : "@exclude",
6941      "opcode" : 5813,
6942      "operands" : [
6943        { "kind" : "IdResultType" },
6944        { "kind" : "IdResult" },
6945        { "kind" : "IdRef", "name" : "'Payload'" }
6946      ],
6947      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ],
6948      "version" : "None"
6949    },
6950    {
6951      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
6952      "class"  : "@exclude",
6953      "opcode" : 5814,
6954      "operands" : [
6955        { "kind" : "IdResultType" },
6956        { "kind" : "IdResult" },
6957        { "kind" : "IdRef", "name" : "'Payload'" }
6958      ],
6959      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6960      "version" : "None"
6961    },
6962    {
6963      "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
6964      "class"  : "@exclude",
6965      "opcode" : 5815,
6966      "operands" : [
6967        { "kind" : "IdResultType" },
6968        { "kind" : "IdResult" },
6969        { "kind" : "IdRef", "name" : "'Payload'" }
6970      ],
6971      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ],
6972      "version" : "None"
6973    },
6974    {
6975      "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL",
6976      "class"  : "@exclude",
6977      "opcode" : 5816,
6978      "operands" : [
6979        { "kind" : "IdResultType" },
6980        { "kind" : "IdResult" },
6981        { "kind" : "IdRef", "name" : "'Payload'" }
6982      ],
6983      "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
6984      "version" : "None"
6985    }
6986  ],
6987  "operand_kinds" : [
6988    {
6989      "category" : "BitEnum",
6990      "kind" : "ImageOperands",
6991      "enumerants" : [
6992        {
6993          "enumerant" : "None",
6994          "value" : "0x0000"
6995        },
6996        {
6997          "enumerant" : "Bias",
6998          "value" : "0x0001",
6999          "capabilities" : [ "Shader" ],
7000          "parameters" : [
7001            { "kind" : "IdRef" }
7002          ]
7003        },
7004        {
7005          "enumerant" : "Lod",
7006          "value" : "0x0002",
7007          "parameters" : [
7008            { "kind" : "IdRef" }
7009          ]
7010        },
7011        {
7012          "enumerant" : "Grad",
7013          "value" : "0x0004",
7014          "parameters" : [
7015            { "kind" : "IdRef" },
7016            { "kind" : "IdRef" }
7017          ]
7018        },
7019        {
7020          "enumerant" : "ConstOffset",
7021          "value" : "0x0008",
7022          "parameters" : [
7023            { "kind" : "IdRef" }
7024          ]
7025        },
7026        {
7027          "enumerant" : "Offset",
7028          "value" : "0x0010",
7029          "capabilities" : [ "ImageGatherExtended" ],
7030          "parameters" : [
7031            { "kind" : "IdRef" }
7032          ]
7033        },
7034        {
7035          "enumerant" : "ConstOffsets",
7036          "value" : "0x0020",
7037          "capabilities" : [ "ImageGatherExtended" ],
7038          "parameters" : [
7039            { "kind" : "IdRef" }
7040          ]
7041        },
7042        {
7043          "enumerant" : "Sample",
7044          "value" : "0x0040",
7045          "parameters" : [
7046            { "kind" : "IdRef" }
7047          ]
7048        },
7049        {
7050          "enumerant" : "MinLod",
7051          "value" : "0x0080",
7052          "capabilities" : [ "MinLod" ],
7053          "parameters" : [
7054            { "kind" : "IdRef" }
7055          ]
7056        },
7057        {
7058          "enumerant" : "MakeTexelAvailable",
7059          "value" : "0x0100",
7060          "capabilities" : [ "VulkanMemoryModel" ],
7061          "parameters" : [
7062            { "kind" : "IdScope" }
7063          ],
7064          "version" : "1.5"
7065        },
7066        {
7067          "enumerant" : "MakeTexelAvailableKHR",
7068          "value" : "0x0100",
7069          "capabilities" : [ "VulkanMemoryModel" ],
7070          "parameters" : [
7071            { "kind" : "IdScope" }
7072          ],
7073          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7074          "version" : "1.5"
7075        },
7076        {
7077          "enumerant" : "MakeTexelVisible",
7078          "value" : "0x0200",
7079          "capabilities" : [ "VulkanMemoryModel" ],
7080          "parameters" : [
7081            { "kind" : "IdScope" }
7082          ],
7083          "version" : "1.5"
7084        },
7085        {
7086          "enumerant" : "MakeTexelVisibleKHR",
7087          "value" : "0x0200",
7088          "capabilities" : [ "VulkanMemoryModel" ],
7089          "parameters" : [
7090            { "kind" : "IdScope" }
7091          ],
7092          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7093          "version" : "1.5"
7094        },
7095        {
7096          "enumerant" : "NonPrivateTexel",
7097          "value" : "0x0400",
7098          "capabilities" : [ "VulkanMemoryModel" ],
7099          "version" : "1.5"
7100        },
7101        {
7102          "enumerant" : "NonPrivateTexelKHR",
7103          "value" : "0x0400",
7104          "capabilities" : [ "VulkanMemoryModel" ],
7105          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7106          "version" : "1.5"
7107        },
7108        {
7109          "enumerant" : "VolatileTexel",
7110          "value" : "0x0800",
7111          "capabilities" : [ "VulkanMemoryModel" ],
7112          "version" : "1.5"
7113        },
7114        {
7115          "enumerant" : "VolatileTexelKHR",
7116          "value" : "0x0800",
7117          "capabilities" : [ "VulkanMemoryModel" ],
7118          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7119          "version" : "1.5"
7120        },
7121        {
7122          "enumerant" : "SignExtend",
7123          "value" : "0x1000",
7124          "version" : "1.4"
7125        },
7126        {
7127          "enumerant" : "ZeroExtend",
7128          "value" : "0x2000",
7129          "version" : "1.4"
7130        }
7131      ]
7132    },
7133    {
7134      "category" : "BitEnum",
7135      "kind" : "FPFastMathMode",
7136      "enumerants" : [
7137        {
7138          "enumerant" : "None",
7139          "value" : "0x0000"
7140        },
7141        {
7142          "enumerant" : "NotNaN",
7143          "value" : "0x0001",
7144          "capabilities" : [ "Kernel" ]
7145        },
7146        {
7147          "enumerant" : "NotInf",
7148          "value" : "0x0002",
7149          "capabilities" : [ "Kernel" ]
7150        },
7151        {
7152          "enumerant" : "NSZ",
7153          "value" : "0x0004",
7154          "capabilities" : [ "Kernel" ]
7155        },
7156        {
7157          "enumerant" : "AllowRecip",
7158          "value" : "0x0008",
7159          "capabilities" : [ "Kernel" ]
7160        },
7161        {
7162          "enumerant" : "Fast",
7163          "value" : "0x0010",
7164          "capabilities" : [ "Kernel" ]
7165        }
7166      ]
7167    },
7168    {
7169      "category" : "BitEnum",
7170      "kind" : "SelectionControl",
7171      "enumerants" : [
7172        {
7173          "enumerant" : "None",
7174          "value" : "0x0000"
7175        },
7176        {
7177          "enumerant" : "Flatten",
7178          "value" : "0x0001"
7179        },
7180        {
7181          "enumerant" : "DontFlatten",
7182          "value" : "0x0002"
7183        }
7184      ]
7185    },
7186    {
7187      "category" : "BitEnum",
7188      "kind" : "LoopControl",
7189      "enumerants" : [
7190        {
7191          "enumerant" : "None",
7192          "value" : "0x0000"
7193        },
7194        {
7195          "enumerant" : "Unroll",
7196          "value" : "0x0001"
7197        },
7198        {
7199          "enumerant" : "DontUnroll",
7200          "value" : "0x0002"
7201        },
7202        {
7203          "enumerant" : "DependencyInfinite",
7204          "value" : "0x0004",
7205          "version" : "1.1"
7206        },
7207        {
7208          "enumerant" : "DependencyLength",
7209          "value" : "0x0008",
7210          "parameters" : [
7211            { "kind" : "LiteralInteger" }
7212          ],
7213          "version" : "1.1"
7214        },
7215        {
7216          "enumerant" : "MinIterations",
7217          "value" : "0x0010",
7218          "parameters" : [
7219            { "kind" : "LiteralInteger" }
7220          ],
7221          "version" : "1.4"
7222        },
7223        {
7224          "enumerant" : "MaxIterations",
7225          "value" : "0x0020",
7226          "parameters" : [
7227            { "kind" : "LiteralInteger" }
7228          ],
7229          "version" : "1.4"
7230        },
7231        {
7232          "enumerant" : "IterationMultiple",
7233          "value" : "0x0040",
7234          "parameters" : [
7235            { "kind" : "LiteralInteger" }
7236          ],
7237          "version" : "1.4"
7238        },
7239        {
7240          "enumerant" : "PeelCount",
7241          "value" : "0x0080",
7242          "parameters" : [
7243            { "kind" : "LiteralInteger" }
7244          ],
7245          "version" : "1.4"
7246        },
7247        {
7248          "enumerant" : "PartialCount",
7249          "value" : "0x0100",
7250          "parameters" : [
7251            { "kind" : "LiteralInteger" }
7252          ],
7253          "version" : "1.4"
7254        }
7255      ]
7256    },
7257    {
7258      "category" : "BitEnum",
7259      "kind" : "FunctionControl",
7260      "enumerants" : [
7261        {
7262          "enumerant" : "None",
7263          "value" : "0x0000"
7264        },
7265        {
7266          "enumerant" : "Inline",
7267          "value" : "0x0001"
7268        },
7269        {
7270          "enumerant" : "DontInline",
7271          "value" : "0x0002"
7272        },
7273        {
7274          "enumerant" : "Pure",
7275          "value" : "0x0004"
7276        },
7277        {
7278          "enumerant" : "Const",
7279          "value" : "0x0008"
7280        }
7281      ]
7282    },
7283    {
7284      "category" : "BitEnum",
7285      "kind" : "MemorySemantics",
7286      "enumerants" : [
7287        {
7288          "enumerant" : "Relaxed",
7289          "value" : "0x0000"
7290        },
7291        {
7292          "enumerant" : "None",
7293          "value" : "0x0000"
7294        },
7295        {
7296          "enumerant" : "Acquire",
7297          "value" : "0x0002"
7298        },
7299        {
7300          "enumerant" : "Release",
7301          "value" : "0x0004"
7302        },
7303        {
7304          "enumerant" : "AcquireRelease",
7305          "value" : "0x0008"
7306        },
7307        {
7308          "enumerant" : "SequentiallyConsistent",
7309          "value" : "0x0010"
7310        },
7311        {
7312          "enumerant" : "UniformMemory",
7313          "value" : "0x0040",
7314          "capabilities" : [ "Shader" ]
7315        },
7316        {
7317          "enumerant" : "SubgroupMemory",
7318          "value" : "0x0080"
7319        },
7320        {
7321          "enumerant" : "WorkgroupMemory",
7322          "value" : "0x0100"
7323        },
7324        {
7325          "enumerant" : "CrossWorkgroupMemory",
7326          "value" : "0x0200"
7327        },
7328        {
7329          "enumerant" : "AtomicCounterMemory",
7330          "value" : "0x0400",
7331          "capabilities" : [ "AtomicStorage" ]
7332        },
7333        {
7334          "enumerant" : "ImageMemory",
7335          "value" : "0x0800"
7336        },
7337        {
7338          "enumerant" : "OutputMemory",
7339          "value" : "0x1000",
7340          "capabilities" : [ "VulkanMemoryModel" ],
7341          "version" : "1.5"
7342        },
7343        {
7344          "enumerant" : "OutputMemoryKHR",
7345          "value" : "0x1000",
7346          "capabilities" : [ "VulkanMemoryModel" ],
7347          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7348          "version" : "1.5"
7349        },
7350        {
7351          "enumerant" : "MakeAvailable",
7352          "value" : "0x2000",
7353          "capabilities" : [ "VulkanMemoryModel" ],
7354          "version" : "1.5"
7355        },
7356        {
7357          "enumerant" : "MakeAvailableKHR",
7358          "value" : "0x2000",
7359          "capabilities" : [ "VulkanMemoryModel" ],
7360          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7361          "version" : "1.5"
7362        },
7363        {
7364          "enumerant" : "MakeVisible",
7365          "value" : "0x4000",
7366          "capabilities" : [ "VulkanMemoryModel" ],
7367          "version" : "1.5"
7368        },
7369        {
7370          "enumerant" : "MakeVisibleKHR",
7371          "value" : "0x4000",
7372          "capabilities" : [ "VulkanMemoryModel" ],
7373          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7374          "version" : "1.5"
7375        },
7376        {
7377          "enumerant" : "Volatile",
7378          "value" : "0x8000",
7379          "capabilities" : [ "VulkanMemoryModel" ],
7380          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7381          "version" : "1.5"
7382        }
7383      ]
7384    },
7385    {
7386      "category" : "BitEnum",
7387      "kind" : "MemoryAccess",
7388      "enumerants" : [
7389        {
7390          "enumerant" : "None",
7391          "value" : "0x0000"
7392        },
7393        {
7394          "enumerant" : "Volatile",
7395          "value" : "0x0001"
7396        },
7397        {
7398          "enumerant" : "Aligned",
7399          "value" : "0x0002",
7400          "parameters" : [
7401            { "kind" : "LiteralInteger" }
7402          ]
7403        },
7404        {
7405          "enumerant" : "Nontemporal",
7406          "value" : "0x0004"
7407        },
7408        {
7409          "enumerant" : "MakePointerAvailable",
7410          "value" : "0x0008",
7411          "parameters" : [
7412            { "kind" : "IdScope" }
7413          ],
7414          "capabilities" : [ "VulkanMemoryModel" ],
7415          "version" : "1.5"
7416        },
7417        {
7418          "enumerant" : "MakePointerAvailableKHR",
7419          "value" : "0x0008",
7420          "parameters" : [
7421            { "kind" : "IdScope" }
7422          ],
7423          "capabilities" : [ "VulkanMemoryModel" ],
7424          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7425          "version" : "1.5"
7426        },
7427        {
7428          "enumerant" : "MakePointerVisible",
7429          "value" : "0x0010",
7430          "parameters" : [
7431            { "kind" : "IdScope" }
7432          ],
7433          "capabilities" : [ "VulkanMemoryModel" ],
7434          "version" : "1.5"
7435        },
7436        {
7437          "enumerant" : "MakePointerVisibleKHR",
7438          "value" : "0x0010",
7439          "parameters" : [
7440            { "kind" : "IdScope" }
7441          ],
7442          "capabilities" : [ "VulkanMemoryModel" ],
7443          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7444          "version" : "1.5"
7445        },
7446        {
7447          "enumerant" : "NonPrivatePointer",
7448          "value" : "0x0020",
7449          "capabilities" : [ "VulkanMemoryModel" ],
7450          "version" : "1.5"
7451        },
7452        {
7453          "enumerant" : "NonPrivatePointerKHR",
7454          "value" : "0x0020",
7455          "capabilities" : [ "VulkanMemoryModel" ],
7456          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7457          "version" : "1.5"
7458        }
7459      ]
7460    },
7461    {
7462      "category" : "BitEnum",
7463      "kind" : "KernelProfilingInfo",
7464      "enumerants" : [
7465        {
7466          "enumerant" : "None",
7467          "value" : "0x0000"
7468        },
7469        {
7470          "enumerant" : "CmdExecTime",
7471          "value" : "0x0001",
7472          "capabilities" : [ "Kernel" ]
7473        }
7474      ]
7475    },
7476    {
7477      "category" : "BitEnum",
7478      "kind" : "RayFlags",
7479      "enumerants" : [
7480        {
7481          "enumerant" : "NoneKHR",
7482          "value" : "0x0000",
7483          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7484        },
7485        {
7486          "enumerant" : "OpaqueKHR",
7487          "value" : "0x0001",
7488          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7489        },
7490        {
7491          "enumerant" : "NoOpaqueKHR",
7492          "value" : "0x0002",
7493          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7494        },
7495        {
7496          "enumerant" : "TerminateOnFirstHitKHR",
7497          "value" : "0x0004",
7498          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7499        },
7500        {
7501          "enumerant" : "SkipClosestHitShaderKHR",
7502          "value" : "0x0008",
7503          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7504        },
7505        {
7506          "enumerant" : "CullBackFacingTrianglesKHR",
7507          "value" : "0x0010",
7508          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7509        },
7510        {
7511          "enumerant" : "CullFrontFacingTrianglesKHR",
7512          "value" : "0x0020",
7513          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7514        },
7515        {
7516          "enumerant" : "CullOpaqueKHR",
7517          "value" : "0x0040",
7518          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7519        },
7520        {
7521          "enumerant" : "CullNoOpaqueKHR",
7522          "value" : "0x0080",
7523          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ]
7524        },
7525        {
7526          "enumerant" : "SkipTrianglesKHR",
7527          "value" : "0x0100",
7528          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
7529        },
7530        {
7531          "enumerant" : "SkipAABBsKHR",
7532          "value" : "0x0200",
7533          "capabilities" : [ "RayTraversalPrimitiveCullingProvisionalKHR" ]
7534        }
7535      ]
7536    },
7537    {
7538      "category" : "ValueEnum",
7539      "kind" : "SourceLanguage",
7540      "enumerants" : [
7541        {
7542          "enumerant" : "Unknown",
7543          "value" : 0
7544        },
7545        {
7546          "enumerant" : "ESSL",
7547          "value" : 1
7548        },
7549        {
7550          "enumerant" : "GLSL",
7551          "value" : 2
7552        },
7553        {
7554          "enumerant" : "OpenCL_C",
7555          "value" : 3
7556        },
7557        {
7558          "enumerant" : "OpenCL_CPP",
7559          "value" : 4
7560        },
7561        {
7562          "enumerant" : "HLSL",
7563          "value" : 5
7564        }
7565      ]
7566    },
7567    {
7568      "category" : "ValueEnum",
7569      "kind" : "ExecutionModel",
7570      "enumerants" : [
7571        {
7572          "enumerant" : "Vertex",
7573          "value" : 0,
7574          "capabilities" : [ "Shader" ]
7575        },
7576        {
7577          "enumerant" : "TessellationControl",
7578          "value" : 1,
7579          "capabilities" : [ "Tessellation" ]
7580        },
7581        {
7582          "enumerant" : "TessellationEvaluation",
7583          "value" : 2,
7584          "capabilities" : [ "Tessellation" ]
7585        },
7586        {
7587          "enumerant" : "Geometry",
7588          "value" : 3,
7589          "capabilities" : [ "Geometry" ]
7590        },
7591        {
7592          "enumerant" : "Fragment",
7593          "value" : 4,
7594          "capabilities" : [ "Shader" ]
7595        },
7596        {
7597          "enumerant" : "GLCompute",
7598          "value" : 5,
7599          "capabilities" : [ "Shader" ]
7600        },
7601        {
7602          "enumerant" : "Kernel",
7603          "value" : 6,
7604          "capabilities" : [ "Kernel" ]
7605        },
7606        {
7607          "enumerant" : "TaskNV",
7608          "value" : 5267,
7609          "capabilities" : [ "MeshShadingNV" ],
7610          "version" : "None"
7611        },
7612        {
7613          "enumerant" : "MeshNV",
7614          "value" : 5268,
7615          "capabilities" : [ "MeshShadingNV" ],
7616          "version" : "None"
7617        },
7618        {
7619          "enumerant" : "RayGenerationNV",
7620          "value" : 5313,
7621          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7622          "version" : "None"
7623        },
7624        {
7625          "enumerant" : "RayGenerationKHR",
7626          "value" : 5313,
7627          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7628          "version" : "None"
7629        },
7630        {
7631          "enumerant" : "IntersectionNV",
7632          "value" : 5314,
7633          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7634          "version" : "None"
7635        },
7636        {
7637          "enumerant" : "IntersectionKHR",
7638          "value" : 5314,
7639          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7640          "version" : "None"
7641        },
7642        {
7643          "enumerant" : "AnyHitNV",
7644          "value" : 5315,
7645          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7646          "version" : "None"
7647        },
7648        {
7649          "enumerant" : "AnyHitKHR",
7650          "value" : 5315,
7651          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7652          "version" : "None"
7653        },
7654        {
7655          "enumerant" : "ClosestHitNV",
7656          "value" : 5316,
7657          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7658          "version" : "None"
7659        },
7660        {
7661          "enumerant" : "ClosestHitKHR",
7662          "value" : 5316,
7663          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7664          "version" : "None"
7665        },
7666        {
7667          "enumerant" : "MissNV",
7668          "value" : 5317,
7669          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7670          "version" : "None"
7671        },
7672        {
7673          "enumerant" : "MissKHR",
7674          "value" : 5317,
7675          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7676          "version" : "None"
7677        },
7678        {
7679          "enumerant" : "CallableNV",
7680          "value" : 5318,
7681          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7682          "version" : "None"
7683        },
7684        {
7685          "enumerant" : "CallableKHR",
7686          "value" : 5318,
7687          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
7688          "version" : "None"
7689        }
7690      ]
7691    },
7692    {
7693      "category" : "ValueEnum",
7694      "kind" : "AddressingModel",
7695      "enumerants" : [
7696        {
7697          "enumerant" : "Logical",
7698          "value" : 0
7699        },
7700        {
7701          "enumerant" : "Physical32",
7702          "value" : 1,
7703          "capabilities" : [ "Addresses" ]
7704        },
7705        {
7706          "enumerant" : "Physical64",
7707          "value" : 2,
7708          "capabilities" : [ "Addresses" ]
7709        },
7710        {
7711          "enumerant" : "PhysicalStorageBuffer64",
7712          "value" : 5348,
7713          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
7714          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7715          "version" : "1.5"
7716        },
7717        {
7718          "enumerant" : "PhysicalStorageBuffer64EXT",
7719          "value" : 5348,
7720          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
7721          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
7722          "version" : "1.5"
7723        }
7724      ]
7725    },
7726    {
7727      "category" : "ValueEnum",
7728      "kind" : "MemoryModel",
7729      "enumerants" : [
7730        {
7731          "enumerant" : "Simple",
7732          "value" : 0,
7733          "capabilities" : [ "Shader" ]
7734        },
7735        {
7736          "enumerant" : "GLSL450",
7737          "value" : 1,
7738          "capabilities" : [ "Shader" ]
7739        },
7740        {
7741          "enumerant" : "OpenCL",
7742          "value" : 2,
7743          "capabilities" : [ "Kernel" ]
7744        },
7745        {
7746          "enumerant" : "Vulkan",
7747          "value" : 3,
7748          "capabilities" : [ "VulkanMemoryModel" ],
7749          "version" : "1.5"
7750        },
7751        {
7752          "enumerant" : "VulkanKHR",
7753          "value" : 3,
7754          "capabilities" : [ "VulkanMemoryModel" ],
7755          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
7756          "version" : "1.5"
7757        }
7758      ]
7759    },
7760    {
7761      "category" : "ValueEnum",
7762      "kind" : "ExecutionMode",
7763      "enumerants" : [
7764        {
7765          "enumerant" : "Invocations",
7766          "value" : 0,
7767          "capabilities" : [ "Geometry" ],
7768          "parameters" : [
7769            { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
7770          ]
7771        },
7772        {
7773          "enumerant" : "SpacingEqual",
7774          "value" : 1,
7775          "capabilities" : [ "Tessellation" ]
7776        },
7777        {
7778          "enumerant" : "SpacingFractionalEven",
7779          "value" : 2,
7780          "capabilities" : [ "Tessellation" ]
7781        },
7782        {
7783          "enumerant" : "SpacingFractionalOdd",
7784          "value" : 3,
7785          "capabilities" : [ "Tessellation" ]
7786        },
7787        {
7788          "enumerant" : "VertexOrderCw",
7789          "value" : 4,
7790          "capabilities" : [ "Tessellation" ]
7791        },
7792        {
7793          "enumerant" : "VertexOrderCcw",
7794          "value" : 5,
7795          "capabilities" : [ "Tessellation" ]
7796        },
7797        {
7798          "enumerant" : "PixelCenterInteger",
7799          "value" : 6,
7800          "capabilities" : [ "Shader" ]
7801        },
7802        {
7803          "enumerant" : "OriginUpperLeft",
7804          "value" : 7,
7805          "capabilities" : [ "Shader" ]
7806        },
7807        {
7808          "enumerant" : "OriginLowerLeft",
7809          "value" : 8,
7810          "capabilities" : [ "Shader" ]
7811        },
7812        {
7813          "enumerant" : "EarlyFragmentTests",
7814          "value" : 9,
7815          "capabilities" : [ "Shader" ]
7816        },
7817        {
7818          "enumerant" : "PointMode",
7819          "value" : 10,
7820          "capabilities" : [ "Tessellation" ]
7821        },
7822        {
7823          "enumerant" : "Xfb",
7824          "value" : 11,
7825          "capabilities" : [ "TransformFeedback" ]
7826        },
7827        {
7828          "enumerant" : "DepthReplacing",
7829          "value" : 12,
7830          "capabilities" : [ "Shader" ]
7831        },
7832        {
7833          "enumerant" : "DepthGreater",
7834          "value" : 14,
7835          "capabilities" : [ "Shader" ]
7836        },
7837        {
7838          "enumerant" : "DepthLess",
7839          "value" : 15,
7840          "capabilities" : [ "Shader" ]
7841        },
7842        {
7843          "enumerant" : "DepthUnchanged",
7844          "value" : 16,
7845          "capabilities" : [ "Shader" ]
7846        },
7847        {
7848          "enumerant" : "LocalSize",
7849          "value" : 17,
7850          "parameters" : [
7851            { "kind" : "LiteralInteger", "name" : "'x size'" },
7852            { "kind" : "LiteralInteger", "name" : "'y size'" },
7853            { "kind" : "LiteralInteger", "name" : "'z size'" }
7854          ]
7855        },
7856        {
7857          "enumerant" : "LocalSizeHint",
7858          "value" : 18,
7859          "capabilities" : [ "Kernel" ],
7860          "parameters" : [
7861            { "kind" : "LiteralInteger", "name" : "'x size'" },
7862            { "kind" : "LiteralInteger", "name" : "'y size'" },
7863            { "kind" : "LiteralInteger", "name" : "'z size'" }
7864          ]
7865        },
7866        {
7867          "enumerant" : "InputPoints",
7868          "value" : 19,
7869          "capabilities" : [ "Geometry" ]
7870        },
7871        {
7872          "enumerant" : "InputLines",
7873          "value" : 20,
7874          "capabilities" : [ "Geometry" ]
7875        },
7876        {
7877          "enumerant" : "InputLinesAdjacency",
7878          "value" : 21,
7879          "capabilities" : [ "Geometry" ]
7880        },
7881        {
7882          "enumerant" : "Triangles",
7883          "value" : 22,
7884          "capabilities" : [ "Geometry", "Tessellation" ]
7885        },
7886        {
7887          "enumerant" : "InputTrianglesAdjacency",
7888          "value" : 23,
7889          "capabilities" : [ "Geometry" ]
7890        },
7891        {
7892          "enumerant" : "Quads",
7893          "value" : 24,
7894          "capabilities" : [ "Tessellation" ]
7895        },
7896        {
7897          "enumerant" : "Isolines",
7898          "value" : 25,
7899          "capabilities" : [ "Tessellation" ]
7900        },
7901        {
7902          "enumerant" : "OutputVertices",
7903          "value" : 26,
7904          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
7905          "parameters" : [
7906            { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
7907          ]
7908        },
7909        {
7910          "enumerant" : "OutputPoints",
7911          "value" : 27,
7912          "capabilities" : [ "Geometry", "MeshShadingNV" ]
7913        },
7914        {
7915          "enumerant" : "OutputLineStrip",
7916          "value" : 28,
7917          "capabilities" : [ "Geometry" ]
7918        },
7919        {
7920          "enumerant" : "OutputTriangleStrip",
7921          "value" : 29,
7922          "capabilities" : [ "Geometry" ]
7923        },
7924        {
7925          "enumerant" : "VecTypeHint",
7926          "value" : 30,
7927          "capabilities" : [ "Kernel" ],
7928          "parameters" : [
7929            { "kind" : "LiteralInteger", "name" : "'Vector type'" }
7930          ]
7931        },
7932        {
7933          "enumerant" : "ContractionOff",
7934          "value" : 31,
7935          "capabilities" : [ "Kernel" ]
7936        },
7937        {
7938          "enumerant" : "Initializer",
7939          "value" : 33,
7940          "capabilities" : [ "Kernel" ],
7941          "version" : "1.1"
7942        },
7943        {
7944          "enumerant" : "Finalizer",
7945          "value" : 34,
7946          "capabilities" : [ "Kernel" ],
7947          "version" : "1.1"
7948        },
7949        {
7950          "enumerant" : "SubgroupSize",
7951          "value" : 35,
7952          "capabilities" : [ "SubgroupDispatch" ],
7953          "parameters" : [
7954            { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
7955          ],
7956          "version" : "1.1"
7957        },
7958        {
7959          "enumerant" : "SubgroupsPerWorkgroup",
7960          "value" : 36,
7961          "capabilities" : [ "SubgroupDispatch" ],
7962          "parameters" : [
7963            { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
7964          ],
7965          "version" : "1.1"
7966        },
7967        {
7968          "enumerant" : "SubgroupsPerWorkgroupId",
7969          "value" : 37,
7970          "capabilities" : [ "SubgroupDispatch" ],
7971          "parameters" : [
7972            { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
7973          ],
7974          "version" : "1.2"
7975        },
7976        {
7977          "enumerant" : "LocalSizeId",
7978          "value" : 38,
7979          "parameters" : [
7980            { "kind" : "IdRef", "name" : "'x size'" },
7981            { "kind" : "IdRef", "name" : "'y size'" },
7982            { "kind" : "IdRef", "name" : "'z size'" }
7983          ],
7984          "version" : "1.2"
7985        },
7986        {
7987          "enumerant" : "LocalSizeHintId",
7988          "value" : 39,
7989          "capabilities" : [ "Kernel" ],
7990          "parameters" : [
7991            { "kind" : "IdRef", "name" : "'Local Size Hint'" }
7992          ],
7993          "version" : "1.2"
7994        },
7995        {
7996          "enumerant" : "PostDepthCoverage",
7997          "value" : 4446,
7998          "capabilities" : [ "SampleMaskPostDepthCoverage" ],
7999          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
8000          "version" : "None"
8001        },
8002        {
8003          "enumerant" : "DenormPreserve",
8004          "value" : 4459,
8005          "capabilities" : [ "DenormPreserve" ],
8006          "extensions" : [ "SPV_KHR_float_controls" ],
8007          "parameters" : [
8008            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8009          ],
8010          "version" : "1.4"
8011        },
8012        {
8013          "enumerant" : "DenormFlushToZero",
8014          "value" : 4460,
8015          "capabilities" : [ "DenormFlushToZero" ],
8016          "extensions" : [ "SPV_KHR_float_controls" ],
8017          "parameters" : [
8018            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8019          ],
8020          "version" : "1.4"
8021        },
8022        {
8023          "enumerant" : "SignedZeroInfNanPreserve",
8024          "value" : 4461,
8025          "capabilities" : [ "SignedZeroInfNanPreserve" ],
8026          "extensions" : [ "SPV_KHR_float_controls" ],
8027          "parameters" : [
8028            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8029          ],
8030          "version" : "1.4"
8031        },
8032        {
8033          "enumerant" : "RoundingModeRTE",
8034          "value" : 4462,
8035          "capabilities" : [ "RoundingModeRTE" ],
8036          "extensions" : [ "SPV_KHR_float_controls" ],
8037          "parameters" : [
8038            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8039          ],
8040          "version" : "1.4"
8041        },
8042        {
8043          "enumerant" : "RoundingModeRTZ",
8044          "value" : 4463,
8045          "capabilities" : [ "RoundingModeRTZ" ],
8046          "extensions" : [ "SPV_KHR_float_controls" ],
8047          "parameters" : [
8048            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
8049          ],
8050          "version" : "1.4"
8051        },
8052        {
8053          "enumerant" : "StencilRefReplacingEXT",
8054          "value" : 5027,
8055          "capabilities" : [ "StencilExportEXT" ],
8056          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
8057          "version" : "None"
8058        },
8059        {
8060          "enumerant" : "OutputLinesNV",
8061          "value" : 5269,
8062          "capabilities" : [ "MeshShadingNV" ],
8063          "extensions" : [ "SPV_NV_mesh_shader" ],
8064          "version" : "None"
8065        },
8066        {
8067          "enumerant" : "OutputPrimitivesNV",
8068          "value" : 5270,
8069          "capabilities" : [ "MeshShadingNV" ],
8070          "parameters" : [
8071            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
8072          ],
8073          "extensions" : [ "SPV_NV_mesh_shader" ],
8074          "version" : "None"
8075        },
8076        {
8077          "enumerant" : "DerivativeGroupQuadsNV",
8078          "value" : 5289,
8079          "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
8080          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8081          "version" : "None"
8082        },
8083        {
8084          "enumerant" : "DerivativeGroupLinearNV",
8085          "value" : 5290,
8086          "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
8087          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
8088          "version" : "None"
8089        },
8090        {
8091          "enumerant" : "OutputTrianglesNV",
8092          "value" : 5298,
8093          "capabilities" : [ "MeshShadingNV" ],
8094          "extensions" : [ "SPV_NV_mesh_shader" ],
8095          "version" : "None"
8096        },
8097        {
8098          "enumerant" : "PixelInterlockOrderedEXT",
8099          "value" : 5366,
8100          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8101          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8102          "version" : "None"
8103        },
8104        {
8105          "enumerant" : "PixelInterlockUnorderedEXT",
8106          "value" : 5367,
8107          "capabilities" : [ "FragmentShaderPixelInterlockEXT" ],
8108          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8109          "version" : "None"
8110        },
8111        {
8112          "enumerant" : "SampleInterlockOrderedEXT",
8113          "value" : 5368,
8114          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8115          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8116          "version" : "None"
8117        },
8118        {
8119          "enumerant" : "SampleInterlockUnorderedEXT",
8120          "value" : 5369,
8121          "capabilities" : [ "FragmentShaderSampleInterlockEXT" ],
8122          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8123          "version" : "None"
8124        },
8125        {
8126          "enumerant" : "ShadingRateInterlockOrderedEXT",
8127          "value" : 5370,
8128          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8129          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8130          "version" : "None"
8131        },
8132        {
8133          "enumerant" : "ShadingRateInterlockUnorderedEXT",
8134          "value" : 5371,
8135          "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ],
8136          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
8137          "version" : "None"
8138        }
8139      ]
8140    },
8141    {
8142      "category" : "ValueEnum",
8143      "kind" : "StorageClass",
8144      "enumerants" : [
8145        {
8146          "enumerant" : "UniformConstant",
8147          "value" : 0
8148        },
8149        {
8150          "enumerant" : "Input",
8151          "value" : 1
8152        },
8153        {
8154          "enumerant" : "Uniform",
8155          "value" : 2,
8156          "capabilities" : [ "Shader" ]
8157        },
8158        {
8159          "enumerant" : "Output",
8160          "value" : 3,
8161          "capabilities" : [ "Shader" ]
8162        },
8163        {
8164          "enumerant" : "Workgroup",
8165          "value" : 4
8166        },
8167        {
8168          "enumerant" : "CrossWorkgroup",
8169          "value" : 5
8170        },
8171        {
8172          "enumerant" : "Private",
8173          "value" : 6,
8174          "capabilities" : [ "Shader" ]
8175        },
8176        {
8177          "enumerant" : "Function",
8178          "value" : 7
8179        },
8180        {
8181          "enumerant" : "Generic",
8182          "value" : 8,
8183          "capabilities" : [ "GenericPointer" ]
8184        },
8185        {
8186          "enumerant" : "PushConstant",
8187          "value" : 9,
8188          "capabilities" : [ "Shader" ]
8189        },
8190        {
8191          "enumerant" : "AtomicCounter",
8192          "value" : 10,
8193          "capabilities" : [ "AtomicStorage" ]
8194        },
8195        {
8196          "enumerant" : "Image",
8197          "value" : 11
8198        },
8199        {
8200          "enumerant" : "StorageBuffer",
8201          "value" : 12,
8202          "extensions" : [
8203            "SPV_KHR_storage_buffer_storage_class",
8204            "SPV_KHR_variable_pointers"
8205          ],
8206          "capabilities" : [ "Shader" ],
8207          "version" : "1.3"
8208        },
8209        {
8210          "enumerant" : "CallableDataNV",
8211          "value" : 5328,
8212          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8213          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8214          "version" : "None"
8215        },
8216        {
8217          "enumerant" : "CallableDataKHR",
8218          "value" : 5328,
8219          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8220          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8221          "version" : "None"
8222        },
8223        {
8224          "enumerant" : "IncomingCallableDataNV",
8225          "value" : 5329,
8226          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8227          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8228          "version" : "None"
8229        },
8230        {
8231          "enumerant" : "IncomingCallableDataKHR",
8232          "value" : 5329,
8233          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8234          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8235          "version" : "None"
8236        },
8237        {
8238          "enumerant" : "RayPayloadNV",
8239          "value" : 5338,
8240          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8241          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8242          "version" : "None"
8243        },
8244        {
8245          "enumerant" : "RayPayloadKHR",
8246          "value" : 5338,
8247          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8248          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8249          "version" : "None"
8250        },
8251        {
8252          "enumerant" : "HitAttributeNV",
8253          "value" : 5339,
8254          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8255          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8256          "version" : "None"
8257        },
8258        {
8259          "enumerant" : "HitAttributeKHR",
8260          "value" : 5339,
8261          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8262          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8263          "version" : "None"
8264        },
8265        {
8266          "enumerant" : "IncomingRayPayloadNV",
8267          "value" : 5342,
8268          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8269          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8270          "version" : "None"
8271        },
8272        {
8273          "enumerant" : "IncomingRayPayloadKHR",
8274          "value" : 5342,
8275          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8276          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8277          "version" : "None"
8278        },
8279        {
8280          "enumerant" : "ShaderRecordBufferNV",
8281          "value" : 5343,
8282          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8283          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8284          "version" : "None"
8285        },
8286        {
8287          "enumerant" : "ShaderRecordBufferKHR",
8288          "value" : 5343,
8289          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
8290          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
8291          "version" : "None"
8292        },
8293        {
8294          "enumerant" : "PhysicalStorageBuffer",
8295          "value" : 5349,
8296          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
8297          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8298          "version" : "1.5"
8299        },
8300        {
8301          "enumerant" : "PhysicalStorageBufferEXT",
8302          "value" : 5349,
8303          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
8304          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
8305          "version" : "1.5"
8306        }
8307      ]
8308    },
8309    {
8310      "category" : "ValueEnum",
8311      "kind" : "Dim",
8312      "enumerants" : [
8313        {
8314          "enumerant" : "1D",
8315          "value" : 0,
8316          "capabilities" : [ "Sampled1D", "Image1D" ]
8317        },
8318        {
8319          "enumerant" : "2D",
8320          "value" : 1,
8321          "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
8322        },
8323        {
8324          "enumerant" : "3D",
8325          "value" : 2
8326        },
8327        {
8328          "enumerant" : "Cube",
8329          "value" : 3,
8330          "capabilities" : [ "Shader", "ImageCubeArray" ]
8331        },
8332        {
8333          "enumerant" : "Rect",
8334          "value" : 4,
8335          "capabilities" : [ "SampledRect", "ImageRect" ]
8336        },
8337        {
8338          "enumerant" : "Buffer",
8339          "value" : 5,
8340          "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
8341        },
8342        {
8343          "enumerant" : "SubpassData",
8344          "value" : 6,
8345          "capabilities" : [ "InputAttachment" ]
8346        }
8347      ]
8348    },
8349    {
8350      "category" : "ValueEnum",
8351      "kind" : "SamplerAddressingMode",
8352      "enumerants" : [
8353        {
8354          "enumerant" : "None",
8355          "value" : 0,
8356          "capabilities" : [ "Kernel" ]
8357        },
8358        {
8359          "enumerant" : "ClampToEdge",
8360          "value" : 1,
8361          "capabilities" : [ "Kernel" ]
8362        },
8363        {
8364          "enumerant" : "Clamp",
8365          "value" : 2,
8366          "capabilities" : [ "Kernel" ]
8367        },
8368        {
8369          "enumerant" : "Repeat",
8370          "value" : 3,
8371          "capabilities" : [ "Kernel" ]
8372        },
8373        {
8374          "enumerant" : "RepeatMirrored",
8375          "value" : 4,
8376          "capabilities" : [ "Kernel" ]
8377        }
8378      ]
8379    },
8380    {
8381      "category" : "ValueEnum",
8382      "kind" : "SamplerFilterMode",
8383      "enumerants" : [
8384        {
8385          "enumerant" : "Nearest",
8386          "value" : 0,
8387          "capabilities" : [ "Kernel" ]
8388        },
8389        {
8390          "enumerant" : "Linear",
8391          "value" : 1,
8392          "capabilities" : [ "Kernel" ]
8393        }
8394      ]
8395    },
8396    {
8397      "category" : "ValueEnum",
8398      "kind" : "ImageFormat",
8399      "enumerants" : [
8400        {
8401          "enumerant" : "Unknown",
8402          "value" : 0
8403        },
8404        {
8405          "enumerant" : "Rgba32f",
8406          "value" : 1,
8407          "capabilities" : [ "Shader" ]
8408        },
8409        {
8410          "enumerant" : "Rgba16f",
8411          "value" : 2,
8412          "capabilities" : [ "Shader" ]
8413        },
8414        {
8415          "enumerant" : "R32f",
8416          "value" : 3,
8417          "capabilities" : [ "Shader" ]
8418        },
8419        {
8420          "enumerant" : "Rgba8",
8421          "value" : 4,
8422          "capabilities" : [ "Shader" ]
8423        },
8424        {
8425          "enumerant" : "Rgba8Snorm",
8426          "value" : 5,
8427          "capabilities" : [ "Shader" ]
8428        },
8429        {
8430          "enumerant" : "Rg32f",
8431          "value" : 6,
8432          "capabilities" : [ "StorageImageExtendedFormats" ]
8433        },
8434        {
8435          "enumerant" : "Rg16f",
8436          "value" : 7,
8437          "capabilities" : [ "StorageImageExtendedFormats" ]
8438        },
8439        {
8440          "enumerant" : "R11fG11fB10f",
8441          "value" : 8,
8442          "capabilities" : [ "StorageImageExtendedFormats" ]
8443        },
8444        {
8445          "enumerant" : "R16f",
8446          "value" : 9,
8447          "capabilities" : [ "StorageImageExtendedFormats" ]
8448        },
8449        {
8450          "enumerant" : "Rgba16",
8451          "value" : 10,
8452          "capabilities" : [ "StorageImageExtendedFormats" ]
8453        },
8454        {
8455          "enumerant" : "Rgb10A2",
8456          "value" : 11,
8457          "capabilities" : [ "StorageImageExtendedFormats" ]
8458        },
8459        {
8460          "enumerant" : "Rg16",
8461          "value" : 12,
8462          "capabilities" : [ "StorageImageExtendedFormats" ]
8463        },
8464        {
8465          "enumerant" : "Rg8",
8466          "value" : 13,
8467          "capabilities" : [ "StorageImageExtendedFormats" ]
8468        },
8469        {
8470          "enumerant" : "R16",
8471          "value" : 14,
8472          "capabilities" : [ "StorageImageExtendedFormats" ]
8473        },
8474        {
8475          "enumerant" : "R8",
8476          "value" : 15,
8477          "capabilities" : [ "StorageImageExtendedFormats" ]
8478        },
8479        {
8480          "enumerant" : "Rgba16Snorm",
8481          "value" : 16,
8482          "capabilities" : [ "StorageImageExtendedFormats" ]
8483        },
8484        {
8485          "enumerant" : "Rg16Snorm",
8486          "value" : 17,
8487          "capabilities" : [ "StorageImageExtendedFormats" ]
8488        },
8489        {
8490          "enumerant" : "Rg8Snorm",
8491          "value" : 18,
8492          "capabilities" : [ "StorageImageExtendedFormats" ]
8493        },
8494        {
8495          "enumerant" : "R16Snorm",
8496          "value" : 19,
8497          "capabilities" : [ "StorageImageExtendedFormats" ]
8498        },
8499        {
8500          "enumerant" : "R8Snorm",
8501          "value" : 20,
8502          "capabilities" : [ "StorageImageExtendedFormats" ]
8503        },
8504        {
8505          "enumerant" : "Rgba32i",
8506          "value" : 21,
8507          "capabilities" : [ "Shader" ]
8508        },
8509        {
8510          "enumerant" : "Rgba16i",
8511          "value" : 22,
8512          "capabilities" : [ "Shader" ]
8513        },
8514        {
8515          "enumerant" : "Rgba8i",
8516          "value" : 23,
8517          "capabilities" : [ "Shader" ]
8518        },
8519        {
8520          "enumerant" : "R32i",
8521          "value" : 24,
8522          "capabilities" : [ "Shader" ]
8523        },
8524        {
8525          "enumerant" : "Rg32i",
8526          "value" : 25,
8527          "capabilities" : [ "StorageImageExtendedFormats" ]
8528        },
8529        {
8530          "enumerant" : "Rg16i",
8531          "value" : 26,
8532          "capabilities" : [ "StorageImageExtendedFormats" ]
8533        },
8534        {
8535          "enumerant" : "Rg8i",
8536          "value" : 27,
8537          "capabilities" : [ "StorageImageExtendedFormats" ]
8538        },
8539        {
8540          "enumerant" : "R16i",
8541          "value" : 28,
8542          "capabilities" : [ "StorageImageExtendedFormats" ]
8543        },
8544        {
8545          "enumerant" : "R8i",
8546          "value" : 29,
8547          "capabilities" : [ "StorageImageExtendedFormats" ]
8548        },
8549        {
8550          "enumerant" : "Rgba32ui",
8551          "value" : 30,
8552          "capabilities" : [ "Shader" ]
8553        },
8554        {
8555          "enumerant" : "Rgba16ui",
8556          "value" : 31,
8557          "capabilities" : [ "Shader" ]
8558        },
8559        {
8560          "enumerant" : "Rgba8ui",
8561          "value" : 32,
8562          "capabilities" : [ "Shader" ]
8563        },
8564        {
8565          "enumerant" : "R32ui",
8566          "value" : 33,
8567          "capabilities" : [ "Shader" ]
8568        },
8569        {
8570          "enumerant" : "Rgb10a2ui",
8571          "value" : 34,
8572          "capabilities" : [ "StorageImageExtendedFormats" ]
8573        },
8574        {
8575          "enumerant" : "Rg32ui",
8576          "value" : 35,
8577          "capabilities" : [ "StorageImageExtendedFormats" ]
8578        },
8579        {
8580          "enumerant" : "Rg16ui",
8581          "value" : 36,
8582          "capabilities" : [ "StorageImageExtendedFormats" ]
8583        },
8584        {
8585          "enumerant" : "Rg8ui",
8586          "value" : 37,
8587          "capabilities" : [ "StorageImageExtendedFormats" ]
8588        },
8589        {
8590          "enumerant" : "R16ui",
8591          "value" : 38,
8592          "capabilities" : [ "StorageImageExtendedFormats" ]
8593        },
8594        {
8595          "enumerant" : "R8ui",
8596          "value" : 39,
8597          "capabilities" : [ "StorageImageExtendedFormats" ]
8598        }
8599      ]
8600    },
8601    {
8602      "category" : "ValueEnum",
8603      "kind" : "ImageChannelOrder",
8604      "enumerants" : [
8605        {
8606          "enumerant" : "R",
8607          "value" : 0,
8608          "capabilities" : [ "Kernel" ]
8609        },
8610        {
8611          "enumerant" : "A",
8612          "value" : 1,
8613          "capabilities" : [ "Kernel" ]
8614        },
8615        {
8616          "enumerant" : "RG",
8617          "value" : 2,
8618          "capabilities" : [ "Kernel" ]
8619        },
8620        {
8621          "enumerant" : "RA",
8622          "value" : 3,
8623          "capabilities" : [ "Kernel" ]
8624        },
8625        {
8626          "enumerant" : "RGB",
8627          "value" : 4,
8628          "capabilities" : [ "Kernel" ]
8629        },
8630        {
8631          "enumerant" : "RGBA",
8632          "value" : 5,
8633          "capabilities" : [ "Kernel" ]
8634        },
8635        {
8636          "enumerant" : "BGRA",
8637          "value" : 6,
8638          "capabilities" : [ "Kernel" ]
8639        },
8640        {
8641          "enumerant" : "ARGB",
8642          "value" : 7,
8643          "capabilities" : [ "Kernel" ]
8644        },
8645        {
8646          "enumerant" : "Intensity",
8647          "value" : 8,
8648          "capabilities" : [ "Kernel" ]
8649        },
8650        {
8651          "enumerant" : "Luminance",
8652          "value" : 9,
8653          "capabilities" : [ "Kernel" ]
8654        },
8655        {
8656          "enumerant" : "Rx",
8657          "value" : 10,
8658          "capabilities" : [ "Kernel" ]
8659        },
8660        {
8661          "enumerant" : "RGx",
8662          "value" : 11,
8663          "capabilities" : [ "Kernel" ]
8664        },
8665        {
8666          "enumerant" : "RGBx",
8667          "value" : 12,
8668          "capabilities" : [ "Kernel" ]
8669        },
8670        {
8671          "enumerant" : "Depth",
8672          "value" : 13,
8673          "capabilities" : [ "Kernel" ]
8674        },
8675        {
8676          "enumerant" : "DepthStencil",
8677          "value" : 14,
8678          "capabilities" : [ "Kernel" ]
8679        },
8680        {
8681          "enumerant" : "sRGB",
8682          "value" : 15,
8683          "capabilities" : [ "Kernel" ]
8684        },
8685        {
8686          "enumerant" : "sRGBx",
8687          "value" : 16,
8688          "capabilities" : [ "Kernel" ]
8689        },
8690        {
8691          "enumerant" : "sRGBA",
8692          "value" : 17,
8693          "capabilities" : [ "Kernel" ]
8694        },
8695        {
8696          "enumerant" : "sBGRA",
8697          "value" : 18,
8698          "capabilities" : [ "Kernel" ]
8699        },
8700        {
8701          "enumerant" : "ABGR",
8702          "value" : 19,
8703          "capabilities" : [ "Kernel" ]
8704        }
8705      ]
8706    },
8707    {
8708      "category" : "ValueEnum",
8709      "kind" : "ImageChannelDataType",
8710      "enumerants" : [
8711        {
8712          "enumerant" : "SnormInt8",
8713          "value" : 0,
8714          "capabilities" : [ "Kernel" ]
8715        },
8716        {
8717          "enumerant" : "SnormInt16",
8718          "value" : 1,
8719          "capabilities" : [ "Kernel" ]
8720        },
8721        {
8722          "enumerant" : "UnormInt8",
8723          "value" : 2,
8724          "capabilities" : [ "Kernel" ]
8725        },
8726        {
8727          "enumerant" : "UnormInt16",
8728          "value" : 3,
8729          "capabilities" : [ "Kernel" ]
8730        },
8731        {
8732          "enumerant" : "UnormShort565",
8733          "value" : 4,
8734          "capabilities" : [ "Kernel" ]
8735        },
8736        {
8737          "enumerant" : "UnormShort555",
8738          "value" : 5,
8739          "capabilities" : [ "Kernel" ]
8740        },
8741        {
8742          "enumerant" : "UnormInt101010",
8743          "value" : 6,
8744          "capabilities" : [ "Kernel" ]
8745        },
8746        {
8747          "enumerant" : "SignedInt8",
8748          "value" : 7,
8749          "capabilities" : [ "Kernel" ]
8750        },
8751        {
8752          "enumerant" : "SignedInt16",
8753          "value" : 8,
8754          "capabilities" : [ "Kernel" ]
8755        },
8756        {
8757          "enumerant" : "SignedInt32",
8758          "value" : 9,
8759          "capabilities" : [ "Kernel" ]
8760        },
8761        {
8762          "enumerant" : "UnsignedInt8",
8763          "value" : 10,
8764          "capabilities" : [ "Kernel" ]
8765        },
8766        {
8767          "enumerant" : "UnsignedInt16",
8768          "value" : 11,
8769          "capabilities" : [ "Kernel" ]
8770        },
8771        {
8772          "enumerant" : "UnsignedInt32",
8773          "value" : 12,
8774          "capabilities" : [ "Kernel" ]
8775        },
8776        {
8777          "enumerant" : "HalfFloat",
8778          "value" : 13,
8779          "capabilities" : [ "Kernel" ]
8780        },
8781        {
8782          "enumerant" : "Float",
8783          "value" : 14,
8784          "capabilities" : [ "Kernel" ]
8785        },
8786        {
8787          "enumerant" : "UnormInt24",
8788          "value" : 15,
8789          "capabilities" : [ "Kernel" ]
8790        },
8791        {
8792          "enumerant" : "UnormInt101010_2",
8793          "value" : 16,
8794          "capabilities" : [ "Kernel" ]
8795        }
8796      ]
8797    },
8798    {
8799      "category" : "ValueEnum",
8800      "kind" : "FPRoundingMode",
8801      "enumerants" : [
8802        {
8803          "enumerant" : "RTE",
8804          "value" : 0
8805        },
8806        {
8807          "enumerant" : "RTZ",
8808          "value" : 1
8809        },
8810        {
8811          "enumerant" : "RTP",
8812          "value" : 2
8813        },
8814        {
8815          "enumerant" : "RTN",
8816          "value" : 3
8817        }
8818      ]
8819    },
8820    {
8821      "category" : "ValueEnum",
8822      "kind" : "LinkageType",
8823      "enumerants" : [
8824        {
8825          "enumerant" : "Export",
8826          "value" : 0,
8827          "capabilities" : [ "Linkage" ]
8828        },
8829        {
8830          "enumerant" : "Import",
8831          "value" : 1,
8832          "capabilities" : [ "Linkage" ]
8833        }
8834      ]
8835    },
8836    {
8837      "category" : "ValueEnum",
8838      "kind" : "AccessQualifier",
8839      "enumerants" : [
8840        {
8841          "enumerant" : "ReadOnly",
8842          "value" : 0,
8843          "capabilities" : [ "Kernel" ]
8844        },
8845        {
8846          "enumerant" : "WriteOnly",
8847          "value" : 1,
8848          "capabilities" : [ "Kernel" ]
8849        },
8850        {
8851          "enumerant" : "ReadWrite",
8852          "value" : 2,
8853          "capabilities" : [ "Kernel" ]
8854        }
8855      ]
8856    },
8857    {
8858      "category" : "ValueEnum",
8859      "kind" : "FunctionParameterAttribute",
8860      "enumerants" : [
8861        {
8862          "enumerant" : "Zext",
8863          "value" : 0,
8864          "capabilities" : [ "Kernel" ]
8865        },
8866        {
8867          "enumerant" : "Sext",
8868          "value" : 1,
8869          "capabilities" : [ "Kernel" ]
8870        },
8871        {
8872          "enumerant" : "ByVal",
8873          "value" : 2,
8874          "capabilities" : [ "Kernel" ]
8875        },
8876        {
8877          "enumerant" : "Sret",
8878          "value" : 3,
8879          "capabilities" : [ "Kernel" ]
8880        },
8881        {
8882          "enumerant" : "NoAlias",
8883          "value" : 4,
8884          "capabilities" : [ "Kernel" ]
8885        },
8886        {
8887          "enumerant" : "NoCapture",
8888          "value" : 5,
8889          "capabilities" : [ "Kernel" ]
8890        },
8891        {
8892          "enumerant" : "NoWrite",
8893          "value" : 6,
8894          "capabilities" : [ "Kernel" ]
8895        },
8896        {
8897          "enumerant" : "NoReadWrite",
8898          "value" : 7,
8899          "capabilities" : [ "Kernel" ]
8900        }
8901      ]
8902    },
8903    {
8904      "category" : "ValueEnum",
8905      "kind" : "Decoration",
8906      "enumerants" : [
8907        {
8908          "enumerant" : "RelaxedPrecision",
8909          "value" : 0,
8910          "capabilities" : [ "Shader" ]
8911        },
8912        {
8913          "enumerant" : "SpecId",
8914          "value" : 1,
8915          "capabilities" : [ "Shader", "Kernel" ],
8916          "parameters" : [
8917            { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
8918          ]
8919        },
8920        {
8921          "enumerant" : "Block",
8922          "value" : 2,
8923          "capabilities" : [ "Shader" ]
8924        },
8925        {
8926          "enumerant" : "BufferBlock",
8927          "value" : 3,
8928          "capabilities" : [ "Shader" ],
8929          "lastVersion" : "1.3"
8930        },
8931        {
8932          "enumerant" : "RowMajor",
8933          "value" : 4,
8934          "capabilities" : [ "Matrix" ]
8935        },
8936        {
8937          "enumerant" : "ColMajor",
8938          "value" : 5,
8939          "capabilities" : [ "Matrix" ]
8940        },
8941        {
8942          "enumerant" : "ArrayStride",
8943          "value" : 6,
8944          "capabilities" : [ "Shader" ],
8945          "parameters" : [
8946            { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
8947          ]
8948        },
8949        {
8950          "enumerant" : "MatrixStride",
8951          "value" : 7,
8952          "capabilities" : [ "Matrix" ],
8953          "parameters" : [
8954            { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
8955          ]
8956        },
8957        {
8958          "enumerant" : "GLSLShared",
8959          "value" : 8,
8960          "capabilities" : [ "Shader" ]
8961        },
8962        {
8963          "enumerant" : "GLSLPacked",
8964          "value" : 9,
8965          "capabilities" : [ "Shader" ]
8966        },
8967        {
8968          "enumerant" : "CPacked",
8969          "value" : 10,
8970          "capabilities" : [ "Kernel" ]
8971        },
8972        {
8973          "enumerant" : "BuiltIn",
8974          "value" : 11,
8975          "parameters" : [
8976            { "kind" : "BuiltIn" }
8977          ]
8978        },
8979        {
8980          "enumerant" : "NoPerspective",
8981          "value" : 13,
8982          "capabilities" : [ "Shader" ]
8983        },
8984        {
8985          "enumerant" : "Flat",
8986          "value" : 14,
8987          "capabilities" : [ "Shader" ]
8988        },
8989        {
8990          "enumerant" : "Patch",
8991          "value" : 15,
8992          "capabilities" : [ "Tessellation" ]
8993        },
8994        {
8995          "enumerant" : "Centroid",
8996          "value" : 16,
8997          "capabilities" : [ "Shader" ]
8998        },
8999        {
9000          "enumerant" : "Sample",
9001          "value" : 17,
9002          "capabilities" : [ "SampleRateShading" ]
9003        },
9004        {
9005          "enumerant" : "Invariant",
9006          "value" : 18,
9007          "capabilities" : [ "Shader" ]
9008        },
9009        {
9010          "enumerant" : "Restrict",
9011          "value" : 19
9012        },
9013        {
9014          "enumerant" : "Aliased",
9015          "value" : 20
9016        },
9017        {
9018          "enumerant" : "Volatile",
9019          "value" : 21
9020        },
9021        {
9022          "enumerant" : "Constant",
9023          "value" : 22,
9024          "capabilities" : [ "Kernel" ]
9025        },
9026        {
9027          "enumerant" : "Coherent",
9028          "value" : 23
9029        },
9030        {
9031          "enumerant" : "NonWritable",
9032          "value" : 24
9033        },
9034        {
9035          "enumerant" : "NonReadable",
9036          "value" : 25
9037        },
9038        {
9039          "enumerant" : "Uniform",
9040          "value" : 26,
9041          "capabilities" : [ "Shader" ]
9042        },
9043        {
9044          "enumerant" : "UniformId",
9045          "value" : 27,
9046          "capabilities" : [ "Shader" ],
9047          "parameters" : [
9048            { "kind" : "IdScope",           "name" : "'Execution'" }
9049          ],
9050          "version" : "1.4"
9051        },
9052        {
9053          "enumerant" : "SaturatedConversion",
9054          "value" : 28,
9055          "capabilities" : [ "Kernel" ]
9056        },
9057        {
9058          "enumerant" : "Stream",
9059          "value" : 29,
9060          "capabilities" : [ "GeometryStreams" ],
9061          "parameters" : [
9062            { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
9063          ]
9064        },
9065        {
9066          "enumerant" : "Location",
9067          "value" : 30,
9068          "capabilities" : [ "Shader" ],
9069          "parameters" : [
9070            { "kind" : "LiteralInteger", "name" : "'Location'" }
9071          ]
9072        },
9073        {
9074          "enumerant" : "Component",
9075          "value" : 31,
9076          "capabilities" : [ "Shader" ],
9077          "parameters" : [
9078            { "kind" : "LiteralInteger", "name" : "'Component'" }
9079          ]
9080        },
9081        {
9082          "enumerant" : "Index",
9083          "value" : 32,
9084          "capabilities" : [ "Shader" ],
9085          "parameters" : [
9086            { "kind" : "LiteralInteger", "name" : "'Index'" }
9087          ]
9088        },
9089        {
9090          "enumerant" : "Binding",
9091          "value" : 33,
9092          "capabilities" : [ "Shader" ],
9093          "parameters" : [
9094            { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
9095          ]
9096        },
9097        {
9098          "enumerant" : "DescriptorSet",
9099          "value" : 34,
9100          "capabilities" : [ "Shader" ],
9101          "parameters" : [
9102            { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
9103          ]
9104        },
9105        {
9106          "enumerant" : "Offset",
9107          "value" : 35,
9108          "capabilities" : [ "Shader" ],
9109          "parameters" : [
9110            { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
9111          ]
9112        },
9113        {
9114          "enumerant" : "XfbBuffer",
9115          "value" : 36,
9116          "capabilities" : [ "TransformFeedback" ],
9117          "parameters" : [
9118            { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
9119          ]
9120        },
9121        {
9122          "enumerant" : "XfbStride",
9123          "value" : 37,
9124          "capabilities" : [ "TransformFeedback" ],
9125          "parameters" : [
9126            { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
9127          ]
9128        },
9129        {
9130          "enumerant" : "FuncParamAttr",
9131          "value" : 38,
9132          "capabilities" : [ "Kernel" ],
9133          "parameters" : [
9134            { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
9135          ]
9136        },
9137        {
9138          "enumerant" : "FPRoundingMode",
9139          "value" : 39,
9140          "parameters" : [
9141            { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
9142          ]
9143        },
9144        {
9145          "enumerant" : "FPFastMathMode",
9146          "value" : 40,
9147          "capabilities" : [ "Kernel" ],
9148          "parameters" : [
9149            { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
9150          ]
9151        },
9152        {
9153          "enumerant" : "LinkageAttributes",
9154          "value" : 41,
9155          "capabilities" : [ "Linkage" ],
9156          "parameters" : [
9157            { "kind" : "LiteralString", "name" : "'Name'" },
9158            { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
9159          ]
9160        },
9161        {
9162          "enumerant" : "NoContraction",
9163          "value" : 42,
9164          "capabilities" : [ "Shader" ]
9165        },
9166        {
9167          "enumerant" : "InputAttachmentIndex",
9168          "value" : 43,
9169          "capabilities" : [ "InputAttachment" ],
9170          "parameters" : [
9171            { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
9172          ]
9173        },
9174        {
9175          "enumerant" : "Alignment",
9176          "value" : 44,
9177          "capabilities" : [ "Kernel" ],
9178          "parameters" : [
9179            { "kind" : "LiteralInteger", "name" : "'Alignment'" }
9180          ]
9181        },
9182        {
9183          "enumerant" : "MaxByteOffset",
9184          "value" : 45,
9185          "capabilities" : [ "Addresses" ],
9186          "parameters" : [
9187            { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
9188          ],
9189          "version" : "1.1"
9190        },
9191        {
9192          "enumerant" : "AlignmentId",
9193          "value" : 46,
9194          "capabilities" : [ "Kernel" ],
9195          "parameters" : [
9196            { "kind" : "IdRef", "name" : "'Alignment'" }
9197          ],
9198          "version" : "1.2"
9199        },
9200        {
9201          "enumerant" : "MaxByteOffsetId",
9202          "value" : 47,
9203          "capabilities" : [ "Addresses" ],
9204          "parameters" : [
9205            { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
9206          ],
9207          "version" : "1.2"
9208        },
9209        {
9210          "enumerant" : "NoSignedWrap",
9211          "value" : 4469,
9212          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9213          "version" : "1.4"
9214        },
9215        {
9216          "enumerant" : "NoUnsignedWrap",
9217          "value" : 4470,
9218          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
9219          "version" : "1.4"
9220        },
9221        {
9222          "enumerant" : "ExplicitInterpAMD",
9223          "value" : 4999,
9224          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9225          "version" : "None"
9226        },
9227        {
9228          "enumerant" : "OverrideCoverageNV",
9229          "value" : 5248,
9230          "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
9231          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
9232          "version" : "None"
9233        },
9234        {
9235          "enumerant" : "PassthroughNV",
9236          "value" : 5250,
9237          "capabilities" : [ "GeometryShaderPassthroughNV" ],
9238          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
9239          "version" : "None"
9240        },
9241        {
9242          "enumerant" : "ViewportRelativeNV",
9243          "value" : 5252,
9244          "capabilities" : [ "ShaderViewportMaskNV" ],
9245          "version" : "None"
9246        },
9247        {
9248          "enumerant" : "SecondaryViewportRelativeNV",
9249          "value" : 5256,
9250          "capabilities" : [ "ShaderStereoViewNV" ],
9251          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9252          "version" : "None",
9253          "parameters" : [
9254            { "kind" : "LiteralInteger", "name" : "'Offset'" }
9255          ]
9256        },
9257        {
9258          "enumerant" : "PerPrimitiveNV",
9259          "value" : 5271,
9260          "capabilities" : [ "MeshShadingNV" ],
9261          "extensions" : [ "SPV_NV_mesh_shader" ],
9262          "version" : "None"
9263        },
9264        {
9265          "enumerant" : "PerViewNV",
9266          "value" : 5272,
9267          "capabilities" : [ "MeshShadingNV" ],
9268          "extensions" : [ "SPV_NV_mesh_shader" ],
9269          "version" : "None"
9270        },
9271        {
9272          "enumerant" : "PerTaskNV",
9273          "value" : 5273,
9274          "capabilities" : [ "MeshShadingNV" ],
9275          "extensions" : [ "SPV_NV_mesh_shader" ],
9276          "version" : "None"
9277        },
9278        {
9279          "enumerant" : "PerVertexNV",
9280          "value" : 5285,
9281          "capabilities" : [ "FragmentBarycentricNV" ],
9282          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9283          "version" : "None"
9284        },
9285        {
9286          "enumerant" : "NonUniform",
9287          "value" : 5300,
9288          "capabilities" : [ "ShaderNonUniform" ],
9289          "version" : "1.5"
9290        },
9291        {
9292          "enumerant" : "NonUniformEXT",
9293          "value" : 5300,
9294          "capabilities" : [ "ShaderNonUniform" ],
9295          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
9296          "version" : "1.5"
9297        },
9298        {
9299          "enumerant" : "RestrictPointer",
9300          "value" : 5355,
9301          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9302          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9303          "version" : "1.5"
9304        },
9305        {
9306          "enumerant" : "RestrictPointerEXT",
9307          "value" : 5355,
9308          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9309          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9310          "version" : "1.5"
9311        },
9312        {
9313          "enumerant" : "AliasedPointer",
9314          "value" : 5356,
9315          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9316          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
9317          "version" : "1.5"
9318        },
9319        {
9320          "enumerant" : "AliasedPointerEXT",
9321          "value" : 5356,
9322          "capabilities" : [ "PhysicalStorageBufferAddresses" ],
9323          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
9324          "version" : "1.5"
9325        },
9326        {
9327          "enumerant" : "CounterBuffer",
9328          "value" : 5634,
9329          "parameters" : [
9330            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9331          ],
9332          "version" : "1.4"
9333        },
9334        {
9335          "enumerant" : "HlslCounterBufferGOOGLE",
9336          "value" : 5634,
9337          "parameters" : [
9338            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
9339          ],
9340          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9341          "version" : "None"
9342        },
9343        {
9344          "enumerant" : "UserSemantic",
9345          "value" : 5635,
9346          "parameters" : [
9347            { "kind" : "LiteralString", "name" : "'Semantic'" }
9348          ],
9349          "version" : "1.4"
9350        },
9351        {
9352          "enumerant" : "HlslSemanticGOOGLE",
9353          "value" : 5635,
9354          "parameters" : [
9355            { "kind" : "LiteralString", "name" : "'Semantic'" }
9356          ],
9357          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
9358          "version" : "None"
9359        },
9360        {
9361          "enumerant" : "UserTypeGOOGLE",
9362          "value" : 5636,
9363          "parameters" : [
9364            { "kind" : "LiteralString", "name" : "'User Type'" }
9365          ],
9366          "extensions" : [ "SPV_GOOGLE_user_type" ],
9367          "version" : "None"
9368        }
9369      ]
9370    },
9371    {
9372      "category" : "ValueEnum",
9373      "kind" : "BuiltIn",
9374      "enumerants" : [
9375        {
9376          "enumerant" : "Position",
9377          "value" : 0,
9378          "capabilities" : [ "Shader" ]
9379        },
9380        {
9381          "enumerant" : "PointSize",
9382          "value" : 1,
9383          "capabilities" : [ "Shader" ]
9384        },
9385        {
9386          "enumerant" : "ClipDistance",
9387          "value" : 3,
9388          "capabilities" : [ "ClipDistance" ]
9389        },
9390        {
9391          "enumerant" : "CullDistance",
9392          "value" : 4,
9393          "capabilities" : [ "CullDistance" ]
9394        },
9395        {
9396          "enumerant" : "VertexId",
9397          "value" : 5,
9398          "capabilities" : [ "Shader" ]
9399        },
9400        {
9401          "enumerant" : "InstanceId",
9402          "value" : 6,
9403          "capabilities" : [ "Shader" ]
9404        },
9405        {
9406          "enumerant" : "PrimitiveId",
9407          "value" : 7,
9408          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingProvisionalKHR" ]
9409        },
9410        {
9411          "enumerant" : "InvocationId",
9412          "value" : 8,
9413          "capabilities" : [ "Geometry", "Tessellation" ]
9414        },
9415        {
9416          "enumerant" : "Layer",
9417          "value" : 9,
9418          "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT" ]
9419        },
9420        {
9421          "enumerant" : "ViewportIndex",
9422          "value" : 10,
9423          "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT" ]
9424        },
9425        {
9426          "enumerant" : "TessLevelOuter",
9427          "value" : 11,
9428          "capabilities" : [ "Tessellation" ]
9429        },
9430        {
9431          "enumerant" : "TessLevelInner",
9432          "value" : 12,
9433          "capabilities" : [ "Tessellation" ]
9434        },
9435        {
9436          "enumerant" : "TessCoord",
9437          "value" : 13,
9438          "capabilities" : [ "Tessellation" ]
9439        },
9440        {
9441          "enumerant" : "PatchVertices",
9442          "value" : 14,
9443          "capabilities" : [ "Tessellation" ]
9444        },
9445        {
9446          "enumerant" : "FragCoord",
9447          "value" : 15,
9448          "capabilities" : [ "Shader" ]
9449        },
9450        {
9451          "enumerant" : "PointCoord",
9452          "value" : 16,
9453          "capabilities" : [ "Shader" ]
9454        },
9455        {
9456          "enumerant" : "FrontFacing",
9457          "value" : 17,
9458          "capabilities" : [ "Shader" ]
9459        },
9460        {
9461          "enumerant" : "SampleId",
9462          "value" : 18,
9463          "capabilities" : [ "SampleRateShading" ]
9464        },
9465        {
9466          "enumerant" : "SamplePosition",
9467          "value" : 19,
9468          "capabilities" : [ "SampleRateShading" ]
9469        },
9470        {
9471          "enumerant" : "SampleMask",
9472          "value" : 20,
9473          "capabilities" : [ "Shader" ]
9474        },
9475        {
9476          "enumerant" : "FragDepth",
9477          "value" : 22,
9478          "capabilities" : [ "Shader" ]
9479        },
9480        {
9481          "enumerant" : "HelperInvocation",
9482          "value" : 23,
9483          "capabilities" : [ "Shader" ]
9484        },
9485        {
9486          "enumerant" : "NumWorkgroups",
9487          "value" : 24
9488        },
9489        {
9490          "enumerant" : "WorkgroupSize",
9491          "value" : 25
9492        },
9493        {
9494          "enumerant" : "WorkgroupId",
9495          "value" : 26
9496        },
9497        {
9498          "enumerant" : "LocalInvocationId",
9499          "value" : 27
9500        },
9501        {
9502          "enumerant" : "GlobalInvocationId",
9503          "value" : 28
9504        },
9505        {
9506          "enumerant" : "LocalInvocationIndex",
9507          "value" : 29
9508        },
9509        {
9510          "enumerant" : "WorkDim",
9511          "value" : 30,
9512          "capabilities" : [ "Kernel" ]
9513        },
9514        {
9515          "enumerant" : "GlobalSize",
9516          "value" : 31,
9517          "capabilities" : [ "Kernel" ]
9518        },
9519        {
9520          "enumerant" : "EnqueuedWorkgroupSize",
9521          "value" : 32,
9522          "capabilities" : [ "Kernel" ]
9523        },
9524        {
9525          "enumerant" : "GlobalOffset",
9526          "value" : 33,
9527          "capabilities" : [ "Kernel" ]
9528        },
9529        {
9530          "enumerant" : "GlobalLinearId",
9531          "value" : 34,
9532          "capabilities" : [ "Kernel" ]
9533        },
9534        {
9535          "enumerant" : "SubgroupSize",
9536          "value" : 36,
9537          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9538        },
9539        {
9540          "enumerant" : "SubgroupMaxSize",
9541          "value" : 37,
9542          "capabilities" : [ "Kernel" ]
9543        },
9544        {
9545          "enumerant" : "NumSubgroups",
9546          "value" : 38,
9547          "capabilities" : [ "Kernel", "GroupNonUniform" ]
9548        },
9549        {
9550          "enumerant" : "NumEnqueuedSubgroups",
9551          "value" : 39,
9552          "capabilities" : [ "Kernel" ]
9553        },
9554        {
9555          "enumerant" : "SubgroupId",
9556          "value" : 40,
9557          "capabilities" : [ "Kernel", "GroupNonUniform" ]
9558        },
9559        {
9560          "enumerant" : "SubgroupLocalInvocationId",
9561          "value" : 41,
9562          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
9563        },
9564        {
9565          "enumerant" : "VertexIndex",
9566          "value" : 42,
9567          "capabilities" : [ "Shader" ]
9568        },
9569        {
9570          "enumerant" : "InstanceIndex",
9571          "value" : 43,
9572          "capabilities" : [ "Shader" ]
9573        },
9574        {
9575          "enumerant" : "SubgroupEqMask",
9576          "value" : 4416,
9577          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9578          "version" : "1.3"
9579        },
9580        {
9581          "enumerant" : "SubgroupGeMask",
9582          "value" : 4417,
9583          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9584          "version" : "1.3"
9585        },
9586        {
9587          "enumerant" : "SubgroupGtMask",
9588          "value" : 4418,
9589          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9590          "version" : "1.3"
9591        },
9592        {
9593          "enumerant" : "SubgroupLeMask",
9594          "value" : 4419,
9595          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9596          "version" : "1.3"
9597        },
9598        {
9599          "enumerant" : "SubgroupLtMask",
9600          "value" : 4420,
9601          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9602          "version" : "1.3"
9603        },
9604        {
9605          "enumerant" : "SubgroupEqMaskKHR",
9606          "value" : 4416,
9607          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9608          "extensions" : [ "SPV_KHR_shader_ballot" ],
9609          "version" : "1.3"
9610        },
9611        {
9612          "enumerant" : "SubgroupGeMaskKHR",
9613          "value" : 4417,
9614          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9615          "extensions" : [ "SPV_KHR_shader_ballot" ],
9616          "version" : "1.3"
9617        },
9618        {
9619          "enumerant" : "SubgroupGtMaskKHR",
9620          "value" : 4418,
9621          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9622          "extensions" : [ "SPV_KHR_shader_ballot" ],
9623          "version" : "1.3"
9624        },
9625        {
9626          "enumerant" : "SubgroupLeMaskKHR",
9627          "value" : 4419,
9628          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9629          "extensions" : [ "SPV_KHR_shader_ballot" ],
9630          "version" : "1.3"
9631        },
9632        {
9633          "enumerant" : "SubgroupLtMaskKHR",
9634          "value" : 4420,
9635          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
9636          "extensions" : [ "SPV_KHR_shader_ballot" ],
9637          "version" : "1.3"
9638        },
9639        {
9640          "enumerant" : "BaseVertex",
9641          "value" : 4424,
9642          "capabilities" : [ "DrawParameters" ],
9643          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
9644          "version" : "1.3"
9645        },
9646        {
9647          "enumerant" : "BaseInstance",
9648          "value" : 4425,
9649          "capabilities" : [ "DrawParameters" ],
9650          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
9651          "version" : "1.3"
9652        },
9653        {
9654          "enumerant" : "DrawIndex",
9655          "value" : 4426,
9656          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
9657          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
9658          "version" : "1.3"
9659        },
9660        {
9661          "enumerant" : "DeviceIndex",
9662          "value" : 4438,
9663          "capabilities" : [ "DeviceGroup" ],
9664          "extensions" : [ "SPV_KHR_device_group" ],
9665          "version" : "1.3"
9666        },
9667        {
9668          "enumerant" : "ViewIndex",
9669          "value" : 4440,
9670          "capabilities" : [ "MultiView" ],
9671          "extensions" : [ "SPV_KHR_multiview" ],
9672          "version" : "1.3"
9673        },
9674        {
9675          "enumerant" : "BaryCoordNoPerspAMD",
9676          "value" : 4992,
9677          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9678          "version" : "None"
9679        },
9680        {
9681          "enumerant" : "BaryCoordNoPerspCentroidAMD",
9682          "value" : 4993,
9683          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9684          "version" : "None"
9685        },
9686        {
9687          "enumerant" : "BaryCoordNoPerspSampleAMD",
9688          "value" : 4994,
9689          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9690          "version" : "None"
9691        },
9692        {
9693          "enumerant" : "BaryCoordSmoothAMD",
9694          "value" : 4995,
9695          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9696          "version" : "None"
9697        },
9698        {
9699          "enumerant" : "BaryCoordSmoothCentroidAMD",
9700          "value" : 4996,
9701          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9702          "version" : "None"
9703        },
9704        {
9705          "enumerant" : "BaryCoordSmoothSampleAMD",
9706          "value" : 4997,
9707          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9708          "version" : "None"
9709        },
9710        {
9711          "enumerant" : "BaryCoordPullModelAMD",
9712          "value" : 4998,
9713          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
9714          "version" : "None"
9715        },
9716        {
9717          "enumerant" : "FragStencilRefEXT",
9718          "value" : 5014,
9719          "capabilities" : [ "StencilExportEXT" ],
9720          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
9721          "version" : "None"
9722        },
9723        {
9724          "enumerant" : "ViewportMaskNV",
9725          "value" : 5253,
9726          "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
9727          "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
9728          "version" : "None"
9729        },
9730        {
9731          "enumerant" : "SecondaryPositionNV",
9732          "value" : 5257,
9733          "capabilities" : [ "ShaderStereoViewNV" ],
9734          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9735          "version" : "None"
9736        },
9737        {
9738          "enumerant" : "SecondaryViewportMaskNV",
9739          "value" : 5258,
9740          "capabilities" : [ "ShaderStereoViewNV" ],
9741          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
9742          "version" : "None"
9743        },
9744        {
9745          "enumerant" : "PositionPerViewNV",
9746          "value" : 5261,
9747          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
9748          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
9749          "version" : "None"
9750        },
9751        {
9752          "enumerant" : "ViewportMaskPerViewNV",
9753          "value" : 5262,
9754          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
9755          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
9756          "version" : "None"
9757        },
9758        {
9759          "enumerant" : "FullyCoveredEXT",
9760          "value" : 5264,
9761          "capabilities" : [ "FragmentFullyCoveredEXT" ],
9762          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
9763          "version" : "None"
9764        },
9765        {
9766          "enumerant" : "TaskCountNV",
9767          "value" : 5274,
9768          "capabilities" : [ "MeshShadingNV" ],
9769          "extensions" : [ "SPV_NV_mesh_shader" ],
9770          "version" : "None"
9771        },
9772        {
9773          "enumerant" : "PrimitiveCountNV",
9774          "value" : 5275,
9775          "capabilities" : [ "MeshShadingNV" ],
9776          "extensions" : [ "SPV_NV_mesh_shader" ],
9777          "version" : "None"
9778        },
9779        {
9780          "enumerant" : "PrimitiveIndicesNV",
9781          "value" : 5276,
9782          "capabilities" : [ "MeshShadingNV" ],
9783          "extensions" : [ "SPV_NV_mesh_shader" ],
9784          "version" : "None"
9785        },
9786        {
9787          "enumerant" : "ClipDistancePerViewNV",
9788          "value" : 5277,
9789          "capabilities" : [ "MeshShadingNV" ],
9790          "extensions" : [ "SPV_NV_mesh_shader" ],
9791          "version" : "None"
9792        },
9793        {
9794          "enumerant" : "CullDistancePerViewNV",
9795          "value" : 5278,
9796          "capabilities" : [ "MeshShadingNV" ],
9797          "extensions" : [ "SPV_NV_mesh_shader" ],
9798          "version" : "None"
9799        },
9800        {
9801          "enumerant" : "LayerPerViewNV",
9802          "value" : 5279,
9803          "capabilities" : [ "MeshShadingNV" ],
9804          "extensions" : [ "SPV_NV_mesh_shader" ],
9805          "version" : "None"
9806        },
9807        {
9808          "enumerant" : "MeshViewCountNV",
9809          "value" : 5280,
9810          "capabilities" : [ "MeshShadingNV" ],
9811          "extensions" : [ "SPV_NV_mesh_shader" ],
9812          "version" : "None"
9813        },
9814        {
9815          "enumerant" : "MeshViewIndicesNV",
9816          "value" : 5281,
9817          "capabilities" : [ "MeshShadingNV" ],
9818          "extensions" : [ "SPV_NV_mesh_shader" ],
9819          "version" : "None"
9820        },
9821        {
9822          "enumerant" : "BaryCoordNV",
9823          "value" : 5286,
9824          "capabilities" : [ "FragmentBarycentricNV" ],
9825          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9826          "version" : "None"
9827        },
9828        {
9829          "enumerant" : "BaryCoordNoPerspNV",
9830          "value" : 5287,
9831          "capabilities" : [ "FragmentBarycentricNV" ],
9832          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
9833          "version" : "None"
9834        },
9835        {
9836          "enumerant" : "FragSizeEXT",
9837          "value" : 5292 ,
9838          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
9839          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
9840          "version" : "None"
9841        },
9842        {
9843          "enumerant" : "FragmentSizeNV",
9844          "value" : 5292 ,
9845          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
9846          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
9847          "version" : "None"
9848        },
9849        {
9850          "enumerant" : "FragInvocationCountEXT",
9851          "value" : 5293,
9852          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
9853          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
9854          "version" : "None"
9855        },
9856        {
9857          "enumerant" : "InvocationsPerPixelNV",
9858          "value" : 5293,
9859          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
9860          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
9861          "version" : "None"
9862        },
9863        {
9864          "enumerant" : "LaunchIdNV",
9865          "value" : 5319,
9866          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9867          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9868          "version" : "None"
9869        },
9870        {
9871          "enumerant" : "LaunchIdKHR",
9872          "value" : 5319,
9873          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9874          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9875          "version" : "None"
9876        },
9877        {
9878          "enumerant" : "LaunchSizeNV",
9879          "value" : 5320,
9880          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9881          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9882          "version" : "None"
9883        },
9884        {
9885          "enumerant" : "LaunchSizeKHR",
9886          "value" : 5320,
9887          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9888          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9889          "version" : "None"
9890        },
9891        {
9892          "enumerant" : "WorldRayOriginNV",
9893          "value" : 5321,
9894          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9895          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9896          "version" : "None"
9897        },
9898        {
9899          "enumerant" : "WorldRayOriginKHR",
9900          "value" : 5321,
9901          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9902          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9903          "version" : "None"
9904        },
9905        {
9906          "enumerant" : "WorldRayDirectionNV",
9907          "value" : 5322,
9908          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9909          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9910          "version" : "None"
9911        },
9912        {
9913          "enumerant" : "WorldRayDirectionKHR",
9914          "value" : 5322,
9915          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9916          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9917          "version" : "None"
9918        },
9919        {
9920          "enumerant" : "ObjectRayOriginNV",
9921          "value" : 5323,
9922          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9923          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9924          "version" : "None"
9925        },
9926        {
9927          "enumerant" : "ObjectRayOriginKHR",
9928          "value" : 5323,
9929          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9930          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9931          "version" : "None"
9932        },
9933        {
9934          "enumerant" : "ObjectRayDirectionNV",
9935          "value" : 5324,
9936          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9937          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9938          "version" : "None"
9939        },
9940        {
9941          "enumerant" : "ObjectRayDirectionKHR",
9942          "value" : 5324,
9943          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9944          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9945          "version" : "None"
9946        },
9947        {
9948          "enumerant" : "RayTminNV",
9949          "value" : 5325,
9950          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9951          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9952          "version" : "None"
9953        },
9954        {
9955          "enumerant" : "RayTminKHR",
9956          "value" : 5325,
9957          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9958          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9959          "version" : "None"
9960        },
9961        {
9962          "enumerant" : "RayTmaxNV",
9963          "value" : 5326,
9964          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9965          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9966          "version" : "None"
9967        },
9968        {
9969          "enumerant" : "RayTmaxKHR",
9970          "value" : 5326,
9971          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9972          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9973          "version" : "None"
9974        },
9975        {
9976          "enumerant" : "InstanceCustomIndexNV",
9977          "value" : 5327,
9978          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9979          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9980          "version" : "None"
9981        },
9982        {
9983          "enumerant" : "InstanceCustomIndexKHR",
9984          "value" : 5327,
9985          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9986          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9987          "version" : "None"
9988        },
9989        {
9990          "enumerant" : "ObjectToWorldNV",
9991          "value" : 5330,
9992          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
9993          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
9994          "version" : "None"
9995        },
9996        {
9997          "enumerant" : "ObjectToWorldKHR",
9998          "value" : 5330,
9999          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10000          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10001          "version" : "None"
10002        },
10003        {
10004          "enumerant" : "WorldToObjectNV",
10005          "value" : 5331,
10006          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10007          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10008          "version" : "None"
10009        },
10010        {
10011          "enumerant" : "WorldToObjectKHR",
10012          "value" : 5331,
10013          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10014          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10015          "version" : "None"
10016        },
10017        {
10018          "enumerant" : "HitTNV",
10019          "value" : 5332,
10020          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10021          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10022          "version" : "None"
10023        },
10024        {
10025          "enumerant" : "HitTKHR",
10026          "value" : 5332,
10027          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10028          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10029          "version" : "None"
10030        },
10031        {
10032          "enumerant" : "HitKindNV",
10033          "value" : 5333,
10034          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10035          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10036          "version" : "None"
10037        },
10038        {
10039          "enumerant" : "HitKindKHR",
10040          "value" : 5333,
10041          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10042          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10043          "version" : "None"
10044        },
10045        {
10046          "enumerant" : "IncomingRayFlagsNV",
10047          "value" : 5351,
10048          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10049          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10050          "version" : "None"
10051        },
10052        {
10053          "enumerant" : "IncomingRayFlagsKHR",
10054          "value" : 5351,
10055          "capabilities" : [ "RayTracingNV" , "RayTracingProvisionalKHR" ],
10056          "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
10057          "version" : "None"
10058        },
10059        {
10060          "enumerant" : "RayGeometryIndexKHR",
10061          "value" : 5352,
10062          "capabilities" : [ "RayTracingProvisionalKHR" ],
10063          "extensions" : [ "SPV_KHR_ray_tracing" ],
10064          "version" : "None"
10065        },
10066        {
10067          "enumerant" : "WarpsPerSMNV",
10068          "value" : 5374,
10069          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10070          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10071          "version" : "None"
10072        },
10073        {
10074          "enumerant" : "SMCountNV",
10075          "value" : 5375,
10076          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10077          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10078          "version" : "None"
10079        },
10080        {
10081          "enumerant" : "WarpIDNV",
10082          "value" : 5376,
10083          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10084          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10085          "version" : "None"
10086        },
10087        {
10088          "enumerant" : "SMIDNV",
10089          "value" : 5377,
10090          "capabilities" : [ "ShaderSMBuiltinsNV" ],
10091          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
10092          "version" : "None"
10093        }
10094      ]
10095    },
10096    {
10097      "category" : "ValueEnum",
10098      "kind" : "Scope",
10099      "enumerants" : [
10100        {
10101          "enumerant" : "CrossDevice",
10102          "value" : 0
10103        },
10104        {
10105          "enumerant" : "Device",
10106          "value" : 1
10107        },
10108        {
10109          "enumerant" : "Workgroup",
10110          "value" : 2
10111        },
10112        {
10113          "enumerant" : "Subgroup",
10114          "value" : 3
10115        },
10116        {
10117          "enumerant" : "Invocation",
10118          "value" : 4
10119        },
10120        {
10121          "enumerant" : "QueueFamily",
10122          "value" : 5,
10123          "capabilities" : [ "VulkanMemoryModel" ],
10124          "version" : "1.5"
10125        },
10126        {
10127          "enumerant" : "QueueFamilyKHR",
10128          "value" : 5,
10129          "capabilities" : [ "VulkanMemoryModel" ],
10130          "version" : "1.5"
10131        },
10132        {
10133          "enumerant" : "ShaderCallKHR",
10134          "value" : 6,
10135          "capabilities" : [ "RayTracingProvisionalKHR" ]
10136        }
10137      ]
10138    },
10139    {
10140      "category" : "ValueEnum",
10141      "kind" : "GroupOperation",
10142      "enumerants" : [
10143        {
10144          "enumerant" : "Reduce",
10145          "value" : 0,
10146          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10147        },
10148        {
10149          "enumerant" : "InclusiveScan",
10150          "value" : 1,
10151          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10152        },
10153        {
10154          "enumerant" : "ExclusiveScan",
10155          "value" : 2,
10156          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
10157        },
10158        {
10159          "enumerant" : "ClusteredReduce",
10160          "value" : 3,
10161          "capabilities" : [ "GroupNonUniformClustered" ],
10162          "version" : "1.3"
10163        },
10164        {
10165          "enumerant" : "PartitionedReduceNV",
10166          "value" : 6,
10167          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10168          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10169          "version" : "None"
10170        },
10171        {
10172          "enumerant" : "PartitionedInclusiveScanNV",
10173          "value" : 7,
10174          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10175          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10176          "version" : "None"
10177        },
10178        {
10179          "enumerant" : "PartitionedExclusiveScanNV",
10180          "value" : 8,
10181          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
10182          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10183          "version" : "None"
10184        }
10185      ]
10186    },
10187    {
10188      "category" : "ValueEnum",
10189      "kind" : "KernelEnqueueFlags",
10190      "enumerants" : [
10191        {
10192          "enumerant" : "NoWait",
10193          "value" : 0,
10194          "capabilities" : [ "Kernel" ]
10195        },
10196        {
10197          "enumerant" : "WaitKernel",
10198          "value" : 1,
10199          "capabilities" : [ "Kernel" ]
10200        },
10201        {
10202          "enumerant" : "WaitWorkGroup",
10203          "value" : 2,
10204          "capabilities" : [ "Kernel" ]
10205        }
10206      ]
10207    },
10208    {
10209      "category" : "ValueEnum",
10210      "kind" : "Capability",
10211      "enumerants" : [
10212        {
10213          "enumerant" : "Matrix",
10214          "value" : 0
10215        },
10216        {
10217          "enumerant" : "Shader",
10218          "value" : 1,
10219          "capabilities" : [ "Matrix" ]
10220        },
10221        {
10222          "enumerant" : "Geometry",
10223          "value" : 2,
10224          "capabilities" : [ "Shader" ]
10225        },
10226        {
10227          "enumerant" : "Tessellation",
10228          "value" : 3,
10229          "capabilities" : [ "Shader" ]
10230        },
10231        {
10232          "enumerant" : "Addresses",
10233          "value" : 4
10234        },
10235        {
10236          "enumerant" : "Linkage",
10237          "value" : 5
10238        },
10239        {
10240          "enumerant" : "Kernel",
10241          "value" : 6
10242        },
10243        {
10244          "enumerant" : "Vector16",
10245          "value" : 7,
10246          "capabilities" : [ "Kernel" ]
10247        },
10248        {
10249          "enumerant" : "Float16Buffer",
10250          "value" : 8,
10251          "capabilities" : [ "Kernel" ]
10252        },
10253        {
10254          "enumerant" : "Float16",
10255          "value" : 9
10256        },
10257        {
10258          "enumerant" : "Float64",
10259          "value" : 10
10260        },
10261        {
10262          "enumerant" : "Int64",
10263          "value" : 11
10264        },
10265        {
10266          "enumerant" : "Int64Atomics",
10267          "value" : 12,
10268          "capabilities" : [ "Int64" ]
10269        },
10270        {
10271          "enumerant" : "ImageBasic",
10272          "value" : 13,
10273          "capabilities" : [ "Kernel" ]
10274        },
10275        {
10276          "enumerant" : "ImageReadWrite",
10277          "value" : 14,
10278          "capabilities" : [ "ImageBasic" ]
10279        },
10280        {
10281          "enumerant" : "ImageMipmap",
10282          "value" : 15,
10283          "capabilities" : [ "ImageBasic" ]
10284        },
10285        {
10286          "enumerant" : "Pipes",
10287          "value" : 17,
10288          "capabilities" : [ "Kernel" ]
10289        },
10290        {
10291          "enumerant" : "Groups",
10292          "value" : 18,
10293          "extensions" : [ "SPV_AMD_shader_ballot" ]
10294        },
10295        {
10296          "enumerant" : "DeviceEnqueue",
10297          "value" : 19,
10298          "capabilities" : [ "Kernel" ]
10299        },
10300        {
10301          "enumerant" : "LiteralSampler",
10302          "value" : 20,
10303          "capabilities" : [ "Kernel" ]
10304        },
10305        {
10306          "enumerant" : "AtomicStorage",
10307          "value" : 21,
10308          "capabilities" : [ "Shader" ]
10309        },
10310        {
10311          "enumerant" : "Int16",
10312          "value" : 22
10313        },
10314        {
10315          "enumerant" : "TessellationPointSize",
10316          "value" : 23,
10317          "capabilities" : [ "Tessellation" ]
10318        },
10319        {
10320          "enumerant" : "GeometryPointSize",
10321          "value" : 24,
10322          "capabilities" : [ "Geometry" ]
10323        },
10324        {
10325          "enumerant" : "ImageGatherExtended",
10326          "value" : 25,
10327          "capabilities" : [ "Shader" ]
10328        },
10329        {
10330          "enumerant" : "StorageImageMultisample",
10331          "value" : 27,
10332          "capabilities" : [ "Shader" ]
10333        },
10334        {
10335          "enumerant" : "UniformBufferArrayDynamicIndexing",
10336          "value" : 28,
10337          "capabilities" : [ "Shader" ]
10338        },
10339        {
10340          "enumerant" : "SampledImageArrayDynamicIndexing",
10341          "value" : 29,
10342          "capabilities" : [ "Shader" ]
10343        },
10344        {
10345          "enumerant" : "StorageBufferArrayDynamicIndexing",
10346          "value" : 30,
10347          "capabilities" : [ "Shader" ]
10348        },
10349        {
10350          "enumerant" : "StorageImageArrayDynamicIndexing",
10351          "value" : 31,
10352          "capabilities" : [ "Shader" ]
10353        },
10354        {
10355          "enumerant" : "ClipDistance",
10356          "value" : 32,
10357          "capabilities" : [ "Shader" ]
10358        },
10359        {
10360          "enumerant" : "CullDistance",
10361          "value" : 33,
10362          "capabilities" : [ "Shader" ]
10363        },
10364        {
10365          "enumerant" : "ImageCubeArray",
10366          "value" : 34,
10367          "capabilities" : [ "SampledCubeArray" ]
10368        },
10369        {
10370          "enumerant" : "SampleRateShading",
10371          "value" : 35,
10372          "capabilities" : [ "Shader" ]
10373        },
10374        {
10375          "enumerant" : "ImageRect",
10376          "value" : 36,
10377          "capabilities" : [ "SampledRect" ]
10378        },
10379        {
10380          "enumerant" : "SampledRect",
10381          "value" : 37,
10382          "capabilities" : [ "Shader" ]
10383        },
10384        {
10385          "enumerant" : "GenericPointer",
10386          "value" : 38,
10387          "capabilities" : [ "Addresses" ]
10388        },
10389        {
10390          "enumerant" : "Int8",
10391          "value" : 39
10392        },
10393        {
10394          "enumerant" : "InputAttachment",
10395          "value" : 40,
10396          "capabilities" : [ "Shader" ]
10397        },
10398        {
10399          "enumerant" : "SparseResidency",
10400          "value" : 41,
10401          "capabilities" : [ "Shader" ]
10402        },
10403        {
10404          "enumerant" : "MinLod",
10405          "value" : 42,
10406          "capabilities" : [ "Shader" ]
10407        },
10408        {
10409          "enumerant" : "Sampled1D",
10410          "value" : 43
10411        },
10412        {
10413          "enumerant" : "Image1D",
10414          "value" : 44,
10415          "capabilities" : [ "Sampled1D" ]
10416        },
10417        {
10418          "enumerant" : "SampledCubeArray",
10419          "value" : 45,
10420          "capabilities" : [ "Shader" ]
10421        },
10422        {
10423          "enumerant" : "SampledBuffer",
10424          "value" : 46
10425        },
10426        {
10427          "enumerant" : "ImageBuffer",
10428          "value" : 47,
10429          "capabilities" : [ "SampledBuffer" ]
10430        },
10431        {
10432          "enumerant" : "ImageMSArray",
10433          "value" : 48,
10434          "capabilities" : [ "Shader" ]
10435        },
10436        {
10437          "enumerant" : "StorageImageExtendedFormats",
10438          "value" : 49,
10439          "capabilities" : [ "Shader" ]
10440        },
10441        {
10442          "enumerant" : "ImageQuery",
10443          "value" : 50,
10444          "capabilities" : [ "Shader" ]
10445        },
10446        {
10447          "enumerant" : "DerivativeControl",
10448          "value" : 51,
10449          "capabilities" : [ "Shader" ]
10450        },
10451        {
10452          "enumerant" : "InterpolationFunction",
10453          "value" : 52,
10454          "capabilities" : [ "Shader" ]
10455        },
10456        {
10457          "enumerant" : "TransformFeedback",
10458          "value" : 53,
10459          "capabilities" : [ "Shader" ]
10460        },
10461        {
10462          "enumerant" : "GeometryStreams",
10463          "value" : 54,
10464          "capabilities" : [ "Geometry" ]
10465        },
10466        {
10467          "enumerant" : "StorageImageReadWithoutFormat",
10468          "value" : 55,
10469          "capabilities" : [ "Shader" ]
10470        },
10471        {
10472          "enumerant" : "StorageImageWriteWithoutFormat",
10473          "value" : 56,
10474          "capabilities" : [ "Shader" ]
10475        },
10476        {
10477          "enumerant" : "MultiViewport",
10478          "value" : 57,
10479          "capabilities" : [ "Geometry" ]
10480        },
10481        {
10482          "enumerant" : "SubgroupDispatch",
10483          "value" : 58,
10484          "capabilities" : [ "DeviceEnqueue" ],
10485          "version" : "1.1"
10486        },
10487        {
10488          "enumerant" : "NamedBarrier",
10489          "value" : 59,
10490          "capabilities" : [ "Kernel" ],
10491          "version" : "1.1"
10492        },
10493        {
10494          "enumerant" : "PipeStorage",
10495          "value" : 60,
10496          "capabilities" : [ "Pipes" ],
10497          "version" : "1.1"
10498        },
10499        {
10500          "enumerant" : "GroupNonUniform",
10501          "value" : 61,
10502          "version" : "1.3"
10503        },
10504        {
10505          "enumerant" : "GroupNonUniformVote",
10506          "value" : 62,
10507          "capabilities" : [ "GroupNonUniform" ],
10508          "version" : "1.3"
10509        },
10510        {
10511          "enumerant" : "GroupNonUniformArithmetic",
10512          "value" : 63,
10513          "capabilities" : [ "GroupNonUniform" ],
10514          "version" : "1.3"
10515        },
10516        {
10517          "enumerant" : "GroupNonUniformBallot",
10518          "value" : 64,
10519          "capabilities" : [ "GroupNonUniform" ],
10520          "version" : "1.3"
10521        },
10522        {
10523          "enumerant" : "GroupNonUniformShuffle",
10524          "value" : 65,
10525          "capabilities" : [ "GroupNonUniform" ],
10526          "version" : "1.3"
10527        },
10528        {
10529          "enumerant" : "GroupNonUniformShuffleRelative",
10530          "value" : 66,
10531          "capabilities" : [ "GroupNonUniform" ],
10532          "version" : "1.3"
10533        },
10534        {
10535          "enumerant" : "GroupNonUniformClustered",
10536          "value" : 67,
10537          "capabilities" : [ "GroupNonUniform" ],
10538          "version" : "1.3"
10539        },
10540        {
10541          "enumerant" : "GroupNonUniformQuad",
10542          "value" : 68,
10543          "capabilities" : [ "GroupNonUniform" ],
10544          "version" : "1.3"
10545        },
10546        {
10547          "enumerant" : "ShaderLayer",
10548          "value" : 69,
10549          "version" : "1.5"
10550        },
10551        {
10552          "enumerant" : "ShaderViewportIndex",
10553          "value" : 70,
10554          "version" : "1.5"
10555        },
10556        {
10557          "enumerant" : "SubgroupBallotKHR",
10558          "value" : 4423,
10559          "extensions" : [ "SPV_KHR_shader_ballot" ],
10560          "version" : "None"
10561        },
10562        {
10563          "enumerant" : "DrawParameters",
10564          "value" : 4427,
10565          "capabilities" : [ "Shader" ],
10566          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
10567          "version" : "1.3"
10568        },
10569        {
10570          "enumerant" : "SubgroupVoteKHR",
10571          "value" : 4431,
10572          "extensions" : [ "SPV_KHR_subgroup_vote" ],
10573          "version" : "None"
10574        },
10575        {
10576          "enumerant" : "StorageBuffer16BitAccess",
10577          "value" : 4433,
10578          "extensions" : [ "SPV_KHR_16bit_storage" ],
10579          "version" : "1.3"
10580        },
10581        {
10582          "enumerant" : "StorageUniformBufferBlock16",
10583          "value" : 4433,
10584          "extensions" : [ "SPV_KHR_16bit_storage" ],
10585          "version" : "1.3"
10586        },
10587        {
10588          "enumerant" : "UniformAndStorageBuffer16BitAccess",
10589          "value" : 4434,
10590          "capabilities" : [
10591            "StorageBuffer16BitAccess",
10592            "StorageUniformBufferBlock16"
10593          ],
10594          "extensions" : [ "SPV_KHR_16bit_storage" ],
10595          "version" : "1.3"
10596        },
10597        {
10598          "enumerant" : "StorageUniform16",
10599          "value" : 4434,
10600          "capabilities" : [
10601            "StorageBuffer16BitAccess",
10602            "StorageUniformBufferBlock16"
10603          ],
10604          "extensions" : [ "SPV_KHR_16bit_storage" ],
10605          "version" : "1.3"
10606        },
10607        {
10608          "enumerant" : "StoragePushConstant16",
10609          "value" : 4435,
10610          "extensions" : [ "SPV_KHR_16bit_storage" ],
10611          "version" : "1.3"
10612        },
10613        {
10614          "enumerant" : "StorageInputOutput16",
10615          "value" : 4436,
10616          "extensions" : [ "SPV_KHR_16bit_storage" ],
10617          "version" : "1.3"
10618        },
10619        {
10620          "enumerant" : "DeviceGroup",
10621          "value" : 4437,
10622          "extensions" : [ "SPV_KHR_device_group" ],
10623          "version" : "1.3"
10624        },
10625        {
10626          "enumerant" : "MultiView",
10627          "value" : 4439,
10628          "capabilities" : [ "Shader" ],
10629          "extensions" : [ "SPV_KHR_multiview" ],
10630          "version" : "1.3"
10631        },
10632        {
10633          "enumerant" : "VariablePointersStorageBuffer",
10634          "value" : 4441,
10635          "capabilities" : [ "Shader" ],
10636          "extensions" : [ "SPV_KHR_variable_pointers" ],
10637          "version" : "1.3"
10638        },
10639        {
10640          "enumerant" : "VariablePointers",
10641          "value" : 4442,
10642          "capabilities" : [ "VariablePointersStorageBuffer" ],
10643          "extensions" : [ "SPV_KHR_variable_pointers" ],
10644          "version" : "1.3"
10645        },
10646        {
10647          "enumerant" : "AtomicStorageOps",
10648          "value" : 4445,
10649          "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
10650          "version" : "None"
10651        },
10652        {
10653          "enumerant" : "SampleMaskPostDepthCoverage",
10654          "value" : 4447,
10655          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
10656          "version" : "None"
10657        },
10658        {
10659          "enumerant" : "StorageBuffer8BitAccess",
10660          "value" : 4448,
10661          "extensions" : [ "SPV_KHR_8bit_storage" ],
10662          "version" : "1.5"
10663        },
10664        {
10665          "enumerant" : "UniformAndStorageBuffer8BitAccess",
10666          "value" : 4449,
10667          "capabilities" : [ "StorageBuffer8BitAccess" ],
10668          "extensions" : [ "SPV_KHR_8bit_storage" ],
10669          "version" : "1.5"
10670        },
10671        {
10672          "enumerant" : "StoragePushConstant8",
10673          "value" : 4450,
10674          "extensions" : [ "SPV_KHR_8bit_storage" ],
10675          "version" : "1.5"
10676        },
10677        {
10678          "enumerant" : "DenormPreserve",
10679          "value" : 4464,
10680          "extensions" : [ "SPV_KHR_float_controls" ],
10681          "version" : "1.4"
10682        },
10683        {
10684          "enumerant" : "DenormFlushToZero",
10685          "value" : 4465,
10686          "extensions" : [ "SPV_KHR_float_controls" ],
10687          "version" : "1.4"
10688        },
10689        {
10690          "enumerant" : "SignedZeroInfNanPreserve",
10691          "value" : 4466,
10692          "extensions" : [ "SPV_KHR_float_controls" ],
10693          "version" : "1.4"
10694        },
10695        {
10696          "enumerant" : "RoundingModeRTE",
10697          "value" : 4467,
10698          "extensions" : [ "SPV_KHR_float_controls" ],
10699          "version" : "1.4"
10700        },
10701        {
10702          "enumerant" : "RoundingModeRTZ",
10703          "value" : 4468,
10704          "extensions" : [ "SPV_KHR_float_controls" ],
10705          "version" : "1.4"
10706        },
10707        {
10708          "enumerant" : "RayQueryProvisionalKHR",
10709          "value" : 4471,
10710          "capabilities" : [ "Shader" ],
10711          "extensions" : [ "SPV_KHR_ray_query" ],
10712          "version" : "None"
10713        },
10714        {
10715          "enumerant" : "RayTraversalPrimitiveCullingProvisionalKHR",
10716          "value" : 4478,
10717          "capabilities" : [ "RayQueryProvisionalKHR","RayTracingProvisionalKHR" ],
10718          "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ],
10719          "version" : "None"
10720        },
10721        {
10722          "enumerant" : "Float16ImageAMD",
10723          "value" : 5008,
10724          "capabilities" : [ "Shader" ],
10725          "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
10726          "version" : "None"
10727        },
10728        {
10729          "enumerant" : "ImageGatherBiasLodAMD",
10730          "value" : 5009,
10731          "capabilities" : [ "Shader" ],
10732          "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
10733          "version" : "None"
10734        },
10735        {
10736          "enumerant" : "FragmentMaskAMD",
10737          "value" : 5010,
10738          "capabilities" : [ "Shader" ],
10739          "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
10740          "version" : "None"
10741        },
10742        {
10743          "enumerant" : "StencilExportEXT",
10744          "value" : 5013,
10745          "capabilities" : [ "Shader" ],
10746          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
10747          "version" : "None"
10748        },
10749        {
10750          "enumerant" : "ImageReadWriteLodAMD",
10751          "value" : 5015,
10752          "capabilities" : [ "Shader" ],
10753          "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
10754          "version" : "None"
10755        },
10756        {
10757          "enumerant" : "ShaderClockKHR",
10758          "value" : 5055,
10759          "capabilities" : [ "Shader" ],
10760          "extensions" : [ "SPV_KHR_shader_clock" ],
10761          "version" : "None"
10762        },
10763        {
10764          "enumerant" : "SampleMaskOverrideCoverageNV",
10765          "value" : 5249,
10766          "capabilities" : [ "SampleRateShading" ],
10767          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
10768          "version" : "None"
10769        },
10770        {
10771          "enumerant" : "GeometryShaderPassthroughNV",
10772          "value" : 5251,
10773          "capabilities" : [ "Geometry" ],
10774          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
10775          "version" : "None"
10776        },
10777        {
10778          "enumerant" : "ShaderViewportIndexLayerEXT",
10779          "value" : 5254,
10780          "capabilities" : [ "MultiViewport" ],
10781          "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
10782          "version" : "None"
10783        },
10784        {
10785          "enumerant" : "ShaderViewportIndexLayerNV",
10786          "value" : 5254,
10787          "capabilities" : [ "MultiViewport" ],
10788          "extensions" : [ "SPV_NV_viewport_array2" ],
10789          "version" : "None"
10790        },
10791        {
10792          "enumerant" : "ShaderViewportMaskNV",
10793          "value" : 5255,
10794          "capabilities" : [ "ShaderViewportIndexLayerNV" ],
10795          "extensions" : [ "SPV_NV_viewport_array2" ],
10796          "version" : "None"
10797        },
10798        {
10799          "enumerant" : "ShaderStereoViewNV",
10800          "value" : 5259,
10801          "capabilities" : [ "ShaderViewportMaskNV" ],
10802          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
10803          "version" : "None"
10804        },
10805        {
10806          "enumerant" : "PerViewAttributesNV",
10807          "value" : 5260,
10808          "capabilities" : [ "MultiView" ],
10809          "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
10810          "version" : "None"
10811        },
10812        {
10813          "enumerant" : "FragmentFullyCoveredEXT",
10814          "value" : 5265,
10815          "capabilities" : [ "Shader" ],
10816          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
10817          "version" : "None"
10818        },
10819        {
10820          "enumerant" : "MeshShadingNV",
10821          "value" : 5266,
10822          "capabilities" : [ "Shader" ],
10823          "extensions" : [ "SPV_NV_mesh_shader" ],
10824          "version" : "None"
10825        },
10826        {
10827          "enumerant" : "ImageFootprintNV",
10828          "value" : 5282,
10829          "extensions" : [ "SPV_NV_shader_image_footprint" ],
10830          "version" : "None"
10831        },
10832        {
10833          "enumerant" : "FragmentBarycentricNV",
10834          "value" : 5284,
10835          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
10836          "version" : "None"
10837        },
10838        {
10839          "enumerant" : "ComputeDerivativeGroupQuadsNV",
10840          "value" : 5288,
10841          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
10842          "version" : "None"
10843        },
10844        {
10845          "enumerant" : "FragmentDensityEXT",
10846          "value" : 5291,
10847          "capabilities" : [ "Shader" ],
10848          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
10849          "version" : "None"
10850        },
10851        {
10852          "enumerant" : "ShadingRateNV",
10853          "value" : 5291,
10854          "capabilities" : [ "Shader" ],
10855          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
10856          "version" : "None"
10857        },
10858        {
10859          "enumerant" : "GroupNonUniformPartitionedNV",
10860          "value" : 5297,
10861          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
10862          "version" : "None"
10863        },
10864        {
10865          "enumerant" : "ShaderNonUniform",
10866          "value" : 5301,
10867          "capabilities" : [ "Shader" ],
10868          "version" : "1.5"
10869        },
10870        {
10871          "enumerant" : "ShaderNonUniformEXT",
10872          "value" : 5301,
10873          "capabilities" : [ "Shader" ],
10874          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10875          "version" : "1.5"
10876        },
10877        {
10878          "enumerant" : "RuntimeDescriptorArray",
10879          "value" : 5302,
10880          "capabilities" : [ "Shader" ],
10881          "version" : "1.5"
10882        },
10883        {
10884          "enumerant" : "RuntimeDescriptorArrayEXT",
10885          "value" : 5302,
10886          "capabilities" : [ "Shader" ],
10887          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10888          "version" : "1.5"
10889        },
10890        {
10891          "enumerant" : "InputAttachmentArrayDynamicIndexing",
10892          "value" : 5303,
10893          "capabilities" : [ "InputAttachment" ],
10894          "version" : "1.5"
10895        },
10896        {
10897          "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
10898          "value" : 5303,
10899          "capabilities" : [ "InputAttachment" ],
10900          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10901          "version" : "1.5"
10902        },
10903        {
10904          "enumerant" : "UniformTexelBufferArrayDynamicIndexing",
10905          "value" : 5304,
10906          "capabilities" : [ "SampledBuffer" ],
10907          "version" : "1.5"
10908        },
10909        {
10910          "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
10911          "value" : 5304,
10912          "capabilities" : [ "SampledBuffer" ],
10913          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10914          "version" : "1.5"
10915        },
10916        {
10917          "enumerant" : "StorageTexelBufferArrayDynamicIndexing",
10918          "value" : 5305,
10919          "capabilities" : [ "ImageBuffer" ],
10920          "version" : "1.5"
10921        },
10922        {
10923          "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
10924          "value" : 5305,
10925          "capabilities" : [ "ImageBuffer" ],
10926          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10927          "version" : "1.5"
10928        },
10929        {
10930          "enumerant" : "UniformBufferArrayNonUniformIndexing",
10931          "value" : 5306,
10932          "capabilities" : [ "ShaderNonUniform" ],
10933          "version" : "1.5"
10934        },
10935        {
10936          "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
10937          "value" : 5306,
10938          "capabilities" : [ "ShaderNonUniform" ],
10939          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10940          "version" : "1.5"
10941        },
10942        {
10943          "enumerant" : "SampledImageArrayNonUniformIndexing",
10944          "value" : 5307,
10945          "capabilities" : [ "ShaderNonUniform" ],
10946          "version" : "1.5"
10947        },
10948        {
10949          "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
10950          "value" : 5307,
10951          "capabilities" : [ "ShaderNonUniform" ],
10952          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10953          "version" : "1.5"
10954        },
10955        {
10956          "enumerant" : "StorageBufferArrayNonUniformIndexing",
10957          "value" : 5308,
10958          "capabilities" : [ "ShaderNonUniform" ],
10959          "version" : "1.5"
10960        },
10961        {
10962          "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
10963          "value" : 5308,
10964          "capabilities" : [ "ShaderNonUniform" ],
10965          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10966          "version" : "1.5"
10967        },
10968        {
10969          "enumerant" : "StorageImageArrayNonUniformIndexing",
10970          "value" : 5309,
10971          "capabilities" : [ "ShaderNonUniform" ],
10972          "version" : "1.5"
10973        },
10974        {
10975          "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
10976          "value" : 5309,
10977          "capabilities" : [ "ShaderNonUniform" ],
10978          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10979          "version" : "1.5"
10980        },
10981        {
10982          "enumerant" : "InputAttachmentArrayNonUniformIndexing",
10983          "value" : 5310,
10984          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
10985          "version" : "1.5"
10986        },
10987        {
10988          "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
10989          "value" : 5310,
10990          "capabilities" : [ "InputAttachment", "ShaderNonUniform" ],
10991          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
10992          "version" : "1.5"
10993        },
10994        {
10995          "enumerant" : "UniformTexelBufferArrayNonUniformIndexing",
10996          "value" : 5311,
10997          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
10998          "version" : "1.5"
10999        },
11000        {
11001          "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
11002          "value" : 5311,
11003          "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ],
11004          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11005          "version" : "1.5"
11006        },
11007        {
11008          "enumerant" : "StorageTexelBufferArrayNonUniformIndexing",
11009          "value" : 5312,
11010          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11011          "version" : "1.5"
11012        },
11013        {
11014          "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
11015          "value" : 5312,
11016          "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ],
11017          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
11018          "version" : "1.5"
11019        },
11020        {
11021          "enumerant" : "RayTracingNV",
11022          "value" : 5340,
11023          "capabilities" : [ "Shader" ],
11024          "extensions" : [ "SPV_NV_ray_tracing" ],
11025          "version" : "None"
11026        },
11027        {
11028          "enumerant" : "VulkanMemoryModel",
11029          "value" : 5345,
11030          "version" : "1.5"
11031        },
11032        {
11033          "enumerant" : "VulkanMemoryModelKHR",
11034          "value" : 5345,
11035          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11036          "version" : "1.5"
11037        },
11038        {
11039          "enumerant" : "VulkanMemoryModelDeviceScope",
11040          "value" : 5346,
11041          "version" : "1.5"
11042        },
11043        {
11044          "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
11045          "value" : 5346,
11046          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
11047          "version" : "1.5"
11048        },
11049        {
11050          "enumerant" : "PhysicalStorageBufferAddresses",
11051          "value" : 5347,
11052          "capabilities" : [ "Shader" ],
11053          "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ],
11054          "version" : "1.5"
11055        },
11056        {
11057          "enumerant" : "PhysicalStorageBufferAddressesEXT",
11058          "value" : 5347,
11059          "capabilities" : [ "Shader" ],
11060          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
11061          "version" : "1.5"
11062        },
11063        {
11064          "enumerant" : "ComputeDerivativeGroupLinearNV",
11065          "value" : 5350,
11066          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
11067          "version" : "None"
11068        },
11069        {
11070          "enumerant" : "RayTracingProvisionalKHR",
11071          "value" : 5353,
11072          "capabilities" : [ "Shader" ],
11073          "extensions" : [ "SPV_KHR_ray_tracing" ],
11074          "version" : "None"
11075        },
11076        {
11077          "enumerant" : "CooperativeMatrixNV",
11078          "value" : 5357,
11079          "capabilities" : [ "Shader" ],
11080          "extensions" : [ "SPV_NV_cooperative_matrix" ],
11081          "version" : "None"
11082        },
11083        {
11084          "enumerant" : "FragmentShaderSampleInterlockEXT",
11085          "value" : 5363,
11086          "capabilities" : [ "Shader" ],
11087          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11088          "version" : "None"
11089        },
11090        {
11091          "enumerant" : "FragmentShaderShadingRateInterlockEXT",
11092          "value" : 5372,
11093          "capabilities" : [ "Shader" ],
11094          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11095          "version" : "None"
11096        },
11097        {
11098          "enumerant" : "ShaderSMBuiltinsNV",
11099          "value" : 5373,
11100          "capabilities" : [ "Shader" ],
11101          "extensions" : [ "SPV_NV_shader_sm_builtins" ],
11102          "version" : "None"
11103        },
11104        {
11105          "enumerant" : "FragmentShaderPixelInterlockEXT",
11106          "value" : 5378,
11107          "capabilities" : [ "Shader" ],
11108          "extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
11109          "version" : "None"
11110        },
11111        {
11112          "enumerant" : "DemoteToHelperInvocationEXT",
11113          "value" : 5379,
11114          "capabilities" : [ "Shader" ],
11115          "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
11116          "version" : "None"
11117        },
11118        {
11119          "enumerant" : "SubgroupShuffleINTEL",
11120          "value" : 5568,
11121          "extensions" : [ "SPV_INTEL_subgroups" ],
11122          "version" : "None"
11123        },
11124        {
11125          "enumerant" : "SubgroupBufferBlockIOINTEL",
11126          "value" : 5569,
11127          "extensions" : [ "SPV_INTEL_subgroups" ],
11128          "version" : "None"
11129        },
11130        {
11131          "enumerant" : "SubgroupImageBlockIOINTEL",
11132          "value" : 5570,
11133          "extensions" : [ "SPV_INTEL_subgroups" ],
11134          "version" : "None"
11135        },
11136        {
11137          "enumerant" : "SubgroupImageMediaBlockIOINTEL",
11138          "value" : 5579,
11139          "extensions" : [ "SPV_INTEL_media_block_io" ],
11140          "version" : "None"
11141        },
11142        {
11143          "enumerant" : "IntegerFunctions2INTEL",
11144          "value" : 5584,
11145          "capabilities" : [ "Shader" ],
11146          "extensions" : [ "SPV_INTEL_shader_integer_functions2" ],
11147          "version" : "None"
11148        },
11149        {
11150          "enumerant" : "SubgroupAvcMotionEstimationINTEL",
11151          "value" : 5696,
11152          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11153          "version" : "None"
11154        },
11155        {
11156          "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL",
11157          "value" : 5697,
11158          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11159          "version" : "None"
11160        },
11161        {
11162          "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL",
11163          "value" : 5698,
11164          "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ],
11165          "version" : "None"
11166        }
11167      ]
11168    },
11169    {
11170      "category" : "ValueEnum",
11171      "kind" : "RayQueryIntersection",
11172      "enumerants" : [
11173        {
11174          "enumerant" : "RayQueryCandidateIntersectionKHR",
11175          "value" : 0,
11176          "capabilities" : [ "RayQueryProvisionalKHR" ]
11177        },
11178        {
11179          "enumerant" : "RayQueryCommittedIntersectionKHR",
11180          "value" : 1,
11181          "capabilities" : [ "RayQueryProvisionalKHR" ]
11182        }
11183      ]
11184    },
11185    {
11186      "category" : "ValueEnum",
11187      "kind" : "RayQueryCommittedIntersectionType",
11188      "enumerants" : [
11189        {
11190          "enumerant" : "RayQueryCommittedIntersectionNoneKHR",
11191          "value" : 0,
11192          "capabilities" : [ "RayQueryProvisionalKHR" ]
11193        },
11194        {
11195          "enumerant" : "RayQueryCommittedIntersectionTriangleKHR",
11196          "value" : 1,
11197          "capabilities" : [ "RayQueryProvisionalKHR" ]
11198        },
11199        {
11200          "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR",
11201          "value" : 2,
11202          "capabilities" : [ "RayQueryProvisionalKHR" ]
11203        }
11204      ]
11205    },
11206    {
11207      "category" : "ValueEnum",
11208      "kind" : "RayQueryCandidateIntersectionType",
11209      "enumerants" : [
11210        {
11211          "enumerant" : "RayQueryCandidateIntersectionTriangleKHR",
11212          "value" : 0,
11213          "capabilities" : [ "RayQueryProvisionalKHR" ]
11214        },
11215        {
11216          "enumerant" : "RayQueryCandidateIntersectionAABBKHR",
11217          "value" : 1,
11218          "capabilities" : [ "RayQueryProvisionalKHR" ]
11219        }
11220      ]
11221    },
11222    {
11223      "category" : "Id",
11224      "kind" : "IdResultType",
11225      "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
11226    },
11227    {
11228      "category" : "Id",
11229      "kind" : "IdResult",
11230      "doc" : "Definition of an <id> representing the result of the enclosing instruction"
11231    },
11232    {
11233      "category" : "Id",
11234      "kind" : "IdMemorySemantics",
11235      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
11236    },
11237    {
11238      "category" : "Id",
11239      "kind" : "IdScope",
11240      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
11241    },
11242    {
11243      "category" : "Id",
11244      "kind" : "IdRef",
11245      "doc" : "Reference to an <id>"
11246    },
11247    {
11248      "category" : "Literal",
11249      "kind" : "LiteralInteger",
11250      "doc" : "An integer consuming one or more words"
11251    },
11252    {
11253      "category" : "Literal",
11254      "kind" : "LiteralString",
11255      "doc" : "A null-terminated stream of characters consuming an integral number of words"
11256    },
11257    {
11258      "category" : "Literal",
11259      "kind" : "LiteralContextDependentNumber",
11260      "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
11261    },
11262    {
11263      "category" : "Literal",
11264      "kind" : "LiteralExtInstInteger",
11265      "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
11266    },
11267    {
11268      "category" : "Literal",
11269      "kind" : "LiteralSpecConstantOpInteger",
11270      "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
11271    },
11272    {
11273      "category" : "Composite",
11274      "kind" : "PairLiteralIntegerIdRef",
11275      "bases" : [ "LiteralInteger", "IdRef" ]
11276    },
11277    {
11278      "category" : "Composite",
11279      "kind" : "PairIdRefLiteralInteger",
11280      "bases" : [ "IdRef", "LiteralInteger" ]
11281    },
11282    {
11283      "category" : "Composite",
11284      "kind" : "PairIdRefIdRef",
11285      "bases" : [ "IdRef", "IdRef" ]
11286    }
11287  ]
11288}
11289