• 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
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 //
40 // Some tokens act like mask values, which can be OR'd together,
41 // while others are mutually exclusive.  The mask-like ones have
42 // "Mask" in their name, and a parallel enum that has the shift
43 // amount (1 << x) for each corresponding enumerant.
44 
45 namespace Spv
46 {
47 
48     public static class Specification
49     {
50         public const uint MagicNumber = 0x07230203;
51         public const uint Version = 0x00010500;
52         public const uint Revision = 4;
53         public const uint OpCodeMask = 0xffff;
54         public const uint WordCountShift = 16;
55 
56         public enum SourceLanguage
57         {
58             Unknown = 0,
59             ESSL = 1,
60             GLSL = 2,
61             OpenCL_C = 3,
62             OpenCL_CPP = 4,
63             HLSL = 5,
64         }
65 
66         public enum ExecutionModel
67         {
68             Vertex = 0,
69             TessellationControl = 1,
70             TessellationEvaluation = 2,
71             Geometry = 3,
72             Fragment = 4,
73             GLCompute = 5,
74             Kernel = 6,
75             TaskNV = 5267,
76             MeshNV = 5268,
77             RayGenerationKHR = 5313,
78             RayGenerationNV = 5313,
79             IntersectionKHR = 5314,
80             IntersectionNV = 5314,
81             AnyHitKHR = 5315,
82             AnyHitNV = 5315,
83             ClosestHitKHR = 5316,
84             ClosestHitNV = 5316,
85             MissKHR = 5317,
86             MissNV = 5317,
87             CallableKHR = 5318,
88             CallableNV = 5318,
89         }
90 
91         public enum AddressingModel
92         {
93             Logical = 0,
94             Physical32 = 1,
95             Physical64 = 2,
96             PhysicalStorageBuffer64 = 5348,
97             PhysicalStorageBuffer64EXT = 5348,
98         }
99 
100         public enum MemoryModel
101         {
102             Simple = 0,
103             GLSL450 = 1,
104             OpenCL = 2,
105             Vulkan = 3,
106             VulkanKHR = 3,
107         }
108 
109         public enum ExecutionMode
110         {
111             Invocations = 0,
112             SpacingEqual = 1,
113             SpacingFractionalEven = 2,
114             SpacingFractionalOdd = 3,
115             VertexOrderCw = 4,
116             VertexOrderCcw = 5,
117             PixelCenterInteger = 6,
118             OriginUpperLeft = 7,
119             OriginLowerLeft = 8,
120             EarlyFragmentTests = 9,
121             PointMode = 10,
122             Xfb = 11,
123             DepthReplacing = 12,
124             DepthGreater = 14,
125             DepthLess = 15,
126             DepthUnchanged = 16,
127             LocalSize = 17,
128             LocalSizeHint = 18,
129             InputPoints = 19,
130             InputLines = 20,
131             InputLinesAdjacency = 21,
132             Triangles = 22,
133             InputTrianglesAdjacency = 23,
134             Quads = 24,
135             Isolines = 25,
136             OutputVertices = 26,
137             OutputPoints = 27,
138             OutputLineStrip = 28,
139             OutputTriangleStrip = 29,
140             VecTypeHint = 30,
141             ContractionOff = 31,
142             Initializer = 33,
143             Finalizer = 34,
144             SubgroupSize = 35,
145             SubgroupsPerWorkgroup = 36,
146             SubgroupsPerWorkgroupId = 37,
147             LocalSizeId = 38,
148             LocalSizeHintId = 39,
149             PostDepthCoverage = 4446,
150             DenormPreserve = 4459,
151             DenormFlushToZero = 4460,
152             SignedZeroInfNanPreserve = 4461,
153             RoundingModeRTE = 4462,
154             RoundingModeRTZ = 4463,
155             StencilRefReplacingEXT = 5027,
156             OutputLinesNV = 5269,
157             OutputPrimitivesNV = 5270,
158             DerivativeGroupQuadsNV = 5289,
159             DerivativeGroupLinearNV = 5290,
160             OutputTrianglesNV = 5298,
161             PixelInterlockOrderedEXT = 5366,
162             PixelInterlockUnorderedEXT = 5367,
163             SampleInterlockOrderedEXT = 5368,
164             SampleInterlockUnorderedEXT = 5369,
165             ShadingRateInterlockOrderedEXT = 5370,
166             ShadingRateInterlockUnorderedEXT = 5371,
167             MaxWorkgroupSizeINTEL = 5893,
168             MaxWorkDimINTEL = 5894,
169             NoGlobalOffsetINTEL = 5895,
170             NumSIMDWorkitemsINTEL = 5896,
171         }
172 
173         public enum StorageClass
174         {
175             UniformConstant = 0,
176             Input = 1,
177             Uniform = 2,
178             Output = 3,
179             Workgroup = 4,
180             CrossWorkgroup = 5,
181             Private = 6,
182             Function = 7,
183             Generic = 8,
184             PushConstant = 9,
185             AtomicCounter = 10,
186             Image = 11,
187             StorageBuffer = 12,
188             CallableDataKHR = 5328,
189             CallableDataNV = 5328,
190             IncomingCallableDataKHR = 5329,
191             IncomingCallableDataNV = 5329,
192             RayPayloadKHR = 5338,
193             RayPayloadNV = 5338,
194             HitAttributeKHR = 5339,
195             HitAttributeNV = 5339,
196             IncomingRayPayloadKHR = 5342,
197             IncomingRayPayloadNV = 5342,
198             ShaderRecordBufferKHR = 5343,
199             ShaderRecordBufferNV = 5343,
200             PhysicalStorageBuffer = 5349,
201             PhysicalStorageBufferEXT = 5349,
202             CodeSectionINTEL = 5605,
203         }
204 
205         public enum Dim
206         {
207             Dim1D = 0,
208             Dim2D = 1,
209             Dim3D = 2,
210             Cube = 3,
211             Rect = 4,
212             Buffer = 5,
213             SubpassData = 6,
214         }
215 
216         public enum SamplerAddressingMode
217         {
218             None = 0,
219             ClampToEdge = 1,
220             Clamp = 2,
221             Repeat = 3,
222             RepeatMirrored = 4,
223         }
224 
225         public enum SamplerFilterMode
226         {
227             Nearest = 0,
228             Linear = 1,
229         }
230 
231         public enum ImageFormat
232         {
233             Unknown = 0,
234             Rgba32f = 1,
235             Rgba16f = 2,
236             R32f = 3,
237             Rgba8 = 4,
238             Rgba8Snorm = 5,
239             Rg32f = 6,
240             Rg16f = 7,
241             R11fG11fB10f = 8,
242             R16f = 9,
243             Rgba16 = 10,
244             Rgb10A2 = 11,
245             Rg16 = 12,
246             Rg8 = 13,
247             R16 = 14,
248             R8 = 15,
249             Rgba16Snorm = 16,
250             Rg16Snorm = 17,
251             Rg8Snorm = 18,
252             R16Snorm = 19,
253             R8Snorm = 20,
254             Rgba32i = 21,
255             Rgba16i = 22,
256             Rgba8i = 23,
257             R32i = 24,
258             Rg32i = 25,
259             Rg16i = 26,
260             Rg8i = 27,
261             R16i = 28,
262             R8i = 29,
263             Rgba32ui = 30,
264             Rgba16ui = 31,
265             Rgba8ui = 32,
266             R32ui = 33,
267             Rgb10a2ui = 34,
268             Rg32ui = 35,
269             Rg16ui = 36,
270             Rg8ui = 37,
271             R16ui = 38,
272             R8ui = 39,
273             R64ui = 40,
274             R64i = 41,
275         }
276 
277         public enum ImageChannelOrder
278         {
279             R = 0,
280             A = 1,
281             RG = 2,
282             RA = 3,
283             RGB = 4,
284             RGBA = 5,
285             BGRA = 6,
286             ARGB = 7,
287             Intensity = 8,
288             Luminance = 9,
289             Rx = 10,
290             RGx = 11,
291             RGBx = 12,
292             Depth = 13,
293             DepthStencil = 14,
294             sRGB = 15,
295             sRGBx = 16,
296             sRGBA = 17,
297             sBGRA = 18,
298             ABGR = 19,
299         }
300 
301         public enum ImageChannelDataType
302         {
303             SnormInt8 = 0,
304             SnormInt16 = 1,
305             UnormInt8 = 2,
306             UnormInt16 = 3,
307             UnormShort565 = 4,
308             UnormShort555 = 5,
309             UnormInt101010 = 6,
310             SignedInt8 = 7,
311             SignedInt16 = 8,
312             SignedInt32 = 9,
313             UnsignedInt8 = 10,
314             UnsignedInt16 = 11,
315             UnsignedInt32 = 12,
316             HalfFloat = 13,
317             Float = 14,
318             UnormInt24 = 15,
319             UnormInt101010_2 = 16,
320         }
321 
322         public enum ImageOperandsShift
323         {
324             Bias = 0,
325             Lod = 1,
326             Grad = 2,
327             ConstOffset = 3,
328             Offset = 4,
329             ConstOffsets = 5,
330             Sample = 6,
331             MinLod = 7,
332             MakeTexelAvailable = 8,
333             MakeTexelAvailableKHR = 8,
334             MakeTexelVisible = 9,
335             MakeTexelVisibleKHR = 9,
336             NonPrivateTexel = 10,
337             NonPrivateTexelKHR = 10,
338             VolatileTexel = 11,
339             VolatileTexelKHR = 11,
340             SignExtend = 12,
341             ZeroExtend = 13,
342         }
343 
344         public enum ImageOperandsMask
345         {
346             MaskNone = 0,
347             Bias = 0x00000001,
348             Lod = 0x00000002,
349             Grad = 0x00000004,
350             ConstOffset = 0x00000008,
351             Offset = 0x00000010,
352             ConstOffsets = 0x00000020,
353             Sample = 0x00000040,
354             MinLod = 0x00000080,
355             MakeTexelAvailable = 0x00000100,
356             MakeTexelAvailableKHR = 0x00000100,
357             MakeTexelVisible = 0x00000200,
358             MakeTexelVisibleKHR = 0x00000200,
359             NonPrivateTexel = 0x00000400,
360             NonPrivateTexelKHR = 0x00000400,
361             VolatileTexel = 0x00000800,
362             VolatileTexelKHR = 0x00000800,
363             SignExtend = 0x00001000,
364             ZeroExtend = 0x00002000,
365         }
366 
367         public enum FPFastMathModeShift
368         {
369             NotNaN = 0,
370             NotInf = 1,
371             NSZ = 2,
372             AllowRecip = 3,
373             Fast = 4,
374         }
375 
376         public enum FPFastMathModeMask
377         {
378             MaskNone = 0,
379             NotNaN = 0x00000001,
380             NotInf = 0x00000002,
381             NSZ = 0x00000004,
382             AllowRecip = 0x00000008,
383             Fast = 0x00000010,
384         }
385 
386         public enum FPRoundingMode
387         {
388             RTE = 0,
389             RTZ = 1,
390             RTP = 2,
391             RTN = 3,
392         }
393 
394         public enum LinkageType
395         {
396             Export = 0,
397             Import = 1,
398         }
399 
400         public enum AccessQualifier
401         {
402             ReadOnly = 0,
403             WriteOnly = 1,
404             ReadWrite = 2,
405         }
406 
407         public enum FunctionParameterAttribute
408         {
409             Zext = 0,
410             Sext = 1,
411             ByVal = 2,
412             Sret = 3,
413             NoAlias = 4,
414             NoCapture = 5,
415             NoWrite = 6,
416             NoReadWrite = 7,
417         }
418 
419         public enum Decoration
420         {
421             RelaxedPrecision = 0,
422             SpecId = 1,
423             Block = 2,
424             BufferBlock = 3,
425             RowMajor = 4,
426             ColMajor = 5,
427             ArrayStride = 6,
428             MatrixStride = 7,
429             GLSLShared = 8,
430             GLSLPacked = 9,
431             CPacked = 10,
432             BuiltIn = 11,
433             NoPerspective = 13,
434             Flat = 14,
435             Patch = 15,
436             Centroid = 16,
437             Sample = 17,
438             Invariant = 18,
439             Restrict = 19,
440             Aliased = 20,
441             Volatile = 21,
442             Constant = 22,
443             Coherent = 23,
444             NonWritable = 24,
445             NonReadable = 25,
446             Uniform = 26,
447             UniformId = 27,
448             SaturatedConversion = 28,
449             Stream = 29,
450             Location = 30,
451             Component = 31,
452             Index = 32,
453             Binding = 33,
454             DescriptorSet = 34,
455             Offset = 35,
456             XfbBuffer = 36,
457             XfbStride = 37,
458             FuncParamAttr = 38,
459             FPRoundingMode = 39,
460             FPFastMathMode = 40,
461             LinkageAttributes = 41,
462             NoContraction = 42,
463             InputAttachmentIndex = 43,
464             Alignment = 44,
465             MaxByteOffset = 45,
466             AlignmentId = 46,
467             MaxByteOffsetId = 47,
468             NoSignedWrap = 4469,
469             NoUnsignedWrap = 4470,
470             ExplicitInterpAMD = 4999,
471             OverrideCoverageNV = 5248,
472             PassthroughNV = 5250,
473             ViewportRelativeNV = 5252,
474             SecondaryViewportRelativeNV = 5256,
475             PerPrimitiveNV = 5271,
476             PerViewNV = 5272,
477             PerTaskNV = 5273,
478             PerVertexNV = 5285,
479             NonUniform = 5300,
480             NonUniformEXT = 5300,
481             RestrictPointer = 5355,
482             RestrictPointerEXT = 5355,
483             AliasedPointer = 5356,
484             AliasedPointerEXT = 5356,
485             ReferencedIndirectlyINTEL = 5602,
486             CounterBuffer = 5634,
487             HlslCounterBufferGOOGLE = 5634,
488             HlslSemanticGOOGLE = 5635,
489             UserSemantic = 5635,
490             UserTypeGOOGLE = 5636,
491             RegisterINTEL = 5825,
492             MemoryINTEL = 5826,
493             NumbanksINTEL = 5827,
494             BankwidthINTEL = 5828,
495             MaxPrivateCopiesINTEL = 5829,
496             SinglepumpINTEL = 5830,
497             DoublepumpINTEL = 5831,
498             MaxReplicatesINTEL = 5832,
499             SimpleDualPortINTEL = 5833,
500             MergeINTEL = 5834,
501             BankBitsINTEL = 5835,
502             ForcePow2DepthINTEL = 5836,
503         }
504 
505         public enum BuiltIn
506         {
507             Position = 0,
508             PointSize = 1,
509             ClipDistance = 3,
510             CullDistance = 4,
511             VertexId = 5,
512             InstanceId = 6,
513             PrimitiveId = 7,
514             InvocationId = 8,
515             Layer = 9,
516             ViewportIndex = 10,
517             TessLevelOuter = 11,
518             TessLevelInner = 12,
519             TessCoord = 13,
520             PatchVertices = 14,
521             FragCoord = 15,
522             PointCoord = 16,
523             FrontFacing = 17,
524             SampleId = 18,
525             SamplePosition = 19,
526             SampleMask = 20,
527             FragDepth = 22,
528             HelperInvocation = 23,
529             NumWorkgroups = 24,
530             WorkgroupSize = 25,
531             WorkgroupId = 26,
532             LocalInvocationId = 27,
533             GlobalInvocationId = 28,
534             LocalInvocationIndex = 29,
535             WorkDim = 30,
536             GlobalSize = 31,
537             EnqueuedWorkgroupSize = 32,
538             GlobalOffset = 33,
539             GlobalLinearId = 34,
540             SubgroupSize = 36,
541             SubgroupMaxSize = 37,
542             NumSubgroups = 38,
543             NumEnqueuedSubgroups = 39,
544             SubgroupId = 40,
545             SubgroupLocalInvocationId = 41,
546             VertexIndex = 42,
547             InstanceIndex = 43,
548             SubgroupEqMask = 4416,
549             SubgroupEqMaskKHR = 4416,
550             SubgroupGeMask = 4417,
551             SubgroupGeMaskKHR = 4417,
552             SubgroupGtMask = 4418,
553             SubgroupGtMaskKHR = 4418,
554             SubgroupLeMask = 4419,
555             SubgroupLeMaskKHR = 4419,
556             SubgroupLtMask = 4420,
557             SubgroupLtMaskKHR = 4420,
558             BaseVertex = 4424,
559             BaseInstance = 4425,
560             DrawIndex = 4426,
561             PrimitiveShadingRateKHR = 4432,
562             DeviceIndex = 4438,
563             ViewIndex = 4440,
564             ShadingRateKHR = 4444,
565             BaryCoordNoPerspAMD = 4992,
566             BaryCoordNoPerspCentroidAMD = 4993,
567             BaryCoordNoPerspSampleAMD = 4994,
568             BaryCoordSmoothAMD = 4995,
569             BaryCoordSmoothCentroidAMD = 4996,
570             BaryCoordSmoothSampleAMD = 4997,
571             BaryCoordPullModelAMD = 4998,
572             FragStencilRefEXT = 5014,
573             ViewportMaskNV = 5253,
574             SecondaryPositionNV = 5257,
575             SecondaryViewportMaskNV = 5258,
576             PositionPerViewNV = 5261,
577             ViewportMaskPerViewNV = 5262,
578             FullyCoveredEXT = 5264,
579             TaskCountNV = 5274,
580             PrimitiveCountNV = 5275,
581             PrimitiveIndicesNV = 5276,
582             ClipDistancePerViewNV = 5277,
583             CullDistancePerViewNV = 5278,
584             LayerPerViewNV = 5279,
585             MeshViewCountNV = 5280,
586             MeshViewIndicesNV = 5281,
587             BaryCoordNV = 5286,
588             BaryCoordNoPerspNV = 5287,
589             FragSizeEXT = 5292,
590             FragmentSizeNV = 5292,
591             FragInvocationCountEXT = 5293,
592             InvocationsPerPixelNV = 5293,
593             LaunchIdKHR = 5319,
594             LaunchIdNV = 5319,
595             LaunchSizeKHR = 5320,
596             LaunchSizeNV = 5320,
597             WorldRayOriginKHR = 5321,
598             WorldRayOriginNV = 5321,
599             WorldRayDirectionKHR = 5322,
600             WorldRayDirectionNV = 5322,
601             ObjectRayOriginKHR = 5323,
602             ObjectRayOriginNV = 5323,
603             ObjectRayDirectionKHR = 5324,
604             ObjectRayDirectionNV = 5324,
605             RayTminKHR = 5325,
606             RayTminNV = 5325,
607             RayTmaxKHR = 5326,
608             RayTmaxNV = 5326,
609             InstanceCustomIndexKHR = 5327,
610             InstanceCustomIndexNV = 5327,
611             ObjectToWorldKHR = 5330,
612             ObjectToWorldNV = 5330,
613             WorldToObjectKHR = 5331,
614             WorldToObjectNV = 5331,
615             HitTNV = 5332,
616             HitKindKHR = 5333,
617             HitKindNV = 5333,
618             IncomingRayFlagsKHR = 5351,
619             IncomingRayFlagsNV = 5351,
620             RayGeometryIndexKHR = 5352,
621             WarpsPerSMNV = 5374,
622             SMCountNV = 5375,
623             WarpIDNV = 5376,
624             SMIDNV = 5377,
625         }
626 
627         public enum SelectionControlShift
628         {
629             Flatten = 0,
630             DontFlatten = 1,
631         }
632 
633         public enum SelectionControlMask
634         {
635             MaskNone = 0,
636             Flatten = 0x00000001,
637             DontFlatten = 0x00000002,
638         }
639 
640         public enum LoopControlShift
641         {
642             Unroll = 0,
643             DontUnroll = 1,
644             DependencyInfinite = 2,
645             DependencyLength = 3,
646             MinIterations = 4,
647             MaxIterations = 5,
648             IterationMultiple = 6,
649             PeelCount = 7,
650             PartialCount = 8,
651             InitiationIntervalINTEL = 16,
652             MaxConcurrencyINTEL = 17,
653             DependencyArrayINTEL = 18,
654             PipelineEnableINTEL = 19,
655             LoopCoalesceINTEL = 20,
656             MaxInterleavingINTEL = 21,
657             SpeculatedIterationsINTEL = 22,
658         }
659 
660         public enum LoopControlMask
661         {
662             MaskNone = 0,
663             Unroll = 0x00000001,
664             DontUnroll = 0x00000002,
665             DependencyInfinite = 0x00000004,
666             DependencyLength = 0x00000008,
667             MinIterations = 0x00000010,
668             MaxIterations = 0x00000020,
669             IterationMultiple = 0x00000040,
670             PeelCount = 0x00000080,
671             PartialCount = 0x00000100,
672             InitiationIntervalINTEL = 0x00010000,
673             MaxConcurrencyINTEL = 0x00020000,
674             DependencyArrayINTEL = 0x00040000,
675             PipelineEnableINTEL = 0x00080000,
676             LoopCoalesceINTEL = 0x00100000,
677             MaxInterleavingINTEL = 0x00200000,
678             SpeculatedIterationsINTEL = 0x00400000,
679         }
680 
681         public enum FunctionControlShift
682         {
683             Inline = 0,
684             DontInline = 1,
685             Pure = 2,
686             Const = 3,
687         }
688 
689         public enum FunctionControlMask
690         {
691             MaskNone = 0,
692             Inline = 0x00000001,
693             DontInline = 0x00000002,
694             Pure = 0x00000004,
695             Const = 0x00000008,
696         }
697 
698         public enum MemorySemanticsShift
699         {
700             Acquire = 1,
701             Release = 2,
702             AcquireRelease = 3,
703             SequentiallyConsistent = 4,
704             UniformMemory = 6,
705             SubgroupMemory = 7,
706             WorkgroupMemory = 8,
707             CrossWorkgroupMemory = 9,
708             AtomicCounterMemory = 10,
709             ImageMemory = 11,
710             OutputMemory = 12,
711             OutputMemoryKHR = 12,
712             MakeAvailable = 13,
713             MakeAvailableKHR = 13,
714             MakeVisible = 14,
715             MakeVisibleKHR = 14,
716             Volatile = 15,
717         }
718 
719         public enum MemorySemanticsMask
720         {
721             MaskNone = 0,
722             Acquire = 0x00000002,
723             Release = 0x00000004,
724             AcquireRelease = 0x00000008,
725             SequentiallyConsistent = 0x00000010,
726             UniformMemory = 0x00000040,
727             SubgroupMemory = 0x00000080,
728             WorkgroupMemory = 0x00000100,
729             CrossWorkgroupMemory = 0x00000200,
730             AtomicCounterMemory = 0x00000400,
731             ImageMemory = 0x00000800,
732             OutputMemory = 0x00001000,
733             OutputMemoryKHR = 0x00001000,
734             MakeAvailable = 0x00002000,
735             MakeAvailableKHR = 0x00002000,
736             MakeVisible = 0x00004000,
737             MakeVisibleKHR = 0x00004000,
738             Volatile = 0x00008000,
739         }
740 
741         public enum MemoryAccessShift
742         {
743             Volatile = 0,
744             Aligned = 1,
745             Nontemporal = 2,
746             MakePointerAvailable = 3,
747             MakePointerAvailableKHR = 3,
748             MakePointerVisible = 4,
749             MakePointerVisibleKHR = 4,
750             NonPrivatePointer = 5,
751             NonPrivatePointerKHR = 5,
752         }
753 
754         public enum MemoryAccessMask
755         {
756             MaskNone = 0,
757             Volatile = 0x00000001,
758             Aligned = 0x00000002,
759             Nontemporal = 0x00000004,
760             MakePointerAvailable = 0x00000008,
761             MakePointerAvailableKHR = 0x00000008,
762             MakePointerVisible = 0x00000010,
763             MakePointerVisibleKHR = 0x00000010,
764             NonPrivatePointer = 0x00000020,
765             NonPrivatePointerKHR = 0x00000020,
766         }
767 
768         public enum Scope
769         {
770             CrossDevice = 0,
771             Device = 1,
772             Workgroup = 2,
773             Subgroup = 3,
774             Invocation = 4,
775             QueueFamily = 5,
776             QueueFamilyKHR = 5,
777             ShaderCallKHR = 6,
778         }
779 
780         public enum GroupOperation
781         {
782             Reduce = 0,
783             InclusiveScan = 1,
784             ExclusiveScan = 2,
785             ClusteredReduce = 3,
786             PartitionedReduceNV = 6,
787             PartitionedInclusiveScanNV = 7,
788             PartitionedExclusiveScanNV = 8,
789         }
790 
791         public enum KernelEnqueueFlags
792         {
793             NoWait = 0,
794             WaitKernel = 1,
795             WaitWorkGroup = 2,
796         }
797 
798         public enum KernelProfilingInfoShift
799         {
800             CmdExecTime = 0,
801         }
802 
803         public enum KernelProfilingInfoMask
804         {
805             MaskNone = 0,
806             CmdExecTime = 0x00000001,
807         }
808 
809         public enum Capability
810         {
811             Matrix = 0,
812             Shader = 1,
813             Geometry = 2,
814             Tessellation = 3,
815             Addresses = 4,
816             Linkage = 5,
817             Kernel = 6,
818             Vector16 = 7,
819             Float16Buffer = 8,
820             Float16 = 9,
821             Float64 = 10,
822             Int64 = 11,
823             Int64Atomics = 12,
824             ImageBasic = 13,
825             ImageReadWrite = 14,
826             ImageMipmap = 15,
827             Pipes = 17,
828             Groups = 18,
829             DeviceEnqueue = 19,
830             LiteralSampler = 20,
831             AtomicStorage = 21,
832             Int16 = 22,
833             TessellationPointSize = 23,
834             GeometryPointSize = 24,
835             ImageGatherExtended = 25,
836             StorageImageMultisample = 27,
837             UniformBufferArrayDynamicIndexing = 28,
838             SampledImageArrayDynamicIndexing = 29,
839             StorageBufferArrayDynamicIndexing = 30,
840             StorageImageArrayDynamicIndexing = 31,
841             ClipDistance = 32,
842             CullDistance = 33,
843             ImageCubeArray = 34,
844             SampleRateShading = 35,
845             ImageRect = 36,
846             SampledRect = 37,
847             GenericPointer = 38,
848             Int8 = 39,
849             InputAttachment = 40,
850             SparseResidency = 41,
851             MinLod = 42,
852             Sampled1D = 43,
853             Image1D = 44,
854             SampledCubeArray = 45,
855             SampledBuffer = 46,
856             ImageBuffer = 47,
857             ImageMSArray = 48,
858             StorageImageExtendedFormats = 49,
859             ImageQuery = 50,
860             DerivativeControl = 51,
861             InterpolationFunction = 52,
862             TransformFeedback = 53,
863             GeometryStreams = 54,
864             StorageImageReadWithoutFormat = 55,
865             StorageImageWriteWithoutFormat = 56,
866             MultiViewport = 57,
867             SubgroupDispatch = 58,
868             NamedBarrier = 59,
869             PipeStorage = 60,
870             GroupNonUniform = 61,
871             GroupNonUniformVote = 62,
872             GroupNonUniformArithmetic = 63,
873             GroupNonUniformBallot = 64,
874             GroupNonUniformShuffle = 65,
875             GroupNonUniformShuffleRelative = 66,
876             GroupNonUniformClustered = 67,
877             GroupNonUniformQuad = 68,
878             ShaderLayer = 69,
879             ShaderViewportIndex = 70,
880             FragmentShadingRateKHR = 4422,
881             SubgroupBallotKHR = 4423,
882             DrawParameters = 4427,
883             SubgroupVoteKHR = 4431,
884             StorageBuffer16BitAccess = 4433,
885             StorageUniformBufferBlock16 = 4433,
886             StorageUniform16 = 4434,
887             UniformAndStorageBuffer16BitAccess = 4434,
888             StoragePushConstant16 = 4435,
889             StorageInputOutput16 = 4436,
890             DeviceGroup = 4437,
891             MultiView = 4439,
892             VariablePointersStorageBuffer = 4441,
893             VariablePointers = 4442,
894             AtomicStorageOps = 4445,
895             SampleMaskPostDepthCoverage = 4447,
896             StorageBuffer8BitAccess = 4448,
897             UniformAndStorageBuffer8BitAccess = 4449,
898             StoragePushConstant8 = 4450,
899             DenormPreserve = 4464,
900             DenormFlushToZero = 4465,
901             SignedZeroInfNanPreserve = 4466,
902             RoundingModeRTE = 4467,
903             RoundingModeRTZ = 4468,
904             RayQueryProvisionalKHR = 4471,
905             RayQueryKHR = 4472,
906             RayTraversalPrimitiveCullingKHR = 4478,
907             RayTracingKHR = 4479,
908             Float16ImageAMD = 5008,
909             ImageGatherBiasLodAMD = 5009,
910             FragmentMaskAMD = 5010,
911             StencilExportEXT = 5013,
912             ImageReadWriteLodAMD = 5015,
913             Int64ImageEXT = 5016,
914             ShaderClockKHR = 5055,
915             SampleMaskOverrideCoverageNV = 5249,
916             GeometryShaderPassthroughNV = 5251,
917             ShaderViewportIndexLayerEXT = 5254,
918             ShaderViewportIndexLayerNV = 5254,
919             ShaderViewportMaskNV = 5255,
920             ShaderStereoViewNV = 5259,
921             PerViewAttributesNV = 5260,
922             FragmentFullyCoveredEXT = 5265,
923             MeshShadingNV = 5266,
924             ImageFootprintNV = 5282,
925             FragmentBarycentricNV = 5284,
926             ComputeDerivativeGroupQuadsNV = 5288,
927             FragmentDensityEXT = 5291,
928             ShadingRateNV = 5291,
929             GroupNonUniformPartitionedNV = 5297,
930             ShaderNonUniform = 5301,
931             ShaderNonUniformEXT = 5301,
932             RuntimeDescriptorArray = 5302,
933             RuntimeDescriptorArrayEXT = 5302,
934             InputAttachmentArrayDynamicIndexing = 5303,
935             InputAttachmentArrayDynamicIndexingEXT = 5303,
936             UniformTexelBufferArrayDynamicIndexing = 5304,
937             UniformTexelBufferArrayDynamicIndexingEXT = 5304,
938             StorageTexelBufferArrayDynamicIndexing = 5305,
939             StorageTexelBufferArrayDynamicIndexingEXT = 5305,
940             UniformBufferArrayNonUniformIndexing = 5306,
941             UniformBufferArrayNonUniformIndexingEXT = 5306,
942             SampledImageArrayNonUniformIndexing = 5307,
943             SampledImageArrayNonUniformIndexingEXT = 5307,
944             StorageBufferArrayNonUniformIndexing = 5308,
945             StorageBufferArrayNonUniformIndexingEXT = 5308,
946             StorageImageArrayNonUniformIndexing = 5309,
947             StorageImageArrayNonUniformIndexingEXT = 5309,
948             InputAttachmentArrayNonUniformIndexing = 5310,
949             InputAttachmentArrayNonUniformIndexingEXT = 5310,
950             UniformTexelBufferArrayNonUniformIndexing = 5311,
951             UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
952             StorageTexelBufferArrayNonUniformIndexing = 5312,
953             StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
954             RayTracingNV = 5340,
955             VulkanMemoryModel = 5345,
956             VulkanMemoryModelKHR = 5345,
957             VulkanMemoryModelDeviceScope = 5346,
958             VulkanMemoryModelDeviceScopeKHR = 5346,
959             PhysicalStorageBufferAddresses = 5347,
960             PhysicalStorageBufferAddressesEXT = 5347,
961             ComputeDerivativeGroupLinearNV = 5350,
962             RayTracingProvisionalKHR = 5353,
963             CooperativeMatrixNV = 5357,
964             FragmentShaderSampleInterlockEXT = 5363,
965             FragmentShaderShadingRateInterlockEXT = 5372,
966             ShaderSMBuiltinsNV = 5373,
967             FragmentShaderPixelInterlockEXT = 5378,
968             DemoteToHelperInvocationEXT = 5379,
969             SubgroupShuffleINTEL = 5568,
970             SubgroupBufferBlockIOINTEL = 5569,
971             SubgroupImageBlockIOINTEL = 5570,
972             SubgroupImageMediaBlockIOINTEL = 5579,
973             IntegerFunctions2INTEL = 5584,
974             FunctionPointersINTEL = 5603,
975             IndirectReferencesINTEL = 5604,
976             SubgroupAvcMotionEstimationINTEL = 5696,
977             SubgroupAvcMotionEstimationIntraINTEL = 5697,
978             SubgroupAvcMotionEstimationChromaINTEL = 5698,
979             FPGAMemoryAttributesINTEL = 5824,
980             UnstructuredLoopControlsINTEL = 5886,
981             FPGALoopControlsINTEL = 5888,
982             KernelAttributesINTEL = 5892,
983             FPGAKernelAttributesINTEL = 5897,
984             BlockingPipesINTEL = 5945,
985             FPGARegINTEL = 5948,
986             AtomicFloat32AddEXT = 6033,
987             AtomicFloat64AddEXT = 6034,
988         }
989 
990         public enum RayFlagsShift
991         {
992             OpaqueKHR = 0,
993             NoOpaqueKHR = 1,
994             TerminateOnFirstHitKHR = 2,
995             SkipClosestHitShaderKHR = 3,
996             CullBackFacingTrianglesKHR = 4,
997             CullFrontFacingTrianglesKHR = 5,
998             CullOpaqueKHR = 6,
999             CullNoOpaqueKHR = 7,
1000             SkipTrianglesKHR = 8,
1001             SkipAABBsKHR = 9,
1002         }
1003 
1004         public enum RayFlagsMask
1005         {
1006             MaskNone = 0,
1007             OpaqueKHR = 0x00000001,
1008             NoOpaqueKHR = 0x00000002,
1009             TerminateOnFirstHitKHR = 0x00000004,
1010             SkipClosestHitShaderKHR = 0x00000008,
1011             CullBackFacingTrianglesKHR = 0x00000010,
1012             CullFrontFacingTrianglesKHR = 0x00000020,
1013             CullOpaqueKHR = 0x00000040,
1014             CullNoOpaqueKHR = 0x00000080,
1015             SkipTrianglesKHR = 0x00000100,
1016             SkipAABBsKHR = 0x00000200,
1017         }
1018 
1019         public enum RayQueryIntersection
1020         {
1021             RayQueryCandidateIntersectionKHR = 0,
1022             RayQueryCommittedIntersectionKHR = 1,
1023         }
1024 
1025         public enum RayQueryCommittedIntersectionType
1026         {
1027             RayQueryCommittedIntersectionNoneKHR = 0,
1028             RayQueryCommittedIntersectionTriangleKHR = 1,
1029             RayQueryCommittedIntersectionGeneratedKHR = 2,
1030         }
1031 
1032         public enum RayQueryCandidateIntersectionType
1033         {
1034             RayQueryCandidateIntersectionTriangleKHR = 0,
1035             RayQueryCandidateIntersectionAABBKHR = 1,
1036         }
1037 
1038         public enum FragmentShadingRateShift
1039         {
1040             Vertical2Pixels = 0,
1041             Vertical4Pixels = 1,
1042             Horizontal2Pixels = 2,
1043             Horizontal4Pixels = 3,
1044         }
1045 
1046         public enum FragmentShadingRateMask
1047         {
1048             MaskNone = 0,
1049             Vertical2Pixels = 0x00000001,
1050             Vertical4Pixels = 0x00000002,
1051             Horizontal2Pixels = 0x00000004,
1052             Horizontal4Pixels = 0x00000008,
1053         }
1054 
1055         public enum Op
1056         {
1057             OpNop = 0,
1058             OpUndef = 1,
1059             OpSourceContinued = 2,
1060             OpSource = 3,
1061             OpSourceExtension = 4,
1062             OpName = 5,
1063             OpMemberName = 6,
1064             OpString = 7,
1065             OpLine = 8,
1066             OpExtension = 10,
1067             OpExtInstImport = 11,
1068             OpExtInst = 12,
1069             OpMemoryModel = 14,
1070             OpEntryPoint = 15,
1071             OpExecutionMode = 16,
1072             OpCapability = 17,
1073             OpTypeVoid = 19,
1074             OpTypeBool = 20,
1075             OpTypeInt = 21,
1076             OpTypeFloat = 22,
1077             OpTypeVector = 23,
1078             OpTypeMatrix = 24,
1079             OpTypeImage = 25,
1080             OpTypeSampler = 26,
1081             OpTypeSampledImage = 27,
1082             OpTypeArray = 28,
1083             OpTypeRuntimeArray = 29,
1084             OpTypeStruct = 30,
1085             OpTypeOpaque = 31,
1086             OpTypePointer = 32,
1087             OpTypeFunction = 33,
1088             OpTypeEvent = 34,
1089             OpTypeDeviceEvent = 35,
1090             OpTypeReserveId = 36,
1091             OpTypeQueue = 37,
1092             OpTypePipe = 38,
1093             OpTypeForwardPointer = 39,
1094             OpConstantTrue = 41,
1095             OpConstantFalse = 42,
1096             OpConstant = 43,
1097             OpConstantComposite = 44,
1098             OpConstantSampler = 45,
1099             OpConstantNull = 46,
1100             OpSpecConstantTrue = 48,
1101             OpSpecConstantFalse = 49,
1102             OpSpecConstant = 50,
1103             OpSpecConstantComposite = 51,
1104             OpSpecConstantOp = 52,
1105             OpFunction = 54,
1106             OpFunctionParameter = 55,
1107             OpFunctionEnd = 56,
1108             OpFunctionCall = 57,
1109             OpVariable = 59,
1110             OpImageTexelPointer = 60,
1111             OpLoad = 61,
1112             OpStore = 62,
1113             OpCopyMemory = 63,
1114             OpCopyMemorySized = 64,
1115             OpAccessChain = 65,
1116             OpInBoundsAccessChain = 66,
1117             OpPtrAccessChain = 67,
1118             OpArrayLength = 68,
1119             OpGenericPtrMemSemantics = 69,
1120             OpInBoundsPtrAccessChain = 70,
1121             OpDecorate = 71,
1122             OpMemberDecorate = 72,
1123             OpDecorationGroup = 73,
1124             OpGroupDecorate = 74,
1125             OpGroupMemberDecorate = 75,
1126             OpVectorExtractDynamic = 77,
1127             OpVectorInsertDynamic = 78,
1128             OpVectorShuffle = 79,
1129             OpCompositeConstruct = 80,
1130             OpCompositeExtract = 81,
1131             OpCompositeInsert = 82,
1132             OpCopyObject = 83,
1133             OpTranspose = 84,
1134             OpSampledImage = 86,
1135             OpImageSampleImplicitLod = 87,
1136             OpImageSampleExplicitLod = 88,
1137             OpImageSampleDrefImplicitLod = 89,
1138             OpImageSampleDrefExplicitLod = 90,
1139             OpImageSampleProjImplicitLod = 91,
1140             OpImageSampleProjExplicitLod = 92,
1141             OpImageSampleProjDrefImplicitLod = 93,
1142             OpImageSampleProjDrefExplicitLod = 94,
1143             OpImageFetch = 95,
1144             OpImageGather = 96,
1145             OpImageDrefGather = 97,
1146             OpImageRead = 98,
1147             OpImageWrite = 99,
1148             OpImage = 100,
1149             OpImageQueryFormat = 101,
1150             OpImageQueryOrder = 102,
1151             OpImageQuerySizeLod = 103,
1152             OpImageQuerySize = 104,
1153             OpImageQueryLod = 105,
1154             OpImageQueryLevels = 106,
1155             OpImageQuerySamples = 107,
1156             OpConvertFToU = 109,
1157             OpConvertFToS = 110,
1158             OpConvertSToF = 111,
1159             OpConvertUToF = 112,
1160             OpUConvert = 113,
1161             OpSConvert = 114,
1162             OpFConvert = 115,
1163             OpQuantizeToF16 = 116,
1164             OpConvertPtrToU = 117,
1165             OpSatConvertSToU = 118,
1166             OpSatConvertUToS = 119,
1167             OpConvertUToPtr = 120,
1168             OpPtrCastToGeneric = 121,
1169             OpGenericCastToPtr = 122,
1170             OpGenericCastToPtrExplicit = 123,
1171             OpBitcast = 124,
1172             OpSNegate = 126,
1173             OpFNegate = 127,
1174             OpIAdd = 128,
1175             OpFAdd = 129,
1176             OpISub = 130,
1177             OpFSub = 131,
1178             OpIMul = 132,
1179             OpFMul = 133,
1180             OpUDiv = 134,
1181             OpSDiv = 135,
1182             OpFDiv = 136,
1183             OpUMod = 137,
1184             OpSRem = 138,
1185             OpSMod = 139,
1186             OpFRem = 140,
1187             OpFMod = 141,
1188             OpVectorTimesScalar = 142,
1189             OpMatrixTimesScalar = 143,
1190             OpVectorTimesMatrix = 144,
1191             OpMatrixTimesVector = 145,
1192             OpMatrixTimesMatrix = 146,
1193             OpOuterProduct = 147,
1194             OpDot = 148,
1195             OpIAddCarry = 149,
1196             OpISubBorrow = 150,
1197             OpUMulExtended = 151,
1198             OpSMulExtended = 152,
1199             OpAny = 154,
1200             OpAll = 155,
1201             OpIsNan = 156,
1202             OpIsInf = 157,
1203             OpIsFinite = 158,
1204             OpIsNormal = 159,
1205             OpSignBitSet = 160,
1206             OpLessOrGreater = 161,
1207             OpOrdered = 162,
1208             OpUnordered = 163,
1209             OpLogicalEqual = 164,
1210             OpLogicalNotEqual = 165,
1211             OpLogicalOr = 166,
1212             OpLogicalAnd = 167,
1213             OpLogicalNot = 168,
1214             OpSelect = 169,
1215             OpIEqual = 170,
1216             OpINotEqual = 171,
1217             OpUGreaterThan = 172,
1218             OpSGreaterThan = 173,
1219             OpUGreaterThanEqual = 174,
1220             OpSGreaterThanEqual = 175,
1221             OpULessThan = 176,
1222             OpSLessThan = 177,
1223             OpULessThanEqual = 178,
1224             OpSLessThanEqual = 179,
1225             OpFOrdEqual = 180,
1226             OpFUnordEqual = 181,
1227             OpFOrdNotEqual = 182,
1228             OpFUnordNotEqual = 183,
1229             OpFOrdLessThan = 184,
1230             OpFUnordLessThan = 185,
1231             OpFOrdGreaterThan = 186,
1232             OpFUnordGreaterThan = 187,
1233             OpFOrdLessThanEqual = 188,
1234             OpFUnordLessThanEqual = 189,
1235             OpFOrdGreaterThanEqual = 190,
1236             OpFUnordGreaterThanEqual = 191,
1237             OpShiftRightLogical = 194,
1238             OpShiftRightArithmetic = 195,
1239             OpShiftLeftLogical = 196,
1240             OpBitwiseOr = 197,
1241             OpBitwiseXor = 198,
1242             OpBitwiseAnd = 199,
1243             OpNot = 200,
1244             OpBitFieldInsert = 201,
1245             OpBitFieldSExtract = 202,
1246             OpBitFieldUExtract = 203,
1247             OpBitReverse = 204,
1248             OpBitCount = 205,
1249             OpDPdx = 207,
1250             OpDPdy = 208,
1251             OpFwidth = 209,
1252             OpDPdxFine = 210,
1253             OpDPdyFine = 211,
1254             OpFwidthFine = 212,
1255             OpDPdxCoarse = 213,
1256             OpDPdyCoarse = 214,
1257             OpFwidthCoarse = 215,
1258             OpEmitVertex = 218,
1259             OpEndPrimitive = 219,
1260             OpEmitStreamVertex = 220,
1261             OpEndStreamPrimitive = 221,
1262             OpControlBarrier = 224,
1263             OpMemoryBarrier = 225,
1264             OpAtomicLoad = 227,
1265             OpAtomicStore = 228,
1266             OpAtomicExchange = 229,
1267             OpAtomicCompareExchange = 230,
1268             OpAtomicCompareExchangeWeak = 231,
1269             OpAtomicIIncrement = 232,
1270             OpAtomicIDecrement = 233,
1271             OpAtomicIAdd = 234,
1272             OpAtomicISub = 235,
1273             OpAtomicSMin = 236,
1274             OpAtomicUMin = 237,
1275             OpAtomicSMax = 238,
1276             OpAtomicUMax = 239,
1277             OpAtomicAnd = 240,
1278             OpAtomicOr = 241,
1279             OpAtomicXor = 242,
1280             OpPhi = 245,
1281             OpLoopMerge = 246,
1282             OpSelectionMerge = 247,
1283             OpLabel = 248,
1284             OpBranch = 249,
1285             OpBranchConditional = 250,
1286             OpSwitch = 251,
1287             OpKill = 252,
1288             OpReturn = 253,
1289             OpReturnValue = 254,
1290             OpUnreachable = 255,
1291             OpLifetimeStart = 256,
1292             OpLifetimeStop = 257,
1293             OpGroupAsyncCopy = 259,
1294             OpGroupWaitEvents = 260,
1295             OpGroupAll = 261,
1296             OpGroupAny = 262,
1297             OpGroupBroadcast = 263,
1298             OpGroupIAdd = 264,
1299             OpGroupFAdd = 265,
1300             OpGroupFMin = 266,
1301             OpGroupUMin = 267,
1302             OpGroupSMin = 268,
1303             OpGroupFMax = 269,
1304             OpGroupUMax = 270,
1305             OpGroupSMax = 271,
1306             OpReadPipe = 274,
1307             OpWritePipe = 275,
1308             OpReservedReadPipe = 276,
1309             OpReservedWritePipe = 277,
1310             OpReserveReadPipePackets = 278,
1311             OpReserveWritePipePackets = 279,
1312             OpCommitReadPipe = 280,
1313             OpCommitWritePipe = 281,
1314             OpIsValidReserveId = 282,
1315             OpGetNumPipePackets = 283,
1316             OpGetMaxPipePackets = 284,
1317             OpGroupReserveReadPipePackets = 285,
1318             OpGroupReserveWritePipePackets = 286,
1319             OpGroupCommitReadPipe = 287,
1320             OpGroupCommitWritePipe = 288,
1321             OpEnqueueMarker = 291,
1322             OpEnqueueKernel = 292,
1323             OpGetKernelNDrangeSubGroupCount = 293,
1324             OpGetKernelNDrangeMaxSubGroupSize = 294,
1325             OpGetKernelWorkGroupSize = 295,
1326             OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1327             OpRetainEvent = 297,
1328             OpReleaseEvent = 298,
1329             OpCreateUserEvent = 299,
1330             OpIsValidEvent = 300,
1331             OpSetUserEventStatus = 301,
1332             OpCaptureEventProfilingInfo = 302,
1333             OpGetDefaultQueue = 303,
1334             OpBuildNDRange = 304,
1335             OpImageSparseSampleImplicitLod = 305,
1336             OpImageSparseSampleExplicitLod = 306,
1337             OpImageSparseSampleDrefImplicitLod = 307,
1338             OpImageSparseSampleDrefExplicitLod = 308,
1339             OpImageSparseSampleProjImplicitLod = 309,
1340             OpImageSparseSampleProjExplicitLod = 310,
1341             OpImageSparseSampleProjDrefImplicitLod = 311,
1342             OpImageSparseSampleProjDrefExplicitLod = 312,
1343             OpImageSparseFetch = 313,
1344             OpImageSparseGather = 314,
1345             OpImageSparseDrefGather = 315,
1346             OpImageSparseTexelsResident = 316,
1347             OpNoLine = 317,
1348             OpAtomicFlagTestAndSet = 318,
1349             OpAtomicFlagClear = 319,
1350             OpImageSparseRead = 320,
1351             OpSizeOf = 321,
1352             OpTypePipeStorage = 322,
1353             OpConstantPipeStorage = 323,
1354             OpCreatePipeFromPipeStorage = 324,
1355             OpGetKernelLocalSizeForSubgroupCount = 325,
1356             OpGetKernelMaxNumSubgroups = 326,
1357             OpTypeNamedBarrier = 327,
1358             OpNamedBarrierInitialize = 328,
1359             OpMemoryNamedBarrier = 329,
1360             OpModuleProcessed = 330,
1361             OpExecutionModeId = 331,
1362             OpDecorateId = 332,
1363             OpGroupNonUniformElect = 333,
1364             OpGroupNonUniformAll = 334,
1365             OpGroupNonUniformAny = 335,
1366             OpGroupNonUniformAllEqual = 336,
1367             OpGroupNonUniformBroadcast = 337,
1368             OpGroupNonUniformBroadcastFirst = 338,
1369             OpGroupNonUniformBallot = 339,
1370             OpGroupNonUniformInverseBallot = 340,
1371             OpGroupNonUniformBallotBitExtract = 341,
1372             OpGroupNonUniformBallotBitCount = 342,
1373             OpGroupNonUniformBallotFindLSB = 343,
1374             OpGroupNonUniformBallotFindMSB = 344,
1375             OpGroupNonUniformShuffle = 345,
1376             OpGroupNonUniformShuffleXor = 346,
1377             OpGroupNonUniformShuffleUp = 347,
1378             OpGroupNonUniformShuffleDown = 348,
1379             OpGroupNonUniformIAdd = 349,
1380             OpGroupNonUniformFAdd = 350,
1381             OpGroupNonUniformIMul = 351,
1382             OpGroupNonUniformFMul = 352,
1383             OpGroupNonUniformSMin = 353,
1384             OpGroupNonUniformUMin = 354,
1385             OpGroupNonUniformFMin = 355,
1386             OpGroupNonUniformSMax = 356,
1387             OpGroupNonUniformUMax = 357,
1388             OpGroupNonUniformFMax = 358,
1389             OpGroupNonUniformBitwiseAnd = 359,
1390             OpGroupNonUniformBitwiseOr = 360,
1391             OpGroupNonUniformBitwiseXor = 361,
1392             OpGroupNonUniformLogicalAnd = 362,
1393             OpGroupNonUniformLogicalOr = 363,
1394             OpGroupNonUniformLogicalXor = 364,
1395             OpGroupNonUniformQuadBroadcast = 365,
1396             OpGroupNonUniformQuadSwap = 366,
1397             OpCopyLogical = 400,
1398             OpPtrEqual = 401,
1399             OpPtrNotEqual = 402,
1400             OpPtrDiff = 403,
1401             OpTerminateInvocation = 4416,
1402             OpSubgroupBallotKHR = 4421,
1403             OpSubgroupFirstInvocationKHR = 4422,
1404             OpSubgroupAllKHR = 4428,
1405             OpSubgroupAnyKHR = 4429,
1406             OpSubgroupAllEqualKHR = 4430,
1407             OpSubgroupReadInvocationKHR = 4432,
1408             OpTraceRayKHR = 4445,
1409             OpExecuteCallableKHR = 4446,
1410             OpConvertUToAccelerationStructureKHR = 4447,
1411             OpIgnoreIntersectionKHR = 4448,
1412             OpTerminateRayKHR = 4449,
1413             OpTypeRayQueryKHR = 4472,
1414             OpRayQueryInitializeKHR = 4473,
1415             OpRayQueryTerminateKHR = 4474,
1416             OpRayQueryGenerateIntersectionKHR = 4475,
1417             OpRayQueryConfirmIntersectionKHR = 4476,
1418             OpRayQueryProceedKHR = 4477,
1419             OpRayQueryGetIntersectionTypeKHR = 4479,
1420             OpGroupIAddNonUniformAMD = 5000,
1421             OpGroupFAddNonUniformAMD = 5001,
1422             OpGroupFMinNonUniformAMD = 5002,
1423             OpGroupUMinNonUniformAMD = 5003,
1424             OpGroupSMinNonUniformAMD = 5004,
1425             OpGroupFMaxNonUniformAMD = 5005,
1426             OpGroupUMaxNonUniformAMD = 5006,
1427             OpGroupSMaxNonUniformAMD = 5007,
1428             OpFragmentMaskFetchAMD = 5011,
1429             OpFragmentFetchAMD = 5012,
1430             OpReadClockKHR = 5056,
1431             OpImageSampleFootprintNV = 5283,
1432             OpGroupNonUniformPartitionNV = 5296,
1433             OpWritePackedPrimitiveIndices4x8NV = 5299,
1434             OpReportIntersectionKHR = 5334,
1435             OpReportIntersectionNV = 5334,
1436             OpIgnoreIntersectionNV = 5335,
1437             OpTerminateRayNV = 5336,
1438             OpTraceNV = 5337,
1439             OpTypeAccelerationStructureKHR = 5341,
1440             OpTypeAccelerationStructureNV = 5341,
1441             OpExecuteCallableNV = 5344,
1442             OpTypeCooperativeMatrixNV = 5358,
1443             OpCooperativeMatrixLoadNV = 5359,
1444             OpCooperativeMatrixStoreNV = 5360,
1445             OpCooperativeMatrixMulAddNV = 5361,
1446             OpCooperativeMatrixLengthNV = 5362,
1447             OpBeginInvocationInterlockEXT = 5364,
1448             OpEndInvocationInterlockEXT = 5365,
1449             OpDemoteToHelperInvocationEXT = 5380,
1450             OpIsHelperInvocationEXT = 5381,
1451             OpSubgroupShuffleINTEL = 5571,
1452             OpSubgroupShuffleDownINTEL = 5572,
1453             OpSubgroupShuffleUpINTEL = 5573,
1454             OpSubgroupShuffleXorINTEL = 5574,
1455             OpSubgroupBlockReadINTEL = 5575,
1456             OpSubgroupBlockWriteINTEL = 5576,
1457             OpSubgroupImageBlockReadINTEL = 5577,
1458             OpSubgroupImageBlockWriteINTEL = 5578,
1459             OpSubgroupImageMediaBlockReadINTEL = 5580,
1460             OpSubgroupImageMediaBlockWriteINTEL = 5581,
1461             OpUCountLeadingZerosINTEL = 5585,
1462             OpUCountTrailingZerosINTEL = 5586,
1463             OpAbsISubINTEL = 5587,
1464             OpAbsUSubINTEL = 5588,
1465             OpIAddSatINTEL = 5589,
1466             OpUAddSatINTEL = 5590,
1467             OpIAverageINTEL = 5591,
1468             OpUAverageINTEL = 5592,
1469             OpIAverageRoundedINTEL = 5593,
1470             OpUAverageRoundedINTEL = 5594,
1471             OpISubSatINTEL = 5595,
1472             OpUSubSatINTEL = 5596,
1473             OpIMul32x16INTEL = 5597,
1474             OpUMul32x16INTEL = 5598,
1475             OpFunctionPointerINTEL = 5600,
1476             OpFunctionPointerCallINTEL = 5601,
1477             OpDecorateString = 5632,
1478             OpDecorateStringGOOGLE = 5632,
1479             OpMemberDecorateString = 5633,
1480             OpMemberDecorateStringGOOGLE = 5633,
1481             OpVmeImageINTEL = 5699,
1482             OpTypeVmeImageINTEL = 5700,
1483             OpTypeAvcImePayloadINTEL = 5701,
1484             OpTypeAvcRefPayloadINTEL = 5702,
1485             OpTypeAvcSicPayloadINTEL = 5703,
1486             OpTypeAvcMcePayloadINTEL = 5704,
1487             OpTypeAvcMceResultINTEL = 5705,
1488             OpTypeAvcImeResultINTEL = 5706,
1489             OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1490             OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1491             OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1492             OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1493             OpTypeAvcRefResultINTEL = 5711,
1494             OpTypeAvcSicResultINTEL = 5712,
1495             OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1496             OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1497             OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1498             OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1499             OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1500             OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1501             OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1502             OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1503             OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1504             OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1505             OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1506             OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1507             OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1508             OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1509             OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1510             OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1511             OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1512             OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1513             OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1514             OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1515             OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1516             OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1517             OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1518             OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1519             OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1520             OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1521             OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1522             OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1523             OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1524             OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1525             OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1526             OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1527             OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1528             OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1529             OpSubgroupAvcImeInitializeINTEL = 5747,
1530             OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1531             OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1532             OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1533             OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1534             OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1535             OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1536             OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1537             OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1538             OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1539             OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1540             OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1541             OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1542             OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1543             OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1544             OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1545             OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1546             OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1547             OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1548             OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1549             OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1550             OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1551             OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1552             OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1553             OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1554             OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1555             OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1556             OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1557             OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1558             OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1559             OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1560             OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1561             OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1562             OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1563             OpSubgroupAvcFmeInitializeINTEL = 5781,
1564             OpSubgroupAvcBmeInitializeINTEL = 5782,
1565             OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1566             OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1567             OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1568             OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1569             OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1570             OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1571             OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1572             OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1573             OpSubgroupAvcSicInitializeINTEL = 5791,
1574             OpSubgroupAvcSicConfigureSkcINTEL = 5792,
1575             OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1576             OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1577             OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1578             OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1579             OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1580             OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1581             OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1582             OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1583             OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1584             OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1585             OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1586             OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1587             OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1588             OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1589             OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1590             OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1591             OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1592             OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1593             OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1594             OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1595             OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1596             OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1597             OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1598             OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1599             OpLoopControlINTEL = 5887,
1600             OpReadPipeBlockingINTEL = 5946,
1601             OpWritePipeBlockingINTEL = 5947,
1602             OpFPGARegINTEL = 5949,
1603             OpRayQueryGetRayTMinKHR = 6016,
1604             OpRayQueryGetRayFlagsKHR = 6017,
1605             OpRayQueryGetIntersectionTKHR = 6018,
1606             OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
1607             OpRayQueryGetIntersectionInstanceIdKHR = 6020,
1608             OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
1609             OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
1610             OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
1611             OpRayQueryGetIntersectionBarycentricsKHR = 6024,
1612             OpRayQueryGetIntersectionFrontFaceKHR = 6025,
1613             OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
1614             OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
1615             OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
1616             OpRayQueryGetWorldRayDirectionKHR = 6029,
1617             OpRayQueryGetWorldRayOriginKHR = 6030,
1618             OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
1619             OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
1620             OpAtomicFAddEXT = 6035,
1621         }
1622     }
1623 }
1624 
1625