xref: /aosp_15_r20/external/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1/spv.d (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
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     FragmentShadingRateKHR = 4422,
1056     SubgroupBallotKHR = 4423,
1057     DrawParameters = 4427,
1058     WorkgroupMemoryExplicitLayoutKHR = 4428,
1059     WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
1060     WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
1061     SubgroupVoteKHR = 4431,
1062     StorageBuffer16BitAccess = 4433,
1063     StorageUniformBufferBlock16 = 4433,
1064     StorageUniform16 = 4434,
1065     UniformAndStorageBuffer16BitAccess = 4434,
1066     StoragePushConstant16 = 4435,
1067     StorageInputOutput16 = 4436,
1068     DeviceGroup = 4437,
1069     MultiView = 4439,
1070     VariablePointersStorageBuffer = 4441,
1071     VariablePointers = 4442,
1072     AtomicStorageOps = 4445,
1073     SampleMaskPostDepthCoverage = 4447,
1074     StorageBuffer8BitAccess = 4448,
1075     UniformAndStorageBuffer8BitAccess = 4449,
1076     StoragePushConstant8 = 4450,
1077     DenormPreserve = 4464,
1078     DenormFlushToZero = 4465,
1079     SignedZeroInfNanPreserve = 4466,
1080     RoundingModeRTE = 4467,
1081     RoundingModeRTZ = 4468,
1082     RayQueryProvisionalKHR = 4471,
1083     RayQueryKHR = 4472,
1084     RayTraversalPrimitiveCullingKHR = 4478,
1085     RayTracingKHR = 4479,
1086     TextureSampleWeightedQCOM = 4484,
1087     TextureBoxFilterQCOM = 4485,
1088     TextureBlockMatchQCOM = 4486,
1089     TextureBlockMatch2QCOM = 4498,
1090     Float16ImageAMD = 5008,
1091     ImageGatherBiasLodAMD = 5009,
1092     FragmentMaskAMD = 5010,
1093     StencilExportEXT = 5013,
1094     ImageReadWriteLodAMD = 5015,
1095     Int64ImageEXT = 5016,
1096     ShaderClockKHR = 5055,
1097     ShaderEnqueueAMDX = 5067,
1098     QuadControlKHR = 5087,
1099     SampleMaskOverrideCoverageNV = 5249,
1100     GeometryShaderPassthroughNV = 5251,
1101     ShaderViewportIndexLayerEXT = 5254,
1102     ShaderViewportIndexLayerNV = 5254,
1103     ShaderViewportMaskNV = 5255,
1104     ShaderStereoViewNV = 5259,
1105     PerViewAttributesNV = 5260,
1106     FragmentFullyCoveredEXT = 5265,
1107     MeshShadingNV = 5266,
1108     ImageFootprintNV = 5282,
1109     MeshShadingEXT = 5283,
1110     FragmentBarycentricKHR = 5284,
1111     FragmentBarycentricNV = 5284,
1112     ComputeDerivativeGroupQuadsNV = 5288,
1113     FragmentDensityEXT = 5291,
1114     ShadingRateNV = 5291,
1115     GroupNonUniformPartitionedNV = 5297,
1116     ShaderNonUniform = 5301,
1117     ShaderNonUniformEXT = 5301,
1118     RuntimeDescriptorArray = 5302,
1119     RuntimeDescriptorArrayEXT = 5302,
1120     InputAttachmentArrayDynamicIndexing = 5303,
1121     InputAttachmentArrayDynamicIndexingEXT = 5303,
1122     UniformTexelBufferArrayDynamicIndexing = 5304,
1123     UniformTexelBufferArrayDynamicIndexingEXT = 5304,
1124     StorageTexelBufferArrayDynamicIndexing = 5305,
1125     StorageTexelBufferArrayDynamicIndexingEXT = 5305,
1126     UniformBufferArrayNonUniformIndexing = 5306,
1127     UniformBufferArrayNonUniformIndexingEXT = 5306,
1128     SampledImageArrayNonUniformIndexing = 5307,
1129     SampledImageArrayNonUniformIndexingEXT = 5307,
1130     StorageBufferArrayNonUniformIndexing = 5308,
1131     StorageBufferArrayNonUniformIndexingEXT = 5308,
1132     StorageImageArrayNonUniformIndexing = 5309,
1133     StorageImageArrayNonUniformIndexingEXT = 5309,
1134     InputAttachmentArrayNonUniformIndexing = 5310,
1135     InputAttachmentArrayNonUniformIndexingEXT = 5310,
1136     UniformTexelBufferArrayNonUniformIndexing = 5311,
1137     UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1138     StorageTexelBufferArrayNonUniformIndexing = 5312,
1139     StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1140     RayTracingPositionFetchKHR = 5336,
1141     RayTracingNV = 5340,
1142     RayTracingMotionBlurNV = 5341,
1143     VulkanMemoryModel = 5345,
1144     VulkanMemoryModelKHR = 5345,
1145     VulkanMemoryModelDeviceScope = 5346,
1146     VulkanMemoryModelDeviceScopeKHR = 5346,
1147     PhysicalStorageBufferAddresses = 5347,
1148     PhysicalStorageBufferAddressesEXT = 5347,
1149     ComputeDerivativeGroupLinearNV = 5350,
1150     RayTracingProvisionalKHR = 5353,
1151     CooperativeMatrixNV = 5357,
1152     FragmentShaderSampleInterlockEXT = 5363,
1153     FragmentShaderShadingRateInterlockEXT = 5372,
1154     ShaderSMBuiltinsNV = 5373,
1155     FragmentShaderPixelInterlockEXT = 5378,
1156     DemoteToHelperInvocation = 5379,
1157     DemoteToHelperInvocationEXT = 5379,
1158     DisplacementMicromapNV = 5380,
1159     RayTracingOpacityMicromapEXT = 5381,
1160     ShaderInvocationReorderNV = 5383,
1161     BindlessTextureNV = 5390,
1162     RayQueryPositionFetchKHR = 5391,
1163     AtomicFloat16VectorNV = 5404,
1164     RayTracingDisplacementMicromapNV = 5409,
1165     RawAccessChainsNV = 5414,
1166     SubgroupShuffleINTEL = 5568,
1167     SubgroupBufferBlockIOINTEL = 5569,
1168     SubgroupImageBlockIOINTEL = 5570,
1169     SubgroupImageMediaBlockIOINTEL = 5579,
1170     RoundToInfinityINTEL = 5582,
1171     FloatingPointModeINTEL = 5583,
1172     IntegerFunctions2INTEL = 5584,
1173     FunctionPointersINTEL = 5603,
1174     IndirectReferencesINTEL = 5604,
1175     AsmINTEL = 5606,
1176     AtomicFloat32MinMaxEXT = 5612,
1177     AtomicFloat64MinMaxEXT = 5613,
1178     AtomicFloat16MinMaxEXT = 5616,
1179     VectorComputeINTEL = 5617,
1180     VectorAnyINTEL = 5619,
1181     ExpectAssumeKHR = 5629,
1182     SubgroupAvcMotionEstimationINTEL = 5696,
1183     SubgroupAvcMotionEstimationIntraINTEL = 5697,
1184     SubgroupAvcMotionEstimationChromaINTEL = 5698,
1185     VariableLengthArrayINTEL = 5817,
1186     FunctionFloatControlINTEL = 5821,
1187     FPGAMemoryAttributesINTEL = 5824,
1188     FPFastMathModeINTEL = 5837,
1189     ArbitraryPrecisionIntegersINTEL = 5844,
1190     ArbitraryPrecisionFloatingPointINTEL = 5845,
1191     UnstructuredLoopControlsINTEL = 5886,
1192     FPGALoopControlsINTEL = 5888,
1193     KernelAttributesINTEL = 5892,
1194     FPGAKernelAttributesINTEL = 5897,
1195     FPGAMemoryAccessesINTEL = 5898,
1196     FPGAClusterAttributesINTEL = 5904,
1197     LoopFuseINTEL = 5906,
1198     FPGADSPControlINTEL = 5908,
1199     MemoryAccessAliasingINTEL = 5910,
1200     FPGAInvocationPipeliningAttributesINTEL = 5916,
1201     FPGABufferLocationINTEL = 5920,
1202     ArbitraryPrecisionFixedPointINTEL = 5922,
1203     USMStorageClassesINTEL = 5935,
1204     RuntimeAlignedAttributeINTEL = 5939,
1205     IOPipesINTEL = 5943,
1206     BlockingPipesINTEL = 5945,
1207     FPGARegINTEL = 5948,
1208     DotProductInputAll = 6016,
1209     DotProductInputAllKHR = 6016,
1210     DotProductInput4x8Bit = 6017,
1211     DotProductInput4x8BitKHR = 6017,
1212     DotProductInput4x8BitPacked = 6018,
1213     DotProductInput4x8BitPackedKHR = 6018,
1214     DotProduct = 6019,
1215     DotProductKHR = 6019,
1216     RayCullMaskKHR = 6020,
1217     CooperativeMatrixKHR = 6022,
1218     BitInstructions = 6025,
1219     GroupNonUniformRotateKHR = 6026,
1220     FloatControls2 = 6029,
1221     AtomicFloat32AddEXT = 6033,
1222     AtomicFloat64AddEXT = 6034,
1223     LongCompositesINTEL = 6089,
1224     OptNoneINTEL = 6094,
1225     AtomicFloat16AddEXT = 6095,
1226     DebugInfoModuleINTEL = 6114,
1227     BFloat16ConversionINTEL = 6115,
1228     SplitBarrierINTEL = 6141,
1229     FPGAClusterAttributesV2INTEL = 6150,
1230     FPGAKernelAttributesv2INTEL = 6161,
1231     FPMaxErrorINTEL = 6169,
1232     FPGALatencyControlINTEL = 6171,
1233     FPGAArgumentInterfacesINTEL = 6174,
1234     GlobalVariableHostAccessINTEL = 6187,
1235     GlobalVariableFPGADecorationsINTEL = 6189,
1236     GroupUniformArithmeticKHR = 6400,
1237     MaskedGatherScatterINTEL = 6427,
1238     CacheControlsINTEL = 6441,
1239     RegisterLimitsINTEL = 6460,
1240 }
1241 
1242 enum RayFlagsShift : uint
1243 {
1244     OpaqueKHR = 0,
1245     NoOpaqueKHR = 1,
1246     TerminateOnFirstHitKHR = 2,
1247     SkipClosestHitShaderKHR = 3,
1248     CullBackFacingTrianglesKHR = 4,
1249     CullFrontFacingTrianglesKHR = 5,
1250     CullOpaqueKHR = 6,
1251     CullNoOpaqueKHR = 7,
1252     SkipTrianglesKHR = 8,
1253     SkipAABBsKHR = 9,
1254     ForceOpacityMicromap2StateEXT = 10,
1255 }
1256 
1257 enum RayFlagsMask : uint
1258 {
1259     MaskNone = 0,
1260     OpaqueKHR = 0x00000001,
1261     NoOpaqueKHR = 0x00000002,
1262     TerminateOnFirstHitKHR = 0x00000004,
1263     SkipClosestHitShaderKHR = 0x00000008,
1264     CullBackFacingTrianglesKHR = 0x00000010,
1265     CullFrontFacingTrianglesKHR = 0x00000020,
1266     CullOpaqueKHR = 0x00000040,
1267     CullNoOpaqueKHR = 0x00000080,
1268     SkipTrianglesKHR = 0x00000100,
1269     SkipAABBsKHR = 0x00000200,
1270     ForceOpacityMicromap2StateEXT = 0x00000400,
1271 }
1272 
1273 enum RayQueryIntersection : uint
1274 {
1275     RayQueryCandidateIntersectionKHR = 0,
1276     RayQueryCommittedIntersectionKHR = 1,
1277 }
1278 
1279 enum RayQueryCommittedIntersectionType : uint
1280 {
1281     RayQueryCommittedIntersectionNoneKHR = 0,
1282     RayQueryCommittedIntersectionTriangleKHR = 1,
1283     RayQueryCommittedIntersectionGeneratedKHR = 2,
1284 }
1285 
1286 enum RayQueryCandidateIntersectionType : uint
1287 {
1288     RayQueryCandidateIntersectionTriangleKHR = 0,
1289     RayQueryCandidateIntersectionAABBKHR = 1,
1290 }
1291 
1292 enum FragmentShadingRateShift : uint
1293 {
1294     Vertical2Pixels = 0,
1295     Vertical4Pixels = 1,
1296     Horizontal2Pixels = 2,
1297     Horizontal4Pixels = 3,
1298 }
1299 
1300 enum FragmentShadingRateMask : uint
1301 {
1302     MaskNone = 0,
1303     Vertical2Pixels = 0x00000001,
1304     Vertical4Pixels = 0x00000002,
1305     Horizontal2Pixels = 0x00000004,
1306     Horizontal4Pixels = 0x00000008,
1307 }
1308 
1309 enum FPDenormMode : uint
1310 {
1311     Preserve = 0,
1312     FlushToZero = 1,
1313 }
1314 
1315 enum FPOperationMode : uint
1316 {
1317     IEEE = 0,
1318     ALT = 1,
1319 }
1320 
1321 enum QuantizationModes : uint
1322 {
1323     TRN = 0,
1324     TRN_ZERO = 1,
1325     RND = 2,
1326     RND_ZERO = 3,
1327     RND_INF = 4,
1328     RND_MIN_INF = 5,
1329     RND_CONV = 6,
1330     RND_CONV_ODD = 7,
1331 }
1332 
1333 enum OverflowModes : uint
1334 {
1335     WRAP = 0,
1336     SAT = 1,
1337     SAT_ZERO = 2,
1338     SAT_SYM = 3,
1339 }
1340 
1341 enum PackedVectorFormat : uint
1342 {
1343     PackedVectorFormat4x8Bit = 0,
1344     PackedVectorFormat4x8BitKHR = 0,
1345 }
1346 
1347 enum CooperativeMatrixOperandsShift : uint
1348 {
1349     MatrixASignedComponentsKHR = 0,
1350     MatrixBSignedComponentsKHR = 1,
1351     MatrixCSignedComponentsKHR = 2,
1352     MatrixResultSignedComponentsKHR = 3,
1353     SaturatingAccumulationKHR = 4,
1354 }
1355 
1356 enum CooperativeMatrixOperandsMask : uint
1357 {
1358     MaskNone = 0,
1359     MatrixASignedComponentsKHR = 0x00000001,
1360     MatrixBSignedComponentsKHR = 0x00000002,
1361     MatrixCSignedComponentsKHR = 0x00000004,
1362     MatrixResultSignedComponentsKHR = 0x00000008,
1363     SaturatingAccumulationKHR = 0x00000010,
1364 }
1365 
1366 enum CooperativeMatrixLayout : uint
1367 {
1368     RowMajorKHR = 0,
1369     ColumnMajorKHR = 1,
1370 }
1371 
1372 enum CooperativeMatrixUse : uint
1373 {
1374     MatrixAKHR = 0,
1375     MatrixBKHR = 1,
1376     MatrixAccumulatorKHR = 2,
1377 }
1378 
1379 enum InitializationModeQualifier : uint
1380 {
1381     InitOnDeviceReprogramINTEL = 0,
1382     InitOnDeviceResetINTEL = 1,
1383 }
1384 
1385 enum HostAccessQualifier : uint
1386 {
1387     NoneINTEL = 0,
1388     ReadINTEL = 1,
1389     WriteINTEL = 2,
1390     ReadWriteINTEL = 3,
1391 }
1392 
1393 enum LoadCacheControl : uint
1394 {
1395     UncachedINTEL = 0,
1396     CachedINTEL = 1,
1397     StreamingINTEL = 2,
1398     InvalidateAfterReadINTEL = 3,
1399     ConstCachedINTEL = 4,
1400 }
1401 
1402 enum StoreCacheControl : uint
1403 {
1404     UncachedINTEL = 0,
1405     WriteThroughINTEL = 1,
1406     WriteBackINTEL = 2,
1407     StreamingINTEL = 3,
1408 }
1409 
1410 enum NamedMaximumNumberOfRegisters : uint
1411 {
1412     AutoINTEL = 0,
1413 }
1414 
1415 enum RawAccessChainOperandsShift : uint
1416 {
1417     RobustnessPerComponentNV = 0,
1418     RobustnessPerElementNV = 1,
1419 }
1420 
1421 enum RawAccessChainOperandsMask : uint
1422 {
1423     MaskNone = 0,
1424     RobustnessPerComponentNV = 0x00000001,
1425     RobustnessPerElementNV = 0x00000002,
1426 }
1427 
1428 enum Op : uint
1429 {
1430     OpNop = 0,
1431     OpUndef = 1,
1432     OpSourceContinued = 2,
1433     OpSource = 3,
1434     OpSourceExtension = 4,
1435     OpName = 5,
1436     OpMemberName = 6,
1437     OpString = 7,
1438     OpLine = 8,
1439     OpExtension = 10,
1440     OpExtInstImport = 11,
1441     OpExtInst = 12,
1442     OpMemoryModel = 14,
1443     OpEntryPoint = 15,
1444     OpExecutionMode = 16,
1445     OpCapability = 17,
1446     OpTypeVoid = 19,
1447     OpTypeBool = 20,
1448     OpTypeInt = 21,
1449     OpTypeFloat = 22,
1450     OpTypeVector = 23,
1451     OpTypeMatrix = 24,
1452     OpTypeImage = 25,
1453     OpTypeSampler = 26,
1454     OpTypeSampledImage = 27,
1455     OpTypeArray = 28,
1456     OpTypeRuntimeArray = 29,
1457     OpTypeStruct = 30,
1458     OpTypeOpaque = 31,
1459     OpTypePointer = 32,
1460     OpTypeFunction = 33,
1461     OpTypeEvent = 34,
1462     OpTypeDeviceEvent = 35,
1463     OpTypeReserveId = 36,
1464     OpTypeQueue = 37,
1465     OpTypePipe = 38,
1466     OpTypeForwardPointer = 39,
1467     OpConstantTrue = 41,
1468     OpConstantFalse = 42,
1469     OpConstant = 43,
1470     OpConstantComposite = 44,
1471     OpConstantSampler = 45,
1472     OpConstantNull = 46,
1473     OpSpecConstantTrue = 48,
1474     OpSpecConstantFalse = 49,
1475     OpSpecConstant = 50,
1476     OpSpecConstantComposite = 51,
1477     OpSpecConstantOp = 52,
1478     OpFunction = 54,
1479     OpFunctionParameter = 55,
1480     OpFunctionEnd = 56,
1481     OpFunctionCall = 57,
1482     OpVariable = 59,
1483     OpImageTexelPointer = 60,
1484     OpLoad = 61,
1485     OpStore = 62,
1486     OpCopyMemory = 63,
1487     OpCopyMemorySized = 64,
1488     OpAccessChain = 65,
1489     OpInBoundsAccessChain = 66,
1490     OpPtrAccessChain = 67,
1491     OpArrayLength = 68,
1492     OpGenericPtrMemSemantics = 69,
1493     OpInBoundsPtrAccessChain = 70,
1494     OpDecorate = 71,
1495     OpMemberDecorate = 72,
1496     OpDecorationGroup = 73,
1497     OpGroupDecorate = 74,
1498     OpGroupMemberDecorate = 75,
1499     OpVectorExtractDynamic = 77,
1500     OpVectorInsertDynamic = 78,
1501     OpVectorShuffle = 79,
1502     OpCompositeConstruct = 80,
1503     OpCompositeExtract = 81,
1504     OpCompositeInsert = 82,
1505     OpCopyObject = 83,
1506     OpTranspose = 84,
1507     OpSampledImage = 86,
1508     OpImageSampleImplicitLod = 87,
1509     OpImageSampleExplicitLod = 88,
1510     OpImageSampleDrefImplicitLod = 89,
1511     OpImageSampleDrefExplicitLod = 90,
1512     OpImageSampleProjImplicitLod = 91,
1513     OpImageSampleProjExplicitLod = 92,
1514     OpImageSampleProjDrefImplicitLod = 93,
1515     OpImageSampleProjDrefExplicitLod = 94,
1516     OpImageFetch = 95,
1517     OpImageGather = 96,
1518     OpImageDrefGather = 97,
1519     OpImageRead = 98,
1520     OpImageWrite = 99,
1521     OpImage = 100,
1522     OpImageQueryFormat = 101,
1523     OpImageQueryOrder = 102,
1524     OpImageQuerySizeLod = 103,
1525     OpImageQuerySize = 104,
1526     OpImageQueryLod = 105,
1527     OpImageQueryLevels = 106,
1528     OpImageQuerySamples = 107,
1529     OpConvertFToU = 109,
1530     OpConvertFToS = 110,
1531     OpConvertSToF = 111,
1532     OpConvertUToF = 112,
1533     OpUConvert = 113,
1534     OpSConvert = 114,
1535     OpFConvert = 115,
1536     OpQuantizeToF16 = 116,
1537     OpConvertPtrToU = 117,
1538     OpSatConvertSToU = 118,
1539     OpSatConvertUToS = 119,
1540     OpConvertUToPtr = 120,
1541     OpPtrCastToGeneric = 121,
1542     OpGenericCastToPtr = 122,
1543     OpGenericCastToPtrExplicit = 123,
1544     OpBitcast = 124,
1545     OpSNegate = 126,
1546     OpFNegate = 127,
1547     OpIAdd = 128,
1548     OpFAdd = 129,
1549     OpISub = 130,
1550     OpFSub = 131,
1551     OpIMul = 132,
1552     OpFMul = 133,
1553     OpUDiv = 134,
1554     OpSDiv = 135,
1555     OpFDiv = 136,
1556     OpUMod = 137,
1557     OpSRem = 138,
1558     OpSMod = 139,
1559     OpFRem = 140,
1560     OpFMod = 141,
1561     OpVectorTimesScalar = 142,
1562     OpMatrixTimesScalar = 143,
1563     OpVectorTimesMatrix = 144,
1564     OpMatrixTimesVector = 145,
1565     OpMatrixTimesMatrix = 146,
1566     OpOuterProduct = 147,
1567     OpDot = 148,
1568     OpIAddCarry = 149,
1569     OpISubBorrow = 150,
1570     OpUMulExtended = 151,
1571     OpSMulExtended = 152,
1572     OpAny = 154,
1573     OpAll = 155,
1574     OpIsNan = 156,
1575     OpIsInf = 157,
1576     OpIsFinite = 158,
1577     OpIsNormal = 159,
1578     OpSignBitSet = 160,
1579     OpLessOrGreater = 161,
1580     OpOrdered = 162,
1581     OpUnordered = 163,
1582     OpLogicalEqual = 164,
1583     OpLogicalNotEqual = 165,
1584     OpLogicalOr = 166,
1585     OpLogicalAnd = 167,
1586     OpLogicalNot = 168,
1587     OpSelect = 169,
1588     OpIEqual = 170,
1589     OpINotEqual = 171,
1590     OpUGreaterThan = 172,
1591     OpSGreaterThan = 173,
1592     OpUGreaterThanEqual = 174,
1593     OpSGreaterThanEqual = 175,
1594     OpULessThan = 176,
1595     OpSLessThan = 177,
1596     OpULessThanEqual = 178,
1597     OpSLessThanEqual = 179,
1598     OpFOrdEqual = 180,
1599     OpFUnordEqual = 181,
1600     OpFOrdNotEqual = 182,
1601     OpFUnordNotEqual = 183,
1602     OpFOrdLessThan = 184,
1603     OpFUnordLessThan = 185,
1604     OpFOrdGreaterThan = 186,
1605     OpFUnordGreaterThan = 187,
1606     OpFOrdLessThanEqual = 188,
1607     OpFUnordLessThanEqual = 189,
1608     OpFOrdGreaterThanEqual = 190,
1609     OpFUnordGreaterThanEqual = 191,
1610     OpShiftRightLogical = 194,
1611     OpShiftRightArithmetic = 195,
1612     OpShiftLeftLogical = 196,
1613     OpBitwiseOr = 197,
1614     OpBitwiseXor = 198,
1615     OpBitwiseAnd = 199,
1616     OpNot = 200,
1617     OpBitFieldInsert = 201,
1618     OpBitFieldSExtract = 202,
1619     OpBitFieldUExtract = 203,
1620     OpBitReverse = 204,
1621     OpBitCount = 205,
1622     OpDPdx = 207,
1623     OpDPdy = 208,
1624     OpFwidth = 209,
1625     OpDPdxFine = 210,
1626     OpDPdyFine = 211,
1627     OpFwidthFine = 212,
1628     OpDPdxCoarse = 213,
1629     OpDPdyCoarse = 214,
1630     OpFwidthCoarse = 215,
1631     OpEmitVertex = 218,
1632     OpEndPrimitive = 219,
1633     OpEmitStreamVertex = 220,
1634     OpEndStreamPrimitive = 221,
1635     OpControlBarrier = 224,
1636     OpMemoryBarrier = 225,
1637     OpAtomicLoad = 227,
1638     OpAtomicStore = 228,
1639     OpAtomicExchange = 229,
1640     OpAtomicCompareExchange = 230,
1641     OpAtomicCompareExchangeWeak = 231,
1642     OpAtomicIIncrement = 232,
1643     OpAtomicIDecrement = 233,
1644     OpAtomicIAdd = 234,
1645     OpAtomicISub = 235,
1646     OpAtomicSMin = 236,
1647     OpAtomicUMin = 237,
1648     OpAtomicSMax = 238,
1649     OpAtomicUMax = 239,
1650     OpAtomicAnd = 240,
1651     OpAtomicOr = 241,
1652     OpAtomicXor = 242,
1653     OpPhi = 245,
1654     OpLoopMerge = 246,
1655     OpSelectionMerge = 247,
1656     OpLabel = 248,
1657     OpBranch = 249,
1658     OpBranchConditional = 250,
1659     OpSwitch = 251,
1660     OpKill = 252,
1661     OpReturn = 253,
1662     OpReturnValue = 254,
1663     OpUnreachable = 255,
1664     OpLifetimeStart = 256,
1665     OpLifetimeStop = 257,
1666     OpGroupAsyncCopy = 259,
1667     OpGroupWaitEvents = 260,
1668     OpGroupAll = 261,
1669     OpGroupAny = 262,
1670     OpGroupBroadcast = 263,
1671     OpGroupIAdd = 264,
1672     OpGroupFAdd = 265,
1673     OpGroupFMin = 266,
1674     OpGroupUMin = 267,
1675     OpGroupSMin = 268,
1676     OpGroupFMax = 269,
1677     OpGroupUMax = 270,
1678     OpGroupSMax = 271,
1679     OpReadPipe = 274,
1680     OpWritePipe = 275,
1681     OpReservedReadPipe = 276,
1682     OpReservedWritePipe = 277,
1683     OpReserveReadPipePackets = 278,
1684     OpReserveWritePipePackets = 279,
1685     OpCommitReadPipe = 280,
1686     OpCommitWritePipe = 281,
1687     OpIsValidReserveId = 282,
1688     OpGetNumPipePackets = 283,
1689     OpGetMaxPipePackets = 284,
1690     OpGroupReserveReadPipePackets = 285,
1691     OpGroupReserveWritePipePackets = 286,
1692     OpGroupCommitReadPipe = 287,
1693     OpGroupCommitWritePipe = 288,
1694     OpEnqueueMarker = 291,
1695     OpEnqueueKernel = 292,
1696     OpGetKernelNDrangeSubGroupCount = 293,
1697     OpGetKernelNDrangeMaxSubGroupSize = 294,
1698     OpGetKernelWorkGroupSize = 295,
1699     OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1700     OpRetainEvent = 297,
1701     OpReleaseEvent = 298,
1702     OpCreateUserEvent = 299,
1703     OpIsValidEvent = 300,
1704     OpSetUserEventStatus = 301,
1705     OpCaptureEventProfilingInfo = 302,
1706     OpGetDefaultQueue = 303,
1707     OpBuildNDRange = 304,
1708     OpImageSparseSampleImplicitLod = 305,
1709     OpImageSparseSampleExplicitLod = 306,
1710     OpImageSparseSampleDrefImplicitLod = 307,
1711     OpImageSparseSampleDrefExplicitLod = 308,
1712     OpImageSparseSampleProjImplicitLod = 309,
1713     OpImageSparseSampleProjExplicitLod = 310,
1714     OpImageSparseSampleProjDrefImplicitLod = 311,
1715     OpImageSparseSampleProjDrefExplicitLod = 312,
1716     OpImageSparseFetch = 313,
1717     OpImageSparseGather = 314,
1718     OpImageSparseDrefGather = 315,
1719     OpImageSparseTexelsResident = 316,
1720     OpNoLine = 317,
1721     OpAtomicFlagTestAndSet = 318,
1722     OpAtomicFlagClear = 319,
1723     OpImageSparseRead = 320,
1724     OpSizeOf = 321,
1725     OpTypePipeStorage = 322,
1726     OpConstantPipeStorage = 323,
1727     OpCreatePipeFromPipeStorage = 324,
1728     OpGetKernelLocalSizeForSubgroupCount = 325,
1729     OpGetKernelMaxNumSubgroups = 326,
1730     OpTypeNamedBarrier = 327,
1731     OpNamedBarrierInitialize = 328,
1732     OpMemoryNamedBarrier = 329,
1733     OpModuleProcessed = 330,
1734     OpExecutionModeId = 331,
1735     OpDecorateId = 332,
1736     OpGroupNonUniformElect = 333,
1737     OpGroupNonUniformAll = 334,
1738     OpGroupNonUniformAny = 335,
1739     OpGroupNonUniformAllEqual = 336,
1740     OpGroupNonUniformBroadcast = 337,
1741     OpGroupNonUniformBroadcastFirst = 338,
1742     OpGroupNonUniformBallot = 339,
1743     OpGroupNonUniformInverseBallot = 340,
1744     OpGroupNonUniformBallotBitExtract = 341,
1745     OpGroupNonUniformBallotBitCount = 342,
1746     OpGroupNonUniformBallotFindLSB = 343,
1747     OpGroupNonUniformBallotFindMSB = 344,
1748     OpGroupNonUniformShuffle = 345,
1749     OpGroupNonUniformShuffleXor = 346,
1750     OpGroupNonUniformShuffleUp = 347,
1751     OpGroupNonUniformShuffleDown = 348,
1752     OpGroupNonUniformIAdd = 349,
1753     OpGroupNonUniformFAdd = 350,
1754     OpGroupNonUniformIMul = 351,
1755     OpGroupNonUniformFMul = 352,
1756     OpGroupNonUniformSMin = 353,
1757     OpGroupNonUniformUMin = 354,
1758     OpGroupNonUniformFMin = 355,
1759     OpGroupNonUniformSMax = 356,
1760     OpGroupNonUniformUMax = 357,
1761     OpGroupNonUniformFMax = 358,
1762     OpGroupNonUniformBitwiseAnd = 359,
1763     OpGroupNonUniformBitwiseOr = 360,
1764     OpGroupNonUniformBitwiseXor = 361,
1765     OpGroupNonUniformLogicalAnd = 362,
1766     OpGroupNonUniformLogicalOr = 363,
1767     OpGroupNonUniformLogicalXor = 364,
1768     OpGroupNonUniformQuadBroadcast = 365,
1769     OpGroupNonUniformQuadSwap = 366,
1770     OpCopyLogical = 400,
1771     OpPtrEqual = 401,
1772     OpPtrNotEqual = 402,
1773     OpPtrDiff = 403,
1774     OpColorAttachmentReadEXT = 4160,
1775     OpDepthAttachmentReadEXT = 4161,
1776     OpStencilAttachmentReadEXT = 4162,
1777     OpTerminateInvocation = 4416,
1778     OpSubgroupBallotKHR = 4421,
1779     OpSubgroupFirstInvocationKHR = 4422,
1780     OpSubgroupAllKHR = 4428,
1781     OpSubgroupAnyKHR = 4429,
1782     OpSubgroupAllEqualKHR = 4430,
1783     OpGroupNonUniformRotateKHR = 4431,
1784     OpSubgroupReadInvocationKHR = 4432,
1785     OpTraceRayKHR = 4445,
1786     OpExecuteCallableKHR = 4446,
1787     OpConvertUToAccelerationStructureKHR = 4447,
1788     OpIgnoreIntersectionKHR = 4448,
1789     OpTerminateRayKHR = 4449,
1790     OpSDot = 4450,
1791     OpSDotKHR = 4450,
1792     OpUDot = 4451,
1793     OpUDotKHR = 4451,
1794     OpSUDot = 4452,
1795     OpSUDotKHR = 4452,
1796     OpSDotAccSat = 4453,
1797     OpSDotAccSatKHR = 4453,
1798     OpUDotAccSat = 4454,
1799     OpUDotAccSatKHR = 4454,
1800     OpSUDotAccSat = 4455,
1801     OpSUDotAccSatKHR = 4455,
1802     OpTypeCooperativeMatrixKHR = 4456,
1803     OpCooperativeMatrixLoadKHR = 4457,
1804     OpCooperativeMatrixStoreKHR = 4458,
1805     OpCooperativeMatrixMulAddKHR = 4459,
1806     OpCooperativeMatrixLengthKHR = 4460,
1807     OpTypeRayQueryKHR = 4472,
1808     OpRayQueryInitializeKHR = 4473,
1809     OpRayQueryTerminateKHR = 4474,
1810     OpRayQueryGenerateIntersectionKHR = 4475,
1811     OpRayQueryConfirmIntersectionKHR = 4476,
1812     OpRayQueryProceedKHR = 4477,
1813     OpRayQueryGetIntersectionTypeKHR = 4479,
1814     OpImageSampleWeightedQCOM = 4480,
1815     OpImageBoxFilterQCOM = 4481,
1816     OpImageBlockMatchSSDQCOM = 4482,
1817     OpImageBlockMatchSADQCOM = 4483,
1818     OpImageBlockMatchWindowSSDQCOM = 4500,
1819     OpImageBlockMatchWindowSADQCOM = 4501,
1820     OpImageBlockMatchGatherSSDQCOM = 4502,
1821     OpImageBlockMatchGatherSADQCOM = 4503,
1822     OpGroupIAddNonUniformAMD = 5000,
1823     OpGroupFAddNonUniformAMD = 5001,
1824     OpGroupFMinNonUniformAMD = 5002,
1825     OpGroupUMinNonUniformAMD = 5003,
1826     OpGroupSMinNonUniformAMD = 5004,
1827     OpGroupFMaxNonUniformAMD = 5005,
1828     OpGroupUMaxNonUniformAMD = 5006,
1829     OpGroupSMaxNonUniformAMD = 5007,
1830     OpFragmentMaskFetchAMD = 5011,
1831     OpFragmentFetchAMD = 5012,
1832     OpReadClockKHR = 5056,
1833     OpFinalizeNodePayloadsAMDX = 5075,
1834     OpFinishWritingNodePayloadAMDX = 5078,
1835     OpInitializeNodePayloadsAMDX = 5090,
1836     OpGroupNonUniformQuadAllKHR = 5110,
1837     OpGroupNonUniformQuadAnyKHR = 5111,
1838     OpHitObjectRecordHitMotionNV = 5249,
1839     OpHitObjectRecordHitWithIndexMotionNV = 5250,
1840     OpHitObjectRecordMissMotionNV = 5251,
1841     OpHitObjectGetWorldToObjectNV = 5252,
1842     OpHitObjectGetObjectToWorldNV = 5253,
1843     OpHitObjectGetObjectRayDirectionNV = 5254,
1844     OpHitObjectGetObjectRayOriginNV = 5255,
1845     OpHitObjectTraceRayMotionNV = 5256,
1846     OpHitObjectGetShaderRecordBufferHandleNV = 5257,
1847     OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1848     OpHitObjectRecordEmptyNV = 5259,
1849     OpHitObjectTraceRayNV = 5260,
1850     OpHitObjectRecordHitNV = 5261,
1851     OpHitObjectRecordHitWithIndexNV = 5262,
1852     OpHitObjectRecordMissNV = 5263,
1853     OpHitObjectExecuteShaderNV = 5264,
1854     OpHitObjectGetCurrentTimeNV = 5265,
1855     OpHitObjectGetAttributesNV = 5266,
1856     OpHitObjectGetHitKindNV = 5267,
1857     OpHitObjectGetPrimitiveIndexNV = 5268,
1858     OpHitObjectGetGeometryIndexNV = 5269,
1859     OpHitObjectGetInstanceIdNV = 5270,
1860     OpHitObjectGetInstanceCustomIndexNV = 5271,
1861     OpHitObjectGetWorldRayDirectionNV = 5272,
1862     OpHitObjectGetWorldRayOriginNV = 5273,
1863     OpHitObjectGetRayTMaxNV = 5274,
1864     OpHitObjectGetRayTMinNV = 5275,
1865     OpHitObjectIsEmptyNV = 5276,
1866     OpHitObjectIsHitNV = 5277,
1867     OpHitObjectIsMissNV = 5278,
1868     OpReorderThreadWithHitObjectNV = 5279,
1869     OpReorderThreadWithHintNV = 5280,
1870     OpTypeHitObjectNV = 5281,
1871     OpImageSampleFootprintNV = 5283,
1872     OpEmitMeshTasksEXT = 5294,
1873     OpSetMeshOutputsEXT = 5295,
1874     OpGroupNonUniformPartitionNV = 5296,
1875     OpWritePackedPrimitiveIndices4x8NV = 5299,
1876     OpFetchMicroTriangleVertexPositionNV = 5300,
1877     OpFetchMicroTriangleVertexBarycentricNV = 5301,
1878     OpReportIntersectionKHR = 5334,
1879     OpReportIntersectionNV = 5334,
1880     OpIgnoreIntersectionNV = 5335,
1881     OpTerminateRayNV = 5336,
1882     OpTraceNV = 5337,
1883     OpTraceMotionNV = 5338,
1884     OpTraceRayMotionNV = 5339,
1885     OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
1886     OpTypeAccelerationStructureKHR = 5341,
1887     OpTypeAccelerationStructureNV = 5341,
1888     OpExecuteCallableNV = 5344,
1889     OpTypeCooperativeMatrixNV = 5358,
1890     OpCooperativeMatrixLoadNV = 5359,
1891     OpCooperativeMatrixStoreNV = 5360,
1892     OpCooperativeMatrixMulAddNV = 5361,
1893     OpCooperativeMatrixLengthNV = 5362,
1894     OpBeginInvocationInterlockEXT = 5364,
1895     OpEndInvocationInterlockEXT = 5365,
1896     OpDemoteToHelperInvocation = 5380,
1897     OpDemoteToHelperInvocationEXT = 5380,
1898     OpIsHelperInvocationEXT = 5381,
1899     OpConvertUToImageNV = 5391,
1900     OpConvertUToSamplerNV = 5392,
1901     OpConvertImageToUNV = 5393,
1902     OpConvertSamplerToUNV = 5394,
1903     OpConvertUToSampledImageNV = 5395,
1904     OpConvertSampledImageToUNV = 5396,
1905     OpSamplerImageAddressingModeNV = 5397,
1906     OpRawAccessChainNV = 5398,
1907     OpSubgroupShuffleINTEL = 5571,
1908     OpSubgroupShuffleDownINTEL = 5572,
1909     OpSubgroupShuffleUpINTEL = 5573,
1910     OpSubgroupShuffleXorINTEL = 5574,
1911     OpSubgroupBlockReadINTEL = 5575,
1912     OpSubgroupBlockWriteINTEL = 5576,
1913     OpSubgroupImageBlockReadINTEL = 5577,
1914     OpSubgroupImageBlockWriteINTEL = 5578,
1915     OpSubgroupImageMediaBlockReadINTEL = 5580,
1916     OpSubgroupImageMediaBlockWriteINTEL = 5581,
1917     OpUCountLeadingZerosINTEL = 5585,
1918     OpUCountTrailingZerosINTEL = 5586,
1919     OpAbsISubINTEL = 5587,
1920     OpAbsUSubINTEL = 5588,
1921     OpIAddSatINTEL = 5589,
1922     OpUAddSatINTEL = 5590,
1923     OpIAverageINTEL = 5591,
1924     OpUAverageINTEL = 5592,
1925     OpIAverageRoundedINTEL = 5593,
1926     OpUAverageRoundedINTEL = 5594,
1927     OpISubSatINTEL = 5595,
1928     OpUSubSatINTEL = 5596,
1929     OpIMul32x16INTEL = 5597,
1930     OpUMul32x16INTEL = 5598,
1931     OpConstantFunctionPointerINTEL = 5600,
1932     OpFunctionPointerCallINTEL = 5601,
1933     OpAsmTargetINTEL = 5609,
1934     OpAsmINTEL = 5610,
1935     OpAsmCallINTEL = 5611,
1936     OpAtomicFMinEXT = 5614,
1937     OpAtomicFMaxEXT = 5615,
1938     OpAssumeTrueKHR = 5630,
1939     OpExpectKHR = 5631,
1940     OpDecorateString = 5632,
1941     OpDecorateStringGOOGLE = 5632,
1942     OpMemberDecorateString = 5633,
1943     OpMemberDecorateStringGOOGLE = 5633,
1944     OpVmeImageINTEL = 5699,
1945     OpTypeVmeImageINTEL = 5700,
1946     OpTypeAvcImePayloadINTEL = 5701,
1947     OpTypeAvcRefPayloadINTEL = 5702,
1948     OpTypeAvcSicPayloadINTEL = 5703,
1949     OpTypeAvcMcePayloadINTEL = 5704,
1950     OpTypeAvcMceResultINTEL = 5705,
1951     OpTypeAvcImeResultINTEL = 5706,
1952     OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1953     OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1954     OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1955     OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1956     OpTypeAvcRefResultINTEL = 5711,
1957     OpTypeAvcSicResultINTEL = 5712,
1958     OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1959     OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1960     OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1961     OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1962     OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1963     OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1964     OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1965     OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1966     OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1967     OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1968     OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1969     OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1970     OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1971     OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1972     OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1973     OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1974     OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1975     OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1976     OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1977     OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1978     OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1979     OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1980     OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1981     OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1982     OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1983     OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1984     OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1985     OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1986     OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1987     OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1988     OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1989     OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1990     OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1991     OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1992     OpSubgroupAvcImeInitializeINTEL = 5747,
1993     OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1994     OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1995     OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1996     OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1997     OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1998     OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1999     OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
2000     OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
2001     OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
2002     OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
2003     OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
2004     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
2005     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
2006     OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
2007     OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
2008     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
2009     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
2010     OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
2011     OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
2012     OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
2013     OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
2014     OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
2015     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
2016     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
2017     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
2018     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
2019     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
2020     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
2021     OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
2022     OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
2023     OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
2024     OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
2025     OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
2026     OpSubgroupAvcFmeInitializeINTEL = 5781,
2027     OpSubgroupAvcBmeInitializeINTEL = 5782,
2028     OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
2029     OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
2030     OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
2031     OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
2032     OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
2033     OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
2034     OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
2035     OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
2036     OpSubgroupAvcSicInitializeINTEL = 5791,
2037     OpSubgroupAvcSicConfigureSkcINTEL = 5792,
2038     OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
2039     OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
2040     OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
2041     OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
2042     OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
2043     OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
2044     OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
2045     OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
2046     OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
2047     OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
2048     OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
2049     OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
2050     OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
2051     OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
2052     OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
2053     OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
2054     OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
2055     OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
2056     OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
2057     OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
2058     OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
2059     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
2060     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
2061     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
2062     OpVariableLengthArrayINTEL = 5818,
2063     OpSaveMemoryINTEL = 5819,
2064     OpRestoreMemoryINTEL = 5820,
2065     OpArbitraryFloatSinCosPiINTEL = 5840,
2066     OpArbitraryFloatCastINTEL = 5841,
2067     OpArbitraryFloatCastFromIntINTEL = 5842,
2068     OpArbitraryFloatCastToIntINTEL = 5843,
2069     OpArbitraryFloatAddINTEL = 5846,
2070     OpArbitraryFloatSubINTEL = 5847,
2071     OpArbitraryFloatMulINTEL = 5848,
2072     OpArbitraryFloatDivINTEL = 5849,
2073     OpArbitraryFloatGTINTEL = 5850,
2074     OpArbitraryFloatGEINTEL = 5851,
2075     OpArbitraryFloatLTINTEL = 5852,
2076     OpArbitraryFloatLEINTEL = 5853,
2077     OpArbitraryFloatEQINTEL = 5854,
2078     OpArbitraryFloatRecipINTEL = 5855,
2079     OpArbitraryFloatRSqrtINTEL = 5856,
2080     OpArbitraryFloatCbrtINTEL = 5857,
2081     OpArbitraryFloatHypotINTEL = 5858,
2082     OpArbitraryFloatSqrtINTEL = 5859,
2083     OpArbitraryFloatLogINTEL = 5860,
2084     OpArbitraryFloatLog2INTEL = 5861,
2085     OpArbitraryFloatLog10INTEL = 5862,
2086     OpArbitraryFloatLog1pINTEL = 5863,
2087     OpArbitraryFloatExpINTEL = 5864,
2088     OpArbitraryFloatExp2INTEL = 5865,
2089     OpArbitraryFloatExp10INTEL = 5866,
2090     OpArbitraryFloatExpm1INTEL = 5867,
2091     OpArbitraryFloatSinINTEL = 5868,
2092     OpArbitraryFloatCosINTEL = 5869,
2093     OpArbitraryFloatSinCosINTEL = 5870,
2094     OpArbitraryFloatSinPiINTEL = 5871,
2095     OpArbitraryFloatCosPiINTEL = 5872,
2096     OpArbitraryFloatASinINTEL = 5873,
2097     OpArbitraryFloatASinPiINTEL = 5874,
2098     OpArbitraryFloatACosINTEL = 5875,
2099     OpArbitraryFloatACosPiINTEL = 5876,
2100     OpArbitraryFloatATanINTEL = 5877,
2101     OpArbitraryFloatATanPiINTEL = 5878,
2102     OpArbitraryFloatATan2INTEL = 5879,
2103     OpArbitraryFloatPowINTEL = 5880,
2104     OpArbitraryFloatPowRINTEL = 5881,
2105     OpArbitraryFloatPowNINTEL = 5882,
2106     OpLoopControlINTEL = 5887,
2107     OpAliasDomainDeclINTEL = 5911,
2108     OpAliasScopeDeclINTEL = 5912,
2109     OpAliasScopeListDeclINTEL = 5913,
2110     OpFixedSqrtINTEL = 5923,
2111     OpFixedRecipINTEL = 5924,
2112     OpFixedRsqrtINTEL = 5925,
2113     OpFixedSinINTEL = 5926,
2114     OpFixedCosINTEL = 5927,
2115     OpFixedSinCosINTEL = 5928,
2116     OpFixedSinPiINTEL = 5929,
2117     OpFixedCosPiINTEL = 5930,
2118     OpFixedSinCosPiINTEL = 5931,
2119     OpFixedLogINTEL = 5932,
2120     OpFixedExpINTEL = 5933,
2121     OpPtrCastToCrossWorkgroupINTEL = 5934,
2122     OpCrossWorkgroupCastToPtrINTEL = 5938,
2123     OpReadPipeBlockingINTEL = 5946,
2124     OpWritePipeBlockingINTEL = 5947,
2125     OpFPGARegINTEL = 5949,
2126     OpRayQueryGetRayTMinKHR = 6016,
2127     OpRayQueryGetRayFlagsKHR = 6017,
2128     OpRayQueryGetIntersectionTKHR = 6018,
2129     OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
2130     OpRayQueryGetIntersectionInstanceIdKHR = 6020,
2131     OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
2132     OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
2133     OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
2134     OpRayQueryGetIntersectionBarycentricsKHR = 6024,
2135     OpRayQueryGetIntersectionFrontFaceKHR = 6025,
2136     OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
2137     OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
2138     OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
2139     OpRayQueryGetWorldRayDirectionKHR = 6029,
2140     OpRayQueryGetWorldRayOriginKHR = 6030,
2141     OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
2142     OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
2143     OpAtomicFAddEXT = 6035,
2144     OpTypeBufferSurfaceINTEL = 6086,
2145     OpTypeStructContinuedINTEL = 6090,
2146     OpConstantCompositeContinuedINTEL = 6091,
2147     OpSpecConstantCompositeContinuedINTEL = 6092,
2148     OpCompositeConstructContinuedINTEL = 6096,
2149     OpConvertFToBF16INTEL = 6116,
2150     OpConvertBF16ToFINTEL = 6117,
2151     OpControlBarrierArriveINTEL = 6142,
2152     OpControlBarrierWaitINTEL = 6143,
2153     OpGroupIMulKHR = 6401,
2154     OpGroupFMulKHR = 6402,
2155     OpGroupBitwiseAndKHR = 6403,
2156     OpGroupBitwiseOrKHR = 6404,
2157     OpGroupBitwiseXorKHR = 6405,
2158     OpGroupLogicalAndKHR = 6406,
2159     OpGroupLogicalOrKHR = 6407,
2160     OpGroupLogicalXorKHR = 6408,
2161     OpMaskedGatherINTEL = 6428,
2162     OpMaskedScatterINTEL = 6429,
2163 }
2164 
2165 
2166