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