Implement SPV_INTEL_optnone extension (#230)
[platform/upstream/SPIRV-Headers.git] / include / spirv / unified1 / spv.d
1 /+
2  + Copyright (c) 2014-2020 The Khronos Group Inc.
3  + 
4  + Permission is hereby granted, free of charge, to any person obtaining a copy
5  + of this software and/or associated documentation files (the "Materials"),
6  + to deal in the Materials without restriction, including without limitation
7  + the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  + and/or sell copies of the Materials, and to permit persons to whom the
9  + Materials are furnished to do so, subject to the following conditions:
10  + 
11  + The above copyright notice and this permission notice shall be included in
12  + all copies or substantial portions of the Materials.
13  + 
14  + MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15  + STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16  + HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
17  + 
18  + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21  + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23  + FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24  + IN THE MATERIALS.
25  +/
26
27 /+
28  + This header is automatically generated by the same tool that creates
29  + the Binary Section of the SPIR-V specification.
30  +/
31
32 /+
33  + Enumeration tokens for SPIR-V, in various styles:
34  +   C, C++, C++11, JSON, Lua, Python, C#, D
35  + 
36  + - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
37  + - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
38  + - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
39  + - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
40  + - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
41  + - C# will use enum classes in the Specification class located in the "Spv" namespace,
42  +     e.g.: Spv.Specification.SourceLanguage.GLSL
43  + - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
44  + 
45  + Some tokens act like mask values, which can be OR'd together,
46  + while others are mutually exclusive.  The mask-like ones have
47  + "Mask" in their name, and a parallel enum that has the shift
48  + amount (1 << x) for each corresponding enumerant.
49  +/
50
51 module spv;
52
53 enum uint MagicNumber = 0x07230203;
54 enum uint Version = 0x00010500;
55 enum uint Revision = 4;
56 enum uint OpCodeMask = 0xffff;
57 enum uint WordCountShift = 16;
58
59 enum SourceLanguage : uint
60 {
61     Unknown = 0,
62     ESSL = 1,
63     GLSL = 2,
64     OpenCL_C = 3,
65     OpenCL_CPP = 4,
66     HLSL = 5,
67     CPP_for_OpenCL = 6,
68 }
69
70 enum ExecutionModel : uint
71 {
72     Vertex = 0,
73     TessellationControl = 1,
74     TessellationEvaluation = 2,
75     Geometry = 3,
76     Fragment = 4,
77     GLCompute = 5,
78     Kernel = 6,
79     TaskNV = 5267,
80     MeshNV = 5268,
81     RayGenerationKHR = 5313,
82     RayGenerationNV = 5313,
83     IntersectionKHR = 5314,
84     IntersectionNV = 5314,
85     AnyHitKHR = 5315,
86     AnyHitNV = 5315,
87     ClosestHitKHR = 5316,
88     ClosestHitNV = 5316,
89     MissKHR = 5317,
90     MissNV = 5317,
91     CallableKHR = 5318,
92     CallableNV = 5318,
93 }
94
95 enum AddressingModel : uint
96 {
97     Logical = 0,
98     Physical32 = 1,
99     Physical64 = 2,
100     PhysicalStorageBuffer64 = 5348,
101     PhysicalStorageBuffer64EXT = 5348,
102 }
103
104 enum MemoryModel : uint
105 {
106     Simple = 0,
107     GLSL450 = 1,
108     OpenCL = 2,
109     Vulkan = 3,
110     VulkanKHR = 3,
111 }
112
113 enum ExecutionMode : uint
114 {
115     Invocations = 0,
116     SpacingEqual = 1,
117     SpacingFractionalEven = 2,
118     SpacingFractionalOdd = 3,
119     VertexOrderCw = 4,
120     VertexOrderCcw = 5,
121     PixelCenterInteger = 6,
122     OriginUpperLeft = 7,
123     OriginLowerLeft = 8,
124     EarlyFragmentTests = 9,
125     PointMode = 10,
126     Xfb = 11,
127     DepthReplacing = 12,
128     DepthGreater = 14,
129     DepthLess = 15,
130     DepthUnchanged = 16,
131     LocalSize = 17,
132     LocalSizeHint = 18,
133     InputPoints = 19,
134     InputLines = 20,
135     InputLinesAdjacency = 21,
136     Triangles = 22,
137     InputTrianglesAdjacency = 23,
138     Quads = 24,
139     Isolines = 25,
140     OutputVertices = 26,
141     OutputPoints = 27,
142     OutputLineStrip = 28,
143     OutputTriangleStrip = 29,
144     VecTypeHint = 30,
145     ContractionOff = 31,
146     Initializer = 33,
147     Finalizer = 34,
148     SubgroupSize = 35,
149     SubgroupsPerWorkgroup = 36,
150     SubgroupsPerWorkgroupId = 37,
151     LocalSizeId = 38,
152     LocalSizeHintId = 39,
153     SubgroupUniformControlFlowKHR = 4421,
154     PostDepthCoverage = 4446,
155     DenormPreserve = 4459,
156     DenormFlushToZero = 4460,
157     SignedZeroInfNanPreserve = 4461,
158     RoundingModeRTE = 4462,
159     RoundingModeRTZ = 4463,
160     StencilRefReplacingEXT = 5027,
161     OutputLinesNV = 5269,
162     OutputPrimitivesNV = 5270,
163     DerivativeGroupQuadsNV = 5289,
164     DerivativeGroupLinearNV = 5290,
165     OutputTrianglesNV = 5298,
166     PixelInterlockOrderedEXT = 5366,
167     PixelInterlockUnorderedEXT = 5367,
168     SampleInterlockOrderedEXT = 5368,
169     SampleInterlockUnorderedEXT = 5369,
170     ShadingRateInterlockOrderedEXT = 5370,
171     ShadingRateInterlockUnorderedEXT = 5371,
172     SharedLocalMemorySizeINTEL = 5618,
173     RoundingModeRTPINTEL = 5620,
174     RoundingModeRTNINTEL = 5621,
175     FloatingPointModeALTINTEL = 5622,
176     FloatingPointModeIEEEINTEL = 5623,
177     MaxWorkgroupSizeINTEL = 5893,
178     MaxWorkDimINTEL = 5894,
179     NoGlobalOffsetINTEL = 5895,
180     NumSIMDWorkitemsINTEL = 5896,
181     SchedulerTargetFmaxMhzINTEL = 5903,
182 }
183
184 enum StorageClass : uint
185 {
186     UniformConstant = 0,
187     Input = 1,
188     Uniform = 2,
189     Output = 3,
190     Workgroup = 4,
191     CrossWorkgroup = 5,
192     Private = 6,
193     Function = 7,
194     Generic = 8,
195     PushConstant = 9,
196     AtomicCounter = 10,
197     Image = 11,
198     StorageBuffer = 12,
199     CallableDataKHR = 5328,
200     CallableDataNV = 5328,
201     IncomingCallableDataKHR = 5329,
202     IncomingCallableDataNV = 5329,
203     RayPayloadKHR = 5338,
204     RayPayloadNV = 5338,
205     HitAttributeKHR = 5339,
206     HitAttributeNV = 5339,
207     IncomingRayPayloadKHR = 5342,
208     IncomingRayPayloadNV = 5342,
209     ShaderRecordBufferKHR = 5343,
210     ShaderRecordBufferNV = 5343,
211     PhysicalStorageBuffer = 5349,
212     PhysicalStorageBufferEXT = 5349,
213     CodeSectionINTEL = 5605,
214     DeviceOnlyINTEL = 5936,
215     HostOnlyINTEL = 5937,
216 }
217
218 enum Dim : uint
219 {
220     _1D = 0,
221     _2D = 1,
222     _3D = 2,
223     Cube = 3,
224     Rect = 4,
225     Buffer = 5,
226     SubpassData = 6,
227 }
228
229 enum SamplerAddressingMode : uint
230 {
231     None = 0,
232     ClampToEdge = 1,
233     Clamp = 2,
234     Repeat = 3,
235     RepeatMirrored = 4,
236 }
237
238 enum SamplerFilterMode : uint
239 {
240     Nearest = 0,
241     Linear = 1,
242 }
243
244 enum ImageFormat : uint
245 {
246     Unknown = 0,
247     Rgba32f = 1,
248     Rgba16f = 2,
249     R32f = 3,
250     Rgba8 = 4,
251     Rgba8Snorm = 5,
252     Rg32f = 6,
253     Rg16f = 7,
254     R11fG11fB10f = 8,
255     R16f = 9,
256     Rgba16 = 10,
257     Rgb10A2 = 11,
258     Rg16 = 12,
259     Rg8 = 13,
260     R16 = 14,
261     R8 = 15,
262     Rgba16Snorm = 16,
263     Rg16Snorm = 17,
264     Rg8Snorm = 18,
265     R16Snorm = 19,
266     R8Snorm = 20,
267     Rgba32i = 21,
268     Rgba16i = 22,
269     Rgba8i = 23,
270     R32i = 24,
271     Rg32i = 25,
272     Rg16i = 26,
273     Rg8i = 27,
274     R16i = 28,
275     R8i = 29,
276     Rgba32ui = 30,
277     Rgba16ui = 31,
278     Rgba8ui = 32,
279     R32ui = 33,
280     Rgb10a2ui = 34,
281     Rg32ui = 35,
282     Rg16ui = 36,
283     Rg8ui = 37,
284     R16ui = 38,
285     R8ui = 39,
286     R64ui = 40,
287     R64i = 41,
288 }
289
290 enum ImageChannelOrder : uint
291 {
292     R = 0,
293     A = 1,
294     RG = 2,
295     RA = 3,
296     RGB = 4,
297     RGBA = 5,
298     BGRA = 6,
299     ARGB = 7,
300     Intensity = 8,
301     Luminance = 9,
302     Rx = 10,
303     RGx = 11,
304     RGBx = 12,
305     Depth = 13,
306     DepthStencil = 14,
307     sRGB = 15,
308     sRGBx = 16,
309     sRGBA = 17,
310     sBGRA = 18,
311     ABGR = 19,
312 }
313
314 enum ImageChannelDataType : uint
315 {
316     SnormInt8 = 0,
317     SnormInt16 = 1,
318     UnormInt8 = 2,
319     UnormInt16 = 3,
320     UnormShort565 = 4,
321     UnormShort555 = 5,
322     UnormInt101010 = 6,
323     SignedInt8 = 7,
324     SignedInt16 = 8,
325     SignedInt32 = 9,
326     UnsignedInt8 = 10,
327     UnsignedInt16 = 11,
328     UnsignedInt32 = 12,
329     HalfFloat = 13,
330     Float = 14,
331     UnormInt24 = 15,
332     UnormInt101010_2 = 16,
333 }
334
335 enum ImageOperandsShift : uint
336 {
337     Bias = 0,
338     Lod = 1,
339     Grad = 2,
340     ConstOffset = 3,
341     Offset = 4,
342     ConstOffsets = 5,
343     Sample = 6,
344     MinLod = 7,
345     MakeTexelAvailable = 8,
346     MakeTexelAvailableKHR = 8,
347     MakeTexelVisible = 9,
348     MakeTexelVisibleKHR = 9,
349     NonPrivateTexel = 10,
350     NonPrivateTexelKHR = 10,
351     VolatileTexel = 11,
352     VolatileTexelKHR = 11,
353     SignExtend = 12,
354     ZeroExtend = 13,
355 }
356
357 enum ImageOperandsMask : uint
358 {
359     MaskNone = 0,
360     Bias = 0x00000001,
361     Lod = 0x00000002,
362     Grad = 0x00000004,
363     ConstOffset = 0x00000008,
364     Offset = 0x00000010,
365     ConstOffsets = 0x00000020,
366     Sample = 0x00000040,
367     MinLod = 0x00000080,
368     MakeTexelAvailable = 0x00000100,
369     MakeTexelAvailableKHR = 0x00000100,
370     MakeTexelVisible = 0x00000200,
371     MakeTexelVisibleKHR = 0x00000200,
372     NonPrivateTexel = 0x00000400,
373     NonPrivateTexelKHR = 0x00000400,
374     VolatileTexel = 0x00000800,
375     VolatileTexelKHR = 0x00000800,
376     SignExtend = 0x00001000,
377     ZeroExtend = 0x00002000,
378 }
379
380 enum FPFastMathModeShift : uint
381 {
382     NotNaN = 0,
383     NotInf = 1,
384     NSZ = 2,
385     AllowRecip = 3,
386     Fast = 4,
387     AllowContractFastINTEL = 16,
388     AllowReassocINTEL = 17,
389 }
390
391 enum FPFastMathModeMask : uint
392 {
393     MaskNone = 0,
394     NotNaN = 0x00000001,
395     NotInf = 0x00000002,
396     NSZ = 0x00000004,
397     AllowRecip = 0x00000008,
398     Fast = 0x00000010,
399     AllowContractFastINTEL = 0x00010000,
400     AllowReassocINTEL = 0x00020000,
401 }
402
403 enum FPRoundingMode : uint
404 {
405     RTE = 0,
406     RTZ = 1,
407     RTP = 2,
408     RTN = 3,
409 }
410
411 enum LinkageType : uint
412 {
413     Export = 0,
414     Import = 1,
415     LinkOnceODR = 2,
416 }
417
418 enum AccessQualifier : uint
419 {
420     ReadOnly = 0,
421     WriteOnly = 1,
422     ReadWrite = 2,
423 }
424
425 enum FunctionParameterAttribute : uint
426 {
427     Zext = 0,
428     Sext = 1,
429     ByVal = 2,
430     Sret = 3,
431     NoAlias = 4,
432     NoCapture = 5,
433     NoWrite = 6,
434     NoReadWrite = 7,
435 }
436
437 enum Decoration : uint
438 {
439     RelaxedPrecision = 0,
440     SpecId = 1,
441     Block = 2,
442     BufferBlock = 3,
443     RowMajor = 4,
444     ColMajor = 5,
445     ArrayStride = 6,
446     MatrixStride = 7,
447     GLSLShared = 8,
448     GLSLPacked = 9,
449     CPacked = 10,
450     BuiltIn = 11,
451     NoPerspective = 13,
452     Flat = 14,
453     Patch = 15,
454     Centroid = 16,
455     Sample = 17,
456     Invariant = 18,
457     Restrict = 19,
458     Aliased = 20,
459     Volatile = 21,
460     Constant = 22,
461     Coherent = 23,
462     NonWritable = 24,
463     NonReadable = 25,
464     Uniform = 26,
465     UniformId = 27,
466     SaturatedConversion = 28,
467     Stream = 29,
468     Location = 30,
469     Component = 31,
470     Index = 32,
471     Binding = 33,
472     DescriptorSet = 34,
473     Offset = 35,
474     XfbBuffer = 36,
475     XfbStride = 37,
476     FuncParamAttr = 38,
477     FPRoundingMode = 39,
478     FPFastMathMode = 40,
479     LinkageAttributes = 41,
480     NoContraction = 42,
481     InputAttachmentIndex = 43,
482     Alignment = 44,
483     MaxByteOffset = 45,
484     AlignmentId = 46,
485     MaxByteOffsetId = 47,
486     NoSignedWrap = 4469,
487     NoUnsignedWrap = 4470,
488     ExplicitInterpAMD = 4999,
489     OverrideCoverageNV = 5248,
490     PassthroughNV = 5250,
491     ViewportRelativeNV = 5252,
492     SecondaryViewportRelativeNV = 5256,
493     PerPrimitiveNV = 5271,
494     PerViewNV = 5272,
495     PerTaskNV = 5273,
496     PerVertexNV = 5285,
497     NonUniform = 5300,
498     NonUniformEXT = 5300,
499     RestrictPointer = 5355,
500     RestrictPointerEXT = 5355,
501     AliasedPointer = 5356,
502     AliasedPointerEXT = 5356,
503     SIMTCallINTEL = 5599,
504     ReferencedIndirectlyINTEL = 5602,
505     ClobberINTEL = 5607,
506     SideEffectsINTEL = 5608,
507     VectorComputeVariableINTEL = 5624,
508     FuncParamIOKindINTEL = 5625,
509     VectorComputeFunctionINTEL = 5626,
510     StackCallINTEL = 5627,
511     GlobalVariableOffsetINTEL = 5628,
512     CounterBuffer = 5634,
513     HlslCounterBufferGOOGLE = 5634,
514     HlslSemanticGOOGLE = 5635,
515     UserSemantic = 5635,
516     UserTypeGOOGLE = 5636,
517     FunctionRoundingModeINTEL = 5822,
518     FunctionDenormModeINTEL = 5823,
519     RegisterINTEL = 5825,
520     MemoryINTEL = 5826,
521     NumbanksINTEL = 5827,
522     BankwidthINTEL = 5828,
523     MaxPrivateCopiesINTEL = 5829,
524     SinglepumpINTEL = 5830,
525     DoublepumpINTEL = 5831,
526     MaxReplicatesINTEL = 5832,
527     SimpleDualPortINTEL = 5833,
528     MergeINTEL = 5834,
529     BankBitsINTEL = 5835,
530     ForcePow2DepthINTEL = 5836,
531     BurstCoalesceINTEL = 5899,
532     CacheSizeINTEL = 5900,
533     DontStaticallyCoalesceINTEL = 5901,
534     PrefetchINTEL = 5902,
535     StallEnableINTEL = 5905,
536     FuseLoopsInFunctionINTEL = 5907,
537     BufferLocationINTEL = 5921,
538     IOPipeStorageINTEL = 5944,
539     FunctionFloatingPointModeINTEL = 6080,
540     SingleElementVectorINTEL = 6085,
541     VectorComputeCallableFunctionINTEL = 6087,
542 }
543
544 enum BuiltIn : uint
545 {
546     Position = 0,
547     PointSize = 1,
548     ClipDistance = 3,
549     CullDistance = 4,
550     VertexId = 5,
551     InstanceId = 6,
552     PrimitiveId = 7,
553     InvocationId = 8,
554     Layer = 9,
555     ViewportIndex = 10,
556     TessLevelOuter = 11,
557     TessLevelInner = 12,
558     TessCoord = 13,
559     PatchVertices = 14,
560     FragCoord = 15,
561     PointCoord = 16,
562     FrontFacing = 17,
563     SampleId = 18,
564     SamplePosition = 19,
565     SampleMask = 20,
566     FragDepth = 22,
567     HelperInvocation = 23,
568     NumWorkgroups = 24,
569     WorkgroupSize = 25,
570     WorkgroupId = 26,
571     LocalInvocationId = 27,
572     GlobalInvocationId = 28,
573     LocalInvocationIndex = 29,
574     WorkDim = 30,
575     GlobalSize = 31,
576     EnqueuedWorkgroupSize = 32,
577     GlobalOffset = 33,
578     GlobalLinearId = 34,
579     SubgroupSize = 36,
580     SubgroupMaxSize = 37,
581     NumSubgroups = 38,
582     NumEnqueuedSubgroups = 39,
583     SubgroupId = 40,
584     SubgroupLocalInvocationId = 41,
585     VertexIndex = 42,
586     InstanceIndex = 43,
587     SubgroupEqMask = 4416,
588     SubgroupEqMaskKHR = 4416,
589     SubgroupGeMask = 4417,
590     SubgroupGeMaskKHR = 4417,
591     SubgroupGtMask = 4418,
592     SubgroupGtMaskKHR = 4418,
593     SubgroupLeMask = 4419,
594     SubgroupLeMaskKHR = 4419,
595     SubgroupLtMask = 4420,
596     SubgroupLtMaskKHR = 4420,
597     BaseVertex = 4424,
598     BaseInstance = 4425,
599     DrawIndex = 4426,
600     PrimitiveShadingRateKHR = 4432,
601     DeviceIndex = 4438,
602     ViewIndex = 4440,
603     ShadingRateKHR = 4444,
604     BaryCoordNoPerspAMD = 4992,
605     BaryCoordNoPerspCentroidAMD = 4993,
606     BaryCoordNoPerspSampleAMD = 4994,
607     BaryCoordSmoothAMD = 4995,
608     BaryCoordSmoothCentroidAMD = 4996,
609     BaryCoordSmoothSampleAMD = 4997,
610     BaryCoordPullModelAMD = 4998,
611     FragStencilRefEXT = 5014,
612     ViewportMaskNV = 5253,
613     SecondaryPositionNV = 5257,
614     SecondaryViewportMaskNV = 5258,
615     PositionPerViewNV = 5261,
616     ViewportMaskPerViewNV = 5262,
617     FullyCoveredEXT = 5264,
618     TaskCountNV = 5274,
619     PrimitiveCountNV = 5275,
620     PrimitiveIndicesNV = 5276,
621     ClipDistancePerViewNV = 5277,
622     CullDistancePerViewNV = 5278,
623     LayerPerViewNV = 5279,
624     MeshViewCountNV = 5280,
625     MeshViewIndicesNV = 5281,
626     BaryCoordNV = 5286,
627     BaryCoordNoPerspNV = 5287,
628     FragSizeEXT = 5292,
629     FragmentSizeNV = 5292,
630     FragInvocationCountEXT = 5293,
631     InvocationsPerPixelNV = 5293,
632     LaunchIdKHR = 5319,
633     LaunchIdNV = 5319,
634     LaunchSizeKHR = 5320,
635     LaunchSizeNV = 5320,
636     WorldRayOriginKHR = 5321,
637     WorldRayOriginNV = 5321,
638     WorldRayDirectionKHR = 5322,
639     WorldRayDirectionNV = 5322,
640     ObjectRayOriginKHR = 5323,
641     ObjectRayOriginNV = 5323,
642     ObjectRayDirectionKHR = 5324,
643     ObjectRayDirectionNV = 5324,
644     RayTminKHR = 5325,
645     RayTminNV = 5325,
646     RayTmaxKHR = 5326,
647     RayTmaxNV = 5326,
648     InstanceCustomIndexKHR = 5327,
649     InstanceCustomIndexNV = 5327,
650     ObjectToWorldKHR = 5330,
651     ObjectToWorldNV = 5330,
652     WorldToObjectKHR = 5331,
653     WorldToObjectNV = 5331,
654     HitTNV = 5332,
655     HitKindKHR = 5333,
656     HitKindNV = 5333,
657     IncomingRayFlagsKHR = 5351,
658     IncomingRayFlagsNV = 5351,
659     RayGeometryIndexKHR = 5352,
660     WarpsPerSMNV = 5374,
661     SMCountNV = 5375,
662     WarpIDNV = 5376,
663     SMIDNV = 5377,
664 }
665
666 enum SelectionControlShift : uint
667 {
668     Flatten = 0,
669     DontFlatten = 1,
670 }
671
672 enum SelectionControlMask : uint
673 {
674     MaskNone = 0,
675     Flatten = 0x00000001,
676     DontFlatten = 0x00000002,
677 }
678
679 enum LoopControlShift : uint
680 {
681     Unroll = 0,
682     DontUnroll = 1,
683     DependencyInfinite = 2,
684     DependencyLength = 3,
685     MinIterations = 4,
686     MaxIterations = 5,
687     IterationMultiple = 6,
688     PeelCount = 7,
689     PartialCount = 8,
690     InitiationIntervalINTEL = 16,
691     MaxConcurrencyINTEL = 17,
692     DependencyArrayINTEL = 18,
693     PipelineEnableINTEL = 19,
694     LoopCoalesceINTEL = 20,
695     MaxInterleavingINTEL = 21,
696     SpeculatedIterationsINTEL = 22,
697     NoFusionINTEL = 23,
698 }
699
700 enum LoopControlMask : uint
701 {
702     MaskNone = 0,
703     Unroll = 0x00000001,
704     DontUnroll = 0x00000002,
705     DependencyInfinite = 0x00000004,
706     DependencyLength = 0x00000008,
707     MinIterations = 0x00000010,
708     MaxIterations = 0x00000020,
709     IterationMultiple = 0x00000040,
710     PeelCount = 0x00000080,
711     PartialCount = 0x00000100,
712     InitiationIntervalINTEL = 0x00010000,
713     MaxConcurrencyINTEL = 0x00020000,
714     DependencyArrayINTEL = 0x00040000,
715     PipelineEnableINTEL = 0x00080000,
716     LoopCoalesceINTEL = 0x00100000,
717     MaxInterleavingINTEL = 0x00200000,
718     SpeculatedIterationsINTEL = 0x00400000,
719     NoFusionINTEL = 0x00800000,
720 }
721
722 enum FunctionControlShift : uint
723 {
724     Inline = 0,
725     DontInline = 1,
726     Pure = 2,
727     Const = 3,
728     OptNoneINTEL = 16,
729 }
730
731 enum FunctionControlMask : uint
732 {
733     MaskNone = 0,
734     Inline = 0x00000001,
735     DontInline = 0x00000002,
736     Pure = 0x00000004,
737     Const = 0x00000008,
738     OptNoneINTEL = 0x00010000,
739 }
740
741 enum MemorySemanticsShift : uint
742 {
743     Acquire = 1,
744     Release = 2,
745     AcquireRelease = 3,
746     SequentiallyConsistent = 4,
747     UniformMemory = 6,
748     SubgroupMemory = 7,
749     WorkgroupMemory = 8,
750     CrossWorkgroupMemory = 9,
751     AtomicCounterMemory = 10,
752     ImageMemory = 11,
753     OutputMemory = 12,
754     OutputMemoryKHR = 12,
755     MakeAvailable = 13,
756     MakeAvailableKHR = 13,
757     MakeVisible = 14,
758     MakeVisibleKHR = 14,
759     Volatile = 15,
760 }
761
762 enum MemorySemanticsMask : uint
763 {
764     MaskNone = 0,
765     Acquire = 0x00000002,
766     Release = 0x00000004,
767     AcquireRelease = 0x00000008,
768     SequentiallyConsistent = 0x00000010,
769     UniformMemory = 0x00000040,
770     SubgroupMemory = 0x00000080,
771     WorkgroupMemory = 0x00000100,
772     CrossWorkgroupMemory = 0x00000200,
773     AtomicCounterMemory = 0x00000400,
774     ImageMemory = 0x00000800,
775     OutputMemory = 0x00001000,
776     OutputMemoryKHR = 0x00001000,
777     MakeAvailable = 0x00002000,
778     MakeAvailableKHR = 0x00002000,
779     MakeVisible = 0x00004000,
780     MakeVisibleKHR = 0x00004000,
781     Volatile = 0x00008000,
782 }
783
784 enum MemoryAccessShift : uint
785 {
786     Volatile = 0,
787     Aligned = 1,
788     Nontemporal = 2,
789     MakePointerAvailable = 3,
790     MakePointerAvailableKHR = 3,
791     MakePointerVisible = 4,
792     MakePointerVisibleKHR = 4,
793     NonPrivatePointer = 5,
794     NonPrivatePointerKHR = 5,
795 }
796
797 enum MemoryAccessMask : uint
798 {
799     MaskNone = 0,
800     Volatile = 0x00000001,
801     Aligned = 0x00000002,
802     Nontemporal = 0x00000004,
803     MakePointerAvailable = 0x00000008,
804     MakePointerAvailableKHR = 0x00000008,
805     MakePointerVisible = 0x00000010,
806     MakePointerVisibleKHR = 0x00000010,
807     NonPrivatePointer = 0x00000020,
808     NonPrivatePointerKHR = 0x00000020,
809 }
810
811 enum Scope : uint
812 {
813     CrossDevice = 0,
814     Device = 1,
815     Workgroup = 2,
816     Subgroup = 3,
817     Invocation = 4,
818     QueueFamily = 5,
819     QueueFamilyKHR = 5,
820     ShaderCallKHR = 6,
821 }
822
823 enum GroupOperation : uint
824 {
825     Reduce = 0,
826     InclusiveScan = 1,
827     ExclusiveScan = 2,
828     ClusteredReduce = 3,
829     PartitionedReduceNV = 6,
830     PartitionedInclusiveScanNV = 7,
831     PartitionedExclusiveScanNV = 8,
832 }
833
834 enum KernelEnqueueFlags : uint
835 {
836     NoWait = 0,
837     WaitKernel = 1,
838     WaitWorkGroup = 2,
839 }
840
841 enum KernelProfilingInfoShift : uint
842 {
843     CmdExecTime = 0,
844 }
845
846 enum KernelProfilingInfoMask : uint
847 {
848     MaskNone = 0,
849     CmdExecTime = 0x00000001,
850 }
851
852 enum Capability : uint
853 {
854     Matrix = 0,
855     Shader = 1,
856     Geometry = 2,
857     Tessellation = 3,
858     Addresses = 4,
859     Linkage = 5,
860     Kernel = 6,
861     Vector16 = 7,
862     Float16Buffer = 8,
863     Float16 = 9,
864     Float64 = 10,
865     Int64 = 11,
866     Int64Atomics = 12,
867     ImageBasic = 13,
868     ImageReadWrite = 14,
869     ImageMipmap = 15,
870     Pipes = 17,
871     Groups = 18,
872     DeviceEnqueue = 19,
873     LiteralSampler = 20,
874     AtomicStorage = 21,
875     Int16 = 22,
876     TessellationPointSize = 23,
877     GeometryPointSize = 24,
878     ImageGatherExtended = 25,
879     StorageImageMultisample = 27,
880     UniformBufferArrayDynamicIndexing = 28,
881     SampledImageArrayDynamicIndexing = 29,
882     StorageBufferArrayDynamicIndexing = 30,
883     StorageImageArrayDynamicIndexing = 31,
884     ClipDistance = 32,
885     CullDistance = 33,
886     ImageCubeArray = 34,
887     SampleRateShading = 35,
888     ImageRect = 36,
889     SampledRect = 37,
890     GenericPointer = 38,
891     Int8 = 39,
892     InputAttachment = 40,
893     SparseResidency = 41,
894     MinLod = 42,
895     Sampled1D = 43,
896     Image1D = 44,
897     SampledCubeArray = 45,
898     SampledBuffer = 46,
899     ImageBuffer = 47,
900     ImageMSArray = 48,
901     StorageImageExtendedFormats = 49,
902     ImageQuery = 50,
903     DerivativeControl = 51,
904     InterpolationFunction = 52,
905     TransformFeedback = 53,
906     GeometryStreams = 54,
907     StorageImageReadWithoutFormat = 55,
908     StorageImageWriteWithoutFormat = 56,
909     MultiViewport = 57,
910     SubgroupDispatch = 58,
911     NamedBarrier = 59,
912     PipeStorage = 60,
913     GroupNonUniform = 61,
914     GroupNonUniformVote = 62,
915     GroupNonUniformArithmetic = 63,
916     GroupNonUniformBallot = 64,
917     GroupNonUniformShuffle = 65,
918     GroupNonUniformShuffleRelative = 66,
919     GroupNonUniformClustered = 67,
920     GroupNonUniformQuad = 68,
921     ShaderLayer = 69,
922     ShaderViewportIndex = 70,
923     FragmentShadingRateKHR = 4422,
924     SubgroupBallotKHR = 4423,
925     DrawParameters = 4427,
926     WorkgroupMemoryExplicitLayoutKHR = 4428,
927     WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
928     WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
929     SubgroupVoteKHR = 4431,
930     StorageBuffer16BitAccess = 4433,
931     StorageUniformBufferBlock16 = 4433,
932     StorageUniform16 = 4434,
933     UniformAndStorageBuffer16BitAccess = 4434,
934     StoragePushConstant16 = 4435,
935     StorageInputOutput16 = 4436,
936     DeviceGroup = 4437,
937     MultiView = 4439,
938     VariablePointersStorageBuffer = 4441,
939     VariablePointers = 4442,
940     AtomicStorageOps = 4445,
941     SampleMaskPostDepthCoverage = 4447,
942     StorageBuffer8BitAccess = 4448,
943     UniformAndStorageBuffer8BitAccess = 4449,
944     StoragePushConstant8 = 4450,
945     DenormPreserve = 4464,
946     DenormFlushToZero = 4465,
947     SignedZeroInfNanPreserve = 4466,
948     RoundingModeRTE = 4467,
949     RoundingModeRTZ = 4468,
950     RayQueryProvisionalKHR = 4471,
951     RayQueryKHR = 4472,
952     RayTraversalPrimitiveCullingKHR = 4478,
953     RayTracingKHR = 4479,
954     Float16ImageAMD = 5008,
955     ImageGatherBiasLodAMD = 5009,
956     FragmentMaskAMD = 5010,
957     StencilExportEXT = 5013,
958     ImageReadWriteLodAMD = 5015,
959     Int64ImageEXT = 5016,
960     ShaderClockKHR = 5055,
961     SampleMaskOverrideCoverageNV = 5249,
962     GeometryShaderPassthroughNV = 5251,
963     ShaderViewportIndexLayerEXT = 5254,
964     ShaderViewportIndexLayerNV = 5254,
965     ShaderViewportMaskNV = 5255,
966     ShaderStereoViewNV = 5259,
967     PerViewAttributesNV = 5260,
968     FragmentFullyCoveredEXT = 5265,
969     MeshShadingNV = 5266,
970     ImageFootprintNV = 5282,
971     FragmentBarycentricNV = 5284,
972     ComputeDerivativeGroupQuadsNV = 5288,
973     FragmentDensityEXT = 5291,
974     ShadingRateNV = 5291,
975     GroupNonUniformPartitionedNV = 5297,
976     ShaderNonUniform = 5301,
977     ShaderNonUniformEXT = 5301,
978     RuntimeDescriptorArray = 5302,
979     RuntimeDescriptorArrayEXT = 5302,
980     InputAttachmentArrayDynamicIndexing = 5303,
981     InputAttachmentArrayDynamicIndexingEXT = 5303,
982     UniformTexelBufferArrayDynamicIndexing = 5304,
983     UniformTexelBufferArrayDynamicIndexingEXT = 5304,
984     StorageTexelBufferArrayDynamicIndexing = 5305,
985     StorageTexelBufferArrayDynamicIndexingEXT = 5305,
986     UniformBufferArrayNonUniformIndexing = 5306,
987     UniformBufferArrayNonUniformIndexingEXT = 5306,
988     SampledImageArrayNonUniformIndexing = 5307,
989     SampledImageArrayNonUniformIndexingEXT = 5307,
990     StorageBufferArrayNonUniformIndexing = 5308,
991     StorageBufferArrayNonUniformIndexingEXT = 5308,
992     StorageImageArrayNonUniformIndexing = 5309,
993     StorageImageArrayNonUniformIndexingEXT = 5309,
994     InputAttachmentArrayNonUniformIndexing = 5310,
995     InputAttachmentArrayNonUniformIndexingEXT = 5310,
996     UniformTexelBufferArrayNonUniformIndexing = 5311,
997     UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
998     StorageTexelBufferArrayNonUniformIndexing = 5312,
999     StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1000     RayTracingNV = 5340,
1001     VulkanMemoryModel = 5345,
1002     VulkanMemoryModelKHR = 5345,
1003     VulkanMemoryModelDeviceScope = 5346,
1004     VulkanMemoryModelDeviceScopeKHR = 5346,
1005     PhysicalStorageBufferAddresses = 5347,
1006     PhysicalStorageBufferAddressesEXT = 5347,
1007     ComputeDerivativeGroupLinearNV = 5350,
1008     RayTracingProvisionalKHR = 5353,
1009     CooperativeMatrixNV = 5357,
1010     FragmentShaderSampleInterlockEXT = 5363,
1011     FragmentShaderShadingRateInterlockEXT = 5372,
1012     ShaderSMBuiltinsNV = 5373,
1013     FragmentShaderPixelInterlockEXT = 5378,
1014     DemoteToHelperInvocationEXT = 5379,
1015     SubgroupShuffleINTEL = 5568,
1016     SubgroupBufferBlockIOINTEL = 5569,
1017     SubgroupImageBlockIOINTEL = 5570,
1018     SubgroupImageMediaBlockIOINTEL = 5579,
1019     RoundToInfinityINTEL = 5582,
1020     FloatingPointModeINTEL = 5583,
1021     IntegerFunctions2INTEL = 5584,
1022     FunctionPointersINTEL = 5603,
1023     IndirectReferencesINTEL = 5604,
1024     AsmINTEL = 5606,
1025     AtomicFloat32MinMaxEXT = 5612,
1026     AtomicFloat64MinMaxEXT = 5613,
1027     AtomicFloat16MinMaxEXT = 5616,
1028     VectorComputeINTEL = 5617,
1029     VectorAnyINTEL = 5619,
1030     ExpectAssumeKHR = 5629,
1031     SubgroupAvcMotionEstimationINTEL = 5696,
1032     SubgroupAvcMotionEstimationIntraINTEL = 5697,
1033     SubgroupAvcMotionEstimationChromaINTEL = 5698,
1034     VariableLengthArrayINTEL = 5817,
1035     FunctionFloatControlINTEL = 5821,
1036     FPGAMemoryAttributesINTEL = 5824,
1037     FPFastMathModeINTEL = 5837,
1038     ArbitraryPrecisionIntegersINTEL = 5844,
1039     ArbitraryPrecisionFloatingPointINTEL = 5845,
1040     UnstructuredLoopControlsINTEL = 5886,
1041     FPGALoopControlsINTEL = 5888,
1042     KernelAttributesINTEL = 5892,
1043     FPGAKernelAttributesINTEL = 5897,
1044     FPGAMemoryAccessesINTEL = 5898,
1045     FPGAClusterAttributesINTEL = 5904,
1046     LoopFuseINTEL = 5906,
1047     FPGABufferLocationINTEL = 5920,
1048     ArbitraryPrecisionFixedPointINTEL = 5922,
1049     USMStorageClassesINTEL = 5935,
1050     IOPipesINTEL = 5943,
1051     BlockingPipesINTEL = 5945,
1052     FPGARegINTEL = 5948,
1053     DotProductInputAllKHR = 6016,
1054     DotProductInput4x8BitKHR = 6017,
1055     DotProductInput4x8BitPackedKHR = 6018,
1056     DotProductKHR = 6019,
1057     BitInstructions = 6025,
1058     AtomicFloat32AddEXT = 6033,
1059     AtomicFloat64AddEXT = 6034,
1060     LongConstantCompositeINTEL = 6089,
1061     OptNoneINTEL = 6094,
1062     AtomicFloat16AddEXT = 6095,
1063     DebugInfoModuleINTEL = 6114,
1064 }
1065
1066 enum RayFlagsShift : uint
1067 {
1068     OpaqueKHR = 0,
1069     NoOpaqueKHR = 1,
1070     TerminateOnFirstHitKHR = 2,
1071     SkipClosestHitShaderKHR = 3,
1072     CullBackFacingTrianglesKHR = 4,
1073     CullFrontFacingTrianglesKHR = 5,
1074     CullOpaqueKHR = 6,
1075     CullNoOpaqueKHR = 7,
1076     SkipTrianglesKHR = 8,
1077     SkipAABBsKHR = 9,
1078 }
1079
1080 enum RayFlagsMask : uint
1081 {
1082     MaskNone = 0,
1083     OpaqueKHR = 0x00000001,
1084     NoOpaqueKHR = 0x00000002,
1085     TerminateOnFirstHitKHR = 0x00000004,
1086     SkipClosestHitShaderKHR = 0x00000008,
1087     CullBackFacingTrianglesKHR = 0x00000010,
1088     CullFrontFacingTrianglesKHR = 0x00000020,
1089     CullOpaqueKHR = 0x00000040,
1090     CullNoOpaqueKHR = 0x00000080,
1091     SkipTrianglesKHR = 0x00000100,
1092     SkipAABBsKHR = 0x00000200,
1093 }
1094
1095 enum RayQueryIntersection : uint
1096 {
1097     RayQueryCandidateIntersectionKHR = 0,
1098     RayQueryCommittedIntersectionKHR = 1,
1099 }
1100
1101 enum RayQueryCommittedIntersectionType : uint
1102 {
1103     RayQueryCommittedIntersectionNoneKHR = 0,
1104     RayQueryCommittedIntersectionTriangleKHR = 1,
1105     RayQueryCommittedIntersectionGeneratedKHR = 2,
1106 }
1107
1108 enum RayQueryCandidateIntersectionType : uint
1109 {
1110     RayQueryCandidateIntersectionTriangleKHR = 0,
1111     RayQueryCandidateIntersectionAABBKHR = 1,
1112 }
1113
1114 enum FragmentShadingRateShift : uint
1115 {
1116     Vertical2Pixels = 0,
1117     Vertical4Pixels = 1,
1118     Horizontal2Pixels = 2,
1119     Horizontal4Pixels = 3,
1120 }
1121
1122 enum FragmentShadingRateMask : uint
1123 {
1124     MaskNone = 0,
1125     Vertical2Pixels = 0x00000001,
1126     Vertical4Pixels = 0x00000002,
1127     Horizontal2Pixels = 0x00000004,
1128     Horizontal4Pixels = 0x00000008,
1129 }
1130
1131 enum FPDenormMode : uint
1132 {
1133     Preserve = 0,
1134     FlushToZero = 1,
1135 }
1136
1137 enum FPOperationMode : uint
1138 {
1139     IEEE = 0,
1140     ALT = 1,
1141 }
1142
1143 enum QuantizationModes : uint
1144 {
1145     TRN = 0,
1146     TRN_ZERO = 1,
1147     RND = 2,
1148     RND_ZERO = 3,
1149     RND_INF = 4,
1150     RND_MIN_INF = 5,
1151     RND_CONV = 6,
1152     RND_CONV_ODD = 7,
1153 }
1154
1155 enum OverflowModes : uint
1156 {
1157     WRAP = 0,
1158     SAT = 1,
1159     SAT_ZERO = 2,
1160     SAT_SYM = 3,
1161 }
1162
1163 enum PackedVectorFormat : uint
1164 {
1165     PackedVectorFormat4x8BitKHR = 0,
1166 }
1167
1168 enum Op : uint
1169 {
1170     OpNop = 0,
1171     OpUndef = 1,
1172     OpSourceContinued = 2,
1173     OpSource = 3,
1174     OpSourceExtension = 4,
1175     OpName = 5,
1176     OpMemberName = 6,
1177     OpString = 7,
1178     OpLine = 8,
1179     OpExtension = 10,
1180     OpExtInstImport = 11,
1181     OpExtInst = 12,
1182     OpMemoryModel = 14,
1183     OpEntryPoint = 15,
1184     OpExecutionMode = 16,
1185     OpCapability = 17,
1186     OpTypeVoid = 19,
1187     OpTypeBool = 20,
1188     OpTypeInt = 21,
1189     OpTypeFloat = 22,
1190     OpTypeVector = 23,
1191     OpTypeMatrix = 24,
1192     OpTypeImage = 25,
1193     OpTypeSampler = 26,
1194     OpTypeSampledImage = 27,
1195     OpTypeArray = 28,
1196     OpTypeRuntimeArray = 29,
1197     OpTypeStruct = 30,
1198     OpTypeOpaque = 31,
1199     OpTypePointer = 32,
1200     OpTypeFunction = 33,
1201     OpTypeEvent = 34,
1202     OpTypeDeviceEvent = 35,
1203     OpTypeReserveId = 36,
1204     OpTypeQueue = 37,
1205     OpTypePipe = 38,
1206     OpTypeForwardPointer = 39,
1207     OpConstantTrue = 41,
1208     OpConstantFalse = 42,
1209     OpConstant = 43,
1210     OpConstantComposite = 44,
1211     OpConstantSampler = 45,
1212     OpConstantNull = 46,
1213     OpSpecConstantTrue = 48,
1214     OpSpecConstantFalse = 49,
1215     OpSpecConstant = 50,
1216     OpSpecConstantComposite = 51,
1217     OpSpecConstantOp = 52,
1218     OpFunction = 54,
1219     OpFunctionParameter = 55,
1220     OpFunctionEnd = 56,
1221     OpFunctionCall = 57,
1222     OpVariable = 59,
1223     OpImageTexelPointer = 60,
1224     OpLoad = 61,
1225     OpStore = 62,
1226     OpCopyMemory = 63,
1227     OpCopyMemorySized = 64,
1228     OpAccessChain = 65,
1229     OpInBoundsAccessChain = 66,
1230     OpPtrAccessChain = 67,
1231     OpArrayLength = 68,
1232     OpGenericPtrMemSemantics = 69,
1233     OpInBoundsPtrAccessChain = 70,
1234     OpDecorate = 71,
1235     OpMemberDecorate = 72,
1236     OpDecorationGroup = 73,
1237     OpGroupDecorate = 74,
1238     OpGroupMemberDecorate = 75,
1239     OpVectorExtractDynamic = 77,
1240     OpVectorInsertDynamic = 78,
1241     OpVectorShuffle = 79,
1242     OpCompositeConstruct = 80,
1243     OpCompositeExtract = 81,
1244     OpCompositeInsert = 82,
1245     OpCopyObject = 83,
1246     OpTranspose = 84,
1247     OpSampledImage = 86,
1248     OpImageSampleImplicitLod = 87,
1249     OpImageSampleExplicitLod = 88,
1250     OpImageSampleDrefImplicitLod = 89,
1251     OpImageSampleDrefExplicitLod = 90,
1252     OpImageSampleProjImplicitLod = 91,
1253     OpImageSampleProjExplicitLod = 92,
1254     OpImageSampleProjDrefImplicitLod = 93,
1255     OpImageSampleProjDrefExplicitLod = 94,
1256     OpImageFetch = 95,
1257     OpImageGather = 96,
1258     OpImageDrefGather = 97,
1259     OpImageRead = 98,
1260     OpImageWrite = 99,
1261     OpImage = 100,
1262     OpImageQueryFormat = 101,
1263     OpImageQueryOrder = 102,
1264     OpImageQuerySizeLod = 103,
1265     OpImageQuerySize = 104,
1266     OpImageQueryLod = 105,
1267     OpImageQueryLevels = 106,
1268     OpImageQuerySamples = 107,
1269     OpConvertFToU = 109,
1270     OpConvertFToS = 110,
1271     OpConvertSToF = 111,
1272     OpConvertUToF = 112,
1273     OpUConvert = 113,
1274     OpSConvert = 114,
1275     OpFConvert = 115,
1276     OpQuantizeToF16 = 116,
1277     OpConvertPtrToU = 117,
1278     OpSatConvertSToU = 118,
1279     OpSatConvertUToS = 119,
1280     OpConvertUToPtr = 120,
1281     OpPtrCastToGeneric = 121,
1282     OpGenericCastToPtr = 122,
1283     OpGenericCastToPtrExplicit = 123,
1284     OpBitcast = 124,
1285     OpSNegate = 126,
1286     OpFNegate = 127,
1287     OpIAdd = 128,
1288     OpFAdd = 129,
1289     OpISub = 130,
1290     OpFSub = 131,
1291     OpIMul = 132,
1292     OpFMul = 133,
1293     OpUDiv = 134,
1294     OpSDiv = 135,
1295     OpFDiv = 136,
1296     OpUMod = 137,
1297     OpSRem = 138,
1298     OpSMod = 139,
1299     OpFRem = 140,
1300     OpFMod = 141,
1301     OpVectorTimesScalar = 142,
1302     OpMatrixTimesScalar = 143,
1303     OpVectorTimesMatrix = 144,
1304     OpMatrixTimesVector = 145,
1305     OpMatrixTimesMatrix = 146,
1306     OpOuterProduct = 147,
1307     OpDot = 148,
1308     OpIAddCarry = 149,
1309     OpISubBorrow = 150,
1310     OpUMulExtended = 151,
1311     OpSMulExtended = 152,
1312     OpAny = 154,
1313     OpAll = 155,
1314     OpIsNan = 156,
1315     OpIsInf = 157,
1316     OpIsFinite = 158,
1317     OpIsNormal = 159,
1318     OpSignBitSet = 160,
1319     OpLessOrGreater = 161,
1320     OpOrdered = 162,
1321     OpUnordered = 163,
1322     OpLogicalEqual = 164,
1323     OpLogicalNotEqual = 165,
1324     OpLogicalOr = 166,
1325     OpLogicalAnd = 167,
1326     OpLogicalNot = 168,
1327     OpSelect = 169,
1328     OpIEqual = 170,
1329     OpINotEqual = 171,
1330     OpUGreaterThan = 172,
1331     OpSGreaterThan = 173,
1332     OpUGreaterThanEqual = 174,
1333     OpSGreaterThanEqual = 175,
1334     OpULessThan = 176,
1335     OpSLessThan = 177,
1336     OpULessThanEqual = 178,
1337     OpSLessThanEqual = 179,
1338     OpFOrdEqual = 180,
1339     OpFUnordEqual = 181,
1340     OpFOrdNotEqual = 182,
1341     OpFUnordNotEqual = 183,
1342     OpFOrdLessThan = 184,
1343     OpFUnordLessThan = 185,
1344     OpFOrdGreaterThan = 186,
1345     OpFUnordGreaterThan = 187,
1346     OpFOrdLessThanEqual = 188,
1347     OpFUnordLessThanEqual = 189,
1348     OpFOrdGreaterThanEqual = 190,
1349     OpFUnordGreaterThanEqual = 191,
1350     OpShiftRightLogical = 194,
1351     OpShiftRightArithmetic = 195,
1352     OpShiftLeftLogical = 196,
1353     OpBitwiseOr = 197,
1354     OpBitwiseXor = 198,
1355     OpBitwiseAnd = 199,
1356     OpNot = 200,
1357     OpBitFieldInsert = 201,
1358     OpBitFieldSExtract = 202,
1359     OpBitFieldUExtract = 203,
1360     OpBitReverse = 204,
1361     OpBitCount = 205,
1362     OpDPdx = 207,
1363     OpDPdy = 208,
1364     OpFwidth = 209,
1365     OpDPdxFine = 210,
1366     OpDPdyFine = 211,
1367     OpFwidthFine = 212,
1368     OpDPdxCoarse = 213,
1369     OpDPdyCoarse = 214,
1370     OpFwidthCoarse = 215,
1371     OpEmitVertex = 218,
1372     OpEndPrimitive = 219,
1373     OpEmitStreamVertex = 220,
1374     OpEndStreamPrimitive = 221,
1375     OpControlBarrier = 224,
1376     OpMemoryBarrier = 225,
1377     OpAtomicLoad = 227,
1378     OpAtomicStore = 228,
1379     OpAtomicExchange = 229,
1380     OpAtomicCompareExchange = 230,
1381     OpAtomicCompareExchangeWeak = 231,
1382     OpAtomicIIncrement = 232,
1383     OpAtomicIDecrement = 233,
1384     OpAtomicIAdd = 234,
1385     OpAtomicISub = 235,
1386     OpAtomicSMin = 236,
1387     OpAtomicUMin = 237,
1388     OpAtomicSMax = 238,
1389     OpAtomicUMax = 239,
1390     OpAtomicAnd = 240,
1391     OpAtomicOr = 241,
1392     OpAtomicXor = 242,
1393     OpPhi = 245,
1394     OpLoopMerge = 246,
1395     OpSelectionMerge = 247,
1396     OpLabel = 248,
1397     OpBranch = 249,
1398     OpBranchConditional = 250,
1399     OpSwitch = 251,
1400     OpKill = 252,
1401     OpReturn = 253,
1402     OpReturnValue = 254,
1403     OpUnreachable = 255,
1404     OpLifetimeStart = 256,
1405     OpLifetimeStop = 257,
1406     OpGroupAsyncCopy = 259,
1407     OpGroupWaitEvents = 260,
1408     OpGroupAll = 261,
1409     OpGroupAny = 262,
1410     OpGroupBroadcast = 263,
1411     OpGroupIAdd = 264,
1412     OpGroupFAdd = 265,
1413     OpGroupFMin = 266,
1414     OpGroupUMin = 267,
1415     OpGroupSMin = 268,
1416     OpGroupFMax = 269,
1417     OpGroupUMax = 270,
1418     OpGroupSMax = 271,
1419     OpReadPipe = 274,
1420     OpWritePipe = 275,
1421     OpReservedReadPipe = 276,
1422     OpReservedWritePipe = 277,
1423     OpReserveReadPipePackets = 278,
1424     OpReserveWritePipePackets = 279,
1425     OpCommitReadPipe = 280,
1426     OpCommitWritePipe = 281,
1427     OpIsValidReserveId = 282,
1428     OpGetNumPipePackets = 283,
1429     OpGetMaxPipePackets = 284,
1430     OpGroupReserveReadPipePackets = 285,
1431     OpGroupReserveWritePipePackets = 286,
1432     OpGroupCommitReadPipe = 287,
1433     OpGroupCommitWritePipe = 288,
1434     OpEnqueueMarker = 291,
1435     OpEnqueueKernel = 292,
1436     OpGetKernelNDrangeSubGroupCount = 293,
1437     OpGetKernelNDrangeMaxSubGroupSize = 294,
1438     OpGetKernelWorkGroupSize = 295,
1439     OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1440     OpRetainEvent = 297,
1441     OpReleaseEvent = 298,
1442     OpCreateUserEvent = 299,
1443     OpIsValidEvent = 300,
1444     OpSetUserEventStatus = 301,
1445     OpCaptureEventProfilingInfo = 302,
1446     OpGetDefaultQueue = 303,
1447     OpBuildNDRange = 304,
1448     OpImageSparseSampleImplicitLod = 305,
1449     OpImageSparseSampleExplicitLod = 306,
1450     OpImageSparseSampleDrefImplicitLod = 307,
1451     OpImageSparseSampleDrefExplicitLod = 308,
1452     OpImageSparseSampleProjImplicitLod = 309,
1453     OpImageSparseSampleProjExplicitLod = 310,
1454     OpImageSparseSampleProjDrefImplicitLod = 311,
1455     OpImageSparseSampleProjDrefExplicitLod = 312,
1456     OpImageSparseFetch = 313,
1457     OpImageSparseGather = 314,
1458     OpImageSparseDrefGather = 315,
1459     OpImageSparseTexelsResident = 316,
1460     OpNoLine = 317,
1461     OpAtomicFlagTestAndSet = 318,
1462     OpAtomicFlagClear = 319,
1463     OpImageSparseRead = 320,
1464     OpSizeOf = 321,
1465     OpTypePipeStorage = 322,
1466     OpConstantPipeStorage = 323,
1467     OpCreatePipeFromPipeStorage = 324,
1468     OpGetKernelLocalSizeForSubgroupCount = 325,
1469     OpGetKernelMaxNumSubgroups = 326,
1470     OpTypeNamedBarrier = 327,
1471     OpNamedBarrierInitialize = 328,
1472     OpMemoryNamedBarrier = 329,
1473     OpModuleProcessed = 330,
1474     OpExecutionModeId = 331,
1475     OpDecorateId = 332,
1476     OpGroupNonUniformElect = 333,
1477     OpGroupNonUniformAll = 334,
1478     OpGroupNonUniformAny = 335,
1479     OpGroupNonUniformAllEqual = 336,
1480     OpGroupNonUniformBroadcast = 337,
1481     OpGroupNonUniformBroadcastFirst = 338,
1482     OpGroupNonUniformBallot = 339,
1483     OpGroupNonUniformInverseBallot = 340,
1484     OpGroupNonUniformBallotBitExtract = 341,
1485     OpGroupNonUniformBallotBitCount = 342,
1486     OpGroupNonUniformBallotFindLSB = 343,
1487     OpGroupNonUniformBallotFindMSB = 344,
1488     OpGroupNonUniformShuffle = 345,
1489     OpGroupNonUniformShuffleXor = 346,
1490     OpGroupNonUniformShuffleUp = 347,
1491     OpGroupNonUniformShuffleDown = 348,
1492     OpGroupNonUniformIAdd = 349,
1493     OpGroupNonUniformFAdd = 350,
1494     OpGroupNonUniformIMul = 351,
1495     OpGroupNonUniformFMul = 352,
1496     OpGroupNonUniformSMin = 353,
1497     OpGroupNonUniformUMin = 354,
1498     OpGroupNonUniformFMin = 355,
1499     OpGroupNonUniformSMax = 356,
1500     OpGroupNonUniformUMax = 357,
1501     OpGroupNonUniformFMax = 358,
1502     OpGroupNonUniformBitwiseAnd = 359,
1503     OpGroupNonUniformBitwiseOr = 360,
1504     OpGroupNonUniformBitwiseXor = 361,
1505     OpGroupNonUniformLogicalAnd = 362,
1506     OpGroupNonUniformLogicalOr = 363,
1507     OpGroupNonUniformLogicalXor = 364,
1508     OpGroupNonUniformQuadBroadcast = 365,
1509     OpGroupNonUniformQuadSwap = 366,
1510     OpCopyLogical = 400,
1511     OpPtrEqual = 401,
1512     OpPtrNotEqual = 402,
1513     OpPtrDiff = 403,
1514     OpTerminateInvocation = 4416,
1515     OpSubgroupBallotKHR = 4421,
1516     OpSubgroupFirstInvocationKHR = 4422,
1517     OpSubgroupAllKHR = 4428,
1518     OpSubgroupAnyKHR = 4429,
1519     OpSubgroupAllEqualKHR = 4430,
1520     OpSubgroupReadInvocationKHR = 4432,
1521     OpTraceRayKHR = 4445,
1522     OpExecuteCallableKHR = 4446,
1523     OpConvertUToAccelerationStructureKHR = 4447,
1524     OpIgnoreIntersectionKHR = 4448,
1525     OpTerminateRayKHR = 4449,
1526     OpSDotKHR = 4450,
1527     OpUDotKHR = 4451,
1528     OpSUDotKHR = 4452,
1529     OpSDotAccSatKHR = 4453,
1530     OpUDotAccSatKHR = 4454,
1531     OpSUDotAccSatKHR = 4455,
1532     OpTypeRayQueryKHR = 4472,
1533     OpRayQueryInitializeKHR = 4473,
1534     OpRayQueryTerminateKHR = 4474,
1535     OpRayQueryGenerateIntersectionKHR = 4475,
1536     OpRayQueryConfirmIntersectionKHR = 4476,
1537     OpRayQueryProceedKHR = 4477,
1538     OpRayQueryGetIntersectionTypeKHR = 4479,
1539     OpGroupIAddNonUniformAMD = 5000,
1540     OpGroupFAddNonUniformAMD = 5001,
1541     OpGroupFMinNonUniformAMD = 5002,
1542     OpGroupUMinNonUniformAMD = 5003,
1543     OpGroupSMinNonUniformAMD = 5004,
1544     OpGroupFMaxNonUniformAMD = 5005,
1545     OpGroupUMaxNonUniformAMD = 5006,
1546     OpGroupSMaxNonUniformAMD = 5007,
1547     OpFragmentMaskFetchAMD = 5011,
1548     OpFragmentFetchAMD = 5012,
1549     OpReadClockKHR = 5056,
1550     OpImageSampleFootprintNV = 5283,
1551     OpGroupNonUniformPartitionNV = 5296,
1552     OpWritePackedPrimitiveIndices4x8NV = 5299,
1553     OpReportIntersectionKHR = 5334,
1554     OpReportIntersectionNV = 5334,
1555     OpIgnoreIntersectionNV = 5335,
1556     OpTerminateRayNV = 5336,
1557     OpTraceNV = 5337,
1558     OpTypeAccelerationStructureKHR = 5341,
1559     OpTypeAccelerationStructureNV = 5341,
1560     OpExecuteCallableNV = 5344,
1561     OpTypeCooperativeMatrixNV = 5358,
1562     OpCooperativeMatrixLoadNV = 5359,
1563     OpCooperativeMatrixStoreNV = 5360,
1564     OpCooperativeMatrixMulAddNV = 5361,
1565     OpCooperativeMatrixLengthNV = 5362,
1566     OpBeginInvocationInterlockEXT = 5364,
1567     OpEndInvocationInterlockEXT = 5365,
1568     OpDemoteToHelperInvocationEXT = 5380,
1569     OpIsHelperInvocationEXT = 5381,
1570     OpSubgroupShuffleINTEL = 5571,
1571     OpSubgroupShuffleDownINTEL = 5572,
1572     OpSubgroupShuffleUpINTEL = 5573,
1573     OpSubgroupShuffleXorINTEL = 5574,
1574     OpSubgroupBlockReadINTEL = 5575,
1575     OpSubgroupBlockWriteINTEL = 5576,
1576     OpSubgroupImageBlockReadINTEL = 5577,
1577     OpSubgroupImageBlockWriteINTEL = 5578,
1578     OpSubgroupImageMediaBlockReadINTEL = 5580,
1579     OpSubgroupImageMediaBlockWriteINTEL = 5581,
1580     OpUCountLeadingZerosINTEL = 5585,
1581     OpUCountTrailingZerosINTEL = 5586,
1582     OpAbsISubINTEL = 5587,
1583     OpAbsUSubINTEL = 5588,
1584     OpIAddSatINTEL = 5589,
1585     OpUAddSatINTEL = 5590,
1586     OpIAverageINTEL = 5591,
1587     OpUAverageINTEL = 5592,
1588     OpIAverageRoundedINTEL = 5593,
1589     OpUAverageRoundedINTEL = 5594,
1590     OpISubSatINTEL = 5595,
1591     OpUSubSatINTEL = 5596,
1592     OpIMul32x16INTEL = 5597,
1593     OpUMul32x16INTEL = 5598,
1594     OpConstFunctionPointerINTEL = 5600,
1595     OpFunctionPointerCallINTEL = 5601,
1596     OpAsmTargetINTEL = 5609,
1597     OpAsmINTEL = 5610,
1598     OpAsmCallINTEL = 5611,
1599     OpAtomicFMinEXT = 5614,
1600     OpAtomicFMaxEXT = 5615,
1601     OpAssumeTrueKHR = 5630,
1602     OpExpectKHR = 5631,
1603     OpDecorateString = 5632,
1604     OpDecorateStringGOOGLE = 5632,
1605     OpMemberDecorateString = 5633,
1606     OpMemberDecorateStringGOOGLE = 5633,
1607     OpVmeImageINTEL = 5699,
1608     OpTypeVmeImageINTEL = 5700,
1609     OpTypeAvcImePayloadINTEL = 5701,
1610     OpTypeAvcRefPayloadINTEL = 5702,
1611     OpTypeAvcSicPayloadINTEL = 5703,
1612     OpTypeAvcMcePayloadINTEL = 5704,
1613     OpTypeAvcMceResultINTEL = 5705,
1614     OpTypeAvcImeResultINTEL = 5706,
1615     OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1616     OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1617     OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1618     OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1619     OpTypeAvcRefResultINTEL = 5711,
1620     OpTypeAvcSicResultINTEL = 5712,
1621     OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1622     OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1623     OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1624     OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1625     OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1626     OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1627     OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1628     OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1629     OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1630     OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1631     OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1632     OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1633     OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1634     OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1635     OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1636     OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1637     OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1638     OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1639     OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1640     OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1641     OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1642     OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1643     OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1644     OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1645     OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1646     OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1647     OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1648     OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1649     OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1650     OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1651     OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1652     OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1653     OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1654     OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1655     OpSubgroupAvcImeInitializeINTEL = 5747,
1656     OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1657     OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1658     OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1659     OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1660     OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1661     OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1662     OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1663     OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1664     OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1665     OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1666     OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1667     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1668     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1669     OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1670     OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1671     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1672     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1673     OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1674     OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1675     OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1676     OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1677     OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1678     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1679     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1680     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1681     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1682     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1683     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1684     OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1685     OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1686     OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1687     OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1688     OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1689     OpSubgroupAvcFmeInitializeINTEL = 5781,
1690     OpSubgroupAvcBmeInitializeINTEL = 5782,
1691     OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1692     OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1693     OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1694     OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1695     OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1696     OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1697     OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1698     OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1699     OpSubgroupAvcSicInitializeINTEL = 5791,
1700     OpSubgroupAvcSicConfigureSkcINTEL = 5792,
1701     OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1702     OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1703     OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1704     OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1705     OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1706     OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1707     OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1708     OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1709     OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1710     OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1711     OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1712     OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1713     OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1714     OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1715     OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1716     OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1717     OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1718     OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1719     OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1720     OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1721     OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1722     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1723     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1724     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1725     OpVariableLengthArrayINTEL = 5818,
1726     OpSaveMemoryINTEL = 5819,
1727     OpRestoreMemoryINTEL = 5820,
1728     OpArbitraryFloatSinCosPiINTEL = 5840,
1729     OpArbitraryFloatCastINTEL = 5841,
1730     OpArbitraryFloatCastFromIntINTEL = 5842,
1731     OpArbitraryFloatCastToIntINTEL = 5843,
1732     OpArbitraryFloatAddINTEL = 5846,
1733     OpArbitraryFloatSubINTEL = 5847,
1734     OpArbitraryFloatMulINTEL = 5848,
1735     OpArbitraryFloatDivINTEL = 5849,
1736     OpArbitraryFloatGTINTEL = 5850,
1737     OpArbitraryFloatGEINTEL = 5851,
1738     OpArbitraryFloatLTINTEL = 5852,
1739     OpArbitraryFloatLEINTEL = 5853,
1740     OpArbitraryFloatEQINTEL = 5854,
1741     OpArbitraryFloatRecipINTEL = 5855,
1742     OpArbitraryFloatRSqrtINTEL = 5856,
1743     OpArbitraryFloatCbrtINTEL = 5857,
1744     OpArbitraryFloatHypotINTEL = 5858,
1745     OpArbitraryFloatSqrtINTEL = 5859,
1746     OpArbitraryFloatLogINTEL = 5860,
1747     OpArbitraryFloatLog2INTEL = 5861,
1748     OpArbitraryFloatLog10INTEL = 5862,
1749     OpArbitraryFloatLog1pINTEL = 5863,
1750     OpArbitraryFloatExpINTEL = 5864,
1751     OpArbitraryFloatExp2INTEL = 5865,
1752     OpArbitraryFloatExp10INTEL = 5866,
1753     OpArbitraryFloatExpm1INTEL = 5867,
1754     OpArbitraryFloatSinINTEL = 5868,
1755     OpArbitraryFloatCosINTEL = 5869,
1756     OpArbitraryFloatSinCosINTEL = 5870,
1757     OpArbitraryFloatSinPiINTEL = 5871,
1758     OpArbitraryFloatCosPiINTEL = 5872,
1759     OpArbitraryFloatASinINTEL = 5873,
1760     OpArbitraryFloatASinPiINTEL = 5874,
1761     OpArbitraryFloatACosINTEL = 5875,
1762     OpArbitraryFloatACosPiINTEL = 5876,
1763     OpArbitraryFloatATanINTEL = 5877,
1764     OpArbitraryFloatATanPiINTEL = 5878,
1765     OpArbitraryFloatATan2INTEL = 5879,
1766     OpArbitraryFloatPowINTEL = 5880,
1767     OpArbitraryFloatPowRINTEL = 5881,
1768     OpArbitraryFloatPowNINTEL = 5882,
1769     OpLoopControlINTEL = 5887,
1770     OpFixedSqrtINTEL = 5923,
1771     OpFixedRecipINTEL = 5924,
1772     OpFixedRsqrtINTEL = 5925,
1773     OpFixedSinINTEL = 5926,
1774     OpFixedCosINTEL = 5927,
1775     OpFixedSinCosINTEL = 5928,
1776     OpFixedSinPiINTEL = 5929,
1777     OpFixedCosPiINTEL = 5930,
1778     OpFixedSinCosPiINTEL = 5931,
1779     OpFixedLogINTEL = 5932,
1780     OpFixedExpINTEL = 5933,
1781     OpPtrCastToCrossWorkgroupINTEL = 5934,
1782     OpCrossWorkgroupCastToPtrINTEL = 5938,
1783     OpReadPipeBlockingINTEL = 5946,
1784     OpWritePipeBlockingINTEL = 5947,
1785     OpFPGARegINTEL = 5949,
1786     OpRayQueryGetRayTMinKHR = 6016,
1787     OpRayQueryGetRayFlagsKHR = 6017,
1788     OpRayQueryGetIntersectionTKHR = 6018,
1789     OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
1790     OpRayQueryGetIntersectionInstanceIdKHR = 6020,
1791     OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
1792     OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
1793     OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
1794     OpRayQueryGetIntersectionBarycentricsKHR = 6024,
1795     OpRayQueryGetIntersectionFrontFaceKHR = 6025,
1796     OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
1797     OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
1798     OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
1799     OpRayQueryGetWorldRayDirectionKHR = 6029,
1800     OpRayQueryGetWorldRayOriginKHR = 6030,
1801     OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
1802     OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
1803     OpAtomicFAddEXT = 6035,
1804     OpTypeBufferSurfaceINTEL = 6086,
1805     OpTypeStructContinuedINTEL = 6090,
1806     OpConstantCompositeContinuedINTEL = 6091,
1807     OpSpecConstantCompositeContinuedINTEL = 6092,
1808 }
1809
1810