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