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