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