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