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' : 0x00010200,
45    'Revision' : 2,
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        'HlslCounterBufferGOOGLE' : 5634,
370        'HlslSemanticGOOGLE' : 5635,
371    },
372
373    'BuiltIn' : {
374        'Position' : 0,
375        'PointSize' : 1,
376        'ClipDistance' : 3,
377        'CullDistance' : 4,
378        'VertexId' : 5,
379        'InstanceId' : 6,
380        'PrimitiveId' : 7,
381        'InvocationId' : 8,
382        'Layer' : 9,
383        'ViewportIndex' : 10,
384        'TessLevelOuter' : 11,
385        'TessLevelInner' : 12,
386        'TessCoord' : 13,
387        'PatchVertices' : 14,
388        'FragCoord' : 15,
389        'PointCoord' : 16,
390        'FrontFacing' : 17,
391        'SampleId' : 18,
392        'SamplePosition' : 19,
393        'SampleMask' : 20,
394        'FragDepth' : 22,
395        'HelperInvocation' : 23,
396        'NumWorkgroups' : 24,
397        'WorkgroupSize' : 25,
398        'WorkgroupId' : 26,
399        'LocalInvocationId' : 27,
400        'GlobalInvocationId' : 28,
401        'LocalInvocationIndex' : 29,
402        'WorkDim' : 30,
403        'GlobalSize' : 31,
404        'EnqueuedWorkgroupSize' : 32,
405        'GlobalOffset' : 33,
406        'GlobalLinearId' : 34,
407        'SubgroupSize' : 36,
408        'SubgroupMaxSize' : 37,
409        'NumSubgroups' : 38,
410        'NumEnqueuedSubgroups' : 39,
411        'SubgroupId' : 40,
412        'SubgroupLocalInvocationId' : 41,
413        'VertexIndex' : 42,
414        'InstanceIndex' : 43,
415        'SubgroupEqMaskKHR' : 4416,
416        'SubgroupGeMaskKHR' : 4417,
417        'SubgroupGtMaskKHR' : 4418,
418        'SubgroupLeMaskKHR' : 4419,
419        'SubgroupLtMaskKHR' : 4420,
420        'BaseVertex' : 4424,
421        'BaseInstance' : 4425,
422        'DrawIndex' : 4426,
423        'DeviceIndex' : 4438,
424        'ViewIndex' : 4440,
425        'BaryCoordNoPerspAMD' : 4992,
426        'BaryCoordNoPerspCentroidAMD' : 4993,
427        'BaryCoordNoPerspSampleAMD' : 4994,
428        'BaryCoordSmoothAMD' : 4995,
429        'BaryCoordSmoothCentroidAMD' : 4996,
430        'BaryCoordSmoothSampleAMD' : 4997,
431        'BaryCoordPullModelAMD' : 4998,
432        'FragStencilRefEXT' : 5014,
433        'ViewportMaskNV' : 5253,
434        'SecondaryPositionNV' : 5257,
435        'SecondaryViewportMaskNV' : 5258,
436        'PositionPerViewNV' : 5261,
437        'ViewportMaskPerViewNV' : 5262,
438    },
439
440    'SelectionControlShift' : {
441        'Flatten' : 0,
442        'DontFlatten' : 1,
443    },
444
445    'SelectionControlMask' : {
446        'MaskNone' : 0,
447        'Flatten' : 0x00000001,
448        'DontFlatten' : 0x00000002,
449    },
450
451    'LoopControlShift' : {
452        'Unroll' : 0,
453        'DontUnroll' : 1,
454        'DependencyInfinite' : 2,
455        'DependencyLength' : 3,
456    },
457
458    'LoopControlMask' : {
459        'MaskNone' : 0,
460        'Unroll' : 0x00000001,
461        'DontUnroll' : 0x00000002,
462        'DependencyInfinite' : 0x00000004,
463        'DependencyLength' : 0x00000008,
464    },
465
466    'FunctionControlShift' : {
467        'Inline' : 0,
468        'DontInline' : 1,
469        'Pure' : 2,
470        'Const' : 3,
471    },
472
473    'FunctionControlMask' : {
474        'MaskNone' : 0,
475        'Inline' : 0x00000001,
476        'DontInline' : 0x00000002,
477        'Pure' : 0x00000004,
478        'Const' : 0x00000008,
479    },
480
481    'MemorySemanticsShift' : {
482        'Acquire' : 1,
483        'Release' : 2,
484        'AcquireRelease' : 3,
485        'SequentiallyConsistent' : 4,
486        'UniformMemory' : 6,
487        'SubgroupMemory' : 7,
488        'WorkgroupMemory' : 8,
489        'CrossWorkgroupMemory' : 9,
490        'AtomicCounterMemory' : 10,
491        'ImageMemory' : 11,
492    },
493
494    'MemorySemanticsMask' : {
495        'MaskNone' : 0,
496        'Acquire' : 0x00000002,
497        'Release' : 0x00000004,
498        'AcquireRelease' : 0x00000008,
499        'SequentiallyConsistent' : 0x00000010,
500        'UniformMemory' : 0x00000040,
501        'SubgroupMemory' : 0x00000080,
502        'WorkgroupMemory' : 0x00000100,
503        'CrossWorkgroupMemory' : 0x00000200,
504        'AtomicCounterMemory' : 0x00000400,
505        'ImageMemory' : 0x00000800,
506    },
507
508    'MemoryAccessShift' : {
509        'Volatile' : 0,
510        'Aligned' : 1,
511        'Nontemporal' : 2,
512    },
513
514    'MemoryAccessMask' : {
515        'MaskNone' : 0,
516        'Volatile' : 0x00000001,
517        'Aligned' : 0x00000002,
518        'Nontemporal' : 0x00000004,
519    },
520
521    'Scope' : {
522        'CrossDevice' : 0,
523        'Device' : 1,
524        'Workgroup' : 2,
525        'Subgroup' : 3,
526        'Invocation' : 4,
527    },
528
529    'GroupOperation' : {
530        'Reduce' : 0,
531        'InclusiveScan' : 1,
532        'ExclusiveScan' : 2,
533    },
534
535    'KernelEnqueueFlags' : {
536        'NoWait' : 0,
537        'WaitKernel' : 1,
538        'WaitWorkGroup' : 2,
539    },
540
541    'KernelProfilingInfoShift' : {
542        'CmdExecTime' : 0,
543    },
544
545    'KernelProfilingInfoMask' : {
546        'MaskNone' : 0,
547        'CmdExecTime' : 0x00000001,
548    },
549
550    'Capability' : {
551        'Matrix' : 0,
552        'Shader' : 1,
553        'Geometry' : 2,
554        'Tessellation' : 3,
555        'Addresses' : 4,
556        'Linkage' : 5,
557        'Kernel' : 6,
558        'Vector16' : 7,
559        'Float16Buffer' : 8,
560        'Float16' : 9,
561        'Float64' : 10,
562        'Int64' : 11,
563        'Int64Atomics' : 12,
564        'ImageBasic' : 13,
565        'ImageReadWrite' : 14,
566        'ImageMipmap' : 15,
567        'Pipes' : 17,
568        'Groups' : 18,
569        'DeviceEnqueue' : 19,
570        'LiteralSampler' : 20,
571        'AtomicStorage' : 21,
572        'Int16' : 22,
573        'TessellationPointSize' : 23,
574        'GeometryPointSize' : 24,
575        'ImageGatherExtended' : 25,
576        'StorageImageMultisample' : 27,
577        'UniformBufferArrayDynamicIndexing' : 28,
578        'SampledImageArrayDynamicIndexing' : 29,
579        'StorageBufferArrayDynamicIndexing' : 30,
580        'StorageImageArrayDynamicIndexing' : 31,
581        'ClipDistance' : 32,
582        'CullDistance' : 33,
583        'ImageCubeArray' : 34,
584        'SampleRateShading' : 35,
585        'ImageRect' : 36,
586        'SampledRect' : 37,
587        'GenericPointer' : 38,
588        'Int8' : 39,
589        'InputAttachment' : 40,
590        'SparseResidency' : 41,
591        'MinLod' : 42,
592        'Sampled1D' : 43,
593        'Image1D' : 44,
594        'SampledCubeArray' : 45,
595        'SampledBuffer' : 46,
596        'ImageBuffer' : 47,
597        'ImageMSArray' : 48,
598        'StorageImageExtendedFormats' : 49,
599        'ImageQuery' : 50,
600        'DerivativeControl' : 51,
601        'InterpolationFunction' : 52,
602        'TransformFeedback' : 53,
603        'GeometryStreams' : 54,
604        'StorageImageReadWithoutFormat' : 55,
605        'StorageImageWriteWithoutFormat' : 56,
606        'MultiViewport' : 57,
607        'SubgroupDispatch' : 58,
608        'NamedBarrier' : 59,
609        'PipeStorage' : 60,
610        'SubgroupBallotKHR' : 4423,
611        'DrawParameters' : 4427,
612        'SubgroupVoteKHR' : 4431,
613        'StorageBuffer16BitAccess' : 4433,
614        'StorageUniformBufferBlock16' : 4433,
615        'StorageUniform16' : 4434,
616        'UniformAndStorageBuffer16BitAccess' : 4434,
617        'StoragePushConstant16' : 4435,
618        'StorageInputOutput16' : 4436,
619        'DeviceGroup' : 4437,
620        'MultiView' : 4439,
621        'VariablePointersStorageBuffer' : 4441,
622        'VariablePointers' : 4442,
623        'AtomicStorageOps' : 4445,
624        'SampleMaskPostDepthCoverage' : 4447,
625        'ImageGatherBiasLodAMD' : 5009,
626        'FragmentMaskAMD' : 5010,
627        'StencilExportEXT' : 5013,
628        'ImageReadWriteLodAMD' : 5015,
629        'SampleMaskOverrideCoverageNV' : 5249,
630        'GeometryShaderPassthroughNV' : 5251,
631        'ShaderViewportIndexLayerEXT' : 5254,
632        'ShaderViewportIndexLayerNV' : 5254,
633        'ShaderViewportMaskNV' : 5255,
634        'ShaderStereoViewNV' : 5259,
635        'PerViewAttributesNV' : 5260,
636        'SubgroupShuffleINTEL' : 5568,
637        'SubgroupBufferBlockIOINTEL' : 5569,
638        'SubgroupImageBlockIOINTEL' : 5570,
639    },
640
641    'Op' : {
642        'OpNop' : 0,
643        'OpUndef' : 1,
644        'OpSourceContinued' : 2,
645        'OpSource' : 3,
646        'OpSourceExtension' : 4,
647        'OpName' : 5,
648        'OpMemberName' : 6,
649        'OpString' : 7,
650        'OpLine' : 8,
651        'OpExtension' : 10,
652        'OpExtInstImport' : 11,
653        'OpExtInst' : 12,
654        'OpMemoryModel' : 14,
655        'OpEntryPoint' : 15,
656        'OpExecutionMode' : 16,
657        'OpCapability' : 17,
658        'OpTypeVoid' : 19,
659        'OpTypeBool' : 20,
660        'OpTypeInt' : 21,
661        'OpTypeFloat' : 22,
662        'OpTypeVector' : 23,
663        'OpTypeMatrix' : 24,
664        'OpTypeImage' : 25,
665        'OpTypeSampler' : 26,
666        'OpTypeSampledImage' : 27,
667        'OpTypeArray' : 28,
668        'OpTypeRuntimeArray' : 29,
669        'OpTypeStruct' : 30,
670        'OpTypeOpaque' : 31,
671        'OpTypePointer' : 32,
672        'OpTypeFunction' : 33,
673        'OpTypeEvent' : 34,
674        'OpTypeDeviceEvent' : 35,
675        'OpTypeReserveId' : 36,
676        'OpTypeQueue' : 37,
677        'OpTypePipe' : 38,
678        'OpTypeForwardPointer' : 39,
679        'OpConstantTrue' : 41,
680        'OpConstantFalse' : 42,
681        'OpConstant' : 43,
682        'OpConstantComposite' : 44,
683        'OpConstantSampler' : 45,
684        'OpConstantNull' : 46,
685        'OpSpecConstantTrue' : 48,
686        'OpSpecConstantFalse' : 49,
687        'OpSpecConstant' : 50,
688        'OpSpecConstantComposite' : 51,
689        'OpSpecConstantOp' : 52,
690        'OpFunction' : 54,
691        'OpFunctionParameter' : 55,
692        'OpFunctionEnd' : 56,
693        'OpFunctionCall' : 57,
694        'OpVariable' : 59,
695        'OpImageTexelPointer' : 60,
696        'OpLoad' : 61,
697        'OpStore' : 62,
698        'OpCopyMemory' : 63,
699        'OpCopyMemorySized' : 64,
700        'OpAccessChain' : 65,
701        'OpInBoundsAccessChain' : 66,
702        'OpPtrAccessChain' : 67,
703        'OpArrayLength' : 68,
704        'OpGenericPtrMemSemantics' : 69,
705        'OpInBoundsPtrAccessChain' : 70,
706        'OpDecorate' : 71,
707        'OpMemberDecorate' : 72,
708        'OpDecorationGroup' : 73,
709        'OpGroupDecorate' : 74,
710        'OpGroupMemberDecorate' : 75,
711        'OpVectorExtractDynamic' : 77,
712        'OpVectorInsertDynamic' : 78,
713        'OpVectorShuffle' : 79,
714        'OpCompositeConstruct' : 80,
715        'OpCompositeExtract' : 81,
716        'OpCompositeInsert' : 82,
717        'OpCopyObject' : 83,
718        'OpTranspose' : 84,
719        'OpSampledImage' : 86,
720        'OpImageSampleImplicitLod' : 87,
721        'OpImageSampleExplicitLod' : 88,
722        'OpImageSampleDrefImplicitLod' : 89,
723        'OpImageSampleDrefExplicitLod' : 90,
724        'OpImageSampleProjImplicitLod' : 91,
725        'OpImageSampleProjExplicitLod' : 92,
726        'OpImageSampleProjDrefImplicitLod' : 93,
727        'OpImageSampleProjDrefExplicitLod' : 94,
728        'OpImageFetch' : 95,
729        'OpImageGather' : 96,
730        'OpImageDrefGather' : 97,
731        'OpImageRead' : 98,
732        'OpImageWrite' : 99,
733        'OpImage' : 100,
734        'OpImageQueryFormat' : 101,
735        'OpImageQueryOrder' : 102,
736        'OpImageQuerySizeLod' : 103,
737        'OpImageQuerySize' : 104,
738        'OpImageQueryLod' : 105,
739        'OpImageQueryLevels' : 106,
740        'OpImageQuerySamples' : 107,
741        'OpConvertFToU' : 109,
742        'OpConvertFToS' : 110,
743        'OpConvertSToF' : 111,
744        'OpConvertUToF' : 112,
745        'OpUConvert' : 113,
746        'OpSConvert' : 114,
747        'OpFConvert' : 115,
748        'OpQuantizeToF16' : 116,
749        'OpConvertPtrToU' : 117,
750        'OpSatConvertSToU' : 118,
751        'OpSatConvertUToS' : 119,
752        'OpConvertUToPtr' : 120,
753        'OpPtrCastToGeneric' : 121,
754        'OpGenericCastToPtr' : 122,
755        'OpGenericCastToPtrExplicit' : 123,
756        'OpBitcast' : 124,
757        'OpSNegate' : 126,
758        'OpFNegate' : 127,
759        'OpIAdd' : 128,
760        'OpFAdd' : 129,
761        'OpISub' : 130,
762        'OpFSub' : 131,
763        'OpIMul' : 132,
764        'OpFMul' : 133,
765        'OpUDiv' : 134,
766        'OpSDiv' : 135,
767        'OpFDiv' : 136,
768        'OpUMod' : 137,
769        'OpSRem' : 138,
770        'OpSMod' : 139,
771        'OpFRem' : 140,
772        'OpFMod' : 141,
773        'OpVectorTimesScalar' : 142,
774        'OpMatrixTimesScalar' : 143,
775        'OpVectorTimesMatrix' : 144,
776        'OpMatrixTimesVector' : 145,
777        'OpMatrixTimesMatrix' : 146,
778        'OpOuterProduct' : 147,
779        'OpDot' : 148,
780        'OpIAddCarry' : 149,
781        'OpISubBorrow' : 150,
782        'OpUMulExtended' : 151,
783        'OpSMulExtended' : 152,
784        'OpAny' : 154,
785        'OpAll' : 155,
786        'OpIsNan' : 156,
787        'OpIsInf' : 157,
788        'OpIsFinite' : 158,
789        'OpIsNormal' : 159,
790        'OpSignBitSet' : 160,
791        'OpLessOrGreater' : 161,
792        'OpOrdered' : 162,
793        'OpUnordered' : 163,
794        'OpLogicalEqual' : 164,
795        'OpLogicalNotEqual' : 165,
796        'OpLogicalOr' : 166,
797        'OpLogicalAnd' : 167,
798        'OpLogicalNot' : 168,
799        'OpSelect' : 169,
800        'OpIEqual' : 170,
801        'OpINotEqual' : 171,
802        'OpUGreaterThan' : 172,
803        'OpSGreaterThan' : 173,
804        'OpUGreaterThanEqual' : 174,
805        'OpSGreaterThanEqual' : 175,
806        'OpULessThan' : 176,
807        'OpSLessThan' : 177,
808        'OpULessThanEqual' : 178,
809        'OpSLessThanEqual' : 179,
810        'OpFOrdEqual' : 180,
811        'OpFUnordEqual' : 181,
812        'OpFOrdNotEqual' : 182,
813        'OpFUnordNotEqual' : 183,
814        'OpFOrdLessThan' : 184,
815        'OpFUnordLessThan' : 185,
816        'OpFOrdGreaterThan' : 186,
817        'OpFUnordGreaterThan' : 187,
818        'OpFOrdLessThanEqual' : 188,
819        'OpFUnordLessThanEqual' : 189,
820        'OpFOrdGreaterThanEqual' : 190,
821        'OpFUnordGreaterThanEqual' : 191,
822        'OpShiftRightLogical' : 194,
823        'OpShiftRightArithmetic' : 195,
824        'OpShiftLeftLogical' : 196,
825        'OpBitwiseOr' : 197,
826        'OpBitwiseXor' : 198,
827        'OpBitwiseAnd' : 199,
828        'OpNot' : 200,
829        'OpBitFieldInsert' : 201,
830        'OpBitFieldSExtract' : 202,
831        'OpBitFieldUExtract' : 203,
832        'OpBitReverse' : 204,
833        'OpBitCount' : 205,
834        'OpDPdx' : 207,
835        'OpDPdy' : 208,
836        'OpFwidth' : 209,
837        'OpDPdxFine' : 210,
838        'OpDPdyFine' : 211,
839        'OpFwidthFine' : 212,
840        'OpDPdxCoarse' : 213,
841        'OpDPdyCoarse' : 214,
842        'OpFwidthCoarse' : 215,
843        'OpEmitVertex' : 218,
844        'OpEndPrimitive' : 219,
845        'OpEmitStreamVertex' : 220,
846        'OpEndStreamPrimitive' : 221,
847        'OpControlBarrier' : 224,
848        'OpMemoryBarrier' : 225,
849        'OpAtomicLoad' : 227,
850        'OpAtomicStore' : 228,
851        'OpAtomicExchange' : 229,
852        'OpAtomicCompareExchange' : 230,
853        'OpAtomicCompareExchangeWeak' : 231,
854        'OpAtomicIIncrement' : 232,
855        'OpAtomicIDecrement' : 233,
856        'OpAtomicIAdd' : 234,
857        'OpAtomicISub' : 235,
858        'OpAtomicSMin' : 236,
859        'OpAtomicUMin' : 237,
860        'OpAtomicSMax' : 238,
861        'OpAtomicUMax' : 239,
862        'OpAtomicAnd' : 240,
863        'OpAtomicOr' : 241,
864        'OpAtomicXor' : 242,
865        'OpPhi' : 245,
866        'OpLoopMerge' : 246,
867        'OpSelectionMerge' : 247,
868        'OpLabel' : 248,
869        'OpBranch' : 249,
870        'OpBranchConditional' : 250,
871        'OpSwitch' : 251,
872        'OpKill' : 252,
873        'OpReturn' : 253,
874        'OpReturnValue' : 254,
875        'OpUnreachable' : 255,
876        'OpLifetimeStart' : 256,
877        'OpLifetimeStop' : 257,
878        'OpGroupAsyncCopy' : 259,
879        'OpGroupWaitEvents' : 260,
880        'OpGroupAll' : 261,
881        'OpGroupAny' : 262,
882        'OpGroupBroadcast' : 263,
883        'OpGroupIAdd' : 264,
884        'OpGroupFAdd' : 265,
885        'OpGroupFMin' : 266,
886        'OpGroupUMin' : 267,
887        'OpGroupSMin' : 268,
888        'OpGroupFMax' : 269,
889        'OpGroupUMax' : 270,
890        'OpGroupSMax' : 271,
891        'OpReadPipe' : 274,
892        'OpWritePipe' : 275,
893        'OpReservedReadPipe' : 276,
894        'OpReservedWritePipe' : 277,
895        'OpReserveReadPipePackets' : 278,
896        'OpReserveWritePipePackets' : 279,
897        'OpCommitReadPipe' : 280,
898        'OpCommitWritePipe' : 281,
899        'OpIsValidReserveId' : 282,
900        'OpGetNumPipePackets' : 283,
901        'OpGetMaxPipePackets' : 284,
902        'OpGroupReserveReadPipePackets' : 285,
903        'OpGroupReserveWritePipePackets' : 286,
904        'OpGroupCommitReadPipe' : 287,
905        'OpGroupCommitWritePipe' : 288,
906        'OpEnqueueMarker' : 291,
907        'OpEnqueueKernel' : 292,
908        'OpGetKernelNDrangeSubGroupCount' : 293,
909        'OpGetKernelNDrangeMaxSubGroupSize' : 294,
910        'OpGetKernelWorkGroupSize' : 295,
911        'OpGetKernelPreferredWorkGroupSizeMultiple' : 296,
912        'OpRetainEvent' : 297,
913        'OpReleaseEvent' : 298,
914        'OpCreateUserEvent' : 299,
915        'OpIsValidEvent' : 300,
916        'OpSetUserEventStatus' : 301,
917        'OpCaptureEventProfilingInfo' : 302,
918        'OpGetDefaultQueue' : 303,
919        'OpBuildNDRange' : 304,
920        'OpImageSparseSampleImplicitLod' : 305,
921        'OpImageSparseSampleExplicitLod' : 306,
922        'OpImageSparseSampleDrefImplicitLod' : 307,
923        'OpImageSparseSampleDrefExplicitLod' : 308,
924        'OpImageSparseSampleProjImplicitLod' : 309,
925        'OpImageSparseSampleProjExplicitLod' : 310,
926        'OpImageSparseSampleProjDrefImplicitLod' : 311,
927        'OpImageSparseSampleProjDrefExplicitLod' : 312,
928        'OpImageSparseFetch' : 313,
929        'OpImageSparseGather' : 314,
930        'OpImageSparseDrefGather' : 315,
931        'OpImageSparseTexelsResident' : 316,
932        'OpNoLine' : 317,
933        'OpAtomicFlagTestAndSet' : 318,
934        'OpAtomicFlagClear' : 319,
935        'OpImageSparseRead' : 320,
936        'OpSizeOf' : 321,
937        'OpTypePipeStorage' : 322,
938        'OpConstantPipeStorage' : 323,
939        'OpCreatePipeFromPipeStorage' : 324,
940        'OpGetKernelLocalSizeForSubgroupCount' : 325,
941        'OpGetKernelMaxNumSubgroups' : 326,
942        'OpTypeNamedBarrier' : 327,
943        'OpNamedBarrierInitialize' : 328,
944        'OpMemoryNamedBarrier' : 329,
945        'OpModuleProcessed' : 330,
946        'OpExecutionModeId' : 331,
947        'OpDecorateId' : 332,
948        'OpSubgroupBallotKHR' : 4421,
949        'OpSubgroupFirstInvocationKHR' : 4422,
950        'OpSubgroupAllKHR' : 4428,
951        'OpSubgroupAnyKHR' : 4429,
952        'OpSubgroupAllEqualKHR' : 4430,
953        'OpSubgroupReadInvocationKHR' : 4432,
954        'OpGroupIAddNonUniformAMD' : 5000,
955        'OpGroupFAddNonUniformAMD' : 5001,
956        'OpGroupFMinNonUniformAMD' : 5002,
957        'OpGroupUMinNonUniformAMD' : 5003,
958        'OpGroupSMinNonUniformAMD' : 5004,
959        'OpGroupFMaxNonUniformAMD' : 5005,
960        'OpGroupUMaxNonUniformAMD' : 5006,
961        'OpGroupSMaxNonUniformAMD' : 5007,
962        'OpFragmentMaskFetchAMD' : 5011,
963        'OpFragmentFetchAMD' : 5012,
964        'OpSubgroupShuffleINTEL' : 5571,
965        'OpSubgroupShuffleDownINTEL' : 5572,
966        'OpSubgroupShuffleUpINTEL' : 5573,
967        'OpSubgroupShuffleXorINTEL' : 5574,
968        'OpSubgroupBlockReadINTEL' : 5575,
969        'OpSubgroupBlockWriteINTEL' : 5576,
970        'OpSubgroupImageBlockReadINTEL' : 5577,
971        'OpSubgroupImageBlockWriteINTEL' : 5578,
972        'OpDecorateStringGOOGLE' : 5632,
973        'OpMemberDecorateStringGOOGLE' : 5633,
974    },
975
976}
977
978