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