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