1# Copyright (c) 2014-2018 The Khronos Group Inc.
2#
3# Permission is hereby granted, free of charge, to any person obtaining a copy
4# of this software and/or associated documentation files (the "Materials"),
5# to deal in the Materials without restriction, including without limitation
6# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7# and/or sell copies of the Materials, and to permit persons to whom the
8# Materials are furnished to do so, subject to the following conditions:
9#
10# The above copyright notice and this permission notice shall be included in
11# all copies or substantial portions of the Materials.
12#
13# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
14# STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
15# HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
16#
17# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22# FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
23# IN THE MATERIALS.
24
25# This header is automatically generated by the same tool that creates
26# the Binary Section of the SPIR-V specification.
27
28# Enumeration tokens for SPIR-V, in various styles:
29#   C, C++, C++11, JSON, Lua, Python, C#
30#
31# - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
32# - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
33# - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
34# - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
35# - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
36# - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL
37#
38# Some tokens act like mask values, which can be OR'd together,
39# while others are mutually exclusive.  The mask-like ones have
40# "Mask" in their name, and a parallel enum that has the shift
41# amount (1 << x) for each corresponding enumerant.
42
43spv = {
44    'MagicNumber' : 0x07230203,
45    'Version' : 0x00010300,
46    'Revision' : 6,
47    'OpCodeMask' : 0xffff,
48    'WordCountShift' : 16,
49
50    'SourceLanguage' : {
51        'Unknown' : 0,
52        'ESSL' : 1,
53        'GLSL' : 2,
54        'OpenCL_C' : 3,
55        'OpenCL_CPP' : 4,
56        'HLSL' : 5,
57    },
58
59    'ExecutionModel' : {
60        'Vertex' : 0,
61        'TessellationControl' : 1,
62        'TessellationEvaluation' : 2,
63        'Geometry' : 3,
64        'Fragment' : 4,
65        'GLCompute' : 5,
66        'Kernel' : 6,
67        'TaskNV' : 5267,
68        'MeshNV' : 5268,
69        'RayGenerationNV' : 5313,
70        'IntersectionNV' : 5314,
71        'AnyHitNV' : 5315,
72        'ClosestHitNV' : 5316,
73        'MissNV' : 5317,
74        'CallableNV' : 5318,
75    },
76
77    'AddressingModel' : {
78        'Logical' : 0,
79        'Physical32' : 1,
80        'Physical64' : 2,
81    },
82
83    'MemoryModel' : {
84        'Simple' : 0,
85        'GLSL450' : 1,
86        'OpenCL' : 2,
87        'VulkanKHR' : 3,
88    },
89
90    'ExecutionMode' : {
91        'Invocations' : 0,
92        'SpacingEqual' : 1,
93        'SpacingFractionalEven' : 2,
94        'SpacingFractionalOdd' : 3,
95        'VertexOrderCw' : 4,
96        'VertexOrderCcw' : 5,
97        'PixelCenterInteger' : 6,
98        'OriginUpperLeft' : 7,
99        'OriginLowerLeft' : 8,
100        'EarlyFragmentTests' : 9,
101        'PointMode' : 10,
102        'Xfb' : 11,
103        'DepthReplacing' : 12,
104        'DepthGreater' : 14,
105        'DepthLess' : 15,
106        'DepthUnchanged' : 16,
107        'LocalSize' : 17,
108        'LocalSizeHint' : 18,
109        'InputPoints' : 19,
110        'InputLines' : 20,
111        'InputLinesAdjacency' : 21,
112        'Triangles' : 22,
113        'InputTrianglesAdjacency' : 23,
114        'Quads' : 24,
115        'Isolines' : 25,
116        'OutputVertices' : 26,
117        'OutputPoints' : 27,
118        'OutputLineStrip' : 28,
119        'OutputTriangleStrip' : 29,
120        'VecTypeHint' : 30,
121        'ContractionOff' : 31,
122        'Initializer' : 33,
123        'Finalizer' : 34,
124        'SubgroupSize' : 35,
125        'SubgroupsPerWorkgroup' : 36,
126        'SubgroupsPerWorkgroupId' : 37,
127        'LocalSizeId' : 38,
128        'LocalSizeHintId' : 39,
129        'PostDepthCoverage' : 4446,
130        'DenormPreserve' : 4459,
131        'DenormFlushToZero' : 4460,
132        'SignedZeroInfNanPreserve' : 4461,
133        'RoundingModeRTE' : 4462,
134        'RoundingModeRTZ' : 4463,
135        'StencilRefReplacingEXT' : 5027,
136        'OutputLinesNV' : 5269,
137        'OutputPrimitivesNV' : 5270,
138        'DerivativeGroupQuadsNV' : 5289,
139        'DerivativeGroupLinearNV' : 5290,
140        'OutputTrianglesNV' : 5298,
141    },
142
143    'StorageClass' : {
144        'UniformConstant' : 0,
145        'Input' : 1,
146        'Uniform' : 2,
147        'Output' : 3,
148        'Workgroup' : 4,
149        'CrossWorkgroup' : 5,
150        'Private' : 6,
151        'Function' : 7,
152        'Generic' : 8,
153        'PushConstant' : 9,
154        'AtomicCounter' : 10,
155        'Image' : 11,
156        'StorageBuffer' : 12,
157        'CallableDataNV' : 5328,
158        'IncomingCallableDataNV' : 5329,
159        'RayPayloadNV' : 5338,
160        'HitAttributeNV' : 5339,
161        'IncomingRayPayloadNV' : 5342,
162        'ShaderRecordBufferNV' : 5343,
163    },
164
165    'Dim' : {
166        'Dim1D' : 0,
167        'Dim2D' : 1,
168        'Dim3D' : 2,
169        'Cube' : 3,
170        'Rect' : 4,
171        'Buffer' : 5,
172        'SubpassData' : 6,
173    },
174
175    'SamplerAddressingMode' : {
176        'None' : 0,
177        'ClampToEdge' : 1,
178        'Clamp' : 2,
179        'Repeat' : 3,
180        'RepeatMirrored' : 4,
181    },
182
183    'SamplerFilterMode' : {
184        'Nearest' : 0,
185        'Linear' : 1,
186    },
187
188    'ImageFormat' : {
189        'Unknown' : 0,
190        'Rgba32f' : 1,
191        'Rgba16f' : 2,
192        'R32f' : 3,
193        'Rgba8' : 4,
194        'Rgba8Snorm' : 5,
195        'Rg32f' : 6,
196        'Rg16f' : 7,
197        'R11fG11fB10f' : 8,
198        'R16f' : 9,
199        'Rgba16' : 10,
200        'Rgb10A2' : 11,
201        'Rg16' : 12,
202        'Rg8' : 13,
203        'R16' : 14,
204        'R8' : 15,
205        'Rgba16Snorm' : 16,
206        'Rg16Snorm' : 17,
207        'Rg8Snorm' : 18,
208        'R16Snorm' : 19,
209        'R8Snorm' : 20,
210        'Rgba32i' : 21,
211        'Rgba16i' : 22,
212        'Rgba8i' : 23,
213        'R32i' : 24,
214        'Rg32i' : 25,
215        'Rg16i' : 26,
216        'Rg8i' : 27,
217        'R16i' : 28,
218        'R8i' : 29,
219        'Rgba32ui' : 30,
220        'Rgba16ui' : 31,
221        'Rgba8ui' : 32,
222        'R32ui' : 33,
223        'Rgb10a2ui' : 34,
224        'Rg32ui' : 35,
225        'Rg16ui' : 36,
226        'Rg8ui' : 37,
227        'R16ui' : 38,
228        'R8ui' : 39,
229    },
230
231    'ImageChannelOrder' : {
232        'R' : 0,
233        'A' : 1,
234        'RG' : 2,
235        'RA' : 3,
236        'RGB' : 4,
237        'RGBA' : 5,
238        'BGRA' : 6,
239        'ARGB' : 7,
240        'Intensity' : 8,
241        'Luminance' : 9,
242        'Rx' : 10,
243        'RGx' : 11,
244        'RGBx' : 12,
245        'Depth' : 13,
246        'DepthStencil' : 14,
247        'sRGB' : 15,
248        'sRGBx' : 16,
249        'sRGBA' : 17,
250        'sBGRA' : 18,
251        'ABGR' : 19,
252    },
253
254    'ImageChannelDataType' : {
255        'SnormInt8' : 0,
256        'SnormInt16' : 1,
257        'UnormInt8' : 2,
258        'UnormInt16' : 3,
259        'UnormShort565' : 4,
260        'UnormShort555' : 5,
261        'UnormInt101010' : 6,
262        'SignedInt8' : 7,
263        'SignedInt16' : 8,
264        'SignedInt32' : 9,
265        'UnsignedInt8' : 10,
266        'UnsignedInt16' : 11,
267        'UnsignedInt32' : 12,
268        'HalfFloat' : 13,
269        'Float' : 14,
270        'UnormInt24' : 15,
271        'UnormInt101010_2' : 16,
272    },
273
274    'ImageOperandsShift' : {
275        'Bias' : 0,
276        'Lod' : 1,
277        'Grad' : 2,
278        'ConstOffset' : 3,
279        'Offset' : 4,
280        'ConstOffsets' : 5,
281        'Sample' : 6,
282        'MinLod' : 7,
283        'MakeTexelAvailableKHR' : 8,
284        'MakeTexelVisibleKHR' : 9,
285        'NonPrivateTexelKHR' : 10,
286        'VolatileTexelKHR' : 11,
287    },
288
289    'ImageOperandsMask' : {
290        'MaskNone' : 0,
291        'Bias' : 0x00000001,
292        'Lod' : 0x00000002,
293        'Grad' : 0x00000004,
294        'ConstOffset' : 0x00000008,
295        'Offset' : 0x00000010,
296        'ConstOffsets' : 0x00000020,
297        'Sample' : 0x00000040,
298        'MinLod' : 0x00000080,
299        'MakeTexelAvailableKHR' : 0x00000100,
300        'MakeTexelVisibleKHR' : 0x00000200,
301        'NonPrivateTexelKHR' : 0x00000400,
302        'VolatileTexelKHR' : 0x00000800,
303    },
304
305    'FPFastMathModeShift' : {
306        'NotNaN' : 0,
307        'NotInf' : 1,
308        'NSZ' : 2,
309        'AllowRecip' : 3,
310        'Fast' : 4,
311    },
312
313    'FPFastMathModeMask' : {
314        'MaskNone' : 0,
315        'NotNaN' : 0x00000001,
316        'NotInf' : 0x00000002,
317        'NSZ' : 0x00000004,
318        'AllowRecip' : 0x00000008,
319        'Fast' : 0x00000010,
320    },
321
322    'FPRoundingMode' : {
323        'RTE' : 0,
324        'RTZ' : 1,
325        'RTP' : 2,
326        'RTN' : 3,
327    },
328
329    'LinkageType' : {
330        'Export' : 0,
331        'Import' : 1,
332    },
333
334    'AccessQualifier' : {
335        'ReadOnly' : 0,
336        'WriteOnly' : 1,
337        'ReadWrite' : 2,
338    },
339
340    'FunctionParameterAttribute' : {
341        'Zext' : 0,
342        'Sext' : 1,
343        'ByVal' : 2,
344        'Sret' : 3,
345        'NoAlias' : 4,
346        'NoCapture' : 5,
347        'NoWrite' : 6,
348        'NoReadWrite' : 7,
349    },
350
351    'Decoration' : {
352        'RelaxedPrecision' : 0,
353        'SpecId' : 1,
354        'Block' : 2,
355        'BufferBlock' : 3,
356        'RowMajor' : 4,
357        'ColMajor' : 5,
358        'ArrayStride' : 6,
359        'MatrixStride' : 7,
360        'GLSLShared' : 8,
361        'GLSLPacked' : 9,
362        'CPacked' : 10,
363        'BuiltIn' : 11,
364        'NoPerspective' : 13,
365        'Flat' : 14,
366        'Patch' : 15,
367        'Centroid' : 16,
368        'Sample' : 17,
369        'Invariant' : 18,
370        'Restrict' : 19,
371        'Aliased' : 20,
372        'Volatile' : 21,
373        'Constant' : 22,
374        'Coherent' : 23,
375        'NonWritable' : 24,
376        'NonReadable' : 25,
377        'Uniform' : 26,
378        'SaturatedConversion' : 28,
379        'Stream' : 29,
380        'Location' : 30,
381        'Component' : 31,
382        'Index' : 32,
383        'Binding' : 33,
384        'DescriptorSet' : 34,
385        'Offset' : 35,
386        'XfbBuffer' : 36,
387        'XfbStride' : 37,
388        'FuncParamAttr' : 38,
389        'FPRoundingMode' : 39,
390        'FPFastMathMode' : 40,
391        'LinkageAttributes' : 41,
392        'NoContraction' : 42,
393        'InputAttachmentIndex' : 43,
394        'Alignment' : 44,
395        'MaxByteOffset' : 45,
396        'AlignmentId' : 46,
397        'MaxByteOffsetId' : 47,
398        'NoSignedWrap' : 4469,
399        'NoUnsignedWrap' : 4470,
400        'ExplicitInterpAMD' : 4999,
401        'OverrideCoverageNV' : 5248,
402        'PassthroughNV' : 5250,
403        'ViewportRelativeNV' : 5252,
404        'SecondaryViewportRelativeNV' : 5256,
405        'PerPrimitiveNV' : 5271,
406        'PerViewNV' : 5272,
407        'PerTaskNV' : 5273,
408        'PerVertexNV' : 5285,
409        'NonUniformEXT' : 5300,
410        'HlslCounterBufferGOOGLE' : 5634,
411        'HlslSemanticGOOGLE' : 5635,
412    },
413
414    'BuiltIn' : {
415        'Position' : 0,
416        'PointSize' : 1,
417        'ClipDistance' : 3,
418        'CullDistance' : 4,
419        'VertexId' : 5,
420        'InstanceId' : 6,
421        'PrimitiveId' : 7,
422        'InvocationId' : 8,
423        'Layer' : 9,
424        'ViewportIndex' : 10,
425        'TessLevelOuter' : 11,
426        'TessLevelInner' : 12,
427        'TessCoord' : 13,
428        'PatchVertices' : 14,
429        'FragCoord' : 15,
430        'PointCoord' : 16,
431        'FrontFacing' : 17,
432        'SampleId' : 18,
433        'SamplePosition' : 19,
434        'SampleMask' : 20,
435        'FragDepth' : 22,
436        'HelperInvocation' : 23,
437        'NumWorkgroups' : 24,
438        'WorkgroupSize' : 25,
439        'WorkgroupId' : 26,
440        'LocalInvocationId' : 27,
441        'GlobalInvocationId' : 28,
442        'LocalInvocationIndex' : 29,
443        'WorkDim' : 30,
444        'GlobalSize' : 31,
445        'EnqueuedWorkgroupSize' : 32,
446        'GlobalOffset' : 33,
447        'GlobalLinearId' : 34,
448        'SubgroupSize' : 36,
449        'SubgroupMaxSize' : 37,
450        'NumSubgroups' : 38,
451        'NumEnqueuedSubgroups' : 39,
452        'SubgroupId' : 40,
453        'SubgroupLocalInvocationId' : 41,
454        'VertexIndex' : 42,
455        'InstanceIndex' : 43,
456        'SubgroupEqMask' : 4416,
457        'SubgroupEqMaskKHR' : 4416,
458        'SubgroupGeMask' : 4417,
459        'SubgroupGeMaskKHR' : 4417,
460        'SubgroupGtMask' : 4418,
461        'SubgroupGtMaskKHR' : 4418,
462        'SubgroupLeMask' : 4419,
463        'SubgroupLeMaskKHR' : 4419,
464        'SubgroupLtMask' : 4420,
465        'SubgroupLtMaskKHR' : 4420,
466        'BaseVertex' : 4424,
467        'BaseInstance' : 4425,
468        'DrawIndex' : 4426,
469        'DeviceIndex' : 4438,
470        'ViewIndex' : 4440,
471        'BaryCoordNoPerspAMD' : 4992,
472        'BaryCoordNoPerspCentroidAMD' : 4993,
473        'BaryCoordNoPerspSampleAMD' : 4994,
474        'BaryCoordSmoothAMD' : 4995,
475        'BaryCoordSmoothCentroidAMD' : 4996,
476        'BaryCoordSmoothSampleAMD' : 4997,
477        'BaryCoordPullModelAMD' : 4998,
478        'FragStencilRefEXT' : 5014,
479        'ViewportMaskNV' : 5253,
480        'SecondaryPositionNV' : 5257,
481        'SecondaryViewportMaskNV' : 5258,
482        'PositionPerViewNV' : 5261,
483        'ViewportMaskPerViewNV' : 5262,
484        'FullyCoveredEXT' : 5264,
485        'TaskCountNV' : 5274,
486        'PrimitiveCountNV' : 5275,
487        'PrimitiveIndicesNV' : 5276,
488        'ClipDistancePerViewNV' : 5277,
489        'CullDistancePerViewNV' : 5278,
490        'LayerPerViewNV' : 5279,
491        'MeshViewCountNV' : 5280,
492        'MeshViewIndicesNV' : 5281,
493        'BaryCoordNV' : 5286,
494        'BaryCoordNoPerspNV' : 5287,
495        'FragSizeEXT' : 5292,
496        'FragmentSizeNV' : 5292,
497        'FragInvocationCountEXT' : 5293,
498        'InvocationsPerPixelNV' : 5293,
499        'LaunchIdNV' : 5319,
500        'LaunchSizeNV' : 5320,
501        'WorldRayOriginNV' : 5321,
502        'WorldRayDirectionNV' : 5322,
503        'ObjectRayOriginNV' : 5323,
504        'ObjectRayDirectionNV' : 5324,
505        'RayTminNV' : 5325,
506        'RayTmaxNV' : 5326,
507        'InstanceCustomIndexNV' : 5327,
508        'ObjectToWorldNV' : 5330,
509        'WorldToObjectNV' : 5331,
510        'HitTNV' : 5332,
511        'HitKindNV' : 5333,
512        'IncomingRayFlagsNV' : 5351,
513    },
514
515    'SelectionControlShift' : {
516        'Flatten' : 0,
517        'DontFlatten' : 1,
518    },
519
520    'SelectionControlMask' : {
521        'MaskNone' : 0,
522        'Flatten' : 0x00000001,
523        'DontFlatten' : 0x00000002,
524    },
525
526    'LoopControlShift' : {
527        'Unroll' : 0,
528        'DontUnroll' : 1,
529        'DependencyInfinite' : 2,
530        'DependencyLength' : 3,
531    },
532
533    'LoopControlMask' : {
534        'MaskNone' : 0,
535        'Unroll' : 0x00000001,
536        'DontUnroll' : 0x00000002,
537        'DependencyInfinite' : 0x00000004,
538        'DependencyLength' : 0x00000008,
539    },
540
541    'FunctionControlShift' : {
542        'Inline' : 0,
543        'DontInline' : 1,
544        'Pure' : 2,
545        'Const' : 3,
546    },
547
548    'FunctionControlMask' : {
549        'MaskNone' : 0,
550        'Inline' : 0x00000001,
551        'DontInline' : 0x00000002,
552        'Pure' : 0x00000004,
553        'Const' : 0x00000008,
554    },
555
556    'MemorySemanticsShift' : {
557        'Acquire' : 1,
558        'Release' : 2,
559        'AcquireRelease' : 3,
560        'SequentiallyConsistent' : 4,
561        'UniformMemory' : 6,
562        'SubgroupMemory' : 7,
563        'WorkgroupMemory' : 8,
564        'CrossWorkgroupMemory' : 9,
565        'AtomicCounterMemory' : 10,
566        'ImageMemory' : 11,
567        'OutputMemoryKHR' : 12,
568        'MakeAvailableKHR' : 13,
569        'MakeVisibleKHR' : 14,
570    },
571
572    'MemorySemanticsMask' : {
573        'MaskNone' : 0,
574        'Acquire' : 0x00000002,
575        'Release' : 0x00000004,
576        'AcquireRelease' : 0x00000008,
577        'SequentiallyConsistent' : 0x00000010,
578        'UniformMemory' : 0x00000040,
579        'SubgroupMemory' : 0x00000080,
580        'WorkgroupMemory' : 0x00000100,
581        'CrossWorkgroupMemory' : 0x00000200,
582        'AtomicCounterMemory' : 0x00000400,
583        'ImageMemory' : 0x00000800,
584        'OutputMemoryKHR' : 0x00001000,
585        'MakeAvailableKHR' : 0x00002000,
586        'MakeVisibleKHR' : 0x00004000,
587    },
588
589    'MemoryAccessShift' : {
590        'Volatile' : 0,
591        'Aligned' : 1,
592        'Nontemporal' : 2,
593        'MakePointerAvailableKHR' : 3,
594        'MakePointerVisibleKHR' : 4,
595        'NonPrivatePointerKHR' : 5,
596    },
597
598    'MemoryAccessMask' : {
599        'MaskNone' : 0,
600        'Volatile' : 0x00000001,
601        'Aligned' : 0x00000002,
602        'Nontemporal' : 0x00000004,
603        'MakePointerAvailableKHR' : 0x00000008,
604        'MakePointerVisibleKHR' : 0x00000010,
605        'NonPrivatePointerKHR' : 0x00000020,
606    },
607
608    'Scope' : {
609        'CrossDevice' : 0,
610        'Device' : 1,
611        'Workgroup' : 2,
612        'Subgroup' : 3,
613        'Invocation' : 4,
614        'QueueFamilyKHR' : 5,
615    },
616
617    'GroupOperation' : {
618        'Reduce' : 0,
619        'InclusiveScan' : 1,
620        'ExclusiveScan' : 2,
621        'ClusteredReduce' : 3,
622        'PartitionedReduceNV' : 6,
623        'PartitionedInclusiveScanNV' : 7,
624        'PartitionedExclusiveScanNV' : 8,
625    },
626
627    'KernelEnqueueFlags' : {
628        'NoWait' : 0,
629        'WaitKernel' : 1,
630        'WaitWorkGroup' : 2,
631    },
632
633    'KernelProfilingInfoShift' : {
634        'CmdExecTime' : 0,
635    },
636
637    'KernelProfilingInfoMask' : {
638        'MaskNone' : 0,
639        'CmdExecTime' : 0x00000001,
640    },
641
642    'Capability' : {
643        'Matrix' : 0,
644        'Shader' : 1,
645        'Geometry' : 2,
646        'Tessellation' : 3,
647        'Addresses' : 4,
648        'Linkage' : 5,
649        'Kernel' : 6,
650        'Vector16' : 7,
651        'Float16Buffer' : 8,
652        'Float16' : 9,
653        'Float64' : 10,
654        'Int64' : 11,
655        'Int64Atomics' : 12,
656        'ImageBasic' : 13,
657        'ImageReadWrite' : 14,
658        'ImageMipmap' : 15,
659        'Pipes' : 17,
660        'Groups' : 18,
661        'DeviceEnqueue' : 19,
662        'LiteralSampler' : 20,
663        'AtomicStorage' : 21,
664        'Int16' : 22,
665        'TessellationPointSize' : 23,
666        'GeometryPointSize' : 24,
667        'ImageGatherExtended' : 25,
668        'StorageImageMultisample' : 27,
669        'UniformBufferArrayDynamicIndexing' : 28,
670        'SampledImageArrayDynamicIndexing' : 29,
671        'StorageBufferArrayDynamicIndexing' : 30,
672        'StorageImageArrayDynamicIndexing' : 31,
673        'ClipDistance' : 32,
674        'CullDistance' : 33,
675        'ImageCubeArray' : 34,
676        'SampleRateShading' : 35,
677        'ImageRect' : 36,
678        'SampledRect' : 37,
679        'GenericPointer' : 38,
680        'Int8' : 39,
681        'InputAttachment' : 40,
682        'SparseResidency' : 41,
683        'MinLod' : 42,
684        'Sampled1D' : 43,
685        'Image1D' : 44,
686        'SampledCubeArray' : 45,
687        'SampledBuffer' : 46,
688        'ImageBuffer' : 47,
689        'ImageMSArray' : 48,
690        'StorageImageExtendedFormats' : 49,
691        'ImageQuery' : 50,
692        'DerivativeControl' : 51,
693        'InterpolationFunction' : 52,
694        'TransformFeedback' : 53,
695        'GeometryStreams' : 54,
696        'StorageImageReadWithoutFormat' : 55,
697        'StorageImageWriteWithoutFormat' : 56,
698        'MultiViewport' : 57,
699        'SubgroupDispatch' : 58,
700        'NamedBarrier' : 59,
701        'PipeStorage' : 60,
702        'GroupNonUniform' : 61,
703        'GroupNonUniformVote' : 62,
704        'GroupNonUniformArithmetic' : 63,
705        'GroupNonUniformBallot' : 64,
706        'GroupNonUniformShuffle' : 65,
707        'GroupNonUniformShuffleRelative' : 66,
708        'GroupNonUniformClustered' : 67,
709        'GroupNonUniformQuad' : 68,
710        'SubgroupBallotKHR' : 4423,
711        'DrawParameters' : 4427,
712        'SubgroupVoteKHR' : 4431,
713        'StorageBuffer16BitAccess' : 4433,
714        'StorageUniformBufferBlock16' : 4433,
715        'StorageUniform16' : 4434,
716        'UniformAndStorageBuffer16BitAccess' : 4434,
717        'StoragePushConstant16' : 4435,
718        'StorageInputOutput16' : 4436,
719        'DeviceGroup' : 4437,
720        'MultiView' : 4439,
721        'VariablePointersStorageBuffer' : 4441,
722        'VariablePointers' : 4442,
723        'AtomicStorageOps' : 4445,
724        'SampleMaskPostDepthCoverage' : 4447,
725        'StorageBuffer8BitAccess' : 4448,
726        'UniformAndStorageBuffer8BitAccess' : 4449,
727        'StoragePushConstant8' : 4450,
728        'DenormPreserve' : 4464,
729        'DenormFlushToZero' : 4465,
730        'SignedZeroInfNanPreserve' : 4466,
731        'RoundingModeRTE' : 4467,
732        'RoundingModeRTZ' : 4468,
733        'Float16ImageAMD' : 5008,
734        'ImageGatherBiasLodAMD' : 5009,
735        'FragmentMaskAMD' : 5010,
736        'StencilExportEXT' : 5013,
737        'ImageReadWriteLodAMD' : 5015,
738        'SampleMaskOverrideCoverageNV' : 5249,
739        'GeometryShaderPassthroughNV' : 5251,
740        'ShaderViewportIndexLayerEXT' : 5254,
741        'ShaderViewportIndexLayerNV' : 5254,
742        'ShaderViewportMaskNV' : 5255,
743        'ShaderStereoViewNV' : 5259,
744        'PerViewAttributesNV' : 5260,
745        'FragmentFullyCoveredEXT' : 5265,
746        'MeshShadingNV' : 5266,
747        'ImageFootprintNV' : 5282,
748        'FragmentBarycentricNV' : 5284,
749        'ComputeDerivativeGroupQuadsNV' : 5288,
750        'FragmentDensityEXT' : 5291,
751        'ShadingRateNV' : 5291,
752        'GroupNonUniformPartitionedNV' : 5297,
753        'ShaderNonUniformEXT' : 5301,
754        'RuntimeDescriptorArrayEXT' : 5302,
755        'InputAttachmentArrayDynamicIndexingEXT' : 5303,
756        'UniformTexelBufferArrayDynamicIndexingEXT' : 5304,
757        'StorageTexelBufferArrayDynamicIndexingEXT' : 5305,
758        'UniformBufferArrayNonUniformIndexingEXT' : 5306,
759        'SampledImageArrayNonUniformIndexingEXT' : 5307,
760        'StorageBufferArrayNonUniformIndexingEXT' : 5308,
761        'StorageImageArrayNonUniformIndexingEXT' : 5309,
762        'InputAttachmentArrayNonUniformIndexingEXT' : 5310,
763        'UniformTexelBufferArrayNonUniformIndexingEXT' : 5311,
764        'StorageTexelBufferArrayNonUniformIndexingEXT' : 5312,
765        'RayTracingNV' : 5340,
766        'VulkanMemoryModelKHR' : 5345,
767        'VulkanMemoryModelDeviceScopeKHR' : 5346,
768        'ComputeDerivativeGroupLinearNV' : 5350,
769        'SubgroupShuffleINTEL' : 5568,
770        'SubgroupBufferBlockIOINTEL' : 5569,
771        'SubgroupImageBlockIOINTEL' : 5570,
772    },
773
774    'Op' : {
775        'OpNop' : 0,
776        'OpUndef' : 1,
777        'OpSourceContinued' : 2,
778        'OpSource' : 3,
779        'OpSourceExtension' : 4,
780        'OpName' : 5,
781        'OpMemberName' : 6,
782        'OpString' : 7,
783        'OpLine' : 8,
784        'OpExtension' : 10,
785        'OpExtInstImport' : 11,
786        'OpExtInst' : 12,
787        'OpMemoryModel' : 14,
788        'OpEntryPoint' : 15,
789        'OpExecutionMode' : 16,
790        'OpCapability' : 17,
791        'OpTypeVoid' : 19,
792        'OpTypeBool' : 20,
793        'OpTypeInt' : 21,
794        'OpTypeFloat' : 22,
795        'OpTypeVector' : 23,
796        'OpTypeMatrix' : 24,
797        'OpTypeImage' : 25,
798        'OpTypeSampler' : 26,
799        'OpTypeSampledImage' : 27,
800        'OpTypeArray' : 28,
801        'OpTypeRuntimeArray' : 29,
802        'OpTypeStruct' : 30,
803        'OpTypeOpaque' : 31,
804        'OpTypePointer' : 32,
805        'OpTypeFunction' : 33,
806        'OpTypeEvent' : 34,
807        'OpTypeDeviceEvent' : 35,
808        'OpTypeReserveId' : 36,
809        'OpTypeQueue' : 37,
810        'OpTypePipe' : 38,
811        'OpTypeForwardPointer' : 39,
812        'OpConstantTrue' : 41,
813        'OpConstantFalse' : 42,
814        'OpConstant' : 43,
815        'OpConstantComposite' : 44,
816        'OpConstantSampler' : 45,
817        'OpConstantNull' : 46,
818        'OpSpecConstantTrue' : 48,
819        'OpSpecConstantFalse' : 49,
820        'OpSpecConstant' : 50,
821        'OpSpecConstantComposite' : 51,
822        'OpSpecConstantOp' : 52,
823        'OpFunction' : 54,
824        'OpFunctionParameter' : 55,
825        'OpFunctionEnd' : 56,
826        'OpFunctionCall' : 57,
827        'OpVariable' : 59,
828        'OpImageTexelPointer' : 60,
829        'OpLoad' : 61,
830        'OpStore' : 62,
831        'OpCopyMemory' : 63,
832        'OpCopyMemorySized' : 64,
833        'OpAccessChain' : 65,
834        'OpInBoundsAccessChain' : 66,
835        'OpPtrAccessChain' : 67,
836        'OpArrayLength' : 68,
837        'OpGenericPtrMemSemantics' : 69,
838        'OpInBoundsPtrAccessChain' : 70,
839        'OpDecorate' : 71,
840        'OpMemberDecorate' : 72,
841        'OpDecorationGroup' : 73,
842        'OpGroupDecorate' : 74,
843        'OpGroupMemberDecorate' : 75,
844        'OpVectorExtractDynamic' : 77,
845        'OpVectorInsertDynamic' : 78,
846        'OpVectorShuffle' : 79,
847        'OpCompositeConstruct' : 80,
848        'OpCompositeExtract' : 81,
849        'OpCompositeInsert' : 82,
850        'OpCopyObject' : 83,
851        'OpTranspose' : 84,
852        'OpSampledImage' : 86,
853        'OpImageSampleImplicitLod' : 87,
854        'OpImageSampleExplicitLod' : 88,
855        'OpImageSampleDrefImplicitLod' : 89,
856        'OpImageSampleDrefExplicitLod' : 90,
857        'OpImageSampleProjImplicitLod' : 91,
858        'OpImageSampleProjExplicitLod' : 92,
859        'OpImageSampleProjDrefImplicitLod' : 93,
860        'OpImageSampleProjDrefExplicitLod' : 94,
861        'OpImageFetch' : 95,
862        'OpImageGather' : 96,
863        'OpImageDrefGather' : 97,
864        'OpImageRead' : 98,
865        'OpImageWrite' : 99,
866        'OpImage' : 100,
867        'OpImageQueryFormat' : 101,
868        'OpImageQueryOrder' : 102,
869        'OpImageQuerySizeLod' : 103,
870        'OpImageQuerySize' : 104,
871        'OpImageQueryLod' : 105,
872        'OpImageQueryLevels' : 106,
873        'OpImageQuerySamples' : 107,
874        'OpConvertFToU' : 109,
875        'OpConvertFToS' : 110,
876        'OpConvertSToF' : 111,
877        'OpConvertUToF' : 112,
878        'OpUConvert' : 113,
879        'OpSConvert' : 114,
880        'OpFConvert' : 115,
881        'OpQuantizeToF16' : 116,
882        'OpConvertPtrToU' : 117,
883        'OpSatConvertSToU' : 118,
884        'OpSatConvertUToS' : 119,
885        'OpConvertUToPtr' : 120,
886        'OpPtrCastToGeneric' : 121,
887        'OpGenericCastToPtr' : 122,
888        'OpGenericCastToPtrExplicit' : 123,
889        'OpBitcast' : 124,
890        'OpSNegate' : 126,
891        'OpFNegate' : 127,
892        'OpIAdd' : 128,
893        'OpFAdd' : 129,
894        'OpISub' : 130,
895        'OpFSub' : 131,
896        'OpIMul' : 132,
897        'OpFMul' : 133,
898        'OpUDiv' : 134,
899        'OpSDiv' : 135,
900        'OpFDiv' : 136,
901        'OpUMod' : 137,
902        'OpSRem' : 138,
903        'OpSMod' : 139,
904        'OpFRem' : 140,
905        'OpFMod' : 141,
906        'OpVectorTimesScalar' : 142,
907        'OpMatrixTimesScalar' : 143,
908        'OpVectorTimesMatrix' : 144,
909        'OpMatrixTimesVector' : 145,
910        'OpMatrixTimesMatrix' : 146,
911        'OpOuterProduct' : 147,
912        'OpDot' : 148,
913        'OpIAddCarry' : 149,
914        'OpISubBorrow' : 150,
915        'OpUMulExtended' : 151,
916        'OpSMulExtended' : 152,
917        'OpAny' : 154,
918        'OpAll' : 155,
919        'OpIsNan' : 156,
920        'OpIsInf' : 157,
921        'OpIsFinite' : 158,
922        'OpIsNormal' : 159,
923        'OpSignBitSet' : 160,
924        'OpLessOrGreater' : 161,
925        'OpOrdered' : 162,
926        'OpUnordered' : 163,
927        'OpLogicalEqual' : 164,
928        'OpLogicalNotEqual' : 165,
929        'OpLogicalOr' : 166,
930        'OpLogicalAnd' : 167,
931        'OpLogicalNot' : 168,
932        'OpSelect' : 169,
933        'OpIEqual' : 170,
934        'OpINotEqual' : 171,
935        'OpUGreaterThan' : 172,
936        'OpSGreaterThan' : 173,
937        'OpUGreaterThanEqual' : 174,
938        'OpSGreaterThanEqual' : 175,
939        'OpULessThan' : 176,
940        'OpSLessThan' : 177,
941        'OpULessThanEqual' : 178,
942        'OpSLessThanEqual' : 179,
943        'OpFOrdEqual' : 180,
944        'OpFUnordEqual' : 181,
945        'OpFOrdNotEqual' : 182,
946        'OpFUnordNotEqual' : 183,
947        'OpFOrdLessThan' : 184,
948        'OpFUnordLessThan' : 185,
949        'OpFOrdGreaterThan' : 186,
950        'OpFUnordGreaterThan' : 187,
951        'OpFOrdLessThanEqual' : 188,
952        'OpFUnordLessThanEqual' : 189,
953        'OpFOrdGreaterThanEqual' : 190,
954        'OpFUnordGreaterThanEqual' : 191,
955        'OpShiftRightLogical' : 194,
956        'OpShiftRightArithmetic' : 195,
957        'OpShiftLeftLogical' : 196,
958        'OpBitwiseOr' : 197,
959        'OpBitwiseXor' : 198,
960        'OpBitwiseAnd' : 199,
961        'OpNot' : 200,
962        'OpBitFieldInsert' : 201,
963        'OpBitFieldSExtract' : 202,
964        'OpBitFieldUExtract' : 203,
965        'OpBitReverse' : 204,
966        'OpBitCount' : 205,
967        'OpDPdx' : 207,
968        'OpDPdy' : 208,
969        'OpFwidth' : 209,
970        'OpDPdxFine' : 210,
971        'OpDPdyFine' : 211,
972        'OpFwidthFine' : 212,
973        'OpDPdxCoarse' : 213,
974        'OpDPdyCoarse' : 214,
975        'OpFwidthCoarse' : 215,
976        'OpEmitVertex' : 218,
977        'OpEndPrimitive' : 219,
978        'OpEmitStreamVertex' : 220,
979        'OpEndStreamPrimitive' : 221,
980        'OpControlBarrier' : 224,
981        'OpMemoryBarrier' : 225,
982        'OpAtomicLoad' : 227,
983        'OpAtomicStore' : 228,
984        'OpAtomicExchange' : 229,
985        'OpAtomicCompareExchange' : 230,
986        'OpAtomicCompareExchangeWeak' : 231,
987        'OpAtomicIIncrement' : 232,
988        'OpAtomicIDecrement' : 233,
989        'OpAtomicIAdd' : 234,
990        'OpAtomicISub' : 235,
991        'OpAtomicSMin' : 236,
992        'OpAtomicUMin' : 237,
993        'OpAtomicSMax' : 238,
994        'OpAtomicUMax' : 239,
995        'OpAtomicAnd' : 240,
996        'OpAtomicOr' : 241,
997        'OpAtomicXor' : 242,
998        'OpPhi' : 245,
999        'OpLoopMerge' : 246,
1000        'OpSelectionMerge' : 247,
1001        'OpLabel' : 248,
1002        'OpBranch' : 249,
1003        'OpBranchConditional' : 250,
1004        'OpSwitch' : 251,
1005        'OpKill' : 252,
1006        'OpReturn' : 253,
1007        'OpReturnValue' : 254,
1008        'OpUnreachable' : 255,
1009        'OpLifetimeStart' : 256,
1010        'OpLifetimeStop' : 257,
1011        'OpGroupAsyncCopy' : 259,
1012        'OpGroupWaitEvents' : 260,
1013        'OpGroupAll' : 261,
1014        'OpGroupAny' : 262,
1015        'OpGroupBroadcast' : 263,
1016        'OpGroupIAdd' : 264,
1017        'OpGroupFAdd' : 265,
1018        'OpGroupFMin' : 266,
1019        'OpGroupUMin' : 267,
1020        'OpGroupSMin' : 268,
1021        'OpGroupFMax' : 269,
1022        'OpGroupUMax' : 270,
1023        'OpGroupSMax' : 271,
1024        'OpReadPipe' : 274,
1025        'OpWritePipe' : 275,
1026        'OpReservedReadPipe' : 276,
1027        'OpReservedWritePipe' : 277,
1028        'OpReserveReadPipePackets' : 278,
1029        'OpReserveWritePipePackets' : 279,
1030        'OpCommitReadPipe' : 280,
1031        'OpCommitWritePipe' : 281,
1032        'OpIsValidReserveId' : 282,
1033        'OpGetNumPipePackets' : 283,
1034        'OpGetMaxPipePackets' : 284,
1035        'OpGroupReserveReadPipePackets' : 285,
1036        'OpGroupReserveWritePipePackets' : 286,
1037        'OpGroupCommitReadPipe' : 287,
1038        'OpGroupCommitWritePipe' : 288,
1039        'OpEnqueueMarker' : 291,
1040        'OpEnqueueKernel' : 292,
1041        'OpGetKernelNDrangeSubGroupCount' : 293,
1042        'OpGetKernelNDrangeMaxSubGroupSize' : 294,
1043        'OpGetKernelWorkGroupSize' : 295,
1044        'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
1045        'OpRetainEvent' : 297,
1046        'OpReleaseEvent' : 298,
1047        'OpCreateUserEvent' : 299,
1048        'OpIsValidEvent' : 300,
1049        'OpSetUserEventStatus' : 301,
1050        'OpCaptureEventProfilingInfo' : 302,
1051        'OpGetDefaultQueue' : 303,
1052        'OpBuildNDRange' : 304,
1053        'OpImageSparseSampleImplicitLod' : 305,
1054        'OpImageSparseSampleExplicitLod' : 306,
1055        'OpImageSparseSampleDrefImplicitLod' : 307,
1056        'OpImageSparseSampleDrefExplicitLod' : 308,
1057        'OpImageSparseSampleProjImplicitLod' : 309,
1058        'OpImageSparseSampleProjExplicitLod' : 310,
1059        'OpImageSparseSampleProjDrefImplicitLod' : 311,
1060        'OpImageSparseSampleProjDrefExplicitLod' : 312,
1061        'OpImageSparseFetch' : 313,
1062        'OpImageSparseGather' : 314,
1063        'OpImageSparseDrefGather' : 315,
1064        'OpImageSparseTexelsResident' : 316,
1065        'OpNoLine' : 317,
1066        'OpAtomicFlagTestAndSet' : 318,
1067        'OpAtomicFlagClear' : 319,
1068        'OpImageSparseRead' : 320,
1069        'OpSizeOf' : 321,
1070        'OpTypePipeStorage' : 322,
1071        'OpConstantPipeStorage' : 323,
1072        'OpCreatePipeFromPipeStorage' : 324,
1073        'OpGetKernelLocalSizeForSubgroupCount' : 325,
1074        'OpGetKernelMaxNumSubgroups' : 326,
1075        'OpTypeNamedBarrier' : 327,
1076        'OpNamedBarrierInitialize' : 328,
1077        'OpMemoryNamedBarrier' : 329,
1078        'OpModuleProcessed' : 330,
1079        'OpExecutionModeId' : 331,
1080        'OpDecorateId' : 332,
1081        'OpGroupNonUniformElect' : 333,
1082        'OpGroupNonUniformAll' : 334,
1083        'OpGroupNonUniformAny' : 335,
1084        'OpGroupNonUniformAllEqual' : 336,
1085        'OpGroupNonUniformBroadcast' : 337,
1086        'OpGroupNonUniformBroadcastFirst' : 338,
1087        'OpGroupNonUniformBallot' : 339,
1088        'OpGroupNonUniformInverseBallot' : 340,
1089        'OpGroupNonUniformBallotBitExtract' : 341,
1090        'OpGroupNonUniformBallotBitCount' : 342,
1091        'OpGroupNonUniformBallotFindLSB' : 343,
1092        'OpGroupNonUniformBallotFindMSB' : 344,
1093        'OpGroupNonUniformShuffle' : 345,
1094        'OpGroupNonUniformShuffleXor' : 346,
1095        'OpGroupNonUniformShuffleUp' : 347,
1096        'OpGroupNonUniformShuffleDown' : 348,
1097        'OpGroupNonUniformIAdd' : 349,
1098        'OpGroupNonUniformFAdd' : 350,
1099        'OpGroupNonUniformIMul' : 351,
1100        'OpGroupNonUniformFMul' : 352,
1101        'OpGroupNonUniformSMin' : 353,
1102        'OpGroupNonUniformUMin' : 354,
1103        'OpGroupNonUniformFMin' : 355,
1104        'OpGroupNonUniformSMax' : 356,
1105        'OpGroupNonUniformUMax' : 357,
1106        'OpGroupNonUniformFMax' : 358,
1107        'OpGroupNonUniformBitwiseAnd' : 359,
1108        'OpGroupNonUniformBitwiseOr' : 360,
1109        'OpGroupNonUniformBitwiseXor' : 361,
1110        'OpGroupNonUniformLogicalAnd' : 362,
1111        'OpGroupNonUniformLogicalOr' : 363,
1112        'OpGroupNonUniformLogicalXor' : 364,
1113        'OpGroupNonUniformQuadBroadcast' : 365,
1114        'OpGroupNonUniformQuadSwap' : 366,
1115        'OpSubgroupBallotKHR' : 4421,
1116        'OpSubgroupFirstInvocationKHR' : 4422,
1117        'OpSubgroupAllKHR' : 4428,
1118        'OpSubgroupAnyKHR' : 4429,
1119        'OpSubgroupAllEqualKHR' : 4430,
1120        'OpSubgroupReadInvocationKHR' : 4432,
1121        'OpGroupIAddNonUniformAMD' : 5000,
1122        'OpGroupFAddNonUniformAMD' : 5001,
1123        'OpGroupFMinNonUniformAMD' : 5002,
1124        'OpGroupUMinNonUniformAMD' : 5003,
1125        'OpGroupSMinNonUniformAMD' : 5004,
1126        'OpGroupFMaxNonUniformAMD' : 5005,
1127        'OpGroupUMaxNonUniformAMD' : 5006,
1128        'OpGroupSMaxNonUniformAMD' : 5007,
1129        'OpFragmentMaskFetchAMD' : 5011,
1130        'OpFragmentFetchAMD' : 5012,
1131        'OpImageSampleFootprintNV' : 5283,
1132        'OpGroupNonUniformPartitionNV' : 5296,
1133        'OpWritePackedPrimitiveIndices4x8NV' : 5299,
1134        'OpReportIntersectionNV' : 5334,
1135        'OpIgnoreIntersectionNV' : 5335,
1136        'OpTerminateRayNV' : 5336,
1137        'OpTraceNV' : 5337,
1138        'OpTypeAccelerationStructureNV' : 5341,
1139        'OpExecuteCallableNV' : 5344,
1140        'OpSubgroupShuffleINTEL' : 5571,
1141        'OpSubgroupShuffleDownINTEL' : 5572,
1142        'OpSubgroupShuffleUpINTEL' : 5573,
1143        'OpSubgroupShuffleXorINTEL' : 5574,
1144        'OpSubgroupBlockReadINTEL' : 5575,
1145        'OpSubgroupBlockWriteINTEL' : 5576,
1146        'OpSubgroupImageBlockReadINTEL' : 5577,
1147        'OpSubgroupImageBlockWriteINTEL' : 5578,
1148        'OpDecorateStringGOOGLE' : 5632,
1149        'OpMemberDecorateStringGOOGLE' : 5633,
1150    },
1151
1152}
1153
1154