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