• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /+
2  + Copyright (c) 2014-2024 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, Beef
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  + - Beef will use enum classes in the Specification class located in the "Spv" namespace,
45  +     e.g.: Spv.Specification.SourceLanguage.GLSL
46  +
47  + Some tokens act like mask values, which can be OR'd together,
48  + while others are mutually exclusive.  The mask-like ones have
49  + "Mask" in their name, and a parallel enum that has the shift
50  + amount (1 << x) for each corresponding enumerant.
51  +/
52 
53 module spv;
54 
55 enum uint MagicNumber = 0x07230203;
56 enum uint Version = 0x00010600;
57 enum uint Revision = 1;
58 enum uint OpCodeMask = 0xffff;
59 enum uint WordCountShift = 16;
60 
61 enum SourceLanguage : uint
62 {
63     Unknown = 0,
64     ESSL = 1,
65     GLSL = 2,
66     OpenCL_C = 3,
67     OpenCL_CPP = 4,
68     HLSL = 5,
69     CPP_for_OpenCL = 6,
70     SYCL = 7,
71     HERO_C = 8,
72     NZSL = 9,
73     WGSL = 10,
74     Slang = 11,
75     Zig = 12,
76 }
77 
78 enum ExecutionModel : uint
79 {
80     Vertex = 0,
81     TessellationControl = 1,
82     TessellationEvaluation = 2,
83     Geometry = 3,
84     Fragment = 4,
85     GLCompute = 5,
86     Kernel = 6,
87     TaskNV = 5267,
88     MeshNV = 5268,
89     RayGenerationKHR = 5313,
90     RayGenerationNV = 5313,
91     IntersectionKHR = 5314,
92     IntersectionNV = 5314,
93     AnyHitKHR = 5315,
94     AnyHitNV = 5315,
95     ClosestHitKHR = 5316,
96     ClosestHitNV = 5316,
97     MissKHR = 5317,
98     MissNV = 5317,
99     CallableKHR = 5318,
100     CallableNV = 5318,
101     TaskEXT = 5364,
102     MeshEXT = 5365,
103 }
104 
105 enum AddressingModel : uint
106 {
107     Logical = 0,
108     Physical32 = 1,
109     Physical64 = 2,
110     PhysicalStorageBuffer64 = 5348,
111     PhysicalStorageBuffer64EXT = 5348,
112 }
113 
114 enum MemoryModel : uint
115 {
116     Simple = 0,
117     GLSL450 = 1,
118     OpenCL = 2,
119     Vulkan = 3,
120     VulkanKHR = 3,
121 }
122 
123 enum ExecutionMode : uint
124 {
125     Invocations = 0,
126     SpacingEqual = 1,
127     SpacingFractionalEven = 2,
128     SpacingFractionalOdd = 3,
129     VertexOrderCw = 4,
130     VertexOrderCcw = 5,
131     PixelCenterInteger = 6,
132     OriginUpperLeft = 7,
133     OriginLowerLeft = 8,
134     EarlyFragmentTests = 9,
135     PointMode = 10,
136     Xfb = 11,
137     DepthReplacing = 12,
138     DepthGreater = 14,
139     DepthLess = 15,
140     DepthUnchanged = 16,
141     LocalSize = 17,
142     LocalSizeHint = 18,
143     InputPoints = 19,
144     InputLines = 20,
145     InputLinesAdjacency = 21,
146     Triangles = 22,
147     InputTrianglesAdjacency = 23,
148     Quads = 24,
149     Isolines = 25,
150     OutputVertices = 26,
151     OutputPoints = 27,
152     OutputLineStrip = 28,
153     OutputTriangleStrip = 29,
154     VecTypeHint = 30,
155     ContractionOff = 31,
156     Initializer = 33,
157     Finalizer = 34,
158     SubgroupSize = 35,
159     SubgroupsPerWorkgroup = 36,
160     SubgroupsPerWorkgroupId = 37,
161     LocalSizeId = 38,
162     LocalSizeHintId = 39,
163     NonCoherentColorAttachmentReadEXT = 4169,
164     NonCoherentDepthAttachmentReadEXT = 4170,
165     NonCoherentStencilAttachmentReadEXT = 4171,
166     SubgroupUniformControlFlowKHR = 4421,
167     PostDepthCoverage = 4446,
168     DenormPreserve = 4459,
169     DenormFlushToZero = 4460,
170     SignedZeroInfNanPreserve = 4461,
171     RoundingModeRTE = 4462,
172     RoundingModeRTZ = 4463,
173     EarlyAndLateFragmentTestsAMD = 5017,
174     StencilRefReplacingEXT = 5027,
175     CoalescingAMDX = 5069,
176     MaxNodeRecursionAMDX = 5071,
177     StaticNumWorkgroupsAMDX = 5072,
178     ShaderIndexAMDX = 5073,
179     MaxNumWorkgroupsAMDX = 5077,
180     StencilRefUnchangedFrontAMD = 5079,
181     StencilRefGreaterFrontAMD = 5080,
182     StencilRefLessFrontAMD = 5081,
183     StencilRefUnchangedBackAMD = 5082,
184     StencilRefGreaterBackAMD = 5083,
185     StencilRefLessBackAMD = 5084,
186     QuadDerivativesKHR = 5088,
187     RequireFullQuadsKHR = 5089,
188     OutputLinesEXT = 5269,
189     OutputLinesNV = 5269,
190     OutputPrimitivesEXT = 5270,
191     OutputPrimitivesNV = 5270,
192     DerivativeGroupQuadsNV = 5289,
193     DerivativeGroupLinearNV = 5290,
194     OutputTrianglesEXT = 5298,
195     OutputTrianglesNV = 5298,
196     PixelInterlockOrderedEXT = 5366,
197     PixelInterlockUnorderedEXT = 5367,
198     SampleInterlockOrderedEXT = 5368,
199     SampleInterlockUnorderedEXT = 5369,
200     ShadingRateInterlockOrderedEXT = 5370,
201     ShadingRateInterlockUnorderedEXT = 5371,
202     SharedLocalMemorySizeINTEL = 5618,
203     RoundingModeRTPINTEL = 5620,
204     RoundingModeRTNINTEL = 5621,
205     FloatingPointModeALTINTEL = 5622,
206     FloatingPointModeIEEEINTEL = 5623,
207     MaxWorkgroupSizeINTEL = 5893,
208     MaxWorkDimINTEL = 5894,
209     NoGlobalOffsetINTEL = 5895,
210     NumSIMDWorkitemsINTEL = 5896,
211     SchedulerTargetFmaxMhzINTEL = 5903,
212     MaximallyReconvergesKHR = 6023,
213     FPFastMathDefault = 6028,
214     StreamingInterfaceINTEL = 6154,
215     RegisterMapInterfaceINTEL = 6160,
216     NamedBarrierCountINTEL = 6417,
217     MaximumRegistersINTEL = 6461,
218     MaximumRegistersIdINTEL = 6462,
219     NamedMaximumRegistersINTEL = 6463,
220 }
221 
222 enum StorageClass : uint
223 {
224     UniformConstant = 0,
225     Input = 1,
226     Uniform = 2,
227     Output = 3,
228     Workgroup = 4,
229     CrossWorkgroup = 5,
230     Private = 6,
231     Function = 7,
232     Generic = 8,
233     PushConstant = 9,
234     AtomicCounter = 10,
235     Image = 11,
236     StorageBuffer = 12,
237     TileImageEXT = 4172,
238     NodePayloadAMDX = 5068,
239     NodeOutputPayloadAMDX = 5076,
240     CallableDataKHR = 5328,
241     CallableDataNV = 5328,
242     IncomingCallableDataKHR = 5329,
243     IncomingCallableDataNV = 5329,
244     RayPayloadKHR = 5338,
245     RayPayloadNV = 5338,
246     HitAttributeKHR = 5339,
247     HitAttributeNV = 5339,
248     IncomingRayPayloadKHR = 5342,
249     IncomingRayPayloadNV = 5342,
250     ShaderRecordBufferKHR = 5343,
251     ShaderRecordBufferNV = 5343,
252     PhysicalStorageBuffer = 5349,
253     PhysicalStorageBufferEXT = 5349,
254     HitObjectAttributeNV = 5385,
255     TaskPayloadWorkgroupEXT = 5402,
256     CodeSectionINTEL = 5605,
257     DeviceOnlyINTEL = 5936,
258     HostOnlyINTEL = 5937,
259 }
260 
261 enum Dim : uint
262 {
263     _1D = 0,
264     _2D = 1,
265     _3D = 2,
266     Cube = 3,
267     Rect = 4,
268     Buffer = 5,
269     SubpassData = 6,
270     TileImageDataEXT = 4173,
271 }
272 
273 enum SamplerAddressingMode : uint
274 {
275     None = 0,
276     ClampToEdge = 1,
277     Clamp = 2,
278     Repeat = 3,
279     RepeatMirrored = 4,
280 }
281 
282 enum SamplerFilterMode : uint
283 {
284     Nearest = 0,
285     Linear = 1,
286 }
287 
288 enum ImageFormat : uint
289 {
290     Unknown = 0,
291     Rgba32f = 1,
292     Rgba16f = 2,
293     R32f = 3,
294     Rgba8 = 4,
295     Rgba8Snorm = 5,
296     Rg32f = 6,
297     Rg16f = 7,
298     R11fG11fB10f = 8,
299     R16f = 9,
300     Rgba16 = 10,
301     Rgb10A2 = 11,
302     Rg16 = 12,
303     Rg8 = 13,
304     R16 = 14,
305     R8 = 15,
306     Rgba16Snorm = 16,
307     Rg16Snorm = 17,
308     Rg8Snorm = 18,
309     R16Snorm = 19,
310     R8Snorm = 20,
311     Rgba32i = 21,
312     Rgba16i = 22,
313     Rgba8i = 23,
314     R32i = 24,
315     Rg32i = 25,
316     Rg16i = 26,
317     Rg8i = 27,
318     R16i = 28,
319     R8i = 29,
320     Rgba32ui = 30,
321     Rgba16ui = 31,
322     Rgba8ui = 32,
323     R32ui = 33,
324     Rgb10a2ui = 34,
325     Rg32ui = 35,
326     Rg16ui = 36,
327     Rg8ui = 37,
328     R16ui = 38,
329     R8ui = 39,
330     R64ui = 40,
331     R64i = 41,
332 }
333 
334 enum ImageChannelOrder : uint
335 {
336     R = 0,
337     A = 1,
338     RG = 2,
339     RA = 3,
340     RGB = 4,
341     RGBA = 5,
342     BGRA = 6,
343     ARGB = 7,
344     Intensity = 8,
345     Luminance = 9,
346     Rx = 10,
347     RGx = 11,
348     RGBx = 12,
349     Depth = 13,
350     DepthStencil = 14,
351     sRGB = 15,
352     sRGBx = 16,
353     sRGBA = 17,
354     sBGRA = 18,
355     ABGR = 19,
356 }
357 
358 enum ImageChannelDataType : uint
359 {
360     SnormInt8 = 0,
361     SnormInt16 = 1,
362     UnormInt8 = 2,
363     UnormInt16 = 3,
364     UnormShort565 = 4,
365     UnormShort555 = 5,
366     UnormInt101010 = 6,
367     SignedInt8 = 7,
368     SignedInt16 = 8,
369     SignedInt32 = 9,
370     UnsignedInt8 = 10,
371     UnsignedInt16 = 11,
372     UnsignedInt32 = 12,
373     HalfFloat = 13,
374     Float = 14,
375     UnormInt24 = 15,
376     UnormInt101010_2 = 16,
377     UnsignedIntRaw10EXT = 19,
378     UnsignedIntRaw12EXT = 20,
379 }
380 
381 enum ImageOperandsShift : uint
382 {
383     Bias = 0,
384     Lod = 1,
385     Grad = 2,
386     ConstOffset = 3,
387     Offset = 4,
388     ConstOffsets = 5,
389     Sample = 6,
390     MinLod = 7,
391     MakeTexelAvailable = 8,
392     MakeTexelAvailableKHR = 8,
393     MakeTexelVisible = 9,
394     MakeTexelVisibleKHR = 9,
395     NonPrivateTexel = 10,
396     NonPrivateTexelKHR = 10,
397     VolatileTexel = 11,
398     VolatileTexelKHR = 11,
399     SignExtend = 12,
400     ZeroExtend = 13,
401     Nontemporal = 14,
402     Offsets = 16,
403 }
404 
405 enum ImageOperandsMask : uint
406 {
407     MaskNone = 0,
408     Bias = 0x00000001,
409     Lod = 0x00000002,
410     Grad = 0x00000004,
411     ConstOffset = 0x00000008,
412     Offset = 0x00000010,
413     ConstOffsets = 0x00000020,
414     Sample = 0x00000040,
415     MinLod = 0x00000080,
416     MakeTexelAvailable = 0x00000100,
417     MakeTexelAvailableKHR = 0x00000100,
418     MakeTexelVisible = 0x00000200,
419     MakeTexelVisibleKHR = 0x00000200,
420     NonPrivateTexel = 0x00000400,
421     NonPrivateTexelKHR = 0x00000400,
422     VolatileTexel = 0x00000800,
423     VolatileTexelKHR = 0x00000800,
424     SignExtend = 0x00001000,
425     ZeroExtend = 0x00002000,
426     Nontemporal = 0x00004000,
427     Offsets = 0x00010000,
428 }
429 
430 enum FPFastMathModeShift : uint
431 {
432     NotNaN = 0,
433     NotInf = 1,
434     NSZ = 2,
435     AllowRecip = 3,
436     Fast = 4,
437     AllowContract = 16,
438     AllowContractFastINTEL = 16,
439     AllowReassoc = 17,
440     AllowReassocINTEL = 17,
441     AllowTransform = 18,
442 }
443 
444 enum FPFastMathModeMask : uint
445 {
446     MaskNone = 0,
447     NotNaN = 0x00000001,
448     NotInf = 0x00000002,
449     NSZ = 0x00000004,
450     AllowRecip = 0x00000008,
451     Fast = 0x00000010,
452     AllowContract = 0x00010000,
453     AllowContractFastINTEL = 0x00010000,
454     AllowReassoc = 0x00020000,
455     AllowReassocINTEL = 0x00020000,
456     AllowTransform = 0x00040000,
457 }
458 
459 enum FPRoundingMode : uint
460 {
461     RTE = 0,
462     RTZ = 1,
463     RTP = 2,
464     RTN = 3,
465 }
466 
467 enum LinkageType : uint
468 {
469     Export = 0,
470     Import = 1,
471     LinkOnceODR = 2,
472 }
473 
474 enum AccessQualifier : uint
475 {
476     ReadOnly = 0,
477     WriteOnly = 1,
478     ReadWrite = 2,
479 }
480 
481 enum FunctionParameterAttribute : uint
482 {
483     Zext = 0,
484     Sext = 1,
485     ByVal = 2,
486     Sret = 3,
487     NoAlias = 4,
488     NoCapture = 5,
489     NoWrite = 6,
490     NoReadWrite = 7,
491     RuntimeAlignedINTEL = 5940,
492 }
493 
494 enum Decoration : uint
495 {
496     RelaxedPrecision = 0,
497     SpecId = 1,
498     Block = 2,
499     BufferBlock = 3,
500     RowMajor = 4,
501     ColMajor = 5,
502     ArrayStride = 6,
503     MatrixStride = 7,
504     GLSLShared = 8,
505     GLSLPacked = 9,
506     CPacked = 10,
507     BuiltIn = 11,
508     NoPerspective = 13,
509     Flat = 14,
510     Patch = 15,
511     Centroid = 16,
512     Sample = 17,
513     Invariant = 18,
514     Restrict = 19,
515     Aliased = 20,
516     Volatile = 21,
517     Constant = 22,
518     Coherent = 23,
519     NonWritable = 24,
520     NonReadable = 25,
521     Uniform = 26,
522     UniformId = 27,
523     SaturatedConversion = 28,
524     Stream = 29,
525     Location = 30,
526     Component = 31,
527     Index = 32,
528     Binding = 33,
529     DescriptorSet = 34,
530     Offset = 35,
531     XfbBuffer = 36,
532     XfbStride = 37,
533     FuncParamAttr = 38,
534     FPRoundingMode = 39,
535     FPFastMathMode = 40,
536     LinkageAttributes = 41,
537     NoContraction = 42,
538     InputAttachmentIndex = 43,
539     Alignment = 44,
540     MaxByteOffset = 45,
541     AlignmentId = 46,
542     MaxByteOffsetId = 47,
543     NoSignedWrap = 4469,
544     NoUnsignedWrap = 4470,
545     WeightTextureQCOM = 4487,
546     BlockMatchTextureQCOM = 4488,
547     BlockMatchSamplerQCOM = 4499,
548     ExplicitInterpAMD = 4999,
549     NodeSharesPayloadLimitsWithAMDX = 5019,
550     NodeMaxPayloadsAMDX = 5020,
551     TrackFinishWritingAMDX = 5078,
552     PayloadNodeNameAMDX = 5091,
553     OverrideCoverageNV = 5248,
554     PassthroughNV = 5250,
555     ViewportRelativeNV = 5252,
556     SecondaryViewportRelativeNV = 5256,
557     PerPrimitiveEXT = 5271,
558     PerPrimitiveNV = 5271,
559     PerViewNV = 5272,
560     PerTaskNV = 5273,
561     PerVertexKHR = 5285,
562     PerVertexNV = 5285,
563     NonUniform = 5300,
564     NonUniformEXT = 5300,
565     RestrictPointer = 5355,
566     RestrictPointerEXT = 5355,
567     AliasedPointer = 5356,
568     AliasedPointerEXT = 5356,
569     HitObjectShaderRecordBufferNV = 5386,
570     BindlessSamplerNV = 5398,
571     BindlessImageNV = 5399,
572     BoundSamplerNV = 5400,
573     BoundImageNV = 5401,
574     SIMTCallINTEL = 5599,
575     ReferencedIndirectlyINTEL = 5602,
576     ClobberINTEL = 5607,
577     SideEffectsINTEL = 5608,
578     VectorComputeVariableINTEL = 5624,
579     FuncParamIOKindINTEL = 5625,
580     VectorComputeFunctionINTEL = 5626,
581     StackCallINTEL = 5627,
582     GlobalVariableOffsetINTEL = 5628,
583     CounterBuffer = 5634,
584     HlslCounterBufferGOOGLE = 5634,
585     HlslSemanticGOOGLE = 5635,
586     UserSemantic = 5635,
587     UserTypeGOOGLE = 5636,
588     FunctionRoundingModeINTEL = 5822,
589     FunctionDenormModeINTEL = 5823,
590     RegisterINTEL = 5825,
591     MemoryINTEL = 5826,
592     NumbanksINTEL = 5827,
593     BankwidthINTEL = 5828,
594     MaxPrivateCopiesINTEL = 5829,
595     SinglepumpINTEL = 5830,
596     DoublepumpINTEL = 5831,
597     MaxReplicatesINTEL = 5832,
598     SimpleDualPortINTEL = 5833,
599     MergeINTEL = 5834,
600     BankBitsINTEL = 5835,
601     ForcePow2DepthINTEL = 5836,
602     StridesizeINTEL = 5883,
603     WordsizeINTEL = 5884,
604     TrueDualPortINTEL = 5885,
605     BurstCoalesceINTEL = 5899,
606     CacheSizeINTEL = 5900,
607     DontStaticallyCoalesceINTEL = 5901,
608     PrefetchINTEL = 5902,
609     StallEnableINTEL = 5905,
610     FuseLoopsInFunctionINTEL = 5907,
611     MathOpDSPModeINTEL = 5909,
612     AliasScopeINTEL = 5914,
613     NoAliasINTEL = 5915,
614     InitiationIntervalINTEL = 5917,
615     MaxConcurrencyINTEL = 5918,
616     PipelineEnableINTEL = 5919,
617     BufferLocationINTEL = 5921,
618     IOPipeStorageINTEL = 5944,
619     FunctionFloatingPointModeINTEL = 6080,
620     SingleElementVectorINTEL = 6085,
621     VectorComputeCallableFunctionINTEL = 6087,
622     MediaBlockIOINTEL = 6140,
623     StallFreeINTEL = 6151,
624     FPMaxErrorDecorationINTEL = 6170,
625     LatencyControlLabelINTEL = 6172,
626     LatencyControlConstraintINTEL = 6173,
627     ConduitKernelArgumentINTEL = 6175,
628     RegisterMapKernelArgumentINTEL = 6176,
629     MMHostInterfaceAddressWidthINTEL = 6177,
630     MMHostInterfaceDataWidthINTEL = 6178,
631     MMHostInterfaceLatencyINTEL = 6179,
632     MMHostInterfaceReadWriteModeINTEL = 6180,
633     MMHostInterfaceMaxBurstINTEL = 6181,
634     MMHostInterfaceWaitRequestINTEL = 6182,
635     StableKernelArgumentINTEL = 6183,
636     HostAccessINTEL = 6188,
637     InitModeINTEL = 6190,
638     ImplementInRegisterMapINTEL = 6191,
639     CacheControlLoadINTEL = 6442,
640     CacheControlStoreINTEL = 6443,
641 }
642 
643 enum BuiltIn : uint
644 {
645     Position = 0,
646     PointSize = 1,
647     ClipDistance = 3,
648     CullDistance = 4,
649     VertexId = 5,
650     InstanceId = 6,
651     PrimitiveId = 7,
652     InvocationId = 8,
653     Layer = 9,
654     ViewportIndex = 10,
655     TessLevelOuter = 11,
656     TessLevelInner = 12,
657     TessCoord = 13,
658     PatchVertices = 14,
659     FragCoord = 15,
660     PointCoord = 16,
661     FrontFacing = 17,
662     SampleId = 18,
663     SamplePosition = 19,
664     SampleMask = 20,
665     FragDepth = 22,
666     HelperInvocation = 23,
667     NumWorkgroups = 24,
668     WorkgroupSize = 25,
669     WorkgroupId = 26,
670     LocalInvocationId = 27,
671     GlobalInvocationId = 28,
672     LocalInvocationIndex = 29,
673     WorkDim = 30,
674     GlobalSize = 31,
675     EnqueuedWorkgroupSize = 32,
676     GlobalOffset = 33,
677     GlobalLinearId = 34,
678     SubgroupSize = 36,
679     SubgroupMaxSize = 37,
680     NumSubgroups = 38,
681     NumEnqueuedSubgroups = 39,
682     SubgroupId = 40,
683     SubgroupLocalInvocationId = 41,
684     VertexIndex = 42,
685     InstanceIndex = 43,
686     CoreIDARM = 4160,
687     CoreCountARM = 4161,
688     CoreMaxIDARM = 4162,
689     WarpIDARM = 4163,
690     WarpMaxIDARM = 4164,
691     SubgroupEqMask = 4416,
692     SubgroupEqMaskKHR = 4416,
693     SubgroupGeMask = 4417,
694     SubgroupGeMaskKHR = 4417,
695     SubgroupGtMask = 4418,
696     SubgroupGtMaskKHR = 4418,
697     SubgroupLeMask = 4419,
698     SubgroupLeMaskKHR = 4419,
699     SubgroupLtMask = 4420,
700     SubgroupLtMaskKHR = 4420,
701     BaseVertex = 4424,
702     BaseInstance = 4425,
703     DrawIndex = 4426,
704     PrimitiveShadingRateKHR = 4432,
705     DeviceIndex = 4438,
706     ViewIndex = 4440,
707     ShadingRateKHR = 4444,
708     BaryCoordNoPerspAMD = 4992,
709     BaryCoordNoPerspCentroidAMD = 4993,
710     BaryCoordNoPerspSampleAMD = 4994,
711     BaryCoordSmoothAMD = 4995,
712     BaryCoordSmoothCentroidAMD = 4996,
713     BaryCoordSmoothSampleAMD = 4997,
714     BaryCoordPullModelAMD = 4998,
715     FragStencilRefEXT = 5014,
716     CoalescedInputCountAMDX = 5021,
717     ShaderIndexAMDX = 5073,
718     ViewportMaskNV = 5253,
719     SecondaryPositionNV = 5257,
720     SecondaryViewportMaskNV = 5258,
721     PositionPerViewNV = 5261,
722     ViewportMaskPerViewNV = 5262,
723     FullyCoveredEXT = 5264,
724     TaskCountNV = 5274,
725     PrimitiveCountNV = 5275,
726     PrimitiveIndicesNV = 5276,
727     ClipDistancePerViewNV = 5277,
728     CullDistancePerViewNV = 5278,
729     LayerPerViewNV = 5279,
730     MeshViewCountNV = 5280,
731     MeshViewIndicesNV = 5281,
732     BaryCoordKHR = 5286,
733     BaryCoordNV = 5286,
734     BaryCoordNoPerspKHR = 5287,
735     BaryCoordNoPerspNV = 5287,
736     FragSizeEXT = 5292,
737     FragmentSizeNV = 5292,
738     FragInvocationCountEXT = 5293,
739     InvocationsPerPixelNV = 5293,
740     PrimitivePointIndicesEXT = 5294,
741     PrimitiveLineIndicesEXT = 5295,
742     PrimitiveTriangleIndicesEXT = 5296,
743     CullPrimitiveEXT = 5299,
744     LaunchIdKHR = 5319,
745     LaunchIdNV = 5319,
746     LaunchSizeKHR = 5320,
747     LaunchSizeNV = 5320,
748     WorldRayOriginKHR = 5321,
749     WorldRayOriginNV = 5321,
750     WorldRayDirectionKHR = 5322,
751     WorldRayDirectionNV = 5322,
752     ObjectRayOriginKHR = 5323,
753     ObjectRayOriginNV = 5323,
754     ObjectRayDirectionKHR = 5324,
755     ObjectRayDirectionNV = 5324,
756     RayTminKHR = 5325,
757     RayTminNV = 5325,
758     RayTmaxKHR = 5326,
759     RayTmaxNV = 5326,
760     InstanceCustomIndexKHR = 5327,
761     InstanceCustomIndexNV = 5327,
762     ObjectToWorldKHR = 5330,
763     ObjectToWorldNV = 5330,
764     WorldToObjectKHR = 5331,
765     WorldToObjectNV = 5331,
766     HitTNV = 5332,
767     HitKindKHR = 5333,
768     HitKindNV = 5333,
769     CurrentRayTimeNV = 5334,
770     HitTriangleVertexPositionsKHR = 5335,
771     HitMicroTriangleVertexPositionsNV = 5337,
772     HitMicroTriangleVertexBarycentricsNV = 5344,
773     IncomingRayFlagsKHR = 5351,
774     IncomingRayFlagsNV = 5351,
775     RayGeometryIndexKHR = 5352,
776     WarpsPerSMNV = 5374,
777     SMCountNV = 5375,
778     WarpIDNV = 5376,
779     SMIDNV = 5377,
780     HitKindFrontFacingMicroTriangleNV = 5405,
781     HitKindBackFacingMicroTriangleNV = 5406,
782     CullMaskKHR = 6021,
783 }
784 
785 enum SelectionControlShift : uint
786 {
787     Flatten = 0,
788     DontFlatten = 1,
789 }
790 
791 enum SelectionControlMask : uint
792 {
793     MaskNone = 0,
794     Flatten = 0x00000001,
795     DontFlatten = 0x00000002,
796 }
797 
798 enum LoopControlShift : uint
799 {
800     Unroll = 0,
801     DontUnroll = 1,
802     DependencyInfinite = 2,
803     DependencyLength = 3,
804     MinIterations = 4,
805     MaxIterations = 5,
806     IterationMultiple = 6,
807     PeelCount = 7,
808     PartialCount = 8,
809     InitiationIntervalINTEL = 16,
810     MaxConcurrencyINTEL = 17,
811     DependencyArrayINTEL = 18,
812     PipelineEnableINTEL = 19,
813     LoopCoalesceINTEL = 20,
814     MaxInterleavingINTEL = 21,
815     SpeculatedIterationsINTEL = 22,
816     NoFusionINTEL = 23,
817     LoopCountINTEL = 24,
818     MaxReinvocationDelayINTEL = 25,
819 }
820 
821 enum LoopControlMask : uint
822 {
823     MaskNone = 0,
824     Unroll = 0x00000001,
825     DontUnroll = 0x00000002,
826     DependencyInfinite = 0x00000004,
827     DependencyLength = 0x00000008,
828     MinIterations = 0x00000010,
829     MaxIterations = 0x00000020,
830     IterationMultiple = 0x00000040,
831     PeelCount = 0x00000080,
832     PartialCount = 0x00000100,
833     InitiationIntervalINTEL = 0x00010000,
834     MaxConcurrencyINTEL = 0x00020000,
835     DependencyArrayINTEL = 0x00040000,
836     PipelineEnableINTEL = 0x00080000,
837     LoopCoalesceINTEL = 0x00100000,
838     MaxInterleavingINTEL = 0x00200000,
839     SpeculatedIterationsINTEL = 0x00400000,
840     NoFusionINTEL = 0x00800000,
841     LoopCountINTEL = 0x01000000,
842     MaxReinvocationDelayINTEL = 0x02000000,
843 }
844 
845 enum FunctionControlShift : uint
846 {
847     Inline = 0,
848     DontInline = 1,
849     Pure = 2,
850     Const = 3,
851     OptNoneINTEL = 16,
852 }
853 
854 enum FunctionControlMask : uint
855 {
856     MaskNone = 0,
857     Inline = 0x00000001,
858     DontInline = 0x00000002,
859     Pure = 0x00000004,
860     Const = 0x00000008,
861     OptNoneINTEL = 0x00010000,
862 }
863 
864 enum MemorySemanticsShift : uint
865 {
866     Acquire = 1,
867     Release = 2,
868     AcquireRelease = 3,
869     SequentiallyConsistent = 4,
870     UniformMemory = 6,
871     SubgroupMemory = 7,
872     WorkgroupMemory = 8,
873     CrossWorkgroupMemory = 9,
874     AtomicCounterMemory = 10,
875     ImageMemory = 11,
876     OutputMemory = 12,
877     OutputMemoryKHR = 12,
878     MakeAvailable = 13,
879     MakeAvailableKHR = 13,
880     MakeVisible = 14,
881     MakeVisibleKHR = 14,
882     Volatile = 15,
883 }
884 
885 enum MemorySemanticsMask : uint
886 {
887     MaskNone = 0,
888     Acquire = 0x00000002,
889     Release = 0x00000004,
890     AcquireRelease = 0x00000008,
891     SequentiallyConsistent = 0x00000010,
892     UniformMemory = 0x00000040,
893     SubgroupMemory = 0x00000080,
894     WorkgroupMemory = 0x00000100,
895     CrossWorkgroupMemory = 0x00000200,
896     AtomicCounterMemory = 0x00000400,
897     ImageMemory = 0x00000800,
898     OutputMemory = 0x00001000,
899     OutputMemoryKHR = 0x00001000,
900     MakeAvailable = 0x00002000,
901     MakeAvailableKHR = 0x00002000,
902     MakeVisible = 0x00004000,
903     MakeVisibleKHR = 0x00004000,
904     Volatile = 0x00008000,
905 }
906 
907 enum MemoryAccessShift : uint
908 {
909     Volatile = 0,
910     Aligned = 1,
911     Nontemporal = 2,
912     MakePointerAvailable = 3,
913     MakePointerAvailableKHR = 3,
914     MakePointerVisible = 4,
915     MakePointerVisibleKHR = 4,
916     NonPrivatePointer = 5,
917     NonPrivatePointerKHR = 5,
918     AliasScopeINTELMask = 16,
919     NoAliasINTELMask = 17,
920 }
921 
922 enum MemoryAccessMask : uint
923 {
924     MaskNone = 0,
925     Volatile = 0x00000001,
926     Aligned = 0x00000002,
927     Nontemporal = 0x00000004,
928     MakePointerAvailable = 0x00000008,
929     MakePointerAvailableKHR = 0x00000008,
930     MakePointerVisible = 0x00000010,
931     MakePointerVisibleKHR = 0x00000010,
932     NonPrivatePointer = 0x00000020,
933     NonPrivatePointerKHR = 0x00000020,
934     AliasScopeINTELMask = 0x00010000,
935     NoAliasINTELMask = 0x00020000,
936 }
937 
938 enum Scope : uint
939 {
940     CrossDevice = 0,
941     Device = 1,
942     Workgroup = 2,
943     Subgroup = 3,
944     Invocation = 4,
945     QueueFamily = 5,
946     QueueFamilyKHR = 5,
947     ShaderCallKHR = 6,
948 }
949 
950 enum GroupOperation : uint
951 {
952     Reduce = 0,
953     InclusiveScan = 1,
954     ExclusiveScan = 2,
955     ClusteredReduce = 3,
956     PartitionedReduceNV = 6,
957     PartitionedInclusiveScanNV = 7,
958     PartitionedExclusiveScanNV = 8,
959 }
960 
961 enum KernelEnqueueFlags : uint
962 {
963     NoWait = 0,
964     WaitKernel = 1,
965     WaitWorkGroup = 2,
966 }
967 
968 enum KernelProfilingInfoShift : uint
969 {
970     CmdExecTime = 0,
971 }
972 
973 enum KernelProfilingInfoMask : uint
974 {
975     MaskNone = 0,
976     CmdExecTime = 0x00000001,
977 }
978 
979 enum Capability : uint
980 {
981     Matrix = 0,
982     Shader = 1,
983     Geometry = 2,
984     Tessellation = 3,
985     Addresses = 4,
986     Linkage = 5,
987     Kernel = 6,
988     Vector16 = 7,
989     Float16Buffer = 8,
990     Float16 = 9,
991     Float64 = 10,
992     Int64 = 11,
993     Int64Atomics = 12,
994     ImageBasic = 13,
995     ImageReadWrite = 14,
996     ImageMipmap = 15,
997     Pipes = 17,
998     Groups = 18,
999     DeviceEnqueue = 19,
1000     LiteralSampler = 20,
1001     AtomicStorage = 21,
1002     Int16 = 22,
1003     TessellationPointSize = 23,
1004     GeometryPointSize = 24,
1005     ImageGatherExtended = 25,
1006     StorageImageMultisample = 27,
1007     UniformBufferArrayDynamicIndexing = 28,
1008     SampledImageArrayDynamicIndexing = 29,
1009     StorageBufferArrayDynamicIndexing = 30,
1010     StorageImageArrayDynamicIndexing = 31,
1011     ClipDistance = 32,
1012     CullDistance = 33,
1013     ImageCubeArray = 34,
1014     SampleRateShading = 35,
1015     ImageRect = 36,
1016     SampledRect = 37,
1017     GenericPointer = 38,
1018     Int8 = 39,
1019     InputAttachment = 40,
1020     SparseResidency = 41,
1021     MinLod = 42,
1022     Sampled1D = 43,
1023     Image1D = 44,
1024     SampledCubeArray = 45,
1025     SampledBuffer = 46,
1026     ImageBuffer = 47,
1027     ImageMSArray = 48,
1028     StorageImageExtendedFormats = 49,
1029     ImageQuery = 50,
1030     DerivativeControl = 51,
1031     InterpolationFunction = 52,
1032     TransformFeedback = 53,
1033     GeometryStreams = 54,
1034     StorageImageReadWithoutFormat = 55,
1035     StorageImageWriteWithoutFormat = 56,
1036     MultiViewport = 57,
1037     SubgroupDispatch = 58,
1038     NamedBarrier = 59,
1039     PipeStorage = 60,
1040     GroupNonUniform = 61,
1041     GroupNonUniformVote = 62,
1042     GroupNonUniformArithmetic = 63,
1043     GroupNonUniformBallot = 64,
1044     GroupNonUniformShuffle = 65,
1045     GroupNonUniformShuffleRelative = 66,
1046     GroupNonUniformClustered = 67,
1047     GroupNonUniformQuad = 68,
1048     ShaderLayer = 69,
1049     ShaderViewportIndex = 70,
1050     UniformDecoration = 71,
1051     CoreBuiltinsARM = 4165,
1052     TileImageColorReadAccessEXT = 4166,
1053     TileImageDepthReadAccessEXT = 4167,
1054     TileImageStencilReadAccessEXT = 4168,
1055     CooperativeMatrixLayoutsARM = 4201,
1056     FragmentShadingRateKHR = 4422,
1057     SubgroupBallotKHR = 4423,
1058     DrawParameters = 4427,
1059     WorkgroupMemoryExplicitLayoutKHR = 4428,
1060     WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
1061     WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
1062     SubgroupVoteKHR = 4431,
1063     StorageBuffer16BitAccess = 4433,
1064     StorageUniformBufferBlock16 = 4433,
1065     StorageUniform16 = 4434,
1066     UniformAndStorageBuffer16BitAccess = 4434,
1067     StoragePushConstant16 = 4435,
1068     StorageInputOutput16 = 4436,
1069     DeviceGroup = 4437,
1070     MultiView = 4439,
1071     VariablePointersStorageBuffer = 4441,
1072     VariablePointers = 4442,
1073     AtomicStorageOps = 4445,
1074     SampleMaskPostDepthCoverage = 4447,
1075     StorageBuffer8BitAccess = 4448,
1076     UniformAndStorageBuffer8BitAccess = 4449,
1077     StoragePushConstant8 = 4450,
1078     DenormPreserve = 4464,
1079     DenormFlushToZero = 4465,
1080     SignedZeroInfNanPreserve = 4466,
1081     RoundingModeRTE = 4467,
1082     RoundingModeRTZ = 4468,
1083     RayQueryProvisionalKHR = 4471,
1084     RayQueryKHR = 4472,
1085     RayTraversalPrimitiveCullingKHR = 4478,
1086     RayTracingKHR = 4479,
1087     TextureSampleWeightedQCOM = 4484,
1088     TextureBoxFilterQCOM = 4485,
1089     TextureBlockMatchQCOM = 4486,
1090     TextureBlockMatch2QCOM = 4498,
1091     Float16ImageAMD = 5008,
1092     ImageGatherBiasLodAMD = 5009,
1093     FragmentMaskAMD = 5010,
1094     StencilExportEXT = 5013,
1095     ImageReadWriteLodAMD = 5015,
1096     Int64ImageEXT = 5016,
1097     ShaderClockKHR = 5055,
1098     ShaderEnqueueAMDX = 5067,
1099     QuadControlKHR = 5087,
1100     SampleMaskOverrideCoverageNV = 5249,
1101     GeometryShaderPassthroughNV = 5251,
1102     ShaderViewportIndexLayerEXT = 5254,
1103     ShaderViewportIndexLayerNV = 5254,
1104     ShaderViewportMaskNV = 5255,
1105     ShaderStereoViewNV = 5259,
1106     PerViewAttributesNV = 5260,
1107     FragmentFullyCoveredEXT = 5265,
1108     MeshShadingNV = 5266,
1109     ImageFootprintNV = 5282,
1110     MeshShadingEXT = 5283,
1111     FragmentBarycentricKHR = 5284,
1112     FragmentBarycentricNV = 5284,
1113     ComputeDerivativeGroupQuadsNV = 5288,
1114     FragmentDensityEXT = 5291,
1115     ShadingRateNV = 5291,
1116     GroupNonUniformPartitionedNV = 5297,
1117     ShaderNonUniform = 5301,
1118     ShaderNonUniformEXT = 5301,
1119     RuntimeDescriptorArray = 5302,
1120     RuntimeDescriptorArrayEXT = 5302,
1121     InputAttachmentArrayDynamicIndexing = 5303,
1122     InputAttachmentArrayDynamicIndexingEXT = 5303,
1123     UniformTexelBufferArrayDynamicIndexing = 5304,
1124     UniformTexelBufferArrayDynamicIndexingEXT = 5304,
1125     StorageTexelBufferArrayDynamicIndexing = 5305,
1126     StorageTexelBufferArrayDynamicIndexingEXT = 5305,
1127     UniformBufferArrayNonUniformIndexing = 5306,
1128     UniformBufferArrayNonUniformIndexingEXT = 5306,
1129     SampledImageArrayNonUniformIndexing = 5307,
1130     SampledImageArrayNonUniformIndexingEXT = 5307,
1131     StorageBufferArrayNonUniformIndexing = 5308,
1132     StorageBufferArrayNonUniformIndexingEXT = 5308,
1133     StorageImageArrayNonUniformIndexing = 5309,
1134     StorageImageArrayNonUniformIndexingEXT = 5309,
1135     InputAttachmentArrayNonUniformIndexing = 5310,
1136     InputAttachmentArrayNonUniformIndexingEXT = 5310,
1137     UniformTexelBufferArrayNonUniformIndexing = 5311,
1138     UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1139     StorageTexelBufferArrayNonUniformIndexing = 5312,
1140     StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1141     RayTracingPositionFetchKHR = 5336,
1142     RayTracingNV = 5340,
1143     RayTracingMotionBlurNV = 5341,
1144     VulkanMemoryModel = 5345,
1145     VulkanMemoryModelKHR = 5345,
1146     VulkanMemoryModelDeviceScope = 5346,
1147     VulkanMemoryModelDeviceScopeKHR = 5346,
1148     PhysicalStorageBufferAddresses = 5347,
1149     PhysicalStorageBufferAddressesEXT = 5347,
1150     ComputeDerivativeGroupLinearNV = 5350,
1151     RayTracingProvisionalKHR = 5353,
1152     CooperativeMatrixNV = 5357,
1153     FragmentShaderSampleInterlockEXT = 5363,
1154     FragmentShaderShadingRateInterlockEXT = 5372,
1155     ShaderSMBuiltinsNV = 5373,
1156     FragmentShaderPixelInterlockEXT = 5378,
1157     DemoteToHelperInvocation = 5379,
1158     DemoteToHelperInvocationEXT = 5379,
1159     DisplacementMicromapNV = 5380,
1160     RayTracingOpacityMicromapEXT = 5381,
1161     ShaderInvocationReorderNV = 5383,
1162     BindlessTextureNV = 5390,
1163     RayQueryPositionFetchKHR = 5391,
1164     AtomicFloat16VectorNV = 5404,
1165     RayTracingDisplacementMicromapNV = 5409,
1166     RawAccessChainsNV = 5414,
1167     SubgroupShuffleINTEL = 5568,
1168     SubgroupBufferBlockIOINTEL = 5569,
1169     SubgroupImageBlockIOINTEL = 5570,
1170     SubgroupImageMediaBlockIOINTEL = 5579,
1171     RoundToInfinityINTEL = 5582,
1172     FloatingPointModeINTEL = 5583,
1173     IntegerFunctions2INTEL = 5584,
1174     FunctionPointersINTEL = 5603,
1175     IndirectReferencesINTEL = 5604,
1176     AsmINTEL = 5606,
1177     AtomicFloat32MinMaxEXT = 5612,
1178     AtomicFloat64MinMaxEXT = 5613,
1179     AtomicFloat16MinMaxEXT = 5616,
1180     VectorComputeINTEL = 5617,
1181     VectorAnyINTEL = 5619,
1182     ExpectAssumeKHR = 5629,
1183     SubgroupAvcMotionEstimationINTEL = 5696,
1184     SubgroupAvcMotionEstimationIntraINTEL = 5697,
1185     SubgroupAvcMotionEstimationChromaINTEL = 5698,
1186     VariableLengthArrayINTEL = 5817,
1187     FunctionFloatControlINTEL = 5821,
1188     FPGAMemoryAttributesINTEL = 5824,
1189     FPFastMathModeINTEL = 5837,
1190     ArbitraryPrecisionIntegersINTEL = 5844,
1191     ArbitraryPrecisionFloatingPointINTEL = 5845,
1192     UnstructuredLoopControlsINTEL = 5886,
1193     FPGALoopControlsINTEL = 5888,
1194     KernelAttributesINTEL = 5892,
1195     FPGAKernelAttributesINTEL = 5897,
1196     FPGAMemoryAccessesINTEL = 5898,
1197     FPGAClusterAttributesINTEL = 5904,
1198     LoopFuseINTEL = 5906,
1199     FPGADSPControlINTEL = 5908,
1200     MemoryAccessAliasingINTEL = 5910,
1201     FPGAInvocationPipeliningAttributesINTEL = 5916,
1202     FPGABufferLocationINTEL = 5920,
1203     ArbitraryPrecisionFixedPointINTEL = 5922,
1204     USMStorageClassesINTEL = 5935,
1205     RuntimeAlignedAttributeINTEL = 5939,
1206     IOPipesINTEL = 5943,
1207     BlockingPipesINTEL = 5945,
1208     FPGARegINTEL = 5948,
1209     DotProductInputAll = 6016,
1210     DotProductInputAllKHR = 6016,
1211     DotProductInput4x8Bit = 6017,
1212     DotProductInput4x8BitKHR = 6017,
1213     DotProductInput4x8BitPacked = 6018,
1214     DotProductInput4x8BitPackedKHR = 6018,
1215     DotProduct = 6019,
1216     DotProductKHR = 6019,
1217     RayCullMaskKHR = 6020,
1218     CooperativeMatrixKHR = 6022,
1219     ReplicatedCompositesEXT = 6024,
1220     BitInstructions = 6025,
1221     GroupNonUniformRotateKHR = 6026,
1222     FloatControls2 = 6029,
1223     AtomicFloat32AddEXT = 6033,
1224     AtomicFloat64AddEXT = 6034,
1225     LongCompositesINTEL = 6089,
1226     OptNoneINTEL = 6094,
1227     AtomicFloat16AddEXT = 6095,
1228     DebugInfoModuleINTEL = 6114,
1229     BFloat16ConversionINTEL = 6115,
1230     SplitBarrierINTEL = 6141,
1231     FPGAClusterAttributesV2INTEL = 6150,
1232     FPGAKernelAttributesv2INTEL = 6161,
1233     FPMaxErrorINTEL = 6169,
1234     FPGALatencyControlINTEL = 6171,
1235     FPGAArgumentInterfacesINTEL = 6174,
1236     GlobalVariableHostAccessINTEL = 6187,
1237     GlobalVariableFPGADecorationsINTEL = 6189,
1238     GroupUniformArithmeticKHR = 6400,
1239     MaskedGatherScatterINTEL = 6427,
1240     CacheControlsINTEL = 6441,
1241     RegisterLimitsINTEL = 6460,
1242 }
1243 
1244 enum RayFlagsShift : uint
1245 {
1246     OpaqueKHR = 0,
1247     NoOpaqueKHR = 1,
1248     TerminateOnFirstHitKHR = 2,
1249     SkipClosestHitShaderKHR = 3,
1250     CullBackFacingTrianglesKHR = 4,
1251     CullFrontFacingTrianglesKHR = 5,
1252     CullOpaqueKHR = 6,
1253     CullNoOpaqueKHR = 7,
1254     SkipTrianglesKHR = 8,
1255     SkipAABBsKHR = 9,
1256     ForceOpacityMicromap2StateEXT = 10,
1257 }
1258 
1259 enum RayFlagsMask : uint
1260 {
1261     MaskNone = 0,
1262     OpaqueKHR = 0x00000001,
1263     NoOpaqueKHR = 0x00000002,
1264     TerminateOnFirstHitKHR = 0x00000004,
1265     SkipClosestHitShaderKHR = 0x00000008,
1266     CullBackFacingTrianglesKHR = 0x00000010,
1267     CullFrontFacingTrianglesKHR = 0x00000020,
1268     CullOpaqueKHR = 0x00000040,
1269     CullNoOpaqueKHR = 0x00000080,
1270     SkipTrianglesKHR = 0x00000100,
1271     SkipAABBsKHR = 0x00000200,
1272     ForceOpacityMicromap2StateEXT = 0x00000400,
1273 }
1274 
1275 enum RayQueryIntersection : uint
1276 {
1277     RayQueryCandidateIntersectionKHR = 0,
1278     RayQueryCommittedIntersectionKHR = 1,
1279 }
1280 
1281 enum RayQueryCommittedIntersectionType : uint
1282 {
1283     RayQueryCommittedIntersectionNoneKHR = 0,
1284     RayQueryCommittedIntersectionTriangleKHR = 1,
1285     RayQueryCommittedIntersectionGeneratedKHR = 2,
1286 }
1287 
1288 enum RayQueryCandidateIntersectionType : uint
1289 {
1290     RayQueryCandidateIntersectionTriangleKHR = 0,
1291     RayQueryCandidateIntersectionAABBKHR = 1,
1292 }
1293 
1294 enum FragmentShadingRateShift : uint
1295 {
1296     Vertical2Pixels = 0,
1297     Vertical4Pixels = 1,
1298     Horizontal2Pixels = 2,
1299     Horizontal4Pixels = 3,
1300 }
1301 
1302 enum FragmentShadingRateMask : uint
1303 {
1304     MaskNone = 0,
1305     Vertical2Pixels = 0x00000001,
1306     Vertical4Pixels = 0x00000002,
1307     Horizontal2Pixels = 0x00000004,
1308     Horizontal4Pixels = 0x00000008,
1309 }
1310 
1311 enum FPDenormMode : uint
1312 {
1313     Preserve = 0,
1314     FlushToZero = 1,
1315 }
1316 
1317 enum FPOperationMode : uint
1318 {
1319     IEEE = 0,
1320     ALT = 1,
1321 }
1322 
1323 enum QuantizationModes : uint
1324 {
1325     TRN = 0,
1326     TRN_ZERO = 1,
1327     RND = 2,
1328     RND_ZERO = 3,
1329     RND_INF = 4,
1330     RND_MIN_INF = 5,
1331     RND_CONV = 6,
1332     RND_CONV_ODD = 7,
1333 }
1334 
1335 enum OverflowModes : uint
1336 {
1337     WRAP = 0,
1338     SAT = 1,
1339     SAT_ZERO = 2,
1340     SAT_SYM = 3,
1341 }
1342 
1343 enum PackedVectorFormat : uint
1344 {
1345     PackedVectorFormat4x8Bit = 0,
1346     PackedVectorFormat4x8BitKHR = 0,
1347 }
1348 
1349 enum CooperativeMatrixOperandsShift : uint
1350 {
1351     MatrixASignedComponentsKHR = 0,
1352     MatrixBSignedComponentsKHR = 1,
1353     MatrixCSignedComponentsKHR = 2,
1354     MatrixResultSignedComponentsKHR = 3,
1355     SaturatingAccumulationKHR = 4,
1356 }
1357 
1358 enum CooperativeMatrixOperandsMask : uint
1359 {
1360     MaskNone = 0,
1361     MatrixASignedComponentsKHR = 0x00000001,
1362     MatrixBSignedComponentsKHR = 0x00000002,
1363     MatrixCSignedComponentsKHR = 0x00000004,
1364     MatrixResultSignedComponentsKHR = 0x00000008,
1365     SaturatingAccumulationKHR = 0x00000010,
1366 }
1367 
1368 enum CooperativeMatrixLayout : uint
1369 {
1370     RowMajorKHR = 0,
1371     ColumnMajorKHR = 1,
1372     RowBlockedInterleavedARM = 4202,
1373     ColumnBlockedInterleavedARM = 4203,
1374 }
1375 
1376 enum CooperativeMatrixUse : uint
1377 {
1378     MatrixAKHR = 0,
1379     MatrixBKHR = 1,
1380     MatrixAccumulatorKHR = 2,
1381 }
1382 
1383 enum InitializationModeQualifier : uint
1384 {
1385     InitOnDeviceReprogramINTEL = 0,
1386     InitOnDeviceResetINTEL = 1,
1387 }
1388 
1389 enum HostAccessQualifier : uint
1390 {
1391     NoneINTEL = 0,
1392     ReadINTEL = 1,
1393     WriteINTEL = 2,
1394     ReadWriteINTEL = 3,
1395 }
1396 
1397 enum LoadCacheControl : uint
1398 {
1399     UncachedINTEL = 0,
1400     CachedINTEL = 1,
1401     StreamingINTEL = 2,
1402     InvalidateAfterReadINTEL = 3,
1403     ConstCachedINTEL = 4,
1404 }
1405 
1406 enum StoreCacheControl : uint
1407 {
1408     UncachedINTEL = 0,
1409     WriteThroughINTEL = 1,
1410     WriteBackINTEL = 2,
1411     StreamingINTEL = 3,
1412 }
1413 
1414 enum NamedMaximumNumberOfRegisters : uint
1415 {
1416     AutoINTEL = 0,
1417 }
1418 
1419 enum RawAccessChainOperandsShift : uint
1420 {
1421     RobustnessPerComponentNV = 0,
1422     RobustnessPerElementNV = 1,
1423 }
1424 
1425 enum RawAccessChainOperandsMask : uint
1426 {
1427     MaskNone = 0,
1428     RobustnessPerComponentNV = 0x00000001,
1429     RobustnessPerElementNV = 0x00000002,
1430 }
1431 
1432 enum Op : uint
1433 {
1434     OpNop = 0,
1435     OpUndef = 1,
1436     OpSourceContinued = 2,
1437     OpSource = 3,
1438     OpSourceExtension = 4,
1439     OpName = 5,
1440     OpMemberName = 6,
1441     OpString = 7,
1442     OpLine = 8,
1443     OpExtension = 10,
1444     OpExtInstImport = 11,
1445     OpExtInst = 12,
1446     OpMemoryModel = 14,
1447     OpEntryPoint = 15,
1448     OpExecutionMode = 16,
1449     OpCapability = 17,
1450     OpTypeVoid = 19,
1451     OpTypeBool = 20,
1452     OpTypeInt = 21,
1453     OpTypeFloat = 22,
1454     OpTypeVector = 23,
1455     OpTypeMatrix = 24,
1456     OpTypeImage = 25,
1457     OpTypeSampler = 26,
1458     OpTypeSampledImage = 27,
1459     OpTypeArray = 28,
1460     OpTypeRuntimeArray = 29,
1461     OpTypeStruct = 30,
1462     OpTypeOpaque = 31,
1463     OpTypePointer = 32,
1464     OpTypeFunction = 33,
1465     OpTypeEvent = 34,
1466     OpTypeDeviceEvent = 35,
1467     OpTypeReserveId = 36,
1468     OpTypeQueue = 37,
1469     OpTypePipe = 38,
1470     OpTypeForwardPointer = 39,
1471     OpConstantTrue = 41,
1472     OpConstantFalse = 42,
1473     OpConstant = 43,
1474     OpConstantComposite = 44,
1475     OpConstantSampler = 45,
1476     OpConstantNull = 46,
1477     OpSpecConstantTrue = 48,
1478     OpSpecConstantFalse = 49,
1479     OpSpecConstant = 50,
1480     OpSpecConstantComposite = 51,
1481     OpSpecConstantOp = 52,
1482     OpFunction = 54,
1483     OpFunctionParameter = 55,
1484     OpFunctionEnd = 56,
1485     OpFunctionCall = 57,
1486     OpVariable = 59,
1487     OpImageTexelPointer = 60,
1488     OpLoad = 61,
1489     OpStore = 62,
1490     OpCopyMemory = 63,
1491     OpCopyMemorySized = 64,
1492     OpAccessChain = 65,
1493     OpInBoundsAccessChain = 66,
1494     OpPtrAccessChain = 67,
1495     OpArrayLength = 68,
1496     OpGenericPtrMemSemantics = 69,
1497     OpInBoundsPtrAccessChain = 70,
1498     OpDecorate = 71,
1499     OpMemberDecorate = 72,
1500     OpDecorationGroup = 73,
1501     OpGroupDecorate = 74,
1502     OpGroupMemberDecorate = 75,
1503     OpVectorExtractDynamic = 77,
1504     OpVectorInsertDynamic = 78,
1505     OpVectorShuffle = 79,
1506     OpCompositeConstruct = 80,
1507     OpCompositeExtract = 81,
1508     OpCompositeInsert = 82,
1509     OpCopyObject = 83,
1510     OpTranspose = 84,
1511     OpSampledImage = 86,
1512     OpImageSampleImplicitLod = 87,
1513     OpImageSampleExplicitLod = 88,
1514     OpImageSampleDrefImplicitLod = 89,
1515     OpImageSampleDrefExplicitLod = 90,
1516     OpImageSampleProjImplicitLod = 91,
1517     OpImageSampleProjExplicitLod = 92,
1518     OpImageSampleProjDrefImplicitLod = 93,
1519     OpImageSampleProjDrefExplicitLod = 94,
1520     OpImageFetch = 95,
1521     OpImageGather = 96,
1522     OpImageDrefGather = 97,
1523     OpImageRead = 98,
1524     OpImageWrite = 99,
1525     OpImage = 100,
1526     OpImageQueryFormat = 101,
1527     OpImageQueryOrder = 102,
1528     OpImageQuerySizeLod = 103,
1529     OpImageQuerySize = 104,
1530     OpImageQueryLod = 105,
1531     OpImageQueryLevels = 106,
1532     OpImageQuerySamples = 107,
1533     OpConvertFToU = 109,
1534     OpConvertFToS = 110,
1535     OpConvertSToF = 111,
1536     OpConvertUToF = 112,
1537     OpUConvert = 113,
1538     OpSConvert = 114,
1539     OpFConvert = 115,
1540     OpQuantizeToF16 = 116,
1541     OpConvertPtrToU = 117,
1542     OpSatConvertSToU = 118,
1543     OpSatConvertUToS = 119,
1544     OpConvertUToPtr = 120,
1545     OpPtrCastToGeneric = 121,
1546     OpGenericCastToPtr = 122,
1547     OpGenericCastToPtrExplicit = 123,
1548     OpBitcast = 124,
1549     OpSNegate = 126,
1550     OpFNegate = 127,
1551     OpIAdd = 128,
1552     OpFAdd = 129,
1553     OpISub = 130,
1554     OpFSub = 131,
1555     OpIMul = 132,
1556     OpFMul = 133,
1557     OpUDiv = 134,
1558     OpSDiv = 135,
1559     OpFDiv = 136,
1560     OpUMod = 137,
1561     OpSRem = 138,
1562     OpSMod = 139,
1563     OpFRem = 140,
1564     OpFMod = 141,
1565     OpVectorTimesScalar = 142,
1566     OpMatrixTimesScalar = 143,
1567     OpVectorTimesMatrix = 144,
1568     OpMatrixTimesVector = 145,
1569     OpMatrixTimesMatrix = 146,
1570     OpOuterProduct = 147,
1571     OpDot = 148,
1572     OpIAddCarry = 149,
1573     OpISubBorrow = 150,
1574     OpUMulExtended = 151,
1575     OpSMulExtended = 152,
1576     OpAny = 154,
1577     OpAll = 155,
1578     OpIsNan = 156,
1579     OpIsInf = 157,
1580     OpIsFinite = 158,
1581     OpIsNormal = 159,
1582     OpSignBitSet = 160,
1583     OpLessOrGreater = 161,
1584     OpOrdered = 162,
1585     OpUnordered = 163,
1586     OpLogicalEqual = 164,
1587     OpLogicalNotEqual = 165,
1588     OpLogicalOr = 166,
1589     OpLogicalAnd = 167,
1590     OpLogicalNot = 168,
1591     OpSelect = 169,
1592     OpIEqual = 170,
1593     OpINotEqual = 171,
1594     OpUGreaterThan = 172,
1595     OpSGreaterThan = 173,
1596     OpUGreaterThanEqual = 174,
1597     OpSGreaterThanEqual = 175,
1598     OpULessThan = 176,
1599     OpSLessThan = 177,
1600     OpULessThanEqual = 178,
1601     OpSLessThanEqual = 179,
1602     OpFOrdEqual = 180,
1603     OpFUnordEqual = 181,
1604     OpFOrdNotEqual = 182,
1605     OpFUnordNotEqual = 183,
1606     OpFOrdLessThan = 184,
1607     OpFUnordLessThan = 185,
1608     OpFOrdGreaterThan = 186,
1609     OpFUnordGreaterThan = 187,
1610     OpFOrdLessThanEqual = 188,
1611     OpFUnordLessThanEqual = 189,
1612     OpFOrdGreaterThanEqual = 190,
1613     OpFUnordGreaterThanEqual = 191,
1614     OpShiftRightLogical = 194,
1615     OpShiftRightArithmetic = 195,
1616     OpShiftLeftLogical = 196,
1617     OpBitwiseOr = 197,
1618     OpBitwiseXor = 198,
1619     OpBitwiseAnd = 199,
1620     OpNot = 200,
1621     OpBitFieldInsert = 201,
1622     OpBitFieldSExtract = 202,
1623     OpBitFieldUExtract = 203,
1624     OpBitReverse = 204,
1625     OpBitCount = 205,
1626     OpDPdx = 207,
1627     OpDPdy = 208,
1628     OpFwidth = 209,
1629     OpDPdxFine = 210,
1630     OpDPdyFine = 211,
1631     OpFwidthFine = 212,
1632     OpDPdxCoarse = 213,
1633     OpDPdyCoarse = 214,
1634     OpFwidthCoarse = 215,
1635     OpEmitVertex = 218,
1636     OpEndPrimitive = 219,
1637     OpEmitStreamVertex = 220,
1638     OpEndStreamPrimitive = 221,
1639     OpControlBarrier = 224,
1640     OpMemoryBarrier = 225,
1641     OpAtomicLoad = 227,
1642     OpAtomicStore = 228,
1643     OpAtomicExchange = 229,
1644     OpAtomicCompareExchange = 230,
1645     OpAtomicCompareExchangeWeak = 231,
1646     OpAtomicIIncrement = 232,
1647     OpAtomicIDecrement = 233,
1648     OpAtomicIAdd = 234,
1649     OpAtomicISub = 235,
1650     OpAtomicSMin = 236,
1651     OpAtomicUMin = 237,
1652     OpAtomicSMax = 238,
1653     OpAtomicUMax = 239,
1654     OpAtomicAnd = 240,
1655     OpAtomicOr = 241,
1656     OpAtomicXor = 242,
1657     OpPhi = 245,
1658     OpLoopMerge = 246,
1659     OpSelectionMerge = 247,
1660     OpLabel = 248,
1661     OpBranch = 249,
1662     OpBranchConditional = 250,
1663     OpSwitch = 251,
1664     OpKill = 252,
1665     OpReturn = 253,
1666     OpReturnValue = 254,
1667     OpUnreachable = 255,
1668     OpLifetimeStart = 256,
1669     OpLifetimeStop = 257,
1670     OpGroupAsyncCopy = 259,
1671     OpGroupWaitEvents = 260,
1672     OpGroupAll = 261,
1673     OpGroupAny = 262,
1674     OpGroupBroadcast = 263,
1675     OpGroupIAdd = 264,
1676     OpGroupFAdd = 265,
1677     OpGroupFMin = 266,
1678     OpGroupUMin = 267,
1679     OpGroupSMin = 268,
1680     OpGroupFMax = 269,
1681     OpGroupUMax = 270,
1682     OpGroupSMax = 271,
1683     OpReadPipe = 274,
1684     OpWritePipe = 275,
1685     OpReservedReadPipe = 276,
1686     OpReservedWritePipe = 277,
1687     OpReserveReadPipePackets = 278,
1688     OpReserveWritePipePackets = 279,
1689     OpCommitReadPipe = 280,
1690     OpCommitWritePipe = 281,
1691     OpIsValidReserveId = 282,
1692     OpGetNumPipePackets = 283,
1693     OpGetMaxPipePackets = 284,
1694     OpGroupReserveReadPipePackets = 285,
1695     OpGroupReserveWritePipePackets = 286,
1696     OpGroupCommitReadPipe = 287,
1697     OpGroupCommitWritePipe = 288,
1698     OpEnqueueMarker = 291,
1699     OpEnqueueKernel = 292,
1700     OpGetKernelNDrangeSubGroupCount = 293,
1701     OpGetKernelNDrangeMaxSubGroupSize = 294,
1702     OpGetKernelWorkGroupSize = 295,
1703     OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1704     OpRetainEvent = 297,
1705     OpReleaseEvent = 298,
1706     OpCreateUserEvent = 299,
1707     OpIsValidEvent = 300,
1708     OpSetUserEventStatus = 301,
1709     OpCaptureEventProfilingInfo = 302,
1710     OpGetDefaultQueue = 303,
1711     OpBuildNDRange = 304,
1712     OpImageSparseSampleImplicitLod = 305,
1713     OpImageSparseSampleExplicitLod = 306,
1714     OpImageSparseSampleDrefImplicitLod = 307,
1715     OpImageSparseSampleDrefExplicitLod = 308,
1716     OpImageSparseSampleProjImplicitLod = 309,
1717     OpImageSparseSampleProjExplicitLod = 310,
1718     OpImageSparseSampleProjDrefImplicitLod = 311,
1719     OpImageSparseSampleProjDrefExplicitLod = 312,
1720     OpImageSparseFetch = 313,
1721     OpImageSparseGather = 314,
1722     OpImageSparseDrefGather = 315,
1723     OpImageSparseTexelsResident = 316,
1724     OpNoLine = 317,
1725     OpAtomicFlagTestAndSet = 318,
1726     OpAtomicFlagClear = 319,
1727     OpImageSparseRead = 320,
1728     OpSizeOf = 321,
1729     OpTypePipeStorage = 322,
1730     OpConstantPipeStorage = 323,
1731     OpCreatePipeFromPipeStorage = 324,
1732     OpGetKernelLocalSizeForSubgroupCount = 325,
1733     OpGetKernelMaxNumSubgroups = 326,
1734     OpTypeNamedBarrier = 327,
1735     OpNamedBarrierInitialize = 328,
1736     OpMemoryNamedBarrier = 329,
1737     OpModuleProcessed = 330,
1738     OpExecutionModeId = 331,
1739     OpDecorateId = 332,
1740     OpGroupNonUniformElect = 333,
1741     OpGroupNonUniformAll = 334,
1742     OpGroupNonUniformAny = 335,
1743     OpGroupNonUniformAllEqual = 336,
1744     OpGroupNonUniformBroadcast = 337,
1745     OpGroupNonUniformBroadcastFirst = 338,
1746     OpGroupNonUniformBallot = 339,
1747     OpGroupNonUniformInverseBallot = 340,
1748     OpGroupNonUniformBallotBitExtract = 341,
1749     OpGroupNonUniformBallotBitCount = 342,
1750     OpGroupNonUniformBallotFindLSB = 343,
1751     OpGroupNonUniformBallotFindMSB = 344,
1752     OpGroupNonUniformShuffle = 345,
1753     OpGroupNonUniformShuffleXor = 346,
1754     OpGroupNonUniformShuffleUp = 347,
1755     OpGroupNonUniformShuffleDown = 348,
1756     OpGroupNonUniformIAdd = 349,
1757     OpGroupNonUniformFAdd = 350,
1758     OpGroupNonUniformIMul = 351,
1759     OpGroupNonUniformFMul = 352,
1760     OpGroupNonUniformSMin = 353,
1761     OpGroupNonUniformUMin = 354,
1762     OpGroupNonUniformFMin = 355,
1763     OpGroupNonUniformSMax = 356,
1764     OpGroupNonUniformUMax = 357,
1765     OpGroupNonUniformFMax = 358,
1766     OpGroupNonUniformBitwiseAnd = 359,
1767     OpGroupNonUniformBitwiseOr = 360,
1768     OpGroupNonUniformBitwiseXor = 361,
1769     OpGroupNonUniformLogicalAnd = 362,
1770     OpGroupNonUniformLogicalOr = 363,
1771     OpGroupNonUniformLogicalXor = 364,
1772     OpGroupNonUniformQuadBroadcast = 365,
1773     OpGroupNonUniformQuadSwap = 366,
1774     OpCopyLogical = 400,
1775     OpPtrEqual = 401,
1776     OpPtrNotEqual = 402,
1777     OpPtrDiff = 403,
1778     OpColorAttachmentReadEXT = 4160,
1779     OpDepthAttachmentReadEXT = 4161,
1780     OpStencilAttachmentReadEXT = 4162,
1781     OpTerminateInvocation = 4416,
1782     OpSubgroupBallotKHR = 4421,
1783     OpSubgroupFirstInvocationKHR = 4422,
1784     OpSubgroupAllKHR = 4428,
1785     OpSubgroupAnyKHR = 4429,
1786     OpSubgroupAllEqualKHR = 4430,
1787     OpGroupNonUniformRotateKHR = 4431,
1788     OpSubgroupReadInvocationKHR = 4432,
1789     OpExtInstWithForwardRefsKHR = 4433,
1790     OpTraceRayKHR = 4445,
1791     OpExecuteCallableKHR = 4446,
1792     OpConvertUToAccelerationStructureKHR = 4447,
1793     OpIgnoreIntersectionKHR = 4448,
1794     OpTerminateRayKHR = 4449,
1795     OpSDot = 4450,
1796     OpSDotKHR = 4450,
1797     OpUDot = 4451,
1798     OpUDotKHR = 4451,
1799     OpSUDot = 4452,
1800     OpSUDotKHR = 4452,
1801     OpSDotAccSat = 4453,
1802     OpSDotAccSatKHR = 4453,
1803     OpUDotAccSat = 4454,
1804     OpUDotAccSatKHR = 4454,
1805     OpSUDotAccSat = 4455,
1806     OpSUDotAccSatKHR = 4455,
1807     OpTypeCooperativeMatrixKHR = 4456,
1808     OpCooperativeMatrixLoadKHR = 4457,
1809     OpCooperativeMatrixStoreKHR = 4458,
1810     OpCooperativeMatrixMulAddKHR = 4459,
1811     OpCooperativeMatrixLengthKHR = 4460,
1812     OpConstantCompositeReplicateEXT = 4461,
1813     OpSpecConstantCompositeReplicateEXT = 4462,
1814     OpCompositeConstructReplicateEXT = 4463,
1815     OpTypeRayQueryKHR = 4472,
1816     OpRayQueryInitializeKHR = 4473,
1817     OpRayQueryTerminateKHR = 4474,
1818     OpRayQueryGenerateIntersectionKHR = 4475,
1819     OpRayQueryConfirmIntersectionKHR = 4476,
1820     OpRayQueryProceedKHR = 4477,
1821     OpRayQueryGetIntersectionTypeKHR = 4479,
1822     OpImageSampleWeightedQCOM = 4480,
1823     OpImageBoxFilterQCOM = 4481,
1824     OpImageBlockMatchSSDQCOM = 4482,
1825     OpImageBlockMatchSADQCOM = 4483,
1826     OpImageBlockMatchWindowSSDQCOM = 4500,
1827     OpImageBlockMatchWindowSADQCOM = 4501,
1828     OpImageBlockMatchGatherSSDQCOM = 4502,
1829     OpImageBlockMatchGatherSADQCOM = 4503,
1830     OpGroupIAddNonUniformAMD = 5000,
1831     OpGroupFAddNonUniformAMD = 5001,
1832     OpGroupFMinNonUniformAMD = 5002,
1833     OpGroupUMinNonUniformAMD = 5003,
1834     OpGroupSMinNonUniformAMD = 5004,
1835     OpGroupFMaxNonUniformAMD = 5005,
1836     OpGroupUMaxNonUniformAMD = 5006,
1837     OpGroupSMaxNonUniformAMD = 5007,
1838     OpFragmentMaskFetchAMD = 5011,
1839     OpFragmentFetchAMD = 5012,
1840     OpReadClockKHR = 5056,
1841     OpFinalizeNodePayloadsAMDX = 5075,
1842     OpFinishWritingNodePayloadAMDX = 5078,
1843     OpInitializeNodePayloadsAMDX = 5090,
1844     OpGroupNonUniformQuadAllKHR = 5110,
1845     OpGroupNonUniformQuadAnyKHR = 5111,
1846     OpHitObjectRecordHitMotionNV = 5249,
1847     OpHitObjectRecordHitWithIndexMotionNV = 5250,
1848     OpHitObjectRecordMissMotionNV = 5251,
1849     OpHitObjectGetWorldToObjectNV = 5252,
1850     OpHitObjectGetObjectToWorldNV = 5253,
1851     OpHitObjectGetObjectRayDirectionNV = 5254,
1852     OpHitObjectGetObjectRayOriginNV = 5255,
1853     OpHitObjectTraceRayMotionNV = 5256,
1854     OpHitObjectGetShaderRecordBufferHandleNV = 5257,
1855     OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1856     OpHitObjectRecordEmptyNV = 5259,
1857     OpHitObjectTraceRayNV = 5260,
1858     OpHitObjectRecordHitNV = 5261,
1859     OpHitObjectRecordHitWithIndexNV = 5262,
1860     OpHitObjectRecordMissNV = 5263,
1861     OpHitObjectExecuteShaderNV = 5264,
1862     OpHitObjectGetCurrentTimeNV = 5265,
1863     OpHitObjectGetAttributesNV = 5266,
1864     OpHitObjectGetHitKindNV = 5267,
1865     OpHitObjectGetPrimitiveIndexNV = 5268,
1866     OpHitObjectGetGeometryIndexNV = 5269,
1867     OpHitObjectGetInstanceIdNV = 5270,
1868     OpHitObjectGetInstanceCustomIndexNV = 5271,
1869     OpHitObjectGetWorldRayDirectionNV = 5272,
1870     OpHitObjectGetWorldRayOriginNV = 5273,
1871     OpHitObjectGetRayTMaxNV = 5274,
1872     OpHitObjectGetRayTMinNV = 5275,
1873     OpHitObjectIsEmptyNV = 5276,
1874     OpHitObjectIsHitNV = 5277,
1875     OpHitObjectIsMissNV = 5278,
1876     OpReorderThreadWithHitObjectNV = 5279,
1877     OpReorderThreadWithHintNV = 5280,
1878     OpTypeHitObjectNV = 5281,
1879     OpImageSampleFootprintNV = 5283,
1880     OpEmitMeshTasksEXT = 5294,
1881     OpSetMeshOutputsEXT = 5295,
1882     OpGroupNonUniformPartitionNV = 5296,
1883     OpWritePackedPrimitiveIndices4x8NV = 5299,
1884     OpFetchMicroTriangleVertexPositionNV = 5300,
1885     OpFetchMicroTriangleVertexBarycentricNV = 5301,
1886     OpReportIntersectionKHR = 5334,
1887     OpReportIntersectionNV = 5334,
1888     OpIgnoreIntersectionNV = 5335,
1889     OpTerminateRayNV = 5336,
1890     OpTraceNV = 5337,
1891     OpTraceMotionNV = 5338,
1892     OpTraceRayMotionNV = 5339,
1893     OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
1894     OpTypeAccelerationStructureKHR = 5341,
1895     OpTypeAccelerationStructureNV = 5341,
1896     OpExecuteCallableNV = 5344,
1897     OpTypeCooperativeMatrixNV = 5358,
1898     OpCooperativeMatrixLoadNV = 5359,
1899     OpCooperativeMatrixStoreNV = 5360,
1900     OpCooperativeMatrixMulAddNV = 5361,
1901     OpCooperativeMatrixLengthNV = 5362,
1902     OpBeginInvocationInterlockEXT = 5364,
1903     OpEndInvocationInterlockEXT = 5365,
1904     OpDemoteToHelperInvocation = 5380,
1905     OpDemoteToHelperInvocationEXT = 5380,
1906     OpIsHelperInvocationEXT = 5381,
1907     OpConvertUToImageNV = 5391,
1908     OpConvertUToSamplerNV = 5392,
1909     OpConvertImageToUNV = 5393,
1910     OpConvertSamplerToUNV = 5394,
1911     OpConvertUToSampledImageNV = 5395,
1912     OpConvertSampledImageToUNV = 5396,
1913     OpSamplerImageAddressingModeNV = 5397,
1914     OpRawAccessChainNV = 5398,
1915     OpSubgroupShuffleINTEL = 5571,
1916     OpSubgroupShuffleDownINTEL = 5572,
1917     OpSubgroupShuffleUpINTEL = 5573,
1918     OpSubgroupShuffleXorINTEL = 5574,
1919     OpSubgroupBlockReadINTEL = 5575,
1920     OpSubgroupBlockWriteINTEL = 5576,
1921     OpSubgroupImageBlockReadINTEL = 5577,
1922     OpSubgroupImageBlockWriteINTEL = 5578,
1923     OpSubgroupImageMediaBlockReadINTEL = 5580,
1924     OpSubgroupImageMediaBlockWriteINTEL = 5581,
1925     OpUCountLeadingZerosINTEL = 5585,
1926     OpUCountTrailingZerosINTEL = 5586,
1927     OpAbsISubINTEL = 5587,
1928     OpAbsUSubINTEL = 5588,
1929     OpIAddSatINTEL = 5589,
1930     OpUAddSatINTEL = 5590,
1931     OpIAverageINTEL = 5591,
1932     OpUAverageINTEL = 5592,
1933     OpIAverageRoundedINTEL = 5593,
1934     OpUAverageRoundedINTEL = 5594,
1935     OpISubSatINTEL = 5595,
1936     OpUSubSatINTEL = 5596,
1937     OpIMul32x16INTEL = 5597,
1938     OpUMul32x16INTEL = 5598,
1939     OpConstantFunctionPointerINTEL = 5600,
1940     OpFunctionPointerCallINTEL = 5601,
1941     OpAsmTargetINTEL = 5609,
1942     OpAsmINTEL = 5610,
1943     OpAsmCallINTEL = 5611,
1944     OpAtomicFMinEXT = 5614,
1945     OpAtomicFMaxEXT = 5615,
1946     OpAssumeTrueKHR = 5630,
1947     OpExpectKHR = 5631,
1948     OpDecorateString = 5632,
1949     OpDecorateStringGOOGLE = 5632,
1950     OpMemberDecorateString = 5633,
1951     OpMemberDecorateStringGOOGLE = 5633,
1952     OpVmeImageINTEL = 5699,
1953     OpTypeVmeImageINTEL = 5700,
1954     OpTypeAvcImePayloadINTEL = 5701,
1955     OpTypeAvcRefPayloadINTEL = 5702,
1956     OpTypeAvcSicPayloadINTEL = 5703,
1957     OpTypeAvcMcePayloadINTEL = 5704,
1958     OpTypeAvcMceResultINTEL = 5705,
1959     OpTypeAvcImeResultINTEL = 5706,
1960     OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1961     OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1962     OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1963     OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1964     OpTypeAvcRefResultINTEL = 5711,
1965     OpTypeAvcSicResultINTEL = 5712,
1966     OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1967     OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1968     OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1969     OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1970     OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1971     OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1972     OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1973     OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1974     OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1975     OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1976     OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1977     OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1978     OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1979     OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1980     OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1981     OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1982     OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1983     OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1984     OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1985     OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1986     OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1987     OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1988     OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1989     OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1990     OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1991     OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1992     OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1993     OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1994     OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1995     OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1996     OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1997     OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1998     OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1999     OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
2000     OpSubgroupAvcImeInitializeINTEL = 5747,
2001     OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
2002     OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
2003     OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
2004     OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
2005     OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
2006     OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
2007     OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
2008     OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
2009     OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
2010     OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
2011     OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
2012     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
2013     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
2014     OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
2015     OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
2016     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
2017     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
2018     OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
2019     OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
2020     OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
2021     OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
2022     OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
2023     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
2024     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
2025     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
2026     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
2027     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
2028     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
2029     OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
2030     OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
2031     OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
2032     OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
2033     OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
2034     OpSubgroupAvcFmeInitializeINTEL = 5781,
2035     OpSubgroupAvcBmeInitializeINTEL = 5782,
2036     OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
2037     OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
2038     OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
2039     OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
2040     OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
2041     OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
2042     OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
2043     OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
2044     OpSubgroupAvcSicInitializeINTEL = 5791,
2045     OpSubgroupAvcSicConfigureSkcINTEL = 5792,
2046     OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
2047     OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
2048     OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
2049     OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
2050     OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
2051     OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
2052     OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
2053     OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
2054     OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
2055     OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
2056     OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
2057     OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
2058     OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
2059     OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
2060     OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
2061     OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
2062     OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
2063     OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
2064     OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
2065     OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
2066     OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
2067     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
2068     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
2069     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
2070     OpVariableLengthArrayINTEL = 5818,
2071     OpSaveMemoryINTEL = 5819,
2072     OpRestoreMemoryINTEL = 5820,
2073     OpArbitraryFloatSinCosPiINTEL = 5840,
2074     OpArbitraryFloatCastINTEL = 5841,
2075     OpArbitraryFloatCastFromIntINTEL = 5842,
2076     OpArbitraryFloatCastToIntINTEL = 5843,
2077     OpArbitraryFloatAddINTEL = 5846,
2078     OpArbitraryFloatSubINTEL = 5847,
2079     OpArbitraryFloatMulINTEL = 5848,
2080     OpArbitraryFloatDivINTEL = 5849,
2081     OpArbitraryFloatGTINTEL = 5850,
2082     OpArbitraryFloatGEINTEL = 5851,
2083     OpArbitraryFloatLTINTEL = 5852,
2084     OpArbitraryFloatLEINTEL = 5853,
2085     OpArbitraryFloatEQINTEL = 5854,
2086     OpArbitraryFloatRecipINTEL = 5855,
2087     OpArbitraryFloatRSqrtINTEL = 5856,
2088     OpArbitraryFloatCbrtINTEL = 5857,
2089     OpArbitraryFloatHypotINTEL = 5858,
2090     OpArbitraryFloatSqrtINTEL = 5859,
2091     OpArbitraryFloatLogINTEL = 5860,
2092     OpArbitraryFloatLog2INTEL = 5861,
2093     OpArbitraryFloatLog10INTEL = 5862,
2094     OpArbitraryFloatLog1pINTEL = 5863,
2095     OpArbitraryFloatExpINTEL = 5864,
2096     OpArbitraryFloatExp2INTEL = 5865,
2097     OpArbitraryFloatExp10INTEL = 5866,
2098     OpArbitraryFloatExpm1INTEL = 5867,
2099     OpArbitraryFloatSinINTEL = 5868,
2100     OpArbitraryFloatCosINTEL = 5869,
2101     OpArbitraryFloatSinCosINTEL = 5870,
2102     OpArbitraryFloatSinPiINTEL = 5871,
2103     OpArbitraryFloatCosPiINTEL = 5872,
2104     OpArbitraryFloatASinINTEL = 5873,
2105     OpArbitraryFloatASinPiINTEL = 5874,
2106     OpArbitraryFloatACosINTEL = 5875,
2107     OpArbitraryFloatACosPiINTEL = 5876,
2108     OpArbitraryFloatATanINTEL = 5877,
2109     OpArbitraryFloatATanPiINTEL = 5878,
2110     OpArbitraryFloatATan2INTEL = 5879,
2111     OpArbitraryFloatPowINTEL = 5880,
2112     OpArbitraryFloatPowRINTEL = 5881,
2113     OpArbitraryFloatPowNINTEL = 5882,
2114     OpLoopControlINTEL = 5887,
2115     OpAliasDomainDeclINTEL = 5911,
2116     OpAliasScopeDeclINTEL = 5912,
2117     OpAliasScopeListDeclINTEL = 5913,
2118     OpFixedSqrtINTEL = 5923,
2119     OpFixedRecipINTEL = 5924,
2120     OpFixedRsqrtINTEL = 5925,
2121     OpFixedSinINTEL = 5926,
2122     OpFixedCosINTEL = 5927,
2123     OpFixedSinCosINTEL = 5928,
2124     OpFixedSinPiINTEL = 5929,
2125     OpFixedCosPiINTEL = 5930,
2126     OpFixedSinCosPiINTEL = 5931,
2127     OpFixedLogINTEL = 5932,
2128     OpFixedExpINTEL = 5933,
2129     OpPtrCastToCrossWorkgroupINTEL = 5934,
2130     OpCrossWorkgroupCastToPtrINTEL = 5938,
2131     OpReadPipeBlockingINTEL = 5946,
2132     OpWritePipeBlockingINTEL = 5947,
2133     OpFPGARegINTEL = 5949,
2134     OpRayQueryGetRayTMinKHR = 6016,
2135     OpRayQueryGetRayFlagsKHR = 6017,
2136     OpRayQueryGetIntersectionTKHR = 6018,
2137     OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
2138     OpRayQueryGetIntersectionInstanceIdKHR = 6020,
2139     OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
2140     OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
2141     OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
2142     OpRayQueryGetIntersectionBarycentricsKHR = 6024,
2143     OpRayQueryGetIntersectionFrontFaceKHR = 6025,
2144     OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
2145     OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
2146     OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
2147     OpRayQueryGetWorldRayDirectionKHR = 6029,
2148     OpRayQueryGetWorldRayOriginKHR = 6030,
2149     OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
2150     OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
2151     OpAtomicFAddEXT = 6035,
2152     OpTypeBufferSurfaceINTEL = 6086,
2153     OpTypeStructContinuedINTEL = 6090,
2154     OpConstantCompositeContinuedINTEL = 6091,
2155     OpSpecConstantCompositeContinuedINTEL = 6092,
2156     OpCompositeConstructContinuedINTEL = 6096,
2157     OpConvertFToBF16INTEL = 6116,
2158     OpConvertBF16ToFINTEL = 6117,
2159     OpControlBarrierArriveINTEL = 6142,
2160     OpControlBarrierWaitINTEL = 6143,
2161     OpGroupIMulKHR = 6401,
2162     OpGroupFMulKHR = 6402,
2163     OpGroupBitwiseAndKHR = 6403,
2164     OpGroupBitwiseOrKHR = 6404,
2165     OpGroupBitwiseXorKHR = 6405,
2166     OpGroupLogicalAndKHR = 6406,
2167     OpGroupLogicalOrKHR = 6407,
2168     OpGroupLogicalXorKHR = 6408,
2169     OpMaskedGatherINTEL = 6428,
2170     OpMaskedScatterINTEL = 6429,
2171 }
2172 
2173 
2174