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