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