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