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