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