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