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