Home | History | Annotate | Download | only in unified1
      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 
     45 spv = {
     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