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