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