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