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