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