Home | History | Annotate | Download | only in 1.0
      1 {
      2     "spv":
      3     {
      4         "meta":
      5         {
      6             "Comment":
      7             [
      8                 [
      9                     "Copyright (c) 2014-2016 The Khronos Group Inc.",
     10                     "",
     11                     "Permission is hereby granted, free of charge, to any person obtaining a copy",
     12                     "of this software and/or associated documentation files (the \"Materials\"),",
     13                     "to deal in the Materials without restriction, including without limitation",
     14                     "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
     15                     "and/or sell copies of the Materials, and to permit persons to whom the",
     16                     "Materials are furnished to do so, subject to the following conditions:",
     17                     "",
     18                     "The above copyright notice and this permission notice shall be included in",
     19                     "all copies or substantial portions of the Materials.",
     20                     "",
     21                     "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
     22                     "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
     23                     "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
     24                     "",
     25                     "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
     26                     "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
     27                     "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
     28                     "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
     29                     "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
     30                     "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
     31                     "IN THE MATERIALS."
     32                 ],
     33                 [
     34                     "This header is automatically generated by the same tool that creates",
     35                     "the Binary Section of the SPIR-V specification."
     36                 ],
     37                 [
     38                     "Enumeration tokens for SPIR-V, in various styles:",
     39                     "  C, C++, C++11, JSON, Lua, Python",
     40                     "",
     41                     "- C will have tokens with a \"Spv\" prefix, e.g.: SpvSourceLanguageGLSL",
     42                     "- C++ will have tokens in the \"spv\" name space, e.g.: spv::SourceLanguageGLSL",
     43                     "- C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL",
     44                     "- Lua will use tables, e.g.: spv.SourceLanguage.GLSL",
     45                     "- Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']",
     46                     "",
     47                     "Some tokens act like mask values, which can be OR'd together,",
     48                     "while others are mutually exclusive.  The mask-like ones have",
     49                     "\"Mask\" in their name, and a parallel enum that has the shift",
     50                     "amount (1 << x) for each corresponding enumerant."
     51                 ]
     52             ],
     53             "MagicNumber": 119734787,
     54             "Version": 65536,
     55             "Revision": 8,
     56             "OpCodeMask": 65535,
     57             "WordCountShift": 16
     58         },
     59         "enum":
     60         [
     61             {
     62                 "Name": "SourceLanguage",
     63                 "Type": "Value",
     64                 "Values":
     65                 {
     66                     "Unknown": 0,
     67                     "ESSL": 1,
     68                     "GLSL": 2,
     69                     "OpenCL_C": 3,
     70                     "OpenCL_CPP": 4
     71                 }
     72             },
     73             {
     74                 "Name": "ExecutionModel",
     75                 "Type": "Value",
     76                 "Values":
     77                 {
     78                     "Vertex": 0,
     79                     "TessellationControl": 1,
     80                     "TessellationEvaluation": 2,
     81                     "Geometry": 3,
     82                     "Fragment": 4,
     83                     "GLCompute": 5,
     84                     "Kernel": 6
     85                 }
     86             },
     87             {
     88                 "Name": "AddressingModel",
     89                 "Type": "Value",
     90                 "Values":
     91                 {
     92                     "Logical": 0,
     93                     "Physical32": 1,
     94                     "Physical64": 2
     95                 }
     96             },
     97             {
     98                 "Name": "MemoryModel",
     99                 "Type": "Value",
    100                 "Values":
    101                 {
    102                     "Simple": 0,
    103                     "GLSL450": 1,
    104                     "OpenCL": 2
    105                 }
    106             },
    107             {
    108                 "Name": "ExecutionMode",
    109                 "Type": "Value",
    110                 "Values":
    111                 {
    112                     "Invocations": 0,
    113                     "SpacingEqual": 1,
    114                     "SpacingFractionalEven": 2,
    115                     "SpacingFractionalOdd": 3,
    116                     "VertexOrderCw": 4,
    117                     "VertexOrderCcw": 5,
    118                     "PixelCenterInteger": 6,
    119                     "OriginUpperLeft": 7,
    120                     "OriginLowerLeft": 8,
    121                     "EarlyFragmentTests": 9,
    122                     "PointMode": 10,
    123                     "Xfb": 11,
    124                     "DepthReplacing": 12,
    125                     "DepthGreater": 14,
    126                     "DepthLess": 15,
    127                     "DepthUnchanged": 16,
    128                     "LocalSize": 17,
    129                     "LocalSizeHint": 18,
    130                     "InputPoints": 19,
    131                     "InputLines": 20,
    132                     "InputLinesAdjacency": 21,
    133                     "Triangles": 22,
    134                     "InputTrianglesAdjacency": 23,
    135                     "Quads": 24,
    136                     "Isolines": 25,
    137                     "OutputVertices": 26,
    138                     "OutputPoints": 27,
    139                     "OutputLineStrip": 28,
    140                     "OutputTriangleStrip": 29,
    141                     "VecTypeHint": 30,
    142                     "ContractionOff": 31
    143                 }
    144             },
    145             {
    146                 "Name": "StorageClass",
    147                 "Type": "Value",
    148                 "Values":
    149                 {
    150                     "UniformConstant": 0,
    151                     "Input": 1,
    152                     "Uniform": 2,
    153                     "Output": 3,
    154                     "Workgroup": 4,
    155                     "CrossWorkgroup": 5,
    156                     "Private": 6,
    157                     "Function": 7,
    158                     "Generic": 8,
    159                     "PushConstant": 9,
    160                     "AtomicCounter": 10,
    161                     "Image": 11
    162                 }
    163             },
    164             {
    165                 "Name": "Dim",
    166                 "Type": "Value",
    167                 "Values":
    168                 {
    169                     "Dim1D": 0,
    170                     "Dim2D": 1,
    171                     "Dim3D": 2,
    172                     "Cube": 3,
    173                     "Rect": 4,
    174                     "Buffer": 5,
    175                     "SubpassData": 6
    176                 }
    177             },
    178             {
    179                 "Name": "SamplerAddressingMode",
    180                 "Type": "Value",
    181                 "Values":
    182                 {
    183                     "None": 0,
    184                     "ClampToEdge": 1,
    185                     "Clamp": 2,
    186                     "Repeat": 3,
    187                     "RepeatMirrored": 4
    188                 }
    189             },
    190             {
    191                 "Name": "SamplerFilterMode",
    192                 "Type": "Value",
    193                 "Values":
    194                 {
    195                     "Nearest": 0,
    196                     "Linear": 1
    197                 }
    198             },
    199             {
    200                 "Name": "ImageFormat",
    201                 "Type": "Value",
    202                 "Values":
    203                 {
    204                     "Unknown": 0,
    205                     "Rgba32f": 1,
    206                     "Rgba16f": 2,
    207                     "R32f": 3,
    208                     "Rgba8": 4,
    209                     "Rgba8Snorm": 5,
    210                     "Rg32f": 6,
    211                     "Rg16f": 7,
    212                     "R11fG11fB10f": 8,
    213                     "R16f": 9,
    214                     "Rgba16": 10,
    215                     "Rgb10A2": 11,
    216                     "Rg16": 12,
    217                     "Rg8": 13,
    218                     "R16": 14,
    219                     "R8": 15,
    220                     "Rgba16Snorm": 16,
    221                     "Rg16Snorm": 17,
    222                     "Rg8Snorm": 18,
    223                     "R16Snorm": 19,
    224                     "R8Snorm": 20,
    225                     "Rgba32i": 21,
    226                     "Rgba16i": 22,
    227                     "Rgba8i": 23,
    228                     "R32i": 24,
    229                     "Rg32i": 25,
    230                     "Rg16i": 26,
    231                     "Rg8i": 27,
    232                     "R16i": 28,
    233                     "R8i": 29,
    234                     "Rgba32ui": 30,
    235                     "Rgba16ui": 31,
    236                     "Rgba8ui": 32,
    237                     "R32ui": 33,
    238                     "Rgb10a2ui": 34,
    239                     "Rg32ui": 35,
    240                     "Rg16ui": 36,
    241                     "Rg8ui": 37,
    242                     "R16ui": 38,
    243                     "R8ui": 39
    244                 }
    245             },
    246             {
    247                 "Name": "ImageChannelOrder",
    248                 "Type": "Value",
    249                 "Values":
    250                 {
    251                     "R": 0,
    252                     "A": 1,
    253                     "RG": 2,
    254                     "RA": 3,
    255                     "RGB": 4,
    256                     "RGBA": 5,
    257                     "BGRA": 6,
    258                     "ARGB": 7,
    259                     "Intensity": 8,
    260                     "Luminance": 9,
    261                     "Rx": 10,
    262                     "RGx": 11,
    263                     "RGBx": 12,
    264                     "Depth": 13,
    265                     "DepthStencil": 14,
    266                     "sRGB": 15,
    267                     "sRGBx": 16,
    268                     "sRGBA": 17,
    269                     "sBGRA": 18,
    270                     "ABGR": 19
    271                 }
    272             },
    273             {
    274                 "Name": "ImageChannelDataType",
    275                 "Type": "Value",
    276                 "Values":
    277                 {
    278                     "SnormInt8": 0,
    279                     "SnormInt16": 1,
    280                     "UnormInt8": 2,
    281                     "UnormInt16": 3,
    282                     "UnormShort565": 4,
    283                     "UnormShort555": 5,
    284                     "UnormInt101010": 6,
    285                     "SignedInt8": 7,
    286                     "SignedInt16": 8,
    287                     "SignedInt32": 9,
    288                     "UnsignedInt8": 10,
    289                     "UnsignedInt16": 11,
    290                     "UnsignedInt32": 12,
    291                     "HalfFloat": 13,
    292                     "Float": 14,
    293                     "UnormInt24": 15,
    294                     "UnormInt101010_2": 16
    295                 }
    296             },
    297             {
    298                 "Name": "ImageOperands",
    299                 "Type": "Bit",
    300                 "Values":
    301                 {
    302                     "Bias": 0,
    303                     "Lod": 1,
    304                     "Grad": 2,
    305                     "ConstOffset": 3,
    306                     "Offset": 4,
    307                     "ConstOffsets": 5,
    308                     "Sample": 6,
    309                     "MinLod": 7
    310                 }
    311             },
    312             {
    313                 "Name": "FPFastMathMode",
    314                 "Type": "Bit",
    315                 "Values":
    316                 {
    317                     "NotNaN": 0,
    318                     "NotInf": 1,
    319                     "NSZ": 2,
    320                     "AllowRecip": 3,
    321                     "Fast": 4
    322                 }
    323             },
    324             {
    325                 "Name": "FPRoundingMode",
    326                 "Type": "Value",
    327                 "Values":
    328                 {
    329                     "RTE": 0,
    330                     "RTZ": 1,
    331                     "RTP": 2,
    332                     "RTN": 3
    333                 }
    334             },
    335             {
    336                 "Name": "LinkageType",
    337                 "Type": "Value",
    338                 "Values":
    339                 {
    340                     "Export": 0,
    341                     "Import": 1
    342                 }
    343             },
    344             {
    345                 "Name": "AccessQualifier",
    346                 "Type": "Value",
    347                 "Values":
    348                 {
    349                     "ReadOnly": 0,
    350                     "WriteOnly": 1,
    351                     "ReadWrite": 2
    352                 }
    353             },
    354             {
    355                 "Name": "FunctionParameterAttribute",
    356                 "Type": "Value",
    357                 "Values":
    358                 {
    359                     "Zext": 0,
    360                     "Sext": 1,
    361                     "ByVal": 2,
    362                     "Sret": 3,
    363                     "NoAlias": 4,
    364                     "NoCapture": 5,
    365                     "NoWrite": 6,
    366                     "NoReadWrite": 7
    367                 }
    368             },
    369             {
    370                 "Name": "Decoration",
    371                 "Type": "Value",
    372                 "Values":
    373                 {
    374                     "RelaxedPrecision": 0,
    375                     "SpecId": 1,
    376                     "Block": 2,
    377                     "BufferBlock": 3,
    378                     "RowMajor": 4,
    379                     "ColMajor": 5,
    380                     "ArrayStride": 6,
    381                     "MatrixStride": 7,
    382                     "GLSLShared": 8,
    383                     "GLSLPacked": 9,
    384                     "CPacked": 10,
    385                     "BuiltIn": 11,
    386                     "NoPerspective": 13,
    387                     "Flat": 14,
    388                     "Patch": 15,
    389                     "Centroid": 16,
    390                     "Sample": 17,
    391                     "Invariant": 18,
    392                     "Restrict": 19,
    393                     "Aliased": 20,
    394                     "Volatile": 21,
    395                     "Constant": 22,
    396                     "Coherent": 23,
    397                     "NonWritable": 24,
    398                     "NonReadable": 25,
    399                     "Uniform": 26,
    400                     "SaturatedConversion": 28,
    401                     "Stream": 29,
    402                     "Location": 30,
    403                     "Component": 31,
    404                     "Index": 32,
    405                     "Binding": 33,
    406                     "DescriptorSet": 34,
    407                     "Offset": 35,
    408                     "XfbBuffer": 36,
    409                     "XfbStride": 37,
    410                     "FuncParamAttr": 38,
    411                     "FPRoundingMode": 39,
    412                     "FPFastMathMode": 40,
    413                     "LinkageAttributes": 41,
    414                     "NoContraction": 42,
    415                     "InputAttachmentIndex": 43,
    416                     "Alignment": 44
    417                 }
    418             },
    419             {
    420                 "Name": "BuiltIn",
    421                 "Type": "Value",
    422                 "Values":
    423                 {
    424                     "Position": 0,
    425                     "PointSize": 1,
    426                     "ClipDistance": 3,
    427                     "CullDistance": 4,
    428                     "VertexId": 5,
    429                     "InstanceId": 6,
    430                     "PrimitiveId": 7,
    431                     "InvocationId": 8,
    432                     "Layer": 9,
    433                     "ViewportIndex": 10,
    434                     "TessLevelOuter": 11,
    435                     "TessLevelInner": 12,
    436                     "TessCoord": 13,
    437                     "PatchVertices": 14,
    438                     "FragCoord": 15,
    439                     "PointCoord": 16,
    440                     "FrontFacing": 17,
    441                     "SampleId": 18,
    442                     "SamplePosition": 19,
    443                     "SampleMask": 20,
    444                     "FragDepth": 22,
    445                     "HelperInvocation": 23,
    446                     "NumWorkgroups": 24,
    447                     "WorkgroupSize": 25,
    448                     "WorkgroupId": 26,
    449                     "LocalInvocationId": 27,
    450                     "GlobalInvocationId": 28,
    451                     "LocalInvocationIndex": 29,
    452                     "WorkDim": 30,
    453                     "GlobalSize": 31,
    454                     "EnqueuedWorkgroupSize": 32,
    455                     "GlobalOffset": 33,
    456                     "GlobalLinearId": 34,
    457                     "SubgroupSize": 36,
    458                     "SubgroupMaxSize": 37,
    459                     "NumSubgroups": 38,
    460                     "NumEnqueuedSubgroups": 39,
    461                     "SubgroupId": 40,
    462                     "SubgroupLocalInvocationId": 41,
    463                     "VertexIndex": 42,
    464                     "InstanceIndex": 43,
    465                     "SubgroupEqMaskKHR": 4416,
    466                     "SubgroupGeMaskKHR": 4417,
    467                     "SubgroupGtMaskKHR": 4418,
    468                     "SubgroupLeMaskKHR": 4419,
    469                     "SubgroupLtMaskKHR": 4420,
    470                     "BaseVertex": 4424,
    471                     "BaseInstance": 4425,
    472                     "DrawIndex": 4426
    473                 }
    474             },
    475             {
    476                 "Name": "SelectionControl",
    477                 "Type": "Bit",
    478                 "Values":
    479                 {
    480                     "Flatten": 0,
    481                     "DontFlatten": 1
    482                 }
    483             },
    484             {
    485                 "Name": "LoopControl",
    486                 "Type": "Bit",
    487                 "Values":
    488                 {
    489                     "Unroll": 0,
    490                     "DontUnroll": 1
    491                 }
    492             },
    493             {
    494                 "Name": "FunctionControl",
    495                 "Type": "Bit",
    496                 "Values":
    497                 {
    498                     "Inline": 0,
    499                     "DontInline": 1,
    500                     "Pure": 2,
    501                     "Const": 3
    502                 }
    503             },
    504             {
    505                 "Name": "MemorySemantics",
    506                 "Type": "Bit",
    507                 "Values":
    508                 {
    509                     "Acquire": 1,
    510                     "Release": 2,
    511                     "AcquireRelease": 3,
    512                     "SequentiallyConsistent": 4,
    513                     "UniformMemory": 6,
    514                     "SubgroupMemory": 7,
    515                     "WorkgroupMemory": 8,
    516                     "CrossWorkgroupMemory": 9,
    517                     "AtomicCounterMemory": 10,
    518                     "ImageMemory": 11
    519                 }
    520             },
    521             {
    522                 "Name": "MemoryAccess",
    523                 "Type": "Bit",
    524                 "Values":
    525                 {
    526                     "Volatile": 0,
    527                     "Aligned": 1,
    528                     "Nontemporal": 2
    529                 }
    530             },
    531             {
    532                 "Name": "Scope",
    533                 "Type": "Value",
    534                 "Values":
    535                 {
    536                     "CrossDevice": 0,
    537                     "Device": 1,
    538                     "Workgroup": 2,
    539                     "Subgroup": 3,
    540                     "Invocation": 4
    541                 }
    542             },
    543             {
    544                 "Name": "GroupOperation",
    545                 "Type": "Value",
    546                 "Values":
    547                 {
    548                     "Reduce": 0,
    549                     "InclusiveScan": 1,
    550                     "ExclusiveScan": 2
    551                 }
    552             },
    553             {
    554                 "Name": "KernelEnqueueFlags",
    555                 "Type": "Value",
    556                 "Values":
    557                 {
    558                     "NoWait": 0,
    559                     "WaitKernel": 1,
    560                     "WaitWorkGroup": 2
    561                 }
    562             },
    563             {
    564                 "Name": "KernelProfilingInfo",
    565                 "Type": "Bit",
    566                 "Values":
    567                 {
    568                     "CmdExecTime": 0
    569                 }
    570             },
    571             {
    572                 "Name": "Capability",
    573                 "Type": "Value",
    574                 "Values":
    575                 {
    576                     "Matrix": 0,
    577                     "Shader": 1,
    578                     "Geometry": 2,
    579                     "Tessellation": 3,
    580                     "Addresses": 4,
    581                     "Linkage": 5,
    582                     "Kernel": 6,
    583                     "Vector16": 7,
    584                     "Float16Buffer": 8,
    585                     "Float16": 9,
    586                     "Float64": 10,
    587                     "Int64": 11,
    588                     "Int64Atomics": 12,
    589                     "ImageBasic": 13,
    590                     "ImageReadWrite": 14,
    591                     "ImageMipmap": 15,
    592                     "Pipes": 17,
    593                     "Groups": 18,
    594                     "DeviceEnqueue": 19,
    595                     "LiteralSampler": 20,
    596                     "AtomicStorage": 21,
    597                     "Int16": 22,
    598                     "TessellationPointSize": 23,
    599                     "GeometryPointSize": 24,
    600                     "ImageGatherExtended": 25,
    601                     "StorageImageMultisample": 27,
    602                     "UniformBufferArrayDynamicIndexing": 28,
    603                     "SampledImageArrayDynamicIndexing": 29,
    604                     "StorageBufferArrayDynamicIndexing": 30,
    605                     "StorageImageArrayDynamicIndexing": 31,
    606                     "ClipDistance": 32,
    607                     "CullDistance": 33,
    608                     "ImageCubeArray": 34,
    609                     "SampleRateShading": 35,
    610                     "ImageRect": 36,
    611                     "SampledRect": 37,
    612                     "GenericPointer": 38,
    613                     "Int8": 39,
    614                     "InputAttachment": 40,
    615                     "SparseResidency": 41,
    616                     "MinLod": 42,
    617                     "Sampled1D": 43,
    618                     "Image1D": 44,
    619                     "SampledCubeArray": 45,
    620                     "SampledBuffer": 46,
    621                     "ImageBuffer": 47,
    622                     "ImageMSArray": 48,
    623                     "StorageImageExtendedFormats": 49,
    624                     "ImageQuery": 50,
    625                     "DerivativeControl": 51,
    626                     "InterpolationFunction": 52,
    627                     "TransformFeedback": 53,
    628                     "GeometryStreams": 54,
    629                     "StorageImageReadWithoutFormat": 55,
    630                     "StorageImageWriteWithoutFormat": 56,
    631                     "MultiViewport": 57,
    632                     "SubgroupBallotKHR": 4423,
    633                     "DrawParameters": 4427
    634                 }
    635             },
    636             {
    637                 "Name": "Op",
    638                 "Type": "Value",
    639                 "Values":
    640                 {
    641                     "OpNop": 0,
    642                     "OpUndef": 1,
    643                     "OpSourceContinued": 2,
    644                     "OpSource": 3,
    645                     "OpSourceExtension": 4,
    646                     "OpName": 5,
    647                     "OpMemberName": 6,
    648                     "OpString": 7,
    649                     "OpLine": 8,
    650                     "OpExtension": 10,
    651                     "OpExtInstImport": 11,
    652                     "OpExtInst": 12,
    653                     "OpMemoryModel": 14,
    654                     "OpEntryPoint": 15,
    655                     "OpExecutionMode": 16,
    656                     "OpCapability": 17,
    657                     "OpTypeVoid": 19,
    658                     "OpTypeBool": 20,
    659                     "OpTypeInt": 21,
    660                     "OpTypeFloat": 22,
    661                     "OpTypeVector": 23,
    662                     "OpTypeMatrix": 24,
    663                     "OpTypeImage": 25,
    664                     "OpTypeSampler": 26,
    665                     "OpTypeSampledImage": 27,
    666                     "OpTypeArray": 28,
    667                     "OpTypeRuntimeArray": 29,
    668                     "OpTypeStruct": 30,
    669                     "OpTypeOpaque": 31,
    670                     "OpTypePointer": 32,
    671                     "OpTypeFunction": 33,
    672                     "OpTypeEvent": 34,
    673                     "OpTypeDeviceEvent": 35,
    674                     "OpTypeReserveId": 36,
    675                     "OpTypeQueue": 37,
    676                     "OpTypePipe": 38,
    677                     "OpTypeForwardPointer": 39,
    678                     "OpConstantTrue": 41,
    679                     "OpConstantFalse": 42,
    680                     "OpConstant": 43,
    681                     "OpConstantComposite": 44,
    682                     "OpConstantSampler": 45,
    683                     "OpConstantNull": 46,
    684                     "OpSpecConstantTrue": 48,
    685                     "OpSpecConstantFalse": 49,
    686                     "OpSpecConstant": 50,
    687                     "OpSpecConstantComposite": 51,
    688                     "OpSpecConstantOp": 52,
    689                     "OpFunction": 54,
    690                     "OpFunctionParameter": 55,
    691                     "OpFunctionEnd": 56,
    692                     "OpFunctionCall": 57,
    693                     "OpVariable": 59,
    694                     "OpImageTexelPointer": 60,
    695                     "OpLoad": 61,
    696                     "OpStore": 62,
    697                     "OpCopyMemory": 63,
    698                     "OpCopyMemorySized": 64,
    699                     "OpAccessChain": 65,
    700                     "OpInBoundsAccessChain": 66,
    701                     "OpPtrAccessChain": 67,
    702                     "OpArrayLength": 68,
    703                     "OpGenericPtrMemSemantics": 69,
    704                     "OpInBoundsPtrAccessChain": 70,
    705                     "OpDecorate": 71,
    706                     "OpMemberDecorate": 72,
    707                     "OpDecorationGroup": 73,
    708                     "OpGroupDecorate": 74,
    709                     "OpGroupMemberDecorate": 75,
    710                     "OpVectorExtractDynamic": 77,
    711                     "OpVectorInsertDynamic": 78,
    712                     "OpVectorShuffle": 79,
    713                     "OpCompositeConstruct": 80,
    714                     "OpCompositeExtract": 81,
    715                     "OpCompositeInsert": 82,
    716                     "OpCopyObject": 83,
    717                     "OpTranspose": 84,
    718                     "OpSampledImage": 86,
    719                     "OpImageSampleImplicitLod": 87,
    720                     "OpImageSampleExplicitLod": 88,
    721                     "OpImageSampleDrefImplicitLod": 89,
    722                     "OpImageSampleDrefExplicitLod": 90,
    723                     "OpImageSampleProjImplicitLod": 91,
    724                     "OpImageSampleProjExplicitLod": 92,
    725                     "OpImageSampleProjDrefImplicitLod": 93,
    726                     "OpImageSampleProjDrefExplicitLod": 94,
    727                     "OpImageFetch": 95,
    728                     "OpImageGather": 96,
    729                     "OpImageDrefGather": 97,
    730                     "OpImageRead": 98,
    731                     "OpImageWrite": 99,
    732                     "OpImage": 100,
    733                     "OpImageQueryFormat": 101,
    734                     "OpImageQueryOrder": 102,
    735                     "OpImageQuerySizeLod": 103,
    736                     "OpImageQuerySize": 104,
    737                     "OpImageQueryLod": 105,
    738                     "OpImageQueryLevels": 106,
    739                     "OpImageQuerySamples": 107,
    740                     "OpConvertFToU": 109,
    741                     "OpConvertFToS": 110,
    742                     "OpConvertSToF": 111,
    743                     "OpConvertUToF": 112,
    744                     "OpUConvert": 113,
    745                     "OpSConvert": 114,
    746                     "OpFConvert": 115,
    747                     "OpQuantizeToF16": 116,
    748                     "OpConvertPtrToU": 117,
    749                     "OpSatConvertSToU": 118,
    750                     "OpSatConvertUToS": 119,
    751                     "OpConvertUToPtr": 120,
    752                     "OpPtrCastToGeneric": 121,
    753                     "OpGenericCastToPtr": 122,
    754                     "OpGenericCastToPtrExplicit": 123,
    755                     "OpBitcast": 124,
    756                     "OpSNegate": 126,
    757                     "OpFNegate": 127,
    758                     "OpIAdd": 128,
    759                     "OpFAdd": 129,
    760                     "OpISub": 130,
    761                     "OpFSub": 131,
    762                     "OpIMul": 132,
    763                     "OpFMul": 133,
    764                     "OpUDiv": 134,
    765                     "OpSDiv": 135,
    766                     "OpFDiv": 136,
    767                     "OpUMod": 137,
    768                     "OpSRem": 138,
    769                     "OpSMod": 139,
    770                     "OpFRem": 140,
    771                     "OpFMod": 141,
    772                     "OpVectorTimesScalar": 142,
    773                     "OpMatrixTimesScalar": 143,
    774                     "OpVectorTimesMatrix": 144,
    775                     "OpMatrixTimesVector": 145,
    776                     "OpMatrixTimesMatrix": 146,
    777                     "OpOuterProduct": 147,
    778                     "OpDot": 148,
    779                     "OpIAddCarry": 149,
    780                     "OpISubBorrow": 150,
    781                     "OpUMulExtended": 151,
    782                     "OpSMulExtended": 152,
    783                     "OpAny": 154,
    784                     "OpAll": 155,
    785                     "OpIsNan": 156,
    786                     "OpIsInf": 157,
    787                     "OpIsFinite": 158,
    788                     "OpIsNormal": 159,
    789                     "OpSignBitSet": 160,
    790                     "OpLessOrGreater": 161,
    791                     "OpOrdered": 162,
    792                     "OpUnordered": 163,
    793                     "OpLogicalEqual": 164,
    794                     "OpLogicalNotEqual": 165,
    795                     "OpLogicalOr": 166,
    796                     "OpLogicalAnd": 167,
    797                     "OpLogicalNot": 168,
    798                     "OpSelect": 169,
    799                     "OpIEqual": 170,
    800                     "OpINotEqual": 171,
    801                     "OpUGreaterThan": 172,
    802                     "OpSGreaterThan": 173,
    803                     "OpUGreaterThanEqual": 174,
    804                     "OpSGreaterThanEqual": 175,
    805                     "OpULessThan": 176,
    806                     "OpSLessThan": 177,
    807                     "OpULessThanEqual": 178,
    808                     "OpSLessThanEqual": 179,
    809                     "OpFOrdEqual": 180,
    810                     "OpFUnordEqual": 181,
    811                     "OpFOrdNotEqual": 182,
    812                     "OpFUnordNotEqual": 183,
    813                     "OpFOrdLessThan": 184,
    814                     "OpFUnordLessThan": 185,
    815                     "OpFOrdGreaterThan": 186,
    816                     "OpFUnordGreaterThan": 187,
    817                     "OpFOrdLessThanEqual": 188,
    818                     "OpFUnordLessThanEqual": 189,
    819                     "OpFOrdGreaterThanEqual": 190,
    820                     "OpFUnordGreaterThanEqual": 191,
    821                     "OpShiftRightLogical": 194,
    822                     "OpShiftRightArithmetic": 195,
    823                     "OpShiftLeftLogical": 196,
    824                     "OpBitwiseOr": 197,
    825                     "OpBitwiseXor": 198,
    826                     "OpBitwiseAnd": 199,
    827                     "OpNot": 200,
    828                     "OpBitFieldInsert": 201,
    829                     "OpBitFieldSExtract": 202,
    830                     "OpBitFieldUExtract": 203,
    831                     "OpBitReverse": 204,
    832                     "OpBitCount": 205,
    833                     "OpDPdx": 207,
    834                     "OpDPdy": 208,
    835                     "OpFwidth": 209,
    836                     "OpDPdxFine": 210,
    837                     "OpDPdyFine": 211,
    838                     "OpFwidthFine": 212,
    839                     "OpDPdxCoarse": 213,
    840                     "OpDPdyCoarse": 214,
    841                     "OpFwidthCoarse": 215,
    842                     "OpEmitVertex": 218,
    843                     "OpEndPrimitive": 219,
    844                     "OpEmitStreamVertex": 220,
    845                     "OpEndStreamPrimitive": 221,
    846                     "OpControlBarrier": 224,
    847                     "OpMemoryBarrier": 225,
    848                     "OpAtomicLoad": 227,
    849                     "OpAtomicStore": 228,
    850                     "OpAtomicExchange": 229,
    851                     "OpAtomicCompareExchange": 230,
    852                     "OpAtomicCompareExchangeWeak": 231,
    853                     "OpAtomicIIncrement": 232,
    854                     "OpAtomicIDecrement": 233,
    855                     "OpAtomicIAdd": 234,
    856                     "OpAtomicISub": 235,
    857                     "OpAtomicSMin": 236,
    858                     "OpAtomicUMin": 237,
    859                     "OpAtomicSMax": 238,
    860                     "OpAtomicUMax": 239,
    861                     "OpAtomicAnd": 240,
    862                     "OpAtomicOr": 241,
    863                     "OpAtomicXor": 242,
    864                     "OpPhi": 245,
    865                     "OpLoopMerge": 246,
    866                     "OpSelectionMerge": 247,
    867                     "OpLabel": 248,
    868                     "OpBranch": 249,
    869                     "OpBranchConditional": 250,
    870                     "OpSwitch": 251,
    871                     "OpKill": 252,
    872                     "OpReturn": 253,
    873                     "OpReturnValue": 254,
    874                     "OpUnreachable": 255,
    875                     "OpLifetimeStart": 256,
    876                     "OpLifetimeStop": 257,
    877                     "OpGroupAsyncCopy": 259,
    878                     "OpGroupWaitEvents": 260,
    879                     "OpGroupAll": 261,
    880                     "OpGroupAny": 262,
    881                     "OpGroupBroadcast": 263,
    882                     "OpGroupIAdd": 264,
    883                     "OpGroupFAdd": 265,
    884                     "OpGroupFMin": 266,
    885                     "OpGroupUMin": 267,
    886                     "OpGroupSMin": 268,
    887                     "OpGroupFMax": 269,
    888                     "OpGroupUMax": 270,
    889                     "OpGroupSMax": 271,
    890                     "OpReadPipe": 274,
    891                     "OpWritePipe": 275,
    892                     "OpReservedReadPipe": 276,
    893                     "OpReservedWritePipe": 277,
    894                     "OpReserveReadPipePackets": 278,
    895                     "OpReserveWritePipePackets": 279,
    896                     "OpCommitReadPipe": 280,
    897                     "OpCommitWritePipe": 281,
    898                     "OpIsValidReserveId": 282,
    899                     "OpGetNumPipePackets": 283,
    900                     "OpGetMaxPipePackets": 284,
    901                     "OpGroupReserveReadPipePackets": 285,
    902                     "OpGroupReserveWritePipePackets": 286,
    903                     "OpGroupCommitReadPipe": 287,
    904                     "OpGroupCommitWritePipe": 288,
    905                     "OpEnqueueMarker": 291,
    906                     "OpEnqueueKernel": 292,
    907                     "OpGetKernelNDrangeSubGroupCount": 293,
    908                     "OpGetKernelNDrangeMaxSubGroupSize": 294,
    909                     "OpGetKernelWorkGroupSize": 295,
    910                     "OpGetKernelPreferredWorkGroupSizeMultiple": 296,
    911                     "OpRetainEvent": 297,
    912                     "OpReleaseEvent": 298,
    913                     "OpCreateUserEvent": 299,
    914                     "OpIsValidEvent": 300,
    915                     "OpSetUserEventStatus": 301,
    916                     "OpCaptureEventProfilingInfo": 302,
    917                     "OpGetDefaultQueue": 303,
    918                     "OpBuildNDRange": 304,
    919                     "OpImageSparseSampleImplicitLod": 305,
    920                     "OpImageSparseSampleExplicitLod": 306,
    921                     "OpImageSparseSampleDrefImplicitLod": 307,
    922                     "OpImageSparseSampleDrefExplicitLod": 308,
    923                     "OpImageSparseSampleProjImplicitLod": 309,
    924                     "OpImageSparseSampleProjExplicitLod": 310,
    925                     "OpImageSparseSampleProjDrefImplicitLod": 311,
    926                     "OpImageSparseSampleProjDrefExplicitLod": 312,
    927                     "OpImageSparseFetch": 313,
    928                     "OpImageSparseGather": 314,
    929                     "OpImageSparseDrefGather": 315,
    930                     "OpImageSparseTexelsResident": 316,
    931                     "OpNoLine": 317,
    932                     "OpAtomicFlagTestAndSet": 318,
    933                     "OpAtomicFlagClear": 319,
    934                     "OpImageSparseRead": 320,
    935                     "OpSubgroupBallotKHR": 4421,
    936                     "OpSubgroupFirstInvocationKHR": 4422
    937                 }
    938             }
    939         ]
    940     }
    941 }
    942 
    943