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.lua
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