• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1-- Copyright (c) 2014-2019 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
45spv = {
46    MagicNumber = 0x07230203,
47    Version = 0x00010300,
48    Revision = 6,
49    OpCodeMask = 0xffff,
50    WordCountShift = 16,
51
52    SourceLanguage = {
53        Unknown = 0,
54        ESSL = 1,
55        GLSL = 2,
56        OpenCL_C = 3,
57        OpenCL_CPP = 4,
58        HLSL = 5,
59    },
60
61    ExecutionModel = {
62        Vertex = 0,
63        TessellationControl = 1,
64        TessellationEvaluation = 2,
65        Geometry = 3,
66        Fragment = 4,
67        GLCompute = 5,
68        Kernel = 6,
69        TaskNV = 5267,
70        MeshNV = 5268,
71        RayGenerationNV = 5313,
72        IntersectionNV = 5314,
73        AnyHitNV = 5315,
74        ClosestHitNV = 5316,
75        MissNV = 5317,
76        CallableNV = 5318,
77    },
78
79    AddressingModel = {
80        Logical = 0,
81        Physical32 = 1,
82        Physical64 = 2,
83        PhysicalStorageBuffer64EXT = 5348,
84    },
85
86    MemoryModel = {
87        Simple = 0,
88        GLSL450 = 1,
89        OpenCL = 2,
90        VulkanKHR = 3,
91    },
92
93    ExecutionMode = {
94        Invocations = 0,
95        SpacingEqual = 1,
96        SpacingFractionalEven = 2,
97        SpacingFractionalOdd = 3,
98        VertexOrderCw = 4,
99        VertexOrderCcw = 5,
100        PixelCenterInteger = 6,
101        OriginUpperLeft = 7,
102        OriginLowerLeft = 8,
103        EarlyFragmentTests = 9,
104        PointMode = 10,
105        Xfb = 11,
106        DepthReplacing = 12,
107        DepthGreater = 14,
108        DepthLess = 15,
109        DepthUnchanged = 16,
110        LocalSize = 17,
111        LocalSizeHint = 18,
112        InputPoints = 19,
113        InputLines = 20,
114        InputLinesAdjacency = 21,
115        Triangles = 22,
116        InputTrianglesAdjacency = 23,
117        Quads = 24,
118        Isolines = 25,
119        OutputVertices = 26,
120        OutputPoints = 27,
121        OutputLineStrip = 28,
122        OutputTriangleStrip = 29,
123        VecTypeHint = 30,
124        ContractionOff = 31,
125        Initializer = 33,
126        Finalizer = 34,
127        SubgroupSize = 35,
128        SubgroupsPerWorkgroup = 36,
129        SubgroupsPerWorkgroupId = 37,
130        LocalSizeId = 38,
131        LocalSizeHintId = 39,
132        PostDepthCoverage = 4446,
133        DenormPreserve = 4459,
134        DenormFlushToZero = 4460,
135        SignedZeroInfNanPreserve = 4461,
136        RoundingModeRTE = 4462,
137        RoundingModeRTZ = 4463,
138        StencilRefReplacingEXT = 5027,
139        OutputLinesNV = 5269,
140        OutputPrimitivesNV = 5270,
141        DerivativeGroupQuadsNV = 5289,
142        DerivativeGroupLinearNV = 5290,
143        OutputTrianglesNV = 5298,
144    },
145
146    StorageClass = {
147        UniformConstant = 0,
148        Input = 1,
149        Uniform = 2,
150        Output = 3,
151        Workgroup = 4,
152        CrossWorkgroup = 5,
153        Private = 6,
154        Function = 7,
155        Generic = 8,
156        PushConstant = 9,
157        AtomicCounter = 10,
158        Image = 11,
159        StorageBuffer = 12,
160        CallableDataNV = 5328,
161        IncomingCallableDataNV = 5329,
162        RayPayloadNV = 5338,
163        HitAttributeNV = 5339,
164        IncomingRayPayloadNV = 5342,
165        ShaderRecordBufferNV = 5343,
166        PhysicalStorageBufferEXT = 5349,
167    },
168
169    Dim = {
170        Dim1D = 0,
171        Dim2D = 1,
172        Dim3D = 2,
173        Cube = 3,
174        Rect = 4,
175        Buffer = 5,
176        SubpassData = 6,
177    },
178
179    SamplerAddressingMode = {
180        None = 0,
181        ClampToEdge = 1,
182        Clamp = 2,
183        Repeat = 3,
184        RepeatMirrored = 4,
185    },
186
187    SamplerFilterMode = {
188        Nearest = 0,
189        Linear = 1,
190    },
191
192    ImageFormat = {
193        Unknown = 0,
194        Rgba32f = 1,
195        Rgba16f = 2,
196        R32f = 3,
197        Rgba8 = 4,
198        Rgba8Snorm = 5,
199        Rg32f = 6,
200        Rg16f = 7,
201        R11fG11fB10f = 8,
202        R16f = 9,
203        Rgba16 = 10,
204        Rgb10A2 = 11,
205        Rg16 = 12,
206        Rg8 = 13,
207        R16 = 14,
208        R8 = 15,
209        Rgba16Snorm = 16,
210        Rg16Snorm = 17,
211        Rg8Snorm = 18,
212        R16Snorm = 19,
213        R8Snorm = 20,
214        Rgba32i = 21,
215        Rgba16i = 22,
216        Rgba8i = 23,
217        R32i = 24,
218        Rg32i = 25,
219        Rg16i = 26,
220        Rg8i = 27,
221        R16i = 28,
222        R8i = 29,
223        Rgba32ui = 30,
224        Rgba16ui = 31,
225        Rgba8ui = 32,
226        R32ui = 33,
227        Rgb10a2ui = 34,
228        Rg32ui = 35,
229        Rg16ui = 36,
230        Rg8ui = 37,
231        R16ui = 38,
232        R8ui = 39,
233    },
234
235    ImageChannelOrder = {
236        R = 0,
237        A = 1,
238        RG = 2,
239        RA = 3,
240        RGB = 4,
241        RGBA = 5,
242        BGRA = 6,
243        ARGB = 7,
244        Intensity = 8,
245        Luminance = 9,
246        Rx = 10,
247        RGx = 11,
248        RGBx = 12,
249        Depth = 13,
250        DepthStencil = 14,
251        sRGB = 15,
252        sRGBx = 16,
253        sRGBA = 17,
254        sBGRA = 18,
255        ABGR = 19,
256    },
257
258    ImageChannelDataType = {
259        SnormInt8 = 0,
260        SnormInt16 = 1,
261        UnormInt8 = 2,
262        UnormInt16 = 3,
263        UnormShort565 = 4,
264        UnormShort555 = 5,
265        UnormInt101010 = 6,
266        SignedInt8 = 7,
267        SignedInt16 = 8,
268        SignedInt32 = 9,
269        UnsignedInt8 = 10,
270        UnsignedInt16 = 11,
271        UnsignedInt32 = 12,
272        HalfFloat = 13,
273        Float = 14,
274        UnormInt24 = 15,
275        UnormInt101010_2 = 16,
276    },
277
278    ImageOperandsShift = {
279        Bias = 0,
280        Lod = 1,
281        Grad = 2,
282        ConstOffset = 3,
283        Offset = 4,
284        ConstOffsets = 5,
285        Sample = 6,
286        MinLod = 7,
287        MakeTexelAvailableKHR = 8,
288        MakeTexelVisibleKHR = 9,
289        NonPrivateTexelKHR = 10,
290        VolatileTexelKHR = 11,
291    },
292
293    ImageOperandsMask = {
294        MaskNone = 0,
295        Bias = 0x00000001,
296        Lod = 0x00000002,
297        Grad = 0x00000004,
298        ConstOffset = 0x00000008,
299        Offset = 0x00000010,
300        ConstOffsets = 0x00000020,
301        Sample = 0x00000040,
302        MinLod = 0x00000080,
303        MakeTexelAvailableKHR = 0x00000100,
304        MakeTexelVisibleKHR = 0x00000200,
305        NonPrivateTexelKHR = 0x00000400,
306        VolatileTexelKHR = 0x00000800,
307    },
308
309    FPFastMathModeShift = {
310        NotNaN = 0,
311        NotInf = 1,
312        NSZ = 2,
313        AllowRecip = 3,
314        Fast = 4,
315    },
316
317    FPFastMathModeMask = {
318        MaskNone = 0,
319        NotNaN = 0x00000001,
320        NotInf = 0x00000002,
321        NSZ = 0x00000004,
322        AllowRecip = 0x00000008,
323        Fast = 0x00000010,
324    },
325
326    FPRoundingMode = {
327        RTE = 0,
328        RTZ = 1,
329        RTP = 2,
330        RTN = 3,
331    },
332
333    LinkageType = {
334        Export = 0,
335        Import = 1,
336    },
337
338    AccessQualifier = {
339        ReadOnly = 0,
340        WriteOnly = 1,
341        ReadWrite = 2,
342    },
343
344    FunctionParameterAttribute = {
345        Zext = 0,
346        Sext = 1,
347        ByVal = 2,
348        Sret = 3,
349        NoAlias = 4,
350        NoCapture = 5,
351        NoWrite = 6,
352        NoReadWrite = 7,
353    },
354
355    Decoration = {
356        RelaxedPrecision = 0,
357        SpecId = 1,
358        Block = 2,
359        BufferBlock = 3,
360        RowMajor = 4,
361        ColMajor = 5,
362        ArrayStride = 6,
363        MatrixStride = 7,
364        GLSLShared = 8,
365        GLSLPacked = 9,
366        CPacked = 10,
367        BuiltIn = 11,
368        NoPerspective = 13,
369        Flat = 14,
370        Patch = 15,
371        Centroid = 16,
372        Sample = 17,
373        Invariant = 18,
374        Restrict = 19,
375        Aliased = 20,
376        Volatile = 21,
377        Constant = 22,
378        Coherent = 23,
379        NonWritable = 24,
380        NonReadable = 25,
381        Uniform = 26,
382        SaturatedConversion = 28,
383        Stream = 29,
384        Location = 30,
385        Component = 31,
386        Index = 32,
387        Binding = 33,
388        DescriptorSet = 34,
389        Offset = 35,
390        XfbBuffer = 36,
391        XfbStride = 37,
392        FuncParamAttr = 38,
393        FPRoundingMode = 39,
394        FPFastMathMode = 40,
395        LinkageAttributes = 41,
396        NoContraction = 42,
397        InputAttachmentIndex = 43,
398        Alignment = 44,
399        MaxByteOffset = 45,
400        AlignmentId = 46,
401        MaxByteOffsetId = 47,
402        NoSignedWrap = 4469,
403        NoUnsignedWrap = 4470,
404        ExplicitInterpAMD = 4999,
405        OverrideCoverageNV = 5248,
406        PassthroughNV = 5250,
407        ViewportRelativeNV = 5252,
408        SecondaryViewportRelativeNV = 5256,
409        PerPrimitiveNV = 5271,
410        PerViewNV = 5272,
411        PerTaskNV = 5273,
412        PerVertexNV = 5285,
413        NonUniformEXT = 5300,
414        RestrictPointerEXT = 5355,
415        AliasedPointerEXT = 5356,
416        HlslCounterBufferGOOGLE = 5634,
417        HlslSemanticGOOGLE = 5635,
418    },
419
420    BuiltIn = {
421        Position = 0,
422        PointSize = 1,
423        ClipDistance = 3,
424        CullDistance = 4,
425        VertexId = 5,
426        InstanceId = 6,
427        PrimitiveId = 7,
428        InvocationId = 8,
429        Layer = 9,
430        ViewportIndex = 10,
431        TessLevelOuter = 11,
432        TessLevelInner = 12,
433        TessCoord = 13,
434        PatchVertices = 14,
435        FragCoord = 15,
436        PointCoord = 16,
437        FrontFacing = 17,
438        SampleId = 18,
439        SamplePosition = 19,
440        SampleMask = 20,
441        FragDepth = 22,
442        HelperInvocation = 23,
443        NumWorkgroups = 24,
444        WorkgroupSize = 25,
445        WorkgroupId = 26,
446        LocalInvocationId = 27,
447        GlobalInvocationId = 28,
448        LocalInvocationIndex = 29,
449        WorkDim = 30,
450        GlobalSize = 31,
451        EnqueuedWorkgroupSize = 32,
452        GlobalOffset = 33,
453        GlobalLinearId = 34,
454        SubgroupSize = 36,
455        SubgroupMaxSize = 37,
456        NumSubgroups = 38,
457        NumEnqueuedSubgroups = 39,
458        SubgroupId = 40,
459        SubgroupLocalInvocationId = 41,
460        VertexIndex = 42,
461        InstanceIndex = 43,
462        SubgroupEqMask = 4416,
463        SubgroupEqMaskKHR = 4416,
464        SubgroupGeMask = 4417,
465        SubgroupGeMaskKHR = 4417,
466        SubgroupGtMask = 4418,
467        SubgroupGtMaskKHR = 4418,
468        SubgroupLeMask = 4419,
469        SubgroupLeMaskKHR = 4419,
470        SubgroupLtMask = 4420,
471        SubgroupLtMaskKHR = 4420,
472        BaseVertex = 4424,
473        BaseInstance = 4425,
474        DrawIndex = 4426,
475        DeviceIndex = 4438,
476        ViewIndex = 4440,
477        BaryCoordNoPerspAMD = 4992,
478        BaryCoordNoPerspCentroidAMD = 4993,
479        BaryCoordNoPerspSampleAMD = 4994,
480        BaryCoordSmoothAMD = 4995,
481        BaryCoordSmoothCentroidAMD = 4996,
482        BaryCoordSmoothSampleAMD = 4997,
483        BaryCoordPullModelAMD = 4998,
484        FragStencilRefEXT = 5014,
485        ViewportMaskNV = 5253,
486        SecondaryPositionNV = 5257,
487        SecondaryViewportMaskNV = 5258,
488        PositionPerViewNV = 5261,
489        ViewportMaskPerViewNV = 5262,
490        FullyCoveredEXT = 5264,
491        TaskCountNV = 5274,
492        PrimitiveCountNV = 5275,
493        PrimitiveIndicesNV = 5276,
494        ClipDistancePerViewNV = 5277,
495        CullDistancePerViewNV = 5278,
496        LayerPerViewNV = 5279,
497        MeshViewCountNV = 5280,
498        MeshViewIndicesNV = 5281,
499        BaryCoordNV = 5286,
500        BaryCoordNoPerspNV = 5287,
501        FragSizeEXT = 5292,
502        FragmentSizeNV = 5292,
503        FragInvocationCountEXT = 5293,
504        InvocationsPerPixelNV = 5293,
505        LaunchIdNV = 5319,
506        LaunchSizeNV = 5320,
507        WorldRayOriginNV = 5321,
508        WorldRayDirectionNV = 5322,
509        ObjectRayOriginNV = 5323,
510        ObjectRayDirectionNV = 5324,
511        RayTminNV = 5325,
512        RayTmaxNV = 5326,
513        InstanceCustomIndexNV = 5327,
514        ObjectToWorldNV = 5330,
515        WorldToObjectNV = 5331,
516        HitTNV = 5332,
517        HitKindNV = 5333,
518        IncomingRayFlagsNV = 5351,
519    },
520
521    SelectionControlShift = {
522        Flatten = 0,
523        DontFlatten = 1,
524    },
525
526    SelectionControlMask = {
527        MaskNone = 0,
528        Flatten = 0x00000001,
529        DontFlatten = 0x00000002,
530    },
531
532    LoopControlShift = {
533        Unroll = 0,
534        DontUnroll = 1,
535        DependencyInfinite = 2,
536        DependencyLength = 3,
537    },
538
539    LoopControlMask = {
540        MaskNone = 0,
541        Unroll = 0x00000001,
542        DontUnroll = 0x00000002,
543        DependencyInfinite = 0x00000004,
544        DependencyLength = 0x00000008,
545    },
546
547    FunctionControlShift = {
548        Inline = 0,
549        DontInline = 1,
550        Pure = 2,
551        Const = 3,
552    },
553
554    FunctionControlMask = {
555        MaskNone = 0,
556        Inline = 0x00000001,
557        DontInline = 0x00000002,
558        Pure = 0x00000004,
559        Const = 0x00000008,
560    },
561
562    MemorySemanticsShift = {
563        Acquire = 1,
564        Release = 2,
565        AcquireRelease = 3,
566        SequentiallyConsistent = 4,
567        UniformMemory = 6,
568        SubgroupMemory = 7,
569        WorkgroupMemory = 8,
570        CrossWorkgroupMemory = 9,
571        AtomicCounterMemory = 10,
572        ImageMemory = 11,
573        OutputMemoryKHR = 12,
574        MakeAvailableKHR = 13,
575        MakeVisibleKHR = 14,
576    },
577
578    MemorySemanticsMask = {
579        MaskNone = 0,
580        Acquire = 0x00000002,
581        Release = 0x00000004,
582        AcquireRelease = 0x00000008,
583        SequentiallyConsistent = 0x00000010,
584        UniformMemory = 0x00000040,
585        SubgroupMemory = 0x00000080,
586        WorkgroupMemory = 0x00000100,
587        CrossWorkgroupMemory = 0x00000200,
588        AtomicCounterMemory = 0x00000400,
589        ImageMemory = 0x00000800,
590        OutputMemoryKHR = 0x00001000,
591        MakeAvailableKHR = 0x00002000,
592        MakeVisibleKHR = 0x00004000,
593    },
594
595    MemoryAccessShift = {
596        Volatile = 0,
597        Aligned = 1,
598        Nontemporal = 2,
599        MakePointerAvailableKHR = 3,
600        MakePointerVisibleKHR = 4,
601        NonPrivatePointerKHR = 5,
602    },
603
604    MemoryAccessMask = {
605        MaskNone = 0,
606        Volatile = 0x00000001,
607        Aligned = 0x00000002,
608        Nontemporal = 0x00000004,
609        MakePointerAvailableKHR = 0x00000008,
610        MakePointerVisibleKHR = 0x00000010,
611        NonPrivatePointerKHR = 0x00000020,
612    },
613
614    Scope = {
615        CrossDevice = 0,
616        Device = 1,
617        Workgroup = 2,
618        Subgroup = 3,
619        Invocation = 4,
620        QueueFamilyKHR = 5,
621    },
622
623    GroupOperation = {
624        Reduce = 0,
625        InclusiveScan = 1,
626        ExclusiveScan = 2,
627        ClusteredReduce = 3,
628        PartitionedReduceNV = 6,
629        PartitionedInclusiveScanNV = 7,
630        PartitionedExclusiveScanNV = 8,
631    },
632
633    KernelEnqueueFlags = {
634        NoWait = 0,
635        WaitKernel = 1,
636        WaitWorkGroup = 2,
637    },
638
639    KernelProfilingInfoShift = {
640        CmdExecTime = 0,
641    },
642
643    KernelProfilingInfoMask = {
644        MaskNone = 0,
645        CmdExecTime = 0x00000001,
646    },
647
648    Capability = {
649        Matrix = 0,
650        Shader = 1,
651        Geometry = 2,
652        Tessellation = 3,
653        Addresses = 4,
654        Linkage = 5,
655        Kernel = 6,
656        Vector16 = 7,
657        Float16Buffer = 8,
658        Float16 = 9,
659        Float64 = 10,
660        Int64 = 11,
661        Int64Atomics = 12,
662        ImageBasic = 13,
663        ImageReadWrite = 14,
664        ImageMipmap = 15,
665        Pipes = 17,
666        Groups = 18,
667        DeviceEnqueue = 19,
668        LiteralSampler = 20,
669        AtomicStorage = 21,
670        Int16 = 22,
671        TessellationPointSize = 23,
672        GeometryPointSize = 24,
673        ImageGatherExtended = 25,
674        StorageImageMultisample = 27,
675        UniformBufferArrayDynamicIndexing = 28,
676        SampledImageArrayDynamicIndexing = 29,
677        StorageBufferArrayDynamicIndexing = 30,
678        StorageImageArrayDynamicIndexing = 31,
679        ClipDistance = 32,
680        CullDistance = 33,
681        ImageCubeArray = 34,
682        SampleRateShading = 35,
683        ImageRect = 36,
684        SampledRect = 37,
685        GenericPointer = 38,
686        Int8 = 39,
687        InputAttachment = 40,
688        SparseResidency = 41,
689        MinLod = 42,
690        Sampled1D = 43,
691        Image1D = 44,
692        SampledCubeArray = 45,
693        SampledBuffer = 46,
694        ImageBuffer = 47,
695        ImageMSArray = 48,
696        StorageImageExtendedFormats = 49,
697        ImageQuery = 50,
698        DerivativeControl = 51,
699        InterpolationFunction = 52,
700        TransformFeedback = 53,
701        GeometryStreams = 54,
702        StorageImageReadWithoutFormat = 55,
703        StorageImageWriteWithoutFormat = 56,
704        MultiViewport = 57,
705        SubgroupDispatch = 58,
706        NamedBarrier = 59,
707        PipeStorage = 60,
708        GroupNonUniform = 61,
709        GroupNonUniformVote = 62,
710        GroupNonUniformArithmetic = 63,
711        GroupNonUniformBallot = 64,
712        GroupNonUniformShuffle = 65,
713        GroupNonUniformShuffleRelative = 66,
714        GroupNonUniformClustered = 67,
715        GroupNonUniformQuad = 68,
716        SubgroupBallotKHR = 4423,
717        DrawParameters = 4427,
718        SubgroupVoteKHR = 4431,
719        StorageBuffer16BitAccess = 4433,
720        StorageUniformBufferBlock16 = 4433,
721        StorageUniform16 = 4434,
722        UniformAndStorageBuffer16BitAccess = 4434,
723        StoragePushConstant16 = 4435,
724        StorageInputOutput16 = 4436,
725        DeviceGroup = 4437,
726        MultiView = 4439,
727        VariablePointersStorageBuffer = 4441,
728        VariablePointers = 4442,
729        AtomicStorageOps = 4445,
730        SampleMaskPostDepthCoverage = 4447,
731        StorageBuffer8BitAccess = 4448,
732        UniformAndStorageBuffer8BitAccess = 4449,
733        StoragePushConstant8 = 4450,
734        DenormPreserve = 4464,
735        DenormFlushToZero = 4465,
736        SignedZeroInfNanPreserve = 4466,
737        RoundingModeRTE = 4467,
738        RoundingModeRTZ = 4468,
739        Float16ImageAMD = 5008,
740        ImageGatherBiasLodAMD = 5009,
741        FragmentMaskAMD = 5010,
742        StencilExportEXT = 5013,
743        ImageReadWriteLodAMD = 5015,
744        SampleMaskOverrideCoverageNV = 5249,
745        GeometryShaderPassthroughNV = 5251,
746        ShaderViewportIndexLayerEXT = 5254,
747        ShaderViewportIndexLayerNV = 5254,
748        ShaderViewportMaskNV = 5255,
749        ShaderStereoViewNV = 5259,
750        PerViewAttributesNV = 5260,
751        FragmentFullyCoveredEXT = 5265,
752        MeshShadingNV = 5266,
753        ImageFootprintNV = 5282,
754        FragmentBarycentricNV = 5284,
755        ComputeDerivativeGroupQuadsNV = 5288,
756        FragmentDensityEXT = 5291,
757        ShadingRateNV = 5291,
758        GroupNonUniformPartitionedNV = 5297,
759        ShaderNonUniformEXT = 5301,
760        RuntimeDescriptorArrayEXT = 5302,
761        InputAttachmentArrayDynamicIndexingEXT = 5303,
762        UniformTexelBufferArrayDynamicIndexingEXT = 5304,
763        StorageTexelBufferArrayDynamicIndexingEXT = 5305,
764        UniformBufferArrayNonUniformIndexingEXT = 5306,
765        SampledImageArrayNonUniformIndexingEXT = 5307,
766        StorageBufferArrayNonUniformIndexingEXT = 5308,
767        StorageImageArrayNonUniformIndexingEXT = 5309,
768        InputAttachmentArrayNonUniformIndexingEXT = 5310,
769        UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
770        StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
771        RayTracingNV = 5340,
772        VulkanMemoryModelKHR = 5345,
773        VulkanMemoryModelDeviceScopeKHR = 5346,
774        PhysicalStorageBufferAddressesEXT = 5347,
775        ComputeDerivativeGroupLinearNV = 5350,
776        SubgroupShuffleINTEL = 5568,
777        SubgroupBufferBlockIOINTEL = 5569,
778        SubgroupImageBlockIOINTEL = 5570,
779    },
780
781    Op = {
782        OpNop = 0,
783        OpUndef = 1,
784        OpSourceContinued = 2,
785        OpSource = 3,
786        OpSourceExtension = 4,
787        OpName = 5,
788        OpMemberName = 6,
789        OpString = 7,
790        OpLine = 8,
791        OpExtension = 10,
792        OpExtInstImport = 11,
793        OpExtInst = 12,
794        OpMemoryModel = 14,
795        OpEntryPoint = 15,
796        OpExecutionMode = 16,
797        OpCapability = 17,
798        OpTypeVoid = 19,
799        OpTypeBool = 20,
800        OpTypeInt = 21,
801        OpTypeFloat = 22,
802        OpTypeVector = 23,
803        OpTypeMatrix = 24,
804        OpTypeImage = 25,
805        OpTypeSampler = 26,
806        OpTypeSampledImage = 27,
807        OpTypeArray = 28,
808        OpTypeRuntimeArray = 29,
809        OpTypeStruct = 30,
810        OpTypeOpaque = 31,
811        OpTypePointer = 32,
812        OpTypeFunction = 33,
813        OpTypeEvent = 34,
814        OpTypeDeviceEvent = 35,
815        OpTypeReserveId = 36,
816        OpTypeQueue = 37,
817        OpTypePipe = 38,
818        OpTypeForwardPointer = 39,
819        OpConstantTrue = 41,
820        OpConstantFalse = 42,
821        OpConstant = 43,
822        OpConstantComposite = 44,
823        OpConstantSampler = 45,
824        OpConstantNull = 46,
825        OpSpecConstantTrue = 48,
826        OpSpecConstantFalse = 49,
827        OpSpecConstant = 50,
828        OpSpecConstantComposite = 51,
829        OpSpecConstantOp = 52,
830        OpFunction = 54,
831        OpFunctionParameter = 55,
832        OpFunctionEnd = 56,
833        OpFunctionCall = 57,
834        OpVariable = 59,
835        OpImageTexelPointer = 60,
836        OpLoad = 61,
837        OpStore = 62,
838        OpCopyMemory = 63,
839        OpCopyMemorySized = 64,
840        OpAccessChain = 65,
841        OpInBoundsAccessChain = 66,
842        OpPtrAccessChain = 67,
843        OpArrayLength = 68,
844        OpGenericPtrMemSemantics = 69,
845        OpInBoundsPtrAccessChain = 70,
846        OpDecorate = 71,
847        OpMemberDecorate = 72,
848        OpDecorationGroup = 73,
849        OpGroupDecorate = 74,
850        OpGroupMemberDecorate = 75,
851        OpVectorExtractDynamic = 77,
852        OpVectorInsertDynamic = 78,
853        OpVectorShuffle = 79,
854        OpCompositeConstruct = 80,
855        OpCompositeExtract = 81,
856        OpCompositeInsert = 82,
857        OpCopyObject = 83,
858        OpTranspose = 84,
859        OpSampledImage = 86,
860        OpImageSampleImplicitLod = 87,
861        OpImageSampleExplicitLod = 88,
862        OpImageSampleDrefImplicitLod = 89,
863        OpImageSampleDrefExplicitLod = 90,
864        OpImageSampleProjImplicitLod = 91,
865        OpImageSampleProjExplicitLod = 92,
866        OpImageSampleProjDrefImplicitLod = 93,
867        OpImageSampleProjDrefExplicitLod = 94,
868        OpImageFetch = 95,
869        OpImageGather = 96,
870        OpImageDrefGather = 97,
871        OpImageRead = 98,
872        OpImageWrite = 99,
873        OpImage = 100,
874        OpImageQueryFormat = 101,
875        OpImageQueryOrder = 102,
876        OpImageQuerySizeLod = 103,
877        OpImageQuerySize = 104,
878        OpImageQueryLod = 105,
879        OpImageQueryLevels = 106,
880        OpImageQuerySamples = 107,
881        OpConvertFToU = 109,
882        OpConvertFToS = 110,
883        OpConvertSToF = 111,
884        OpConvertUToF = 112,
885        OpUConvert = 113,
886        OpSConvert = 114,
887        OpFConvert = 115,
888        OpQuantizeToF16 = 116,
889        OpConvertPtrToU = 117,
890        OpSatConvertSToU = 118,
891        OpSatConvertUToS = 119,
892        OpConvertUToPtr = 120,
893        OpPtrCastToGeneric = 121,
894        OpGenericCastToPtr = 122,
895        OpGenericCastToPtrExplicit = 123,
896        OpBitcast = 124,
897        OpSNegate = 126,
898        OpFNegate = 127,
899        OpIAdd = 128,
900        OpFAdd = 129,
901        OpISub = 130,
902        OpFSub = 131,
903        OpIMul = 132,
904        OpFMul = 133,
905        OpUDiv = 134,
906        OpSDiv = 135,
907        OpFDiv = 136,
908        OpUMod = 137,
909        OpSRem = 138,
910        OpSMod = 139,
911        OpFRem = 140,
912        OpFMod = 141,
913        OpVectorTimesScalar = 142,
914        OpMatrixTimesScalar = 143,
915        OpVectorTimesMatrix = 144,
916        OpMatrixTimesVector = 145,
917        OpMatrixTimesMatrix = 146,
918        OpOuterProduct = 147,
919        OpDot = 148,
920        OpIAddCarry = 149,
921        OpISubBorrow = 150,
922        OpUMulExtended = 151,
923        OpSMulExtended = 152,
924        OpAny = 154,
925        OpAll = 155,
926        OpIsNan = 156,
927        OpIsInf = 157,
928        OpIsFinite = 158,
929        OpIsNormal = 159,
930        OpSignBitSet = 160,
931        OpLessOrGreater = 161,
932        OpOrdered = 162,
933        OpUnordered = 163,
934        OpLogicalEqual = 164,
935        OpLogicalNotEqual = 165,
936        OpLogicalOr = 166,
937        OpLogicalAnd = 167,
938        OpLogicalNot = 168,
939        OpSelect = 169,
940        OpIEqual = 170,
941        OpINotEqual = 171,
942        OpUGreaterThan = 172,
943        OpSGreaterThan = 173,
944        OpUGreaterThanEqual = 174,
945        OpSGreaterThanEqual = 175,
946        OpULessThan = 176,
947        OpSLessThan = 177,
948        OpULessThanEqual = 178,
949        OpSLessThanEqual = 179,
950        OpFOrdEqual = 180,
951        OpFUnordEqual = 181,
952        OpFOrdNotEqual = 182,
953        OpFUnordNotEqual = 183,
954        OpFOrdLessThan = 184,
955        OpFUnordLessThan = 185,
956        OpFOrdGreaterThan = 186,
957        OpFUnordGreaterThan = 187,
958        OpFOrdLessThanEqual = 188,
959        OpFUnordLessThanEqual = 189,
960        OpFOrdGreaterThanEqual = 190,
961        OpFUnordGreaterThanEqual = 191,
962        OpShiftRightLogical = 194,
963        OpShiftRightArithmetic = 195,
964        OpShiftLeftLogical = 196,
965        OpBitwiseOr = 197,
966        OpBitwiseXor = 198,
967        OpBitwiseAnd = 199,
968        OpNot = 200,
969        OpBitFieldInsert = 201,
970        OpBitFieldSExtract = 202,
971        OpBitFieldUExtract = 203,
972        OpBitReverse = 204,
973        OpBitCount = 205,
974        OpDPdx = 207,
975        OpDPdy = 208,
976        OpFwidth = 209,
977        OpDPdxFine = 210,
978        OpDPdyFine = 211,
979        OpFwidthFine = 212,
980        OpDPdxCoarse = 213,
981        OpDPdyCoarse = 214,
982        OpFwidthCoarse = 215,
983        OpEmitVertex = 218,
984        OpEndPrimitive = 219,
985        OpEmitStreamVertex = 220,
986        OpEndStreamPrimitive = 221,
987        OpControlBarrier = 224,
988        OpMemoryBarrier = 225,
989        OpAtomicLoad = 227,
990        OpAtomicStore = 228,
991        OpAtomicExchange = 229,
992        OpAtomicCompareExchange = 230,
993        OpAtomicCompareExchangeWeak = 231,
994        OpAtomicIIncrement = 232,
995        OpAtomicIDecrement = 233,
996        OpAtomicIAdd = 234,
997        OpAtomicISub = 235,
998        OpAtomicSMin = 236,
999        OpAtomicUMin = 237,
1000        OpAtomicSMax = 238,
1001        OpAtomicUMax = 239,
1002        OpAtomicAnd = 240,
1003        OpAtomicOr = 241,
1004        OpAtomicXor = 242,
1005        OpPhi = 245,
1006        OpLoopMerge = 246,
1007        OpSelectionMerge = 247,
1008        OpLabel = 248,
1009        OpBranch = 249,
1010        OpBranchConditional = 250,
1011        OpSwitch = 251,
1012        OpKill = 252,
1013        OpReturn = 253,
1014        OpReturnValue = 254,
1015        OpUnreachable = 255,
1016        OpLifetimeStart = 256,
1017        OpLifetimeStop = 257,
1018        OpGroupAsyncCopy = 259,
1019        OpGroupWaitEvents = 260,
1020        OpGroupAll = 261,
1021        OpGroupAny = 262,
1022        OpGroupBroadcast = 263,
1023        OpGroupIAdd = 264,
1024        OpGroupFAdd = 265,
1025        OpGroupFMin = 266,
1026        OpGroupUMin = 267,
1027        OpGroupSMin = 268,
1028        OpGroupFMax = 269,
1029        OpGroupUMax = 270,
1030        OpGroupSMax = 271,
1031        OpReadPipe = 274,
1032        OpWritePipe = 275,
1033        OpReservedReadPipe = 276,
1034        OpReservedWritePipe = 277,
1035        OpReserveReadPipePackets = 278,
1036        OpReserveWritePipePackets = 279,
1037        OpCommitReadPipe = 280,
1038        OpCommitWritePipe = 281,
1039        OpIsValidReserveId = 282,
1040        OpGetNumPipePackets = 283,
1041        OpGetMaxPipePackets = 284,
1042        OpGroupReserveReadPipePackets = 285,
1043        OpGroupReserveWritePipePackets = 286,
1044        OpGroupCommitReadPipe = 287,
1045        OpGroupCommitWritePipe = 288,
1046        OpEnqueueMarker = 291,
1047        OpEnqueueKernel = 292,
1048        OpGetKernelNDrangeSubGroupCount = 293,
1049        OpGetKernelNDrangeMaxSubGroupSize = 294,
1050        OpGetKernelWorkGroupSize = 295,
1051        OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1052        OpRetainEvent = 297,
1053        OpReleaseEvent = 298,
1054        OpCreateUserEvent = 299,
1055        OpIsValidEvent = 300,
1056        OpSetUserEventStatus = 301,
1057        OpCaptureEventProfilingInfo = 302,
1058        OpGetDefaultQueue = 303,
1059        OpBuildNDRange = 304,
1060        OpImageSparseSampleImplicitLod = 305,
1061        OpImageSparseSampleExplicitLod = 306,
1062        OpImageSparseSampleDrefImplicitLod = 307,
1063        OpImageSparseSampleDrefExplicitLod = 308,
1064        OpImageSparseSampleProjImplicitLod = 309,
1065        OpImageSparseSampleProjExplicitLod = 310,
1066        OpImageSparseSampleProjDrefImplicitLod = 311,
1067        OpImageSparseSampleProjDrefExplicitLod = 312,
1068        OpImageSparseFetch = 313,
1069        OpImageSparseGather = 314,
1070        OpImageSparseDrefGather = 315,
1071        OpImageSparseTexelsResident = 316,
1072        OpNoLine = 317,
1073        OpAtomicFlagTestAndSet = 318,
1074        OpAtomicFlagClear = 319,
1075        OpImageSparseRead = 320,
1076        OpSizeOf = 321,
1077        OpTypePipeStorage = 322,
1078        OpConstantPipeStorage = 323,
1079        OpCreatePipeFromPipeStorage = 324,
1080        OpGetKernelLocalSizeForSubgroupCount = 325,
1081        OpGetKernelMaxNumSubgroups = 326,
1082        OpTypeNamedBarrier = 327,
1083        OpNamedBarrierInitialize = 328,
1084        OpMemoryNamedBarrier = 329,
1085        OpModuleProcessed = 330,
1086        OpExecutionModeId = 331,
1087        OpDecorateId = 332,
1088        OpGroupNonUniformElect = 333,
1089        OpGroupNonUniformAll = 334,
1090        OpGroupNonUniformAny = 335,
1091        OpGroupNonUniformAllEqual = 336,
1092        OpGroupNonUniformBroadcast = 337,
1093        OpGroupNonUniformBroadcastFirst = 338,
1094        OpGroupNonUniformBallot = 339,
1095        OpGroupNonUniformInverseBallot = 340,
1096        OpGroupNonUniformBallotBitExtract = 341,
1097        OpGroupNonUniformBallotBitCount = 342,
1098        OpGroupNonUniformBallotFindLSB = 343,
1099        OpGroupNonUniformBallotFindMSB = 344,
1100        OpGroupNonUniformShuffle = 345,
1101        OpGroupNonUniformShuffleXor = 346,
1102        OpGroupNonUniformShuffleUp = 347,
1103        OpGroupNonUniformShuffleDown = 348,
1104        OpGroupNonUniformIAdd = 349,
1105        OpGroupNonUniformFAdd = 350,
1106        OpGroupNonUniformIMul = 351,
1107        OpGroupNonUniformFMul = 352,
1108        OpGroupNonUniformSMin = 353,
1109        OpGroupNonUniformUMin = 354,
1110        OpGroupNonUniformFMin = 355,
1111        OpGroupNonUniformSMax = 356,
1112        OpGroupNonUniformUMax = 357,
1113        OpGroupNonUniformFMax = 358,
1114        OpGroupNonUniformBitwiseAnd = 359,
1115        OpGroupNonUniformBitwiseOr = 360,
1116        OpGroupNonUniformBitwiseXor = 361,
1117        OpGroupNonUniformLogicalAnd = 362,
1118        OpGroupNonUniformLogicalOr = 363,
1119        OpGroupNonUniformLogicalXor = 364,
1120        OpGroupNonUniformQuadBroadcast = 365,
1121        OpGroupNonUniformQuadSwap = 366,
1122        OpSubgroupBallotKHR = 4421,
1123        OpSubgroupFirstInvocationKHR = 4422,
1124        OpSubgroupAllKHR = 4428,
1125        OpSubgroupAnyKHR = 4429,
1126        OpSubgroupAllEqualKHR = 4430,
1127        OpSubgroupReadInvocationKHR = 4432,
1128        OpGroupIAddNonUniformAMD = 5000,
1129        OpGroupFAddNonUniformAMD = 5001,
1130        OpGroupFMinNonUniformAMD = 5002,
1131        OpGroupUMinNonUniformAMD = 5003,
1132        OpGroupSMinNonUniformAMD = 5004,
1133        OpGroupFMaxNonUniformAMD = 5005,
1134        OpGroupUMaxNonUniformAMD = 5006,
1135        OpGroupSMaxNonUniformAMD = 5007,
1136        OpFragmentMaskFetchAMD = 5011,
1137        OpFragmentFetchAMD = 5012,
1138        OpImageSampleFootprintNV = 5283,
1139        OpGroupNonUniformPartitionNV = 5296,
1140        OpWritePackedPrimitiveIndices4x8NV = 5299,
1141        OpReportIntersectionNV = 5334,
1142        OpIgnoreIntersectionNV = 5335,
1143        OpTerminateRayNV = 5336,
1144        OpTraceNV = 5337,
1145        OpTypeAccelerationStructureNV = 5341,
1146        OpExecuteCallableNV = 5344,
1147        OpSubgroupShuffleINTEL = 5571,
1148        OpSubgroupShuffleDownINTEL = 5572,
1149        OpSubgroupShuffleUpINTEL = 5573,
1150        OpSubgroupShuffleXorINTEL = 5574,
1151        OpSubgroupBlockReadINTEL = 5575,
1152        OpSubgroupBlockWriteINTEL = 5576,
1153        OpSubgroupImageBlockReadINTEL = 5577,
1154        OpSubgroupImageBlockWriteINTEL = 5578,
1155        OpDecorateStringGOOGLE = 5632,
1156        OpMemberDecorateStringGOOGLE = 5633,
1157    },
1158
1159}
1160
1161