{
  "copyright" : [
    "Copyright (c) 2014-2016 The Khronos Group Inc.",
    "",
    "Permission is hereby granted, free of charge, to any person obtaining a copy",
    "of this software and/or associated documentation files (the \"Materials\"),",
    "to deal in the Materials without restriction, including without limitation",
    "the rights to use, copy, modify, merge, publish, distribute, sublicense,",
    "and/or sell copies of the Materials, and to permit persons to whom the",
    "Materials are furnished to do so, subject to the following conditions:",
    "",
    "The above copyright notice and this permission notice shall be included in",
    "all copies or substantial portions of the Materials.",
    "",
    "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS",
    "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND",
    "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ",
    "",
    "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS",
    "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,",
    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL",
    "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER",
    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING",
    "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS",
    "IN THE MATERIALS."
  ],
  "magic_number" : "0x07230203",
  "major_version" : 1,
  "minor_version" : 3,
  "revision" : 1,
  "instructions" : [
    {
      "opname" : "OpNop",
      "opcode" : 0
    },
    {
      "opname" : "OpUndef",
      "opcode" : 1,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpSourceContinued",
      "opcode" : 2,
      "operands" : [
        { "kind" : "LiteralString", "name" : "'Continued Source'" }
      ]
    },
    {
      "opname" : "OpSource",
      "opcode" : 3,
      "operands" : [
        { "kind" : "SourceLanguage" },
        { "kind" : "LiteralInteger",                     "name" : "'Version'" },
        { "kind" : "IdRef",          "quantifier" : "?", "name" : "'File'" },
        { "kind" : "LiteralString",  "quantifier" : "?", "name" : "'Source'" }
      ]
    },
    {
      "opname" : "OpSourceExtension",
      "opcode" : 4,
      "operands" : [
        { "kind" : "LiteralString", "name" : "'Extension'" }
      ]
    },
    {
      "opname" : "OpName",
      "opcode" : 5,
      "operands" : [
        { "kind" : "IdRef",         "name" : "'Target'" },
        { "kind" : "LiteralString", "name" : "'Name'" }
      ]
    },
    {
      "opname" : "OpMemberName",
      "opcode" : 6,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'Type'" },
        { "kind" : "LiteralInteger", "name" : "'Member'" },
        { "kind" : "LiteralString",  "name" : "'Name'" }
      ]
    },
    {
      "opname" : "OpString",
      "opcode" : 7,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "LiteralString", "name" : "'String'" }
      ]
    },
    {
      "opname" : "OpLine",
      "opcode" : 8,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'File'" },
        { "kind" : "LiteralInteger", "name" : "'Line'" },
        { "kind" : "LiteralInteger", "name" : "'Column'" }
      ]
    },
    {
      "opname" : "OpExtension",
      "opcode" : 10,
      "operands" : [
        { "kind" : "LiteralString", "name" : "'Name'" }
      ]
    },
    {
      "opname" : "OpExtInstImport",
      "opcode" : 11,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "LiteralString", "name" : "'Name'" }
      ]
    },
    {
      "opname" : "OpExtInst",
      "opcode" : 12,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                                     "name" : "'Set'" },
        { "kind" : "LiteralExtInstInteger",                     "name" : "'Instruction'" },
        { "kind" : "IdRef",                 "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
      ]
    },
    {
      "opname" : "OpMemoryModel",
      "opcode" : 14,
      "operands" : [
        { "kind" : "AddressingModel" },
        { "kind" : "MemoryModel" }
      ]
    },
    {
      "opname" : "OpEntryPoint",
      "opcode" : 15,
      "operands" : [
        { "kind" : "ExecutionModel" },
        { "kind" : "IdRef",                              "name" : "'Entry Point'" },
        { "kind" : "LiteralString",                      "name" : "'Name'" },
        { "kind" : "IdRef",          "quantifier" : "*", "name" : "'Interface'" }
      ]
    },
    {
      "opname" : "OpExecutionMode",
      "opcode" : 16,
      "operands" : [
        { "kind" : "IdRef",         "name" : "'Entry Point'" },
        { "kind" : "ExecutionMode", "name" : "'Mode'" }
      ]
    },
    {
      "opname" : "OpCapability",
      "opcode" : 17,
      "operands" : [
        { "kind" : "Capability", "name" : "'Capability'" }
      ]
    },
    {
      "opname" : "OpTypeVoid",
      "opcode" : 19,
      "operands" : [
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpTypeBool",
      "opcode" : 20,
      "operands" : [
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpTypeInt",
      "opcode" : 21,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "LiteralInteger", "name" : "'Width'" },
        { "kind" : "LiteralInteger", "name" : "'Signedness'" }
      ]
    },
    {
      "opname" : "OpTypeFloat",
      "opcode" : 22,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "LiteralInteger", "name" : "'Width'" }
      ]
    },
    {
      "opname" : "OpTypeVector",
      "opcode" : 23,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",          "name" : "'Component Type'" },
        { "kind" : "LiteralInteger", "name" : "'Component Count'" }
      ]
    },
    {
      "opname" : "OpTypeMatrix",
      "opcode" : 24,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",          "name" : "'Column Type'" },
        { "kind" : "LiteralInteger", "name" : "'Column Count'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpTypeImage",
      "opcode" : 25,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                               "name" : "'Sampled Type'" },
        { "kind" : "Dim" },
        { "kind" : "LiteralInteger",                      "name" : "'Depth'" },
        { "kind" : "LiteralInteger",                      "name" : "'Arrayed'" },
        { "kind" : "LiteralInteger",                      "name" : "'MS'" },
        { "kind" : "LiteralInteger",                      "name" : "'Sampled'" },
        { "kind" : "ImageFormat" },
        { "kind" : "AccessQualifier", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpTypeSampler",
      "opcode" : 26,
      "operands" : [
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpTypeSampledImage",
      "opcode" : 27,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",    "name" : "'Image Type'" }
      ]
    },
    {
      "opname" : "OpTypeArray",
      "opcode" : 28,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",    "name" : "'Element Type'" },
        { "kind" : "IdRef",    "name" : "'Length'" }
      ]
    },
    {
      "opname" : "OpTypeRuntimeArray",
      "opcode" : 29,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",    "name" : "'Element Type'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpTypeStruct",
      "opcode" : 30,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." }
      ]
    },
    {
      "opname" : "OpTypeOpaque",
      "opcode" : 31,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "LiteralString", "name" : "The name of the opaque type." }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpTypePointer",
      "opcode" : 32,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "StorageClass" },
        { "kind" : "IdRef",        "name" : "'Type'" }
      ]
    },
    {
      "opname" : "OpTypeFunction",
      "opcode" : 33,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                        "name" : "'Return Type'" },
        { "kind" : "IdRef",    "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." }
      ]
    },
    {
      "opname" : "OpTypeEvent",
      "opcode" : 34,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpTypeDeviceEvent",
      "opcode" : 35,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpTypeReserveId",
      "opcode" : 36,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpTypeQueue",
      "opcode" : 37,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpTypePipe",
      "opcode" : 38,
      "operands" : [
        { "kind" : "IdResult" },
        { "kind" : "AccessQualifier", "name" : "'Qualifier'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpTypeForwardPointer",
      "opcode" : 39,
      "operands" : [
        { "kind" : "IdRef",        "name" : "'Pointer Type'" },
        { "kind" : "StorageClass" }
      ],
      "capabilities" : [
        "Addresses",
        "PhysicalStorageBufferAddressesEXT"
      ]
    },
    {
      "opname" : "OpConstantTrue",
      "opcode" : 41,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpConstantFalse",
      "opcode" : 42,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpConstant",
      "opcode" : 43,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpConstantComposite",
      "opcode" : 44,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
      ]
    },
    {
      "opname" : "OpConstantSampler",
      "opcode" : 45,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "SamplerAddressingMode" },
        { "kind" : "LiteralInteger",        "name" : "'Param'" },
        { "kind" : "SamplerFilterMode" }
      ],
      "capabilities" : [ "LiteralSampler" ]
    },
    {
      "opname" : "OpConstantNull",
      "opcode" : 46,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpSpecConstantTrue",
      "opcode" : 48,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpSpecConstantFalse",
      "opcode" : 49,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpSpecConstant",
      "opcode" : 50,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpSpecConstantComposite",
      "opcode" : 51,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
      ]
    },
    {
      "opname" : "OpSpecConstantOp",
      "opcode" : 52,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" }
      ]
    },
    {
      "opname" : "OpFunction",
      "opcode" : 54,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "FunctionControl" },
        { "kind" : "IdRef",           "name" : "'Function Type'" }
      ]
    },
    {
      "opname" : "OpFunctionParameter",
      "opcode" : 55,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpFunctionEnd",
      "opcode" : 56
    },
    {
      "opname" : "OpFunctionCall",
      "opcode" : 57,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Function'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." }
      ]
    },
    {
      "opname" : "OpVariable",
      "opcode" : 59,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "StorageClass" },
        { "kind" : "IdRef",        "quantifier" : "?", "name" : "'Initializer'" }
      ]
    },
    {
      "opname" : "OpImageTexelPointer",
      "opcode" : 60,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" },
        { "kind" : "IdRef",        "name" : "'Coordinate'" },
        { "kind" : "IdRef",        "name" : "'Sample'" }
      ]
    },
    {
      "opname" : "OpLoad",
      "opcode" : 61,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Pointer'" },
        { "kind" : "MemoryAccess", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpStore",
      "opcode" : 62,
      "operands" : [
        { "kind" : "IdRef",                            "name" : "'Pointer'" },
        { "kind" : "IdRef",                            "name" : "'Object'" },
        { "kind" : "MemoryAccess", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpCopyMemory",
      "opcode" : 63,
      "operands" : [
        { "kind" : "IdRef",                            "name" : "'Target'" },
        { "kind" : "IdRef",                            "name" : "'Source'" },
        { "kind" : "MemoryAccess", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpCopyMemorySized",
      "opcode" : 64,
      "operands" : [
        { "kind" : "IdRef",                            "name" : "'Target'" },
        { "kind" : "IdRef",                            "name" : "'Source'" },
        { "kind" : "IdRef",                            "name" : "'Size'" },
        { "kind" : "MemoryAccess", "quantifier" : "?" }
      ],
      "capabilities" : [ "Addresses" ]
    },
    {
      "opname" : "OpAccessChain",
      "opcode" : 65,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Base'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
      ]
    },
    {
      "opname" : "OpInBoundsAccessChain",
      "opcode" : 66,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Base'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
      ]
    },
    {
      "opname" : "OpPtrAccessChain",
      "opcode" : 67,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Base'" },
        { "kind" : "IdRef",                            "name" : "'Element'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
      ],
      "capabilities" : [
        "Addresses",
        "VariablePointers",
        "VariablePointersStorageBuffer",
        "PhysicalStorageBufferAddressesEXT"
      ]
    },
    {
      "opname" : "OpArrayLength",
      "opcode" : 68,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",          "name" : "'Structure'" },
        { "kind" : "LiteralInteger", "name" : "'Array member'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpGenericPtrMemSemantics",
      "opcode" : 69,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pointer'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpInBoundsPtrAccessChain",
      "opcode" : 70,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Base'" },
        { "kind" : "IdRef",                            "name" : "'Element'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Indexes'" }
      ],
      "capabilities" : [ "Addresses" ]
    },
    {
      "opname" : "OpDecorate",
      "opcode" : 71,
      "operands" : [
        { "kind" : "IdRef",      "name" : "'Target'" },
        { "kind" : "Decoration" }
      ]
    },
    {
      "opname" : "OpMemberDecorate",
      "opcode" : 72,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'Structure Type'" },
        { "kind" : "LiteralInteger", "name" : "'Member'" },
        { "kind" : "Decoration" }
      ]
    },
    {
      "opname" : "OpDecorationGroup",
      "opcode" : 73,
      "operands" : [
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpGroupDecorate",
      "opcode" : 74,
      "operands" : [
        { "kind" : "IdRef",                     "name" : "'Decoration Group'" },
        { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" }
      ]
    },
    {
      "opname" : "OpGroupMemberDecorate",
      "opcode" : 75,
      "operands" : [
        { "kind" : "IdRef",                                       "name" : "'Decoration Group'" },
        { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" }
      ]
    },
    {
      "opname" : "OpVectorExtractDynamic",
      "opcode" : 77,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" },
        { "kind" : "IdRef",        "name" : "'Index'" }
      ]
    },
    {
      "opname" : "OpVectorInsertDynamic",
      "opcode" : 78,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" },
        { "kind" : "IdRef",        "name" : "'Component'" },
        { "kind" : "IdRef",        "name" : "'Index'" }
      ]
    },
    {
      "opname" : "OpVectorShuffle",
      "opcode" : 79,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                              "name" : "'Vector 1'" },
        { "kind" : "IdRef",                              "name" : "'Vector 2'" },
        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" }
      ]
    },
    {
      "opname" : "OpCompositeConstruct",
      "opcode" : 80,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Constituents'" }
      ]
    },
    {
      "opname" : "OpCompositeExtract",
      "opcode" : 81,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                              "name" : "'Composite'" },
        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
      ]
    },
    {
      "opname" : "OpCompositeInsert",
      "opcode" : 82,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                              "name" : "'Object'" },
        { "kind" : "IdRef",                              "name" : "'Composite'" },
        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" }
      ]
    },
    {
      "opname" : "OpCopyObject",
      "opcode" : 83,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpTranspose",
      "opcode" : 84,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Matrix'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpSampledImage",
      "opcode" : 86,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" },
        { "kind" : "IdRef",        "name" : "'Sampler'" }
      ]
    },
    {
      "opname" : "OpImageSampleImplicitLod",
      "opcode" : 87,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleExplicitLod",
      "opcode" : 88,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "ImageOperands" }
      ]
    },
    {
      "opname" : "OpImageSampleDrefImplicitLod",
      "opcode" : 89,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleDrefExplicitLod",
      "opcode" : 90,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "IdRef",         "name" : "'D~ref~'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleProjImplicitLod",
      "opcode" : 91,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleProjExplicitLod",
      "opcode" : 92,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleProjDrefImplicitLod",
      "opcode" : 93,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageSampleProjDrefExplicitLod",
      "opcode" : 94,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "IdRef",         "name" : "'D~ref~'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageFetch",
      "opcode" : 95,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpImageGather",
      "opcode" : 96,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'Component'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageDrefGather",
      "opcode" : 97,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpImageRead",
      "opcode" : 98,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpImageWrite",
      "opcode" : 99,
      "operands" : [
        { "kind" : "IdRef",                             "name" : "'Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'Texel'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ]
    },
    {
      "opname" : "OpImage",
      "opcode" : 100,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Sampled Image'" }
      ]
    },
    {
      "opname" : "OpImageQueryFormat",
      "opcode" : 101,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpImageQueryOrder",
      "opcode" : 102,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpImageQuerySizeLod",
      "opcode" : 103,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" },
        { "kind" : "IdRef",        "name" : "'Level of Detail'" }
      ],
      "capabilities" : [ "Kernel", "ImageQuery" ]
    },
    {
      "opname" : "OpImageQuerySize",
      "opcode" : 104,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" }
      ],
      "capabilities" : [ "Kernel", "ImageQuery" ]
    },
    {
      "opname" : "OpImageQueryLod",
      "opcode" : 105,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Sampled Image'" },
        { "kind" : "IdRef",        "name" : "'Coordinate'" }
      ],
      "capabilities" : [ "ImageQuery" ]
    },
    {
      "opname" : "OpImageQueryLevels",
      "opcode" : 106,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" }
      ],
      "capabilities" : [ "Kernel", "ImageQuery" ]
    },
    {
      "opname" : "OpImageQuerySamples",
      "opcode" : 107,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Image'" }
      ],
      "capabilities" : [ "Kernel", "ImageQuery" ]
    },
    {
      "opname" : "OpConvertFToU",
      "opcode" : 109,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Float Value'" }
      ]
    },
    {
      "opname" : "OpConvertFToS",
      "opcode" : 110,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Float Value'" }
      ]
    },
    {
      "opname" : "OpConvertSToF",
      "opcode" : 111,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Signed Value'" }
      ]
    },
    {
      "opname" : "OpConvertUToF",
      "opcode" : 112,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
      ]
    },
    {
      "opname" : "OpUConvert",
      "opcode" : 113,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
      ]
    },
    {
      "opname" : "OpSConvert",
      "opcode" : 114,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Signed Value'" }
      ]
    },
    {
      "opname" : "OpFConvert",
      "opcode" : 115,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Float Value'" }
      ]
    },
    {
      "opname" : "OpQuantizeToF16",
      "opcode" : 116,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpConvertPtrToU",
      "opcode" : 117,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pointer'" }
      ],
      "capabilities" : [
        "Addresses",
        "PhysicalStorageBufferAddressesEXT"
      ]
    },
    {
      "opname" : "OpSatConvertSToU",
      "opcode" : 118,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Signed Value'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpSatConvertUToS",
      "opcode" : 119,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Unsigned Value'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpConvertUToPtr",
      "opcode" : 120,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Integer Value'" }
      ],
      "capabilities" : [
        "Addresses",
        "PhysicalStorageBufferAddressesEXT"
      ]
    },
    {
      "opname" : "OpPtrCastToGeneric",
      "opcode" : 121,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pointer'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpGenericCastToPtr",
      "opcode" : 122,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pointer'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpGenericCastToPtrExplicit",
      "opcode" : 123,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pointer'" },
        { "kind" : "StorageClass", "name" : "'Storage'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpBitcast",
      "opcode" : 124,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpSNegate",
      "opcode" : 126,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpFNegate",
      "opcode" : 127,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpIAdd",
      "opcode" : 128,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFAdd",
      "opcode" : 129,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpISub",
      "opcode" : 130,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFSub",
      "opcode" : 131,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpIMul",
      "opcode" : 132,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFMul",
      "opcode" : 133,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpUDiv",
      "opcode" : 134,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSDiv",
      "opcode" : 135,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFDiv",
      "opcode" : 136,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpUMod",
      "opcode" : 137,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSRem",
      "opcode" : 138,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSMod",
      "opcode" : 139,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFRem",
      "opcode" : 140,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFMod",
      "opcode" : 141,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpVectorTimesScalar",
      "opcode" : 142,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" },
        { "kind" : "IdRef",        "name" : "'Scalar'" }
      ]
    },
    {
      "opname" : "OpMatrixTimesScalar",
      "opcode" : 143,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Matrix'" },
        { "kind" : "IdRef",        "name" : "'Scalar'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpVectorTimesMatrix",
      "opcode" : 144,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" },
        { "kind" : "IdRef",        "name" : "'Matrix'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpMatrixTimesVector",
      "opcode" : 145,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Matrix'" },
        { "kind" : "IdRef",        "name" : "'Vector'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpMatrixTimesMatrix",
      "opcode" : 146,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'LeftMatrix'" },
        { "kind" : "IdRef",        "name" : "'RightMatrix'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpOuterProduct",
      "opcode" : 147,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector 1'" },
        { "kind" : "IdRef",        "name" : "'Vector 2'" }
      ],
      "capabilities" : [ "Matrix" ]
    },
    {
      "opname" : "OpDot",
      "opcode" : 148,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector 1'" },
        { "kind" : "IdRef",        "name" : "'Vector 2'" }
      ]
    },
    {
      "opname" : "OpIAddCarry",
      "opcode" : 149,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpISubBorrow",
      "opcode" : 150,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpUMulExtended",
      "opcode" : 151,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSMulExtended",
      "opcode" : 152,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpAny",
      "opcode" : 154,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" }
      ]
    },
    {
      "opname" : "OpAll",
      "opcode" : 155,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Vector'" }
      ]
    },
    {
      "opname" : "OpIsNan",
      "opcode" : 156,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" }
      ]
    },
    {
      "opname" : "OpIsInf",
      "opcode" : 157,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" }
      ]
    },
    {
      "opname" : "OpIsFinite",
      "opcode" : 158,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpIsNormal",
      "opcode" : 159,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpSignBitSet",
      "opcode" : 160,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpLessOrGreater",
      "opcode" : 161,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" },
        { "kind" : "IdRef",        "name" : "'y'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpOrdered",
      "opcode" : 162,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" },
        { "kind" : "IdRef",        "name" : "'y'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpUnordered",
      "opcode" : 163,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'x'" },
        { "kind" : "IdRef",        "name" : "'y'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpLogicalEqual",
      "opcode" : 164,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpLogicalNotEqual",
      "opcode" : 165,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpLogicalOr",
      "opcode" : 166,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpLogicalAnd",
      "opcode" : 167,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpLogicalNot",
      "opcode" : 168,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpSelect",
      "opcode" : 169,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Condition'" },
        { "kind" : "IdRef",        "name" : "'Object 1'" },
        { "kind" : "IdRef",        "name" : "'Object 2'" }
      ]
    },
    {
      "opname" : "OpIEqual",
      "opcode" : 170,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpINotEqual",
      "opcode" : 171,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpUGreaterThan",
      "opcode" : 172,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSGreaterThan",
      "opcode" : 173,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpUGreaterThanEqual",
      "opcode" : 174,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSGreaterThanEqual",
      "opcode" : 175,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpULessThan",
      "opcode" : 176,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSLessThan",
      "opcode" : 177,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpULessThanEqual",
      "opcode" : 178,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpSLessThanEqual",
      "opcode" : 179,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdEqual",
      "opcode" : 180,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordEqual",
      "opcode" : 181,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdNotEqual",
      "opcode" : 182,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordNotEqual",
      "opcode" : 183,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdLessThan",
      "opcode" : 184,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordLessThan",
      "opcode" : 185,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdGreaterThan",
      "opcode" : 186,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordGreaterThan",
      "opcode" : 187,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdLessThanEqual",
      "opcode" : 188,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordLessThanEqual",
      "opcode" : 189,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFOrdGreaterThanEqual",
      "opcode" : 190,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpFUnordGreaterThanEqual",
      "opcode" : 191,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpShiftRightLogical",
      "opcode" : 194,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Shift'" }
      ]
    },
    {
      "opname" : "OpShiftRightArithmetic",
      "opcode" : 195,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Shift'" }
      ]
    },
    {
      "opname" : "OpShiftLeftLogical",
      "opcode" : 196,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Shift'" }
      ]
    },
    {
      "opname" : "OpBitwiseOr",
      "opcode" : 197,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpBitwiseXor",
      "opcode" : 198,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpBitwiseAnd",
      "opcode" : 199,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand 1'" },
        { "kind" : "IdRef",        "name" : "'Operand 2'" }
      ]
    },
    {
      "opname" : "OpNot",
      "opcode" : 200,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Operand'" }
      ]
    },
    {
      "opname" : "OpBitFieldInsert",
      "opcode" : 201,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Insert'" },
        { "kind" : "IdRef",        "name" : "'Offset'" },
        { "kind" : "IdRef",        "name" : "'Count'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpBitFieldSExtract",
      "opcode" : 202,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Offset'" },
        { "kind" : "IdRef",        "name" : "'Count'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpBitFieldUExtract",
      "opcode" : 203,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" },
        { "kind" : "IdRef",        "name" : "'Offset'" },
        { "kind" : "IdRef",        "name" : "'Count'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpBitReverse",
      "opcode" : 204,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpBitCount",
      "opcode" : 205,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Base'" }
      ]
    },
    {
      "opname" : "OpDPdx",
      "opcode" : 207,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpDPdy",
      "opcode" : 208,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpFwidth",
      "opcode" : 209,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpDPdxFine",
      "opcode" : 210,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpDPdyFine",
      "opcode" : 211,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpFwidthFine",
      "opcode" : 212,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpDPdxCoarse",
      "opcode" : 213,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpDPdyCoarse",
      "opcode" : 214,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpFwidthCoarse",
      "opcode" : 215,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'P'" }
      ],
      "capabilities" : [ "DerivativeControl" ]
    },
    {
      "opname" : "OpEmitVertex",
      "opcode" : 218,
      "capabilities" : [ "Geometry" ]
    },
    {
      "opname" : "OpEndPrimitive",
      "opcode" : 219,
      "capabilities" : [ "Geometry" ]
    },
    {
      "opname" : "OpEmitStreamVertex",
      "opcode" : 220,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Stream'" }
      ],
      "capabilities" : [ "GeometryStreams" ]
    },
    {
      "opname" : "OpEndStreamPrimitive",
      "opcode" : 221,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Stream'" }
      ],
      "capabilities" : [ "GeometryStreams" ]
    },
    {
      "opname" : "OpControlBarrier",
      "opcode" : 224,
      "operands" : [
        { "kind" : "IdScope",           "name" : "'Execution'" },
        { "kind" : "IdScope",           "name" : "'Memory'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ]
    },
    {
      "opname" : "OpMemoryBarrier",
      "opcode" : 225,
      "operands" : [
        { "kind" : "IdScope",           "name" : "'Memory'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ]
    },
    {
      "opname" : "OpAtomicLoad",
      "opcode" : 227,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ]
    },
    {
      "opname" : "OpAtomicStore",
      "opcode" : 228,
      "operands" : [
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicExchange",
      "opcode" : 229,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicCompareExchange",
      "opcode" : 230,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
        { "kind" : "IdRef",             "name" : "'Value'" },
        { "kind" : "IdRef",             "name" : "'Comparator'" }
      ]
    },
    {
      "opname" : "OpAtomicCompareExchangeWeak",
      "opcode" : 231,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Equal'" },
        { "kind" : "IdMemorySemantics", "name" : "'Unequal'" },
        { "kind" : "IdRef",             "name" : "'Value'" },
        { "kind" : "IdRef",             "name" : "'Comparator'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpAtomicIIncrement",
      "opcode" : 232,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ]
    },
    {
      "opname" : "OpAtomicIDecrement",
      "opcode" : 233,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ]
    },
    {
      "opname" : "OpAtomicIAdd",
      "opcode" : 234,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicISub",
      "opcode" : 235,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicSMin",
      "opcode" : 236,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicUMin",
      "opcode" : 237,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicSMax",
      "opcode" : 238,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicUMax",
      "opcode" : 239,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicAnd",
      "opcode" : 240,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicOr",
      "opcode" : 241,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpAtomicXor",
      "opcode" : 242,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" },
        { "kind" : "IdRef",             "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpPhi",
      "opcode" : 245,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "'Variable, Parent, ...'" }
      ]
    },
    {
      "opname" : "OpLoopMerge",
      "opcode" : 246,
      "operands" : [
        { "kind" : "IdRef",       "name" : "'Merge Block'" },
        { "kind" : "IdRef",       "name" : "'Continue Target'" },
        { "kind" : "LoopControl" }
      ]
    },
    {
      "opname" : "OpSelectionMerge",
      "opcode" : 247,
      "operands" : [
        { "kind" : "IdRef",            "name" : "'Merge Block'" },
        { "kind" : "SelectionControl" }
      ]
    },
    {
      "opname" : "OpLabel",
      "opcode" : 248,
      "operands" : [
        { "kind" : "IdResult" }
      ]
    },
    {
      "opname" : "OpBranch",
      "opcode" : 249,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Target Label'" }
      ]
    },
    {
      "opname" : "OpBranchConditional",
      "opcode" : 250,
      "operands" : [
        { "kind" : "IdRef",                              "name" : "'Condition'" },
        { "kind" : "IdRef",                              "name" : "'True Label'" },
        { "kind" : "IdRef",                              "name" : "'False Label'" },
        { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Branch weights'" }
      ]
    },
    {
      "opname" : "OpSwitch",
      "opcode" : 251,
      "operands" : [
        { "kind" : "IdRef",                                       "name" : "'Selector'" },
        { "kind" : "IdRef",                                       "name" : "'Default'" },
        { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "'Target'" }
      ]
    },
    {
      "opname" : "OpKill",
      "opcode" : 252,
      "capabilities" : [ "Shader" ]
    },
    {
      "opname" : "OpReturn",
      "opcode" : 253
    },
    {
      "opname" : "OpReturnValue",
      "opcode" : 254,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Value'" }
      ]
    },
    {
      "opname" : "OpUnreachable",
      "opcode" : 255
    },
    {
      "opname" : "OpLifetimeStart",
      "opcode" : 256,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'Pointer'" },
        { "kind" : "LiteralInteger", "name" : "'Size'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpLifetimeStop",
      "opcode" : 257,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'Pointer'" },
        { "kind" : "LiteralInteger", "name" : "'Size'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpGroupAsyncCopy",
      "opcode" : 259,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Destination'" },
        { "kind" : "IdRef",        "name" : "'Source'" },
        { "kind" : "IdRef",        "name" : "'Num Elements'" },
        { "kind" : "IdRef",        "name" : "'Stride'" },
        { "kind" : "IdRef",        "name" : "'Event'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpGroupWaitEvents",
      "opcode" : 260,
      "operands" : [
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef",   "name" : "'Num Events'" },
        { "kind" : "IdRef",   "name" : "'Events List'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpGroupAll",
      "opcode" : 261,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Predicate'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupAny",
      "opcode" : 262,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Predicate'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupBroadcast",
      "opcode" : 263,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Value'" },
        { "kind" : "IdRef",        "name" : "'LocalId'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupIAdd",
      "opcode" : 264,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupFAdd",
      "opcode" : 265,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupFMin",
      "opcode" : 266,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupUMin",
      "opcode" : 267,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupSMin",
      "opcode" : 268,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupFMax",
      "opcode" : 269,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupUMax",
      "opcode" : 270,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpGroupSMax",
      "opcode" : 271,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ]
    },
    {
      "opname" : "OpReadPipe",
      "opcode" : 274,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Pointer'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpWritePipe",
      "opcode" : 275,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Pointer'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpReservedReadPipe",
      "opcode" : 276,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
        { "kind" : "IdRef",        "name" : "'Index'" },
        { "kind" : "IdRef",        "name" : "'Pointer'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpReservedWritePipe",
      "opcode" : 277,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Reserve Id'" },
        { "kind" : "IdRef",        "name" : "'Index'" },
        { "kind" : "IdRef",        "name" : "'Pointer'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpReserveReadPipePackets",
      "opcode" : 278,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Num Packets'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpReserveWritePipePackets",
      "opcode" : 279,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Num Packets'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpCommitReadPipe",
      "opcode" : 280,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Pipe'" },
        { "kind" : "IdRef", "name" : "'Reserve Id'" },
        { "kind" : "IdRef", "name" : "'Packet Size'" },
        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpCommitWritePipe",
      "opcode" : 281,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Pipe'" },
        { "kind" : "IdRef", "name" : "'Reserve Id'" },
        { "kind" : "IdRef", "name" : "'Packet Size'" },
        { "kind" : "IdRef", "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpIsValidReserveId",
      "opcode" : 282,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Reserve Id'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGetNumPipePackets",
      "opcode" : 283,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGetMaxPipePackets",
      "opcode" : 284,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGroupReserveReadPipePackets",
      "opcode" : 285,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Num Packets'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGroupReserveWritePipePackets",
      "opcode" : 286,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",      "name" : "'Execution'" },
        { "kind" : "IdRef",        "name" : "'Pipe'" },
        { "kind" : "IdRef",        "name" : "'Num Packets'" },
        { "kind" : "IdRef",        "name" : "'Packet Size'" },
        { "kind" : "IdRef",        "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGroupCommitReadPipe",
      "opcode" : 287,
      "operands" : [
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef",   "name" : "'Pipe'" },
        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
        { "kind" : "IdRef",   "name" : "'Packet Size'" },
        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpGroupCommitWritePipe",
      "opcode" : 288,
      "operands" : [
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef",   "name" : "'Pipe'" },
        { "kind" : "IdRef",   "name" : "'Reserve Id'" },
        { "kind" : "IdRef",   "name" : "'Packet Size'" },
        { "kind" : "IdRef",   "name" : "'Packet Alignment'" }
      ],
      "capabilities" : [ "Pipes" ]
    },
    {
      "opname" : "OpEnqueueMarker",
      "opcode" : 291,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Queue'" },
        { "kind" : "IdRef",        "name" : "'Num Events'" },
        { "kind" : "IdRef",        "name" : "'Wait Events'" },
        { "kind" : "IdRef",        "name" : "'Ret Event'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpEnqueueKernel",
      "opcode" : 292,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                            "name" : "'Queue'" },
        { "kind" : "IdRef",                            "name" : "'Flags'" },
        { "kind" : "IdRef",                            "name" : "'ND Range'" },
        { "kind" : "IdRef",                            "name" : "'Num Events'" },
        { "kind" : "IdRef",                            "name" : "'Wait Events'" },
        { "kind" : "IdRef",                            "name" : "'Ret Event'" },
        { "kind" : "IdRef",                            "name" : "'Invoke'" },
        { "kind" : "IdRef",                            "name" : "'Param'" },
        { "kind" : "IdRef",                            "name" : "'Param Size'" },
        { "kind" : "IdRef",                            "name" : "'Param Align'" },
        { "kind" : "IdRef",        "quantifier" : "*", "name" : "'Local Size'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpGetKernelNDrangeSubGroupCount",
      "opcode" : 293,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'ND Range'" },
        { "kind" : "IdRef",        "name" : "'Invoke'" },
        { "kind" : "IdRef",        "name" : "'Param'" },
        { "kind" : "IdRef",        "name" : "'Param Size'" },
        { "kind" : "IdRef",        "name" : "'Param Align'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpGetKernelNDrangeMaxSubGroupSize",
      "opcode" : 294,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'ND Range'" },
        { "kind" : "IdRef",        "name" : "'Invoke'" },
        { "kind" : "IdRef",        "name" : "'Param'" },
        { "kind" : "IdRef",        "name" : "'Param Size'" },
        { "kind" : "IdRef",        "name" : "'Param Align'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpGetKernelWorkGroupSize",
      "opcode" : 295,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Invoke'" },
        { "kind" : "IdRef",        "name" : "'Param'" },
        { "kind" : "IdRef",        "name" : "'Param Size'" },
        { "kind" : "IdRef",        "name" : "'Param Align'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple",
      "opcode" : 296,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Invoke'" },
        { "kind" : "IdRef",        "name" : "'Param'" },
        { "kind" : "IdRef",        "name" : "'Param Size'" },
        { "kind" : "IdRef",        "name" : "'Param Align'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpRetainEvent",
      "opcode" : 297,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Event'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpReleaseEvent",
      "opcode" : 298,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Event'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpCreateUserEvent",
      "opcode" : 299,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpIsValidEvent",
      "opcode" : 300,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Event'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpSetUserEventStatus",
      "opcode" : 301,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Event'" },
        { "kind" : "IdRef", "name" : "'Status'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpCaptureEventProfilingInfo",
      "opcode" : 302,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Event'" },
        { "kind" : "IdRef", "name" : "'Profiling Info'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpGetDefaultQueue",
      "opcode" : 303,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpBuildNDRange",
      "opcode" : 304,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'GlobalWorkSize'" },
        { "kind" : "IdRef",        "name" : "'LocalWorkSize'" },
        { "kind" : "IdRef",        "name" : "'GlobalWorkOffset'" }
      ],
      "capabilities" : [ "DeviceEnqueue" ]
    },
    {
      "opname" : "OpImageSparseSampleImplicitLod",
      "opcode" : 305,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseSampleExplicitLod",
      "opcode" : 306,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseSampleDrefImplicitLod",
      "opcode" : 307,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseSampleDrefExplicitLod",
      "opcode" : 308,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "IdRef",         "name" : "'D~ref~'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseSampleProjImplicitLod",
      "opcode" : 309,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ],
      "version" : "None"
    },
    {
      "opname" : "OpImageSparseSampleProjExplicitLod",
      "opcode" : 310,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "SparseResidency" ],
      "version" : "None"
    },
    {
      "opname" : "OpImageSparseSampleProjDrefImplicitLod",
      "opcode" : 311,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ],
      "version" : "None"
    },
    {
      "opname" : "OpImageSparseSampleProjDrefExplicitLod",
      "opcode" : 312,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",         "name" : "'Sampled Image'" },
        { "kind" : "IdRef",         "name" : "'Coordinate'" },
        { "kind" : "IdRef",         "name" : "'D~ref~'" },
        { "kind" : "ImageOperands" }
      ],
      "capabilities" : [ "SparseResidency" ],
      "version" : "None"
    },
    {
      "opname" : "OpImageSparseFetch",
      "opcode" : 313,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseGather",
      "opcode" : 314,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'Component'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseDrefGather",
      "opcode" : 315,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Sampled Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "IdRef",                             "name" : "'D~ref~'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpImageSparseTexelsResident",
      "opcode" : 316,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",        "name" : "'Resident Code'" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpNoLine",
      "opcode" : 317
    },
    {
      "opname" : "OpAtomicFlagTestAndSet",
      "opcode" : 318,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpAtomicFlagClear",
      "opcode" : 319,
      "operands" : [
        { "kind" : "IdRef",             "name" : "'Pointer'" },
        { "kind" : "IdScope",           "name" : "'Scope'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ],
      "capabilities" : [ "Kernel" ]
    },
    {
      "opname" : "OpImageSparseRead",
      "opcode" : 320,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef",                             "name" : "'Image'" },
        { "kind" : "IdRef",                             "name" : "'Coordinate'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "SparseResidency" ]
    },
    {
      "opname" : "OpSizeOf",
      "opcode" : 321,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Pointer'" }
      ],
      "capabilities" : [ "Addresses" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpTypePipeStorage",
      "opcode" : 322,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "PipeStorage" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpConstantPipeStorage",
      "opcode" : 323,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "LiteralInteger", "name" : "'Packet Size'" },
        { "kind" : "LiteralInteger", "name" : "'Packet Alignment'" },
        { "kind" : "LiteralInteger", "name" : "'Capacity'" }
      ],
      "capabilities" : [ "PipeStorage" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpCreatePipeFromPipeStorage",
      "opcode" : 324,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Pipe Storage'" }
      ],
      "capabilities" : [ "PipeStorage" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpGetKernelLocalSizeForSubgroupCount",
      "opcode" : 325,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Subgroup Count'" },
        { "kind" : "IdRef", "name" : "'Invoke'" },
        { "kind" : "IdRef", "name" : "'Param'" },
        { "kind" : "IdRef", "name" : "'Param Size'" },
        { "kind" : "IdRef", "name" : "'Param Align'" }
      ],
      "capabilities" : [ "SubgroupDispatch" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpGetKernelMaxNumSubgroups",
      "opcode" : 326,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Invoke'" },
        { "kind" : "IdRef", "name" : "'Param'" },
        { "kind" : "IdRef", "name" : "'Param Size'" },
        { "kind" : "IdRef", "name" : "'Param Align'" }
      ],
      "capabilities" : [ "SubgroupDispatch" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpTypeNamedBarrier",
      "opcode" : 327,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "NamedBarrier" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpNamedBarrierInitialize",
      "opcode" : 328,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Subgroup Count'" }
      ],
      "capabilities" : [ "NamedBarrier" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpMemoryNamedBarrier",
      "opcode" : 329,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Named Barrier'" },
        { "kind" : "IdScope", "name" : "'Memory'" },
        { "kind" : "IdMemorySemantics", "name" : "'Semantics'" }
      ],
      "capabilities" : [ "NamedBarrier" ],
      "version" : "1.1"
    },
    {
      "opname" : "OpModuleProcessed",
      "opcode" : 330,
      "operands" : [
        { "kind" : "LiteralString", "name" : "'Process'" }
      ],
      "version" : "1.1"
    },
    {
      "opname" : "OpExecutionModeId",
      "opcode" : 331,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Entry Point'" },
        { "kind" : "ExecutionMode", "name" : "'Mode'" }
      ],
      "version" : "1.2"
    },
    {
      "opname" : "OpDecorateId",
      "opcode" : 332,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Target'" },
        { "kind" : "Decoration" }
      ],
      "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
      "version" : "1.2"
    },
    {
      "opname" : "OpGroupNonUniformElect",
      "opcode" : 333,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" }
      ],
      "capabilities" : [ "GroupNonUniform" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformAll",
      "opcode" : 334,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "capabilities" : [ "GroupNonUniformVote" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformAny",
      "opcode" : 335,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "capabilities" : [ "GroupNonUniformVote" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformAllEqual",
      "opcode" : 336,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformVote" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBroadcast",
      "opcode" : 337,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Id'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBroadcastFirst",
      "opcode" : 338,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBallot",
      "opcode" : 339,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformInverseBallot",
      "opcode" : 340,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBallotBitExtract",
      "opcode" : 341,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Index'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBallotBitCount",
      "opcode" : 342,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBallotFindLSB",
      "opcode" : 343,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBallotFindMSB",
      "opcode" : 344,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformBallot" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformShuffle",
      "opcode" : 345,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Id'" }
      ],
      "capabilities" : [ "GroupNonUniformShuffle" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformShuffleXor",
      "opcode" : 346,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Mask'" }
      ],
      "capabilities" : [ "GroupNonUniformShuffle" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformShuffleUp",
      "opcode" : 347,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Delta'" }
      ],
      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformShuffleDown",
      "opcode" : 348,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Delta'" }
      ],
      "capabilities" : [ "GroupNonUniformShuffleRelative" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformIAdd",
      "opcode" : 349,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformFAdd",
      "opcode" : 350,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformIMul",
      "opcode" : 351,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformFMul",
      "opcode" : 352,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformSMin",
      "opcode" : 353,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformUMin",
      "opcode" : 354,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformFMin",
      "opcode" : 355,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformSMax",
      "opcode" : 356,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformUMax",
      "opcode" : 357,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformFMax",
      "opcode" : 358,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBitwiseAnd",
      "opcode" : 359,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBitwiseOr",
      "opcode" : 360,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformBitwiseXor",
      "opcode" : 361,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformLogicalAnd",
      "opcode" : 362,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformLogicalOr",
      "opcode" : 363,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformLogicalXor",
      "opcode" : 364,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
      ],
      "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformQuadBroadcast",
      "opcode" : 365,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Index'" }
      ],
      "capabilities" : [ "GroupNonUniformQuad" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpGroupNonUniformQuadSwap",
      "opcode" : 366,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope", "name" : "'Execution'" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Direction'" }
      ],
      "capabilities" : [ "GroupNonUniformQuad" ],
      "version" : "1.3"
    },
    {
      "opname" : "OpSubgroupBallotKHR",
      "opcode" : 4421,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "capabilities" : [ "SubgroupBallotKHR" ],
      "extensions" : [ "SPV_KHR_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupFirstInvocationKHR",
      "opcode" : 4422,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "SubgroupBallotKHR" ],
      "extensions" : [ "SPV_KHR_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupAllKHR",
      "opcode" : 4428,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "extensions" : [
        "SPV_KHR_subgroup_vote"
      ],
      "capabilities" : [ "SubgroupVoteKHR" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupAnyKHR",
      "opcode" : 4429,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "extensions" : [
        "SPV_KHR_subgroup_vote"
      ],
      "capabilities" : [ "SubgroupVoteKHR" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupAllEqualKHR",
      "opcode" : 4430,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Predicate'" }
      ],
      "extensions" : [
        "SPV_KHR_subgroup_vote"
      ],
      "capabilities" : [ "SubgroupVoteKHR" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupReadInvocationKHR",
      "opcode" : 4432,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Value'" },
        { "kind" : "IdRef", "name" : "'Index'" }
      ],
      "capabilities" : [ "SubgroupBallotKHR" ],
      "extensions" : [ "SPV_KHR_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupIAddNonUniformAMD",
      "opcode" : 5000,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupFAddNonUniformAMD",
      "opcode" : 5001,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupFMinNonUniformAMD",
      "opcode" : 5002,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupUMinNonUniformAMD",
      "opcode" : 5003,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupSMinNonUniformAMD",
      "opcode" : 5004,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupFMaxNonUniformAMD",
      "opcode" : 5005,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupUMaxNonUniformAMD",
      "opcode" : 5006,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupSMaxNonUniformAMD",
      "opcode" : 5007,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdScope",        "name" : "'Execution'" },
        { "kind" : "GroupOperation", "name" : "'Operation'" },
        { "kind" : "IdRef",          "name" : "'X'" }
      ],
      "capabilities" : [ "Groups" ],
      "extensions" : [ "SPV_AMD_shader_ballot" ],
      "version" : "None"
    },
    {
      "opname" : "OpFragmentMaskFetchAMD",
      "opcode" : 5011,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Image'" },
        { "kind" : "IdRef", "name" : "'Coordinate'" }
      ],
      "capabilities" : [ "FragmentMaskAMD" ],
      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
      "version" : "None"
    },
    {
      "opname" : "OpFragmentFetchAMD",
      "opcode" : 5012,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Image'" },
        { "kind" : "IdRef", "name" : "'Coordinate'" },
        { "kind" : "IdRef", "name" : "'Fragment Index'" }
      ],
      "capabilities" : [ "FragmentMaskAMD" ],
      "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
      "version" : "None"
    },
    {
      "opname" : "OpWritePackedPrimitiveIndices4x8NV",
      "opcode" : 5299,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Index Offset'" },
        { "kind" : "IdRef", "name" : "'Packed Indices'" }
      ],
      "capabilities" : [ "MeshShadingNV" ],
      "extensions" : [ "SPV_NV_mesh_shader" ],
      "version" : "None"
    },
    {
      "opname" : "OpReportIntersectionNV",
      "opcode" : 5334,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Hit'" },
        { "kind" : "IdRef", "name" : "'HitKind'" }
      ],
      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpIgnoreIntersectionNV",
      "opcode" : 5335,

      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpTerminateRayNV",
      "opcode" : 5336,

      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpTraceNV",
      "opcode" : 5337,
      "operands" : [

        { "kind" : "IdRef", "name" : "'Accel'" },
        { "kind" : "IdRef", "name" : "'Ray Flags'" },
        { "kind" : "IdRef", "name" : "'Cull Mask'" },
        { "kind" : "IdRef", "name" : "'SBT Offset'" },
        { "kind" : "IdRef", "name" : "'SBT Stride'" },
        { "kind" : "IdRef", "name" : "'Miss Index'" },
        { "kind" : "IdRef", "name" : "'Ray Origin'" },
        { "kind" : "IdRef", "name" : "'Ray Tmin'" },
        { "kind" : "IdRef", "name" : "'Ray Direction'" },
        { "kind" : "IdRef", "name" : "'Ray Tmax'" },
        { "kind" : "IdRef", "name" : "'PayloadId'" }
      ],
      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpTypeAccelerationStructureNV",
      "opcode" : 5341,
      "operands" : [
        { "kind" : "IdResult" }
      ],
      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpExecuteCallableNV",
      "opcode" : 5344,
      "operands" : [

        { "kind" : "IdRef", "name" : "'SBT Index'" },
        { "kind" : "IdRef", "name" : "'Callable DataId'" }
      ],
      "capabilities" : [ "RayTracingNV" ],
      "extensions" : [ "SPV_NV_ray_tracing" ]
    },
    {
      "opname" : "OpSubgroupShuffleINTEL",
      "opcode" : 5571,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Data'" },
        { "kind" : "IdRef", "name" : "'InvocationId'" }
      ],
      "capabilities" : [ "SubgroupShuffleINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupShuffleDownINTEL",
      "opcode" : 5572,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Current'" },
        { "kind" : "IdRef", "name" : "'Next'" },
        { "kind" : "IdRef", "name" : "'Delta'" }
      ],
      "capabilities" : [ "SubgroupShuffleINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupShuffleUpINTEL",
      "opcode" : 5573,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Previous'" },
        { "kind" : "IdRef", "name" : "'Current'" },
        { "kind" : "IdRef", "name" : "'Delta'" }
      ],
      "capabilities" : [ "SubgroupShuffleINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupShuffleXorINTEL",
      "opcode" : 5574,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Data'" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "SubgroupShuffleINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupBlockReadINTEL",
      "opcode" : 5575,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Ptr'" }
      ],
      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupBlockWriteINTEL",
      "opcode" : 5576,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Ptr'" },
        { "kind" : "IdRef", "name" : "'Data'" }
      ],
      "capabilities" : [ "SubgroupBufferBlockIOINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupImageBlockReadINTEL",
      "opcode" : 5577,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Image'" },
        { "kind" : "IdRef", "name" : "'Coordinate'" }
      ],
      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpSubgroupImageBlockWriteINTEL",
      "opcode" : 5578,
      "operands" : [
        { "kind" : "IdRef", "name" : "'Image'" },
        { "kind" : "IdRef", "name" : "'Coordinate'" },
        { "kind" : "IdRef", "name" : "'Data'" }
      ],
      "capabilities" : [ "SubgroupImageBlockIOINTEL" ],
      "version" : "None"
    },
    {
      "opname" : "OpDecorateStringGOOGLE",
      "opcode" : 5632,
      "operands" : [
        { "kind" : "IdRef",         "name" : "'Target'" },
        { "kind" : "Decoration" }
      ],
      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
      "version" : "None"
    },
    {
      "opname" : "OpMemberDecorateStringGOOGLE",
      "opcode" : 5633,
      "operands" : [
        { "kind" : "IdRef",          "name" : "'Struct Type'" },
        { "kind" : "LiteralInteger", "name" : "'Member'" },
        { "kind" : "Decoration" }
      ],
      "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ],
      "version" : "None"
    },
    {
      "opname" : "OpGroupNonUniformPartitionNV",
      "opcode" : 5296,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Value'" }
      ],
      "capabilities" : [ "GroupNonUniformPartitionedNV" ],
      "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
      "version" : "None"
    },
	{
      "opname" : "OpImageSampleFootprintNV",
      "opcode" : 5283,
      "operands" : [
        { "kind" : "IdResultType" },
        { "kind" : "IdResult" },
        { "kind" : "IdRef", "name" : "'Sampled Image'" },
        { "kind" : "IdRef", "name" : "'Coordinate'" },
        { "kind" : "IdRef", "name" : "'Granularity'" },
        { "kind" : "IdRef", "name" : "'Coarse'" },
        { "kind" : "ImageOperands", "quantifier" : "?" }
      ],
      "capabilities" : [ "ImageFootprintNV" ],
      "extensions" : [ "SPV_NV_shader_image_footprint" ],
      "version" : "None"
    }
  ],
  "operand_kinds" : [
    {
      "category" : "BitEnum",
      "kind" : "ImageOperands",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Bias",
          "value" : "0x0001",
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "Lod",
          "value" : "0x0002",
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "Grad",
          "value" : "0x0004",
          "parameters" : [
            { "kind" : "IdRef" },
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "ConstOffset",
          "value" : "0x0008",
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "Offset",
          "value" : "0x0010",
          "capabilities" : [ "ImageGatherExtended" ],
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "ConstOffsets",
          "value" : "0x0020",
          "capabilities" : [ "ImageGatherExtended" ],
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "Sample",
          "value" : "0x0040",
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "MinLod",
          "value" : "0x0080",
          "capabilities" : [ "MinLod" ],
          "parameters" : [
            { "kind" : "IdRef" }
          ]
        },
        {
          "enumerant" : "MakeTexelAvailableKHR",
          "value" : "0x0100",
          "capabilities" : [ "VulkanMemoryModelKHR" ],
          "parameters" : [
            { "kind" : "IdScope" }
          ]
        },
        {
          "enumerant" : "MakeTexelVisibleKHR",
          "value" : "0x0200",
          "capabilities" : [ "VulkanMemoryModelKHR" ],
          "parameters" : [
            { "kind" : "IdScope" }
          ]
        },
        {
          "enumerant" : "NonPrivateTexelKHR",
          "value" : "0x0400",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        },
        {
          "enumerant" : "VolatileTexelKHR",
          "value" : "0x0800",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "FPFastMathMode",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "NotNaN",
          "value" : "0x0001",
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NotInf",
          "value" : "0x0002",
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NSZ",
          "value" : "0x0004",
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "AllowRecip",
          "value" : "0x0008",
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Fast",
          "value" : "0x0010",
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "SelectionControl",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Flatten",
          "value" : "0x0001"
        },
        {
          "enumerant" : "DontFlatten",
          "value" : "0x0002"
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "LoopControl",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Unroll",
          "value" : "0x0001"
        },
        {
          "enumerant" : "DontUnroll",
          "value" : "0x0002"
        },
        {
          "enumerant" : "DependencyInfinite",
          "value" : "0x0004",
          "version" : "1.1"
        },
        {
          "enumerant" : "DependencyLength",
          "value" : "0x0008",
          "parameters" : [
            { "kind" : "LiteralInteger" }
          ],
          "version" : "1.1"
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "FunctionControl",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Inline",
          "value" : "0x0001"
        },
        {
          "enumerant" : "DontInline",
          "value" : "0x0002"
        },
        {
          "enumerant" : "Pure",
          "value" : "0x0004"
        },
        {
          "enumerant" : "Const",
          "value" : "0x0008"
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "MemorySemantics",
      "enumerants" : [
        {
          "enumerant" : "Relaxed",
          "value" : "0x0000"
        },
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Acquire",
          "value" : "0x0002"
        },
        {
          "enumerant" : "Release",
          "value" : "0x0004"
        },
        {
          "enumerant" : "AcquireRelease",
          "value" : "0x0008"
        },
        {
          "enumerant" : "SequentiallyConsistent",
          "value" : "0x0010"
        },
        {
          "enumerant" : "UniformMemory",
          "value" : "0x0040",
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SubgroupMemory",
          "value" : "0x0080"
        },
        {
          "enumerant" : "WorkgroupMemory",
          "value" : "0x0100"
        },
        {
          "enumerant" : "CrossWorkgroupMemory",
          "value" : "0x0200"
        },
        {
          "enumerant" : "AtomicCounterMemory",
          "value" : "0x0400",
          "capabilities" : [ "AtomicStorage" ]
        },
        {
          "enumerant" : "ImageMemory",
          "value" : "0x0800"
        },
        {
          "enumerant" : "OutputMemoryKHR",
          "value" : "0x1000",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        },
        {
          "enumerant" : "MakeAvailableKHR",
          "value" : "0x2000",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        },
        {
          "enumerant" : "MakeVisibleKHR",
          "value" : "0x4000",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "MemoryAccess",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "Volatile",
          "value" : "0x0001"
        },
        {
          "enumerant" : "Aligned",
          "value" : "0x0002",
          "parameters" : [
            { "kind" : "LiteralInteger" }
          ]
        },
        {
          "enumerant" : "Nontemporal",
          "value" : "0x0004"
        },
        {
          "enumerant" : "MakePointerAvailableKHR",
          "value" : "0x0008",
          "parameters" : [
            { "kind" : "IdScope" }
          ],
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        },
        {
          "enumerant" : "MakePointerVisibleKHR",
          "value" : "0x0010",
          "parameters" : [
            { "kind" : "IdScope" }
          ],
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        },
        {
          "enumerant" : "NonPrivatePointerKHR",
          "value" : "0x0020",
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        }
      ]
    },
    {
      "category" : "BitEnum",
      "kind" : "KernelProfilingInfo",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : "0x0000"
        },
        {
          "enumerant" : "CmdExecTime",
          "value" : "0x0001",
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "SourceLanguage",
      "enumerants" : [
        {
          "enumerant" : "Unknown",
          "value" : 0
        },
        {
          "enumerant" : "ESSL",
          "value" : 1
        },
        {
          "enumerant" : "GLSL",
          "value" : 2
        },
        {
          "enumerant" : "OpenCL_C",
          "value" : 3
        },
        {
          "enumerant" : "OpenCL_CPP",
          "value" : 4
        },
        {
          "enumerant" : "HLSL",
          "value" : 5
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "ExecutionModel",
      "enumerants" : [
        {
          "enumerant" : "Vertex",
          "value" : 0,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "TessellationControl",
          "value" : 1,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "TessellationEvaluation",
          "value" : 2,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "Geometry",
          "value" : 3,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "Fragment",
          "value" : 4,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "GLCompute",
          "value" : 5,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Kernel",
          "value" : 6,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "TaskNV",
          "value" : 5267,
          "capabilities" : [ "MeshShadingNV" ]
        },
        {
          "enumerant" : "MeshNV",
          "value" : 5268,
          "capabilities" : [ "MeshShadingNV" ]
        },
        {
          "enumerant" : "RayGenerationNV",
          "value" : 5313,
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "IntersectionNV",
          "value" : 5314,
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "AnyHitNV",
          "value" : 5315,
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "ClosestHitNV",
          "value" : 5316,
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "MissNV",
          "value" : 5317,
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "CallableNV",
          "value" : 5318,
          "capabilities" : [ "RayTracingNV" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "AddressingModel",
      "enumerants" : [
        {
          "enumerant" : "Logical",
          "value" : 0
        },
        {
          "enumerant" : "Physical32",
          "value" : 1,
          "capabilities" : [ "Addresses" ]
        },
        {
          "enumerant" : "Physical64",
          "value" : 2,
          "capabilities" : [ "Addresses" ]
        },
        {
          "enumerant" : "PhysicalStorageBuffer64EXT",
          "value" : 5348,
          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
          "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "MemoryModel",
      "enumerants" : [
        {
          "enumerant" : "Simple",
          "value" : 0,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "GLSL450",
          "value" : 1,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "OpenCL",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "VulkanKHR",
          "value" : 3,
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "ExecutionMode",
      "enumerants" : [
        {
          "enumerant" : "Invocations",
          "value" : 0,
          "capabilities" : [ "Geometry" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Number of <<Invocation,invocations>>'" }
          ]
        },
        {
          "enumerant" : "SpacingEqual",
          "value" : 1,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "SpacingFractionalEven",
          "value" : 2,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "SpacingFractionalOdd",
          "value" : 3,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "VertexOrderCw",
          "value" : 4,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "VertexOrderCcw",
          "value" : 5,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "PixelCenterInteger",
          "value" : 6,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "OriginUpperLeft",
          "value" : 7,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "OriginLowerLeft",
          "value" : 8,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "EarlyFragmentTests",
          "value" : 9,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "PointMode",
          "value" : 10,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "Xfb",
          "value" : 11,
          "capabilities" : [ "TransformFeedback" ]
        },
        {
          "enumerant" : "DepthReplacing",
          "value" : 12,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "DepthGreater",
          "value" : 14,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "DepthLess",
          "value" : 15,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "DepthUnchanged",
          "value" : 16,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "LocalSize",
          "value" : 17,
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'x size'" },
            { "kind" : "LiteralInteger", "name" : "'y size'" },
            { "kind" : "LiteralInteger", "name" : "'z size'" }
          ]
        },
        {
          "enumerant" : "LocalSizeHint",
          "value" : 18,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'x size'" },
            { "kind" : "LiteralInteger", "name" : "'y size'" },
            { "kind" : "LiteralInteger", "name" : "'z size'" }
          ]
        },
        {
          "enumerant" : "InputPoints",
          "value" : 19,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "InputLines",
          "value" : 20,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "InputLinesAdjacency",
          "value" : 21,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "Triangles",
          "value" : 22,
          "capabilities" : [ "Geometry", "Tessellation" ]
        },
        {
          "enumerant" : "InputTrianglesAdjacency",
          "value" : 23,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "Quads",
          "value" : 24,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "Isolines",
          "value" : 25,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "OutputVertices",
          "value" : 26,
          "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Vertex count'" }
          ]
        },
        {
          "enumerant" : "OutputPoints",
          "value" : 27,
          "capabilities" : [ "Geometry", "MeshShadingNV" ]
        },
        {
          "enumerant" : "OutputLineStrip",
          "value" : 28,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "OutputTriangleStrip",
          "value" : 29,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "VecTypeHint",
          "value" : 30,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Vector type'" }
          ]
        },
        {
          "enumerant" : "ContractionOff",
          "value" : 31,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Initializer",
          "value" : 33,
          "capabilities" : [ "Kernel" ],
          "version" : "1.1"
        },
        {
          "enumerant" : "Finalizer",
          "value" : 34,
          "capabilities" : [ "Kernel" ],
          "version" : "1.1"
        },
        {
          "enumerant" : "SubgroupSize",
          "value" : 35,
          "capabilities" : [ "SubgroupDispatch" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Subgroup Size'" }
          ],
          "version" : "1.1"
        },
        {
          "enumerant" : "SubgroupsPerWorkgroup",
          "value" : 36,
          "capabilities" : [ "SubgroupDispatch" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Subgroups Per Workgroup'" }
          ],
          "version" : "1.1"
        },
        {
          "enumerant" : "SubgroupsPerWorkgroupId",
          "value" : 37,
          "capabilities" : [ "SubgroupDispatch" ],
          "parameters" : [
            { "kind" : "IdRef", "name" : "'Subgroups Per Workgroup'" }
          ],
          "version" : "1.2"
        },
        {
          "enumerant" : "LocalSizeId",
          "value" : 38,
          "parameters" : [
            { "kind" : "IdRef", "name" : "'x size'" },
            { "kind" : "IdRef", "name" : "'y size'" },
            { "kind" : "IdRef", "name" : "'z size'" }
          ],
          "version" : "1.2"
        },
        {
          "enumerant" : "LocalSizeHintId",
          "value" : 39,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "IdRef", "name" : "'Local Size Hint'" }
          ],
          "version" : "1.2"
        },
        {
          "enumerant" : "PostDepthCoverage",
          "value" : 4446,
          "capabilities" : [ "SampleMaskPostDepthCoverage" ],
          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
          "version" : "None"
        },
{
          "enumerant" : "DenormPreserve",
          "value" : 4459,
          "capabilities" : [ "DenormPreserve"],
          "extensions" : [ "SPV_KHR_float_controls" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
          ],
          "version" : "None"
        },
        {
          "enumerant" : "DenormFlushToZero",
          "value" : 4460,
          "capabilities" : [ "DenormFlushToZero"],
          "extensions" : [ "SPV_KHR_float_controls" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
          ],
          "version" : "None"
        },
        {
          "enumerant" : "SignedZeroInfNanPreserve",
          "value" : 4461,
          "capabilities" : [ "SignedZeroInfNanPreserve"],
          "extensions" : [ "SPV_KHR_float_controls" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
          ],
          "version" : "None"
        },
        {
          "enumerant" : "RoundingModeRTE",
          "value" : 4462,
          "capabilities" : [ "RoundingModeRTE"],
          "extensions" : [ "SPV_KHR_float_controls" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
          ],
          "version" : "None"
        },
        {
          "enumerant" : "RoundingModeRTZ",
          "value" : 4463,
          "capabilities" : [ "RoundingModeRTZ"],
          "extensions" : [ "SPV_KHR_float_controls" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Target Width'" }
          ],
          "version" : "None"
        },
        {
          "enumerant" : "StencilRefReplacingEXT",
          "value" : 5027,
          "capabilities" : [ "StencilExportEXT" ],
          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
          "version" : "None"
        },
        {
          "enumerant" : "OutputLinesNV",
          "value" : 5269,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "OutputPrimitivesNV",
          "value" : 5270,
          "capabilities" : [ "MeshShadingNV" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Primitive count'" }
          ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "DerivativeGroupQuadsNV",
          "value" : 5289,
          "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
          "version" : "None"
        },
        {
          "enumerant" : "DerivativeGroupLinearNV",
          "value" : 5290,
          "capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
          "version" : "None"
        },
        {
          "enumerant" : "OutputTrianglesNV",
          "value" : 5298,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "StorageClass",
      "enumerants" : [
        {
          "enumerant" : "UniformConstant",
          "value" : 0
        },
        {
          "enumerant" : "Input",
          "value" : 1
        },
        {
          "enumerant" : "Uniform",
          "value" : 2,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Output",
          "value" : 3,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Workgroup",
          "value" : 4
        },
        {
          "enumerant" : "CrossWorkgroup",
          "value" : 5
        },
        {
          "enumerant" : "Private",
          "value" : 6,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Function",
          "value" : 7
        },
        {
          "enumerant" : "Generic",
          "value" : 8,
          "capabilities" : [ "GenericPointer" ]
        },
        {
          "enumerant" : "PushConstant",
          "value" : 9,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "AtomicCounter",
          "value" : 10,
          "capabilities" : [ "AtomicStorage" ]
        },
        {
          "enumerant" : "Image",
          "value" : 11
        },
        {
          "enumerant" : "StorageBuffer",
          "value" : 12,
          "extensions" : [
            "SPV_KHR_storage_buffer_storage_class",
            "SPV_KHR_variable_pointers"
          ],
          "capabilities" : [ "Shader" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "CallableDataNV",
          "value" : 5328,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "IncomingCallableDataNV",
          "value" : 5329,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "RayPayloadNV",
          "value" : 5338,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "HitAttributeNV",
          "value" : 5339,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "IncomingRayPayloadNV",
          "value" : 5342,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "ShaderRecordBufferNV",
          "value" : 5343,
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "capabilities" : [ "RayTracingNV" ]
        },
        {
          "enumerant" : "PhysicalStorageBufferEXT",
          "value" : 5349,
          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
          "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "Dim",
      "enumerants" : [
        {
          "enumerant" : "1D",
          "value" : 0,
          "capabilities" : [ "Sampled1D", "Image1D" ]
        },
        {
          "enumerant" : "2D",
          "value" : 1,
          "capabilities" : [ "Shader", "Kernel", "ImageMSArray" ]
        },
        {
          "enumerant" : "3D",
          "value" : 2
        },
        {
          "enumerant" : "Cube",
          "value" : 3,
          "capabilities" : [ "Shader", "ImageCubeArray" ]
        },
        {
          "enumerant" : "Rect",
          "value" : 4,
          "capabilities" : [ "SampledRect", "ImageRect" ]
        },
        {
          "enumerant" : "Buffer",
          "value" : 5,
          "capabilities" : [ "SampledBuffer", "ImageBuffer" ]
        },
        {
          "enumerant" : "SubpassData",
          "value" : 6,
          "capabilities" : [ "InputAttachment" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "SamplerAddressingMode",
      "enumerants" : [
        {
          "enumerant" : "None",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ClampToEdge",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Clamp",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Repeat",
          "value" : 3,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RepeatMirrored",
          "value" : 4,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "SamplerFilterMode",
      "enumerants" : [
        {
          "enumerant" : "Nearest",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Linear",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "ImageFormat",
      "enumerants" : [
        {
          "enumerant" : "Unknown",
          "value" : 0
        },
        {
          "enumerant" : "Rgba32f",
          "value" : 1,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba16f",
          "value" : 2,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "R32f",
          "value" : 3,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba8",
          "value" : 4,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba8Snorm",
          "value" : 5,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rg32f",
          "value" : 6,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg16f",
          "value" : 7,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R11fG11fB10f",
          "value" : 8,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R16f",
          "value" : 9,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rgba16",
          "value" : 10,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rgb10A2",
          "value" : 11,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg16",
          "value" : 12,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg8",
          "value" : 13,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R16",
          "value" : 14,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R8",
          "value" : 15,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rgba16Snorm",
          "value" : 16,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg16Snorm",
          "value" : 17,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg8Snorm",
          "value" : 18,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R16Snorm",
          "value" : 19,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R8Snorm",
          "value" : 20,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rgba32i",
          "value" : 21,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba16i",
          "value" : 22,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba8i",
          "value" : 23,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "R32i",
          "value" : 24,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rg32i",
          "value" : 25,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg16i",
          "value" : 26,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg8i",
          "value" : 27,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R16i",
          "value" : 28,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R8i",
          "value" : 29,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rgba32ui",
          "value" : 30,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba16ui",
          "value" : 31,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgba8ui",
          "value" : 32,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "R32ui",
          "value" : 33,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Rgb10a2ui",
          "value" : 34,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg32ui",
          "value" : 35,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg16ui",
          "value" : 36,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "Rg8ui",
          "value" : 37,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R16ui",
          "value" : 38,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        },
        {
          "enumerant" : "R8ui",
          "value" : 39,
          "capabilities" : [ "StorageImageExtendedFormats" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "ImageChannelOrder",
      "enumerants" : [
        {
          "enumerant" : "R",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "A",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RG",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RA",
          "value" : 3,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RGB",
          "value" : 4,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RGBA",
          "value" : 5,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "BGRA",
          "value" : 6,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ARGB",
          "value" : 7,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Intensity",
          "value" : 8,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Luminance",
          "value" : 9,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Rx",
          "value" : 10,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RGx",
          "value" : 11,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "RGBx",
          "value" : 12,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Depth",
          "value" : 13,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "DepthStencil",
          "value" : 14,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "sRGB",
          "value" : 15,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "sRGBx",
          "value" : 16,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "sRGBA",
          "value" : 17,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "sBGRA",
          "value" : 18,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ABGR",
          "value" : 19,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "ImageChannelDataType",
      "enumerants" : [
        {
          "enumerant" : "SnormInt8",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SnormInt16",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormInt8",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormInt16",
          "value" : 3,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormShort565",
          "value" : 4,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormShort555",
          "value" : 5,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormInt101010",
          "value" : 6,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SignedInt8",
          "value" : 7,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SignedInt16",
          "value" : 8,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SignedInt32",
          "value" : 9,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnsignedInt8",
          "value" : 10,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnsignedInt16",
          "value" : 11,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnsignedInt32",
          "value" : 12,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "HalfFloat",
          "value" : 13,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Float",
          "value" : 14,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormInt24",
          "value" : 15,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "UnormInt101010_2",
          "value" : 16,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "FPRoundingMode",
      "enumerants" : [
        {
          "enumerant" : "RTE",
          "value" : 0
        },
        {
          "enumerant" : "RTZ",
          "value" : 1
        },
        {
          "enumerant" : "RTP",
          "value" : 2
        },
        {
          "enumerant" : "RTN",
          "value" : 3
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "LinkageType",
      "enumerants" : [
        {
          "enumerant" : "Export",
          "value" : 0,
          "capabilities" : [ "Linkage" ]
        },
        {
          "enumerant" : "Import",
          "value" : 1,
          "capabilities" : [ "Linkage" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "AccessQualifier",
      "enumerants" : [
        {
          "enumerant" : "ReadOnly",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "WriteOnly",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ReadWrite",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "FunctionParameterAttribute",
      "enumerants" : [
        {
          "enumerant" : "Zext",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Sext",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ByVal",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Sret",
          "value" : 3,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NoAlias",
          "value" : 4,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NoCapture",
          "value" : 5,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NoWrite",
          "value" : 6,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NoReadWrite",
          "value" : 7,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "Decoration",
      "enumerants" : [
        {
          "enumerant" : "RelaxedPrecision",
          "value" : 0,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SpecId",
          "value" : 1,
          "capabilities" : [ "Shader", "Kernel" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Specialization Constant ID'" }
          ]
        },
        {
          "enumerant" : "Block",
          "value" : 2,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "BufferBlock",
          "value" : 3,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "RowMajor",
          "value" : 4,
          "capabilities" : [ "Matrix" ]
        },
        {
          "enumerant" : "ColMajor",
          "value" : 5,
          "capabilities" : [ "Matrix" ]
        },
        {
          "enumerant" : "ArrayStride",
          "value" : 6,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Array Stride'" }
          ]
        },
        {
          "enumerant" : "MatrixStride",
          "value" : 7,
          "capabilities" : [ "Matrix" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Matrix Stride'" }
          ]
        },
        {
          "enumerant" : "GLSLShared",
          "value" : 8,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "GLSLPacked",
          "value" : 9,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "CPacked",
          "value" : 10,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "BuiltIn",
          "value" : 11,
          "parameters" : [
            { "kind" : "BuiltIn" }
          ]
        },
        {
          "enumerant" : "NoPerspective",
          "value" : 13,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Flat",
          "value" : 14,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Patch",
          "value" : 15,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "Centroid",
          "value" : 16,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Sample",
          "value" : 17,
          "capabilities" : [ "SampleRateShading" ]
        },
        {
          "enumerant" : "Invariant",
          "value" : 18,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Restrict",
          "value" : 19
        },
        {
          "enumerant" : "Aliased",
          "value" : 20
        },
        {
          "enumerant" : "Volatile",
          "value" : 21
        },
        {
          "enumerant" : "Constant",
          "value" : 22,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Coherent",
          "value" : 23
        },
        {
          "enumerant" : "NonWritable",
          "value" : 24
        },
        {
          "enumerant" : "NonReadable",
          "value" : 25
        },
        {
          "enumerant" : "Uniform",
          "value" : 26,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SaturatedConversion",
          "value" : 28,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Stream",
          "value" : 29,
          "capabilities" : [ "GeometryStreams" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Stream Number'" }
          ]
        },
        {
          "enumerant" : "Location",
          "value" : 30,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Location'" }
          ]
        },
        {
          "enumerant" : "Component",
          "value" : 31,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Component'" }
          ]
        },
        {
          "enumerant" : "Index",
          "value" : 32,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Index'" }
          ]
        },
        {
          "enumerant" : "Binding",
          "value" : 33,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Binding Point'" }
          ]
        },
        {
          "enumerant" : "DescriptorSet",
          "value" : 34,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Descriptor Set'" }
          ]
        },
        {
          "enumerant" : "Offset",
          "value" : 35,
          "capabilities" : [ "Shader" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Byte Offset'" }
          ]
        },
        {
          "enumerant" : "XfbBuffer",
          "value" : 36,
          "capabilities" : [ "TransformFeedback" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'XFB Buffer Number'" }
          ]
        },
        {
          "enumerant" : "XfbStride",
          "value" : 37,
          "capabilities" : [ "TransformFeedback" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'XFB Stride'" }
          ]
        },
        {
          "enumerant" : "FuncParamAttr",
          "value" : 38,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "FunctionParameterAttribute", "name" : "'Function Parameter Attribute'" }
          ]
        },
        {
          "enumerant" : "FPRoundingMode",
          "value" : 39,
          "parameters" : [
            { "kind" : "FPRoundingMode", "name" : "'Floating-Point Rounding Mode'" }
          ]
        },
        {
          "enumerant" : "FPFastMathMode",
          "value" : 40,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "FPFastMathMode", "name" : "'Fast-Math Mode'" }
          ]
        },
        {
          "enumerant" : "LinkageAttributes",
          "value" : 41,
          "capabilities" : [ "Linkage" ],
          "parameters" : [
            { "kind" : "LiteralString", "name" : "'Name'" },
            { "kind" : "LinkageType",   "name" : "'Linkage Type'" }
          ]
        },
        {
          "enumerant" : "NoContraction",
          "value" : 42,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "InputAttachmentIndex",
          "value" : 43,
          "capabilities" : [ "InputAttachment" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Attachment Index'" }
          ]
        },
        {
          "enumerant" : "Alignment",
          "value" : 44,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Alignment'" }
          ]
        },
        {
          "enumerant" : "MaxByteOffset",
          "value" : 45,
          "capabilities" : [ "Addresses" ],
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Max Byte Offset'" }
          ],
          "version" : "1.1"
        },
        {
          "enumerant" : "AlignmentId",
          "value" : 46,
          "capabilities" : [ "Kernel" ],
          "parameters" : [
            { "kind" : "IdRef", "name" : "'Alignment'" }
          ],
          "version" : "1.2"
        },
        {
          "enumerant" : "MaxByteOffsetId",
          "value" : 47,
          "capabilities" : [ "Addresses" ],
          "parameters" : [
            { "kind" : "IdRef", "name" : "'Max Byte Offset'" }
          ],
          "version" : "1.2"
        },
        {
          "enumerant" : "NoSignedWrap",
          "value" : 4469,
          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
          "version" : "None"
        },
        {
          "enumerant" : "NoUnsignedWrap",
          "value" : 4470,
          "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ],
          "version" : "None"
        },
        {
          "enumerant" : "ExplicitInterpAMD",
          "value" : 4999,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "OverrideCoverageNV",
          "value" : 5248,
          "capabilities" : [ "SampleMaskOverrideCoverageNV" ],
          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
          "version" : "None"
        },
        {
          "enumerant" : "PassthroughNV",
          "value" : 5250,
          "capabilities" : [ "GeometryShaderPassthroughNV" ],
          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
          "version" : "None"
        },
        {
          "enumerant" : "ViewportRelativeNV",
          "value" : 5252,
          "capabilities" : [ "ShaderViewportMaskNV" ],
          "version" : "None"
        },
        {
          "enumerant" : "SecondaryViewportRelativeNV",
          "value" : 5256,
          "capabilities" : [ "ShaderStereoViewNV" ],
          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
          "version" : "None",
          "parameters" : [
            { "kind" : "LiteralInteger", "name" : "'Offset'" }
          ]
        },
        {
          "enumerant" : "PerPrimitiveNV",
          "value" : 5271,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "PerViewNV",
          "value" : 5272,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "PerTaskNV",
          "value" : 5273,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
		{
          "enumerant" : "PerVertexNV",
          "value" : 5285,
          "capabilities" : [ "FragmentBarycentricNV" ],
          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
          "version" : "None"
        },
        {
          "enumerant" : "NonUniformEXT",
          "value" : 5300,
          "capabilities" : [ "ShaderNonUniformEXT" ]
        },
        {
          "enumerant" : "HlslCounterBufferGOOGLE",
          "value" : 5634,
          "parameters" : [
            { "kind" : "IdRef", "name" : "'Counter Buffer'" }
          ],
          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
          "version" : "None"
        },
        {
          "enumerant" : "HlslSemanticGOOGLE",
          "value" : 5635,
          "parameters" : [
            { "kind" : "LiteralString", "name" : "'Semantic'" }
          ],
          "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ],
          "version" : "None"
        },
        {
          "enumerant" : "RestrictPointerEXT",
          "value" : 5355,
          "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
          "version" : "None"
        },
        {
          "enumerant" : "AliasedPointerEXT",
          "value" : 5356,
          "capabilities" : [ "PhysicalStorageBufferAddressesEXT" ],
          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
          "version" : "None"
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "BuiltIn",
      "enumerants" : [
        {
          "enumerant" : "Position",
          "value" : 0,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "PointSize",
          "value" : 1,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "ClipDistance",
          "value" : 3,
          "capabilities" : [ "ClipDistance" ]
        },
        {
          "enumerant" : "CullDistance",
          "value" : 4,
          "capabilities" : [ "CullDistance" ]
        },
        {
          "enumerant" : "VertexId",
          "value" : 5,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "InstanceId",
          "value" : 6,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "PrimitiveId",
          "value" : 7,
          "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV" ]
        },
        {
          "enumerant" : "InvocationId",
          "value" : 8,
          "capabilities" : [ "Geometry", "Tessellation" ]
        },
        {
          "enumerant" : "Layer",
          "value" : 9,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "ViewportIndex",
          "value" : 10,
          "capabilities" : [ "MultiViewport" ]
        },
        {
          "enumerant" : "TessLevelOuter",
          "value" : 11,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "TessLevelInner",
          "value" : 12,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "TessCoord",
          "value" : 13,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "PatchVertices",
          "value" : 14,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "FragCoord",
          "value" : 15,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "PointCoord",
          "value" : 16,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "FrontFacing",
          "value" : 17,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SampleId",
          "value" : 18,
          "capabilities" : [ "SampleRateShading" ]
        },
        {
          "enumerant" : "SamplePosition",
          "value" : 19,
          "capabilities" : [ "SampleRateShading" ]
        },
        {
          "enumerant" : "SampleMask",
          "value" : 20,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "FragDepth",
          "value" : 22,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "HelperInvocation",
          "value" : 23,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "NumWorkgroups",
          "value" : 24
        },
        {
          "enumerant" : "WorkgroupSize",
          "value" : 25
        },
        {
          "enumerant" : "WorkgroupId",
          "value" : 26
        },
        {
          "enumerant" : "LocalInvocationId",
          "value" : 27
        },
        {
          "enumerant" : "GlobalInvocationId",
          "value" : 28
        },
        {
          "enumerant" : "LocalInvocationIndex",
          "value" : 29
        },
        {
          "enumerant" : "WorkDim",
          "value" : 30,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "GlobalSize",
          "value" : 31,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "EnqueuedWorkgroupSize",
          "value" : 32,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "GlobalOffset",
          "value" : 33,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "GlobalLinearId",
          "value" : 34,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SubgroupSize",
          "value" : 36,
          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
        },
        {
          "enumerant" : "SubgroupMaxSize",
          "value" : 37,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "NumSubgroups",
          "value" : 38,
          "capabilities" : [ "Kernel", "GroupNonUniform" ]
        },
        {
          "enumerant" : "NumEnqueuedSubgroups",
          "value" : 39,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "SubgroupId",
          "value" : 40,
          "capabilities" : [ "Kernel", "GroupNonUniform" ]
        },
        {
          "enumerant" : "SubgroupLocalInvocationId",
          "value" : 41,
          "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ]
        },
        {
          "enumerant" : "VertexIndex",
          "value" : 42,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "InstanceIndex",
          "value" : 43,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SubgroupEqMask",
          "value" : 4416,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupGeMask",
          "value" : 4417,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupGtMask",
          "value" : 4418,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupLeMask",
          "value" : 4419,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupLtMask",
          "value" : 4420,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupEqMaskKHR",
          "value" : 4416,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupGeMaskKHR",
          "value" : 4417,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupGtMaskKHR",
          "value" : 4418,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupLeMaskKHR",
          "value" : 4419,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupLtMaskKHR",
          "value" : 4420,
          "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ],
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "BaseVertex",
          "value" : 4424,
          "capabilities" : [ "DrawParameters" ],
          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "BaseInstance",
          "value" : 4425,
          "capabilities" : [ "DrawParameters" ],
          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "DrawIndex",
          "value" : 4426,
          "capabilities" : [ "DrawParameters", "MeshShadingNV" ],
          "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "DeviceIndex",
          "value" : 4438,
          "capabilities" : [ "DeviceGroup" ],
          "extensions" : [ "SPV_KHR_device_group" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "ViewIndex",
          "value" : 4440,
          "capabilities" : [ "MultiView" ],
          "extensions" : [ "SPV_KHR_multiview" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "BaryCoordNoPerspAMD",
          "value" : 4992,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordNoPerspCentroidAMD",
          "value" : 4993,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordNoPerspSampleAMD",
          "value" : 4994,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordSmoothAMD",
          "value" : 4995,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordSmoothCentroidAMD",
          "value" : 4996,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordSmoothSampleAMD",
          "value" : 4997,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordPullModelAMD",
          "value" : 4998,
          "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragStencilRefEXT",
          "value" : 5014,
          "capabilities" : [ "StencilExportEXT" ],
          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
          "version" : "None"
        },
        {
          "enumerant" : "ViewportMaskNV",
          "value" : 5253,
          "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "SecondaryPositionNV",
          "value" : 5257,
          "capabilities" : [ "ShaderStereoViewNV" ],
          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
          "version" : "None"
        },
        {
          "enumerant" : "SecondaryViewportMaskNV",
          "value" : 5258,
          "capabilities" : [ "ShaderStereoViewNV" ],
          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
          "version" : "None"
        },
        {
          "enumerant" : "PositionPerViewNV",
          "value" : 5261,
          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "ViewportMaskPerViewNV",
          "value" : 5262,
          "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ],
          "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "FullyCoveredEXT",
          "value" : 5264,
          "capabilities" : [ "FragmentFullyCoveredEXT" ],
          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
          "version" : "None"
        },
        {
          "enumerant" : "TaskCountNV",
          "value" : 5274,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "PrimitiveCountNV",
          "value" : 5275,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "PrimitiveIndicesNV",
          "value" : 5276,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "ClipDistancePerViewNV",
          "value" : 5277,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "CullDistancePerViewNV",
          "value" : 5278,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "LayerPerViewNV",
          "value" : 5279,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "MeshViewCountNV",
          "value" : 5280,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "MeshViewIndicesNV",
          "value" : 5281,
          "capabilities" : [ "MeshShadingNV" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordNV",
          "value" : 5286,
          "capabilities" : [ "FragmentBarycentricNV" ],
          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
          "version" : "None"
        },
        {
          "enumerant" : "BaryCoordNoPerspNV",
          "value" : 5287,
          "capabilities" : [ "FragmentBarycentricNV" ],
          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragSizeEXT",
          "value" : 5292 ,
          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragmentSizeNV",
          "value" : 5292 ,
          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragInvocationCountEXT",
          "value" : 5293,
          "capabilities" : [ "FragmentDensityEXT", "ShadingRateNV" ],
          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
          "version" : "None"
        },
        {
          "enumerant" : "InvocationsPerPixelNV",
          "value" : 5293,
          "capabilities" : [ "ShadingRateNV", "FragmentDensityEXT" ],
          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
          "version" : "None"
        },
        {
          "enumerant" : "LaunchIdNV",
          "value" : 5319,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "LaunchSizeNV",
          "value" : 5320,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "WorldRayOriginNV",
          "value" : 5321,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "WorldRayDirectionNV",
          "value" : 5322,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "ObjectRayOriginNV",
          "value" : 5323,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "ObjectRayDirectionNV",
          "value" : 5324,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "RayTminNV",
          "value" : 5325,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "RayTmaxNV",
          "value" : 5326,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "InstanceCustomIndexNV",
          "value" : 5327,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "ObjectToWorldNV",
          "value" : 5330,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "WorldToObjectNV",
          "value" : 5331,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "HitTNV",
          "value" : 5332,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "HitKindNV",
          "value" : 5333,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        },
        {
          "enumerant" : "IncomingRayFlagsNV",
          "value" : 5351,
          "capabilities" : [ "RayTracingNV" ],
          "extensions" : [ "SPV_NV_ray_tracing" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "Scope",
      "enumerants" : [
        {
          "enumerant" : "CrossDevice",
          "value" : 0
        },
        {
          "enumerant" : "Device",
          "value" : 1
        },
        {
          "enumerant" : "Workgroup",
          "value" : 2
        },
        {
          "enumerant" : "Subgroup",
          "value" : 3
        },
        {
          "enumerant" : "Invocation",
          "value" : 4
        },
        {
          "enumerant" : "QueueFamilyKHR",
          "value" : 5,
          "capabilities" : [ "VulkanMemoryModelKHR" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "GroupOperation",
      "enumerants" : [
        {
          "enumerant" : "Reduce",
          "value" : 0,
          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
        },
        {
          "enumerant" : "InclusiveScan",
          "value" : 1,
          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
        },
        {
          "enumerant" : "ExclusiveScan",
          "value" : 2,
          "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ]
        },
        {
          "enumerant" : "ClusteredReduce",
          "value" : 3,
          "capabilities" : [ "GroupNonUniformClustered" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "PartitionedReduceNV",
          "value" : 6,
          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
          "version" : "None"
        },
        {
          "enumerant" : "PartitionedInclusiveScanNV",
          "value" : 7,
          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
          "version" : "None"
        },
        {
          "enumerant" : "PartitionedExclusiveScanNV",
          "value" : 8,
          "capabilities" : [ "GroupNonUniformPartitionedNV" ],
          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
          "version" : "None"
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "KernelEnqueueFlags",
      "enumerants" : [
        {
          "enumerant" : "NoWait",
          "value" : 0,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "WaitKernel",
          "value" : 1,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "WaitWorkGroup",
          "value" : 2,
          "capabilities" : [ "Kernel" ]
        }
      ]
    },
    {
      "category" : "ValueEnum",
      "kind" : "Capability",
      "enumerants" : [
        {
          "enumerant" : "Matrix",
          "value" : 0
        },
        {
          "enumerant" : "Shader",
          "value" : 1,
          "capabilities" : [ "Matrix" ]
        },
        {
          "enumerant" : "Geometry",
          "value" : 2,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Tessellation",
          "value" : 3,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Addresses",
          "value" : 4
        },
        {
          "enumerant" : "Linkage",
          "value" : 5
        },
        {
          "enumerant" : "Kernel",
          "value" : 6
        },
        {
          "enumerant" : "Vector16",
          "value" : 7,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Float16Buffer",
          "value" : 8,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Float16",
          "value" : 9
        },
        {
          "enumerant" : "Float64",
          "value" : 10
        },
        {
          "enumerant" : "Int64",
          "value" : 11
        },
        {
          "enumerant" : "Int64Atomics",
          "value" : 12,
          "capabilities" : [ "Int64" ]
        },
        {
          "enumerant" : "ImageBasic",
          "value" : 13,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "ImageReadWrite",
          "value" : 14,
          "capabilities" : [ "ImageBasic" ]
        },
        {
          "enumerant" : "ImageMipmap",
          "value" : 15,
          "capabilities" : [ "ImageBasic" ]
        },
        {
          "enumerant" : "Pipes",
          "value" : 17,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "Groups",
          "value" : 18
        },
        {
          "enumerant" : "DeviceEnqueue",
          "value" : 19,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "LiteralSampler",
          "value" : 20,
          "capabilities" : [ "Kernel" ]
        },
        {
          "enumerant" : "AtomicStorage",
          "value" : 21,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Int16",
          "value" : 22
        },
        {
          "enumerant" : "TessellationPointSize",
          "value" : 23,
          "capabilities" : [ "Tessellation" ]
        },
        {
          "enumerant" : "GeometryPointSize",
          "value" : 24,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "ImageGatherExtended",
          "value" : 25,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "StorageImageMultisample",
          "value" : 27,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "UniformBufferArrayDynamicIndexing",
          "value" : 28,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SampledImageArrayDynamicIndexing",
          "value" : 29,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "StorageBufferArrayDynamicIndexing",
          "value" : 30,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "StorageImageArrayDynamicIndexing",
          "value" : 31,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "ClipDistance",
          "value" : 32,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "CullDistance",
          "value" : 33,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "ImageCubeArray",
          "value" : 34,
          "capabilities" : [ "SampledCubeArray" ]
        },
        {
          "enumerant" : "SampleRateShading",
          "value" : 35,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "ImageRect",
          "value" : 36,
          "capabilities" : [ "SampledRect" ]
        },
        {
          "enumerant" : "SampledRect",
          "value" : 37,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "GenericPointer",
          "value" : 38,
          "capabilities" : [ "Addresses" ]
        },
        {
          "enumerant" : "Int8",
          "value" : 39
        },
        {
          "enumerant" : "InputAttachment",
          "value" : 40,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SparseResidency",
          "value" : 41,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "MinLod",
          "value" : 42,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "Sampled1D",
          "value" : 43
        },
        {
          "enumerant" : "Image1D",
          "value" : 44,
          "capabilities" : [ "Sampled1D" ]
        },
        {
          "enumerant" : "SampledCubeArray",
          "value" : 45,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "SampledBuffer",
          "value" : 46
        },
        {
          "enumerant" : "ImageBuffer",
          "value" : 47,
          "capabilities" : [ "SampledBuffer" ]
        },
        {
          "enumerant" : "ImageMSArray",
          "value" : 48,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "StorageImageExtendedFormats",
          "value" : 49,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "ImageQuery",
          "value" : 50,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "DerivativeControl",
          "value" : 51,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "InterpolationFunction",
          "value" : 52,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "TransformFeedback",
          "value" : 53,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "GeometryStreams",
          "value" : 54,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "StorageImageReadWithoutFormat",
          "value" : 55,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "StorageImageWriteWithoutFormat",
          "value" : 56,
          "capabilities" : [ "Shader" ]
        },
        {
          "enumerant" : "MultiViewport",
          "value" : 57,
          "capabilities" : [ "Geometry" ]
        },
        {
          "enumerant" : "SubgroupDispatch",
          "value" : 58,
          "capabilities" : [ "DeviceEnqueue" ],
          "version" : "1.1"
        },
        {
          "enumerant" : "NamedBarrier",
          "value" : 59,
          "capabilities" : [ "Kernel" ],
          "version" : "1.1"
        },
        {
          "enumerant" : "PipeStorage",
          "value" : 60,
          "capabilities" : [ "Pipes" ],
          "version" : "1.1"
        },
        {
          "enumerant" : "GroupNonUniform",
          "value" : 61,
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformVote",
          "value" : 62,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformArithmetic",
          "value" : 63,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformBallot",
          "value" : 64,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformShuffle",
          "value" : 65,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformShuffleRelative",
          "value" : 66,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformClustered",
          "value" : 67,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "GroupNonUniformQuad",
          "value" : 68,
          "capabilities" : [ "GroupNonUniform" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupBallotKHR",
          "value" : 4423,
          "extensions" : [ "SPV_KHR_shader_ballot" ],
          "version" : "None"
        },
        {
          "enumerant" : "DrawParameters",
          "value" : 4427,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_KHR_shader_draw_parameters" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "SubgroupVoteKHR",
          "value" : 4431,
          "extensions" : [ "SPV_KHR_subgroup_vote" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageBuffer16BitAccess",
          "value" : 4433,
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "StorageUniformBufferBlock16",
          "value" : 4433,
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "UniformAndStorageBuffer16BitAccess",
          "value" : 4434,
          "capabilities" : [
            "StorageBuffer16BitAccess",
            "StorageUniformBufferBlock16"
          ],
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "StorageUniform16",
          "value" : 4434,
          "capabilities" : [
            "StorageBuffer16BitAccess",
            "StorageUniformBufferBlock16"
          ],
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "StoragePushConstant16",
          "value" : 4435,
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "StorageInputOutput16",
          "value" : 4436,
          "extensions" : [ "SPV_KHR_16bit_storage" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "DeviceGroup",
          "value" : 4437,
          "extensions" : [ "SPV_KHR_device_group" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "MultiView",
          "value" : 4439,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_KHR_multiview" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "VariablePointersStorageBuffer",
          "value" : 4441,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_KHR_variable_pointers" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "VariablePointers",
          "value" : 4442,
          "capabilities" : [ "VariablePointersStorageBuffer" ],
          "extensions" : [ "SPV_KHR_variable_pointers" ],
          "version" : "1.3"
        },
        {
          "enumerant" : "AtomicStorageOps",
          "value" : 4445,
          "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ],
          "version" : "None"
        },
        {
          "enumerant" : "SampleMaskPostDepthCoverage",
          "value" : 4447,
          "extensions" : [ "SPV_KHR_post_depth_coverage" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageBuffer8BitAccess",
          "value" : 4448,
          "extensions" : [ "SPV_KHR_8bit_storage" ],
          "version" : "None"
        },
        {
          "enumerant" : "UniformAndStorageBuffer8BitAccess",
          "value" : 4449,
          "capabilities" : [ "StorageBuffer8BitAccess" ],
          "extensions" : [ "SPV_KHR_8bit_storage" ],
          "version" : "None"
        },
        {
          "enumerant" : "StoragePushConstant8",
          "value" : 4450,
          "extensions" : [ "SPV_KHR_8bit_storage" ],
          "version" : "None"
        },
        {
          "enumerant" : "DenormPreserve",
          "value" : 4464,
          "extensions" : [ "SPV_KHR_float_controls" ],
          "version" : "None"
        },
        {
          "enumerant" : "DenormFlushToZero",
          "value" : 4465,
          "extensions" : [ "SPV_KHR_float_controls" ],
          "version" : "None"
        },
        {
          "enumerant" : "SignedZeroInfNanPreserve",
          "value" : 4466,
          "extensions" : [ "SPV_KHR_float_controls" ],
          "version" : "None"
        },
        {
          "enumerant" : "RoundingModeRTE",
          "value" : 4467,
          "extensions" : [ "SPV_KHR_float_controls" ],
          "version" : "None"
        },
        {
          "enumerant" : "RoundingModeRTZ",
          "value" : 4468,
          "extensions" : [ "SPV_KHR_float_controls" ],
          "version" : "None"
        },
        {
          "enumerant" : "Float16ImageAMD",
          "value" : 5008,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ],
          "version" : "None"
        },
        {
          "enumerant" : "ImageGatherBiasLodAMD",
          "value" : 5009,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragmentMaskAMD",
          "value" : 5010,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_AMD_shader_fragment_mask" ],
          "version" : "None"
        },
        {
          "enumerant" : "StencilExportEXT",
          "value" : 5013,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_shader_stencil_export" ],
          "version" : "None"
        },
        {
          "enumerant" : "ImageReadWriteLodAMD",
          "value" : 5015,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ],
          "version" : "None"
        },
        {
          "enumerant" : "SampleMaskOverrideCoverageNV",
          "value" : 5249,
          "capabilities" : [ "SampleRateShading" ],
          "extensions" : [ "SPV_NV_sample_mask_override_coverage" ],
          "version" : "None"
        },
        {
          "enumerant" : "GeometryShaderPassthroughNV",
          "value" : 5251,
          "capabilities" : [ "Geometry" ],
          "extensions" : [ "SPV_NV_geometry_shader_passthrough" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShaderViewportIndexLayerEXT",
          "value" : 5254,
          "capabilities" : [ "MultiViewport" ],
          "extensions" : [ "SPV_EXT_shader_viewport_index_layer" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShaderViewportIndexLayerNV",
          "value" : 5254,
          "capabilities" : [ "MultiViewport" ],
          "extensions" : [ "SPV_NV_viewport_array2" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShaderViewportMaskNV",
          "value" : 5255,
          "capabilities" : [ "ShaderViewportIndexLayerNV" ],
          "extensions" : [ "SPV_NV_viewport_array2" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShaderStereoViewNV",
          "value" : 5259,
          "capabilities" : [ "ShaderViewportMaskNV" ],
          "extensions" : [ "SPV_NV_stereo_view_rendering" ],
          "version" : "None"
        },
        {
          "enumerant" : "PerViewAttributesNV",
          "value" : 5260,
          "capabilities" : [ "MultiView" ],
          "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragmentFullyCoveredEXT",
          "value" : 5265,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_fragment_fully_covered" ],
          "version" : "None"
        },
        {
          "enumerant" : "MeshShadingNV",
          "value" : 5266,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_NV_mesh_shader" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShaderNonUniformEXT",
          "value" : 5301,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "RuntimeDescriptorArrayEXT",
          "value" : 5302,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "InputAttachmentArrayDynamicIndexingEXT",
          "value" : 5303,
          "capabilities" : [ "InputAttachment" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "UniformTexelBufferArrayDynamicIndexingEXT",
          "value" : 5304,
          "capabilities" : [ "SampledBuffer" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageTexelBufferArrayDynamicIndexingEXT",
          "value" : 5305,
          "capabilities" : [ "ImageBuffer" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "UniformBufferArrayNonUniformIndexingEXT",
          "value" : 5306,
          "capabilities" : [ "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "SampledImageArrayNonUniformIndexingEXT",
          "value" : 5307,
          "capabilities" : [ "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageBufferArrayNonUniformIndexingEXT",
          "value" : 5308,
          "capabilities" : [ "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageImageArrayNonUniformIndexingEXT",
          "value" : 5309,
          "capabilities" : [ "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "InputAttachmentArrayNonUniformIndexingEXT",
          "value" : 5310,
          "capabilities" : [ "InputAttachment", "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "UniformTexelBufferArrayNonUniformIndexingEXT",
          "value" : 5311,
          "capabilities" : [ "SampledBuffer", "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "StorageTexelBufferArrayNonUniformIndexingEXT",
          "value" : 5312,
          "capabilities" : [ "ImageBuffer", "ShaderNonUniformEXT" ],
          "extensions" : [ "SPV_EXT_descriptor_indexing" ],
          "version" : "None"
        },
        {
          "enumerant" : "RayTracingNV",
          "value" : 5340,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_NV_ray_tracing" ],
          "version" : "None"
        },
        {
          "enumerant" : "SubgroupShuffleINTEL",
          "value" : 5568,
          "extensions" : [ "SPV_INTEL_subgroups" ],
          "version" : "None"
        },
        {
          "enumerant" : "SubgroupBufferBlockIOINTEL",
          "value" : 5569,
          "extensions" : [ "SPV_INTEL_subgroups" ],
          "version" : "None"
        },
        {
          "enumerant" : "SubgroupImageBlockIOINTEL",
          "value" : 5570,
          "extensions" : [ "SPV_INTEL_subgroups" ],
          "version" : "None"
        },
        {
          "enumerant" : "GroupNonUniformPartitionedNV",
          "value" : 5297,
          "extensions" : [ "SPV_NV_shader_subgroup_partitioned" ],
          "version" : "None"
        },
        {
          "enumerant" : "VulkanMemoryModelKHR",
          "value" : 5345,
          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
          "version" : "None"
        },
        {
          "enumerant" : "VulkanMemoryModelDeviceScopeKHR",
          "value" : 5346,
          "extensions" : [ "SPV_KHR_vulkan_memory_model" ],
          "version" : "None"
        },
        {
          "enumerant" : "ImageFootprintNV",
          "value" : 5282,
          "extensions" : [ "SPV_NV_shader_image_footprint" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragmentBarycentricNV",
          "value" : 5284,
          "extensions" : [ "SPV_NV_fragment_shader_barycentric" ],
          "version" : "None"
        },
        {
          "enumerant" : "ComputeDerivativeGroupQuadsNV",
          "value" : 5288,
          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
          "version" : "None"
        },
        {
          "enumerant" : "ComputeDerivativeGroupLinearNV",
          "value" : 5350,
          "extensions" : [ "SPV_NV_compute_shader_derivatives" ],
          "version" : "None"
        },
        {
          "enumerant" : "FragmentDensityEXT",
          "value" : 5291,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ],
          "version" : "None"
        },
        {
          "enumerant" : "ShadingRateNV",
          "value" : 5291,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_NV_shading_rate", "SPV_EXT_fragment_invocation_density" ],
          "version" : "None"
        },
        {
          "enumerant" : "PhysicalStorageBufferAddressesEXT",
          "value" : 5347,
          "capabilities" : [ "Shader" ],
          "extensions" : [ "SPV_EXT_physical_storage_buffer" ],
          "version" : "None"
        }
      ]
    },
    {
      "category" : "Id",
      "kind" : "IdResultType",
      "doc" : "Reference to an <id> representing the result's type of the enclosing instruction"
    },
    {
      "category" : "Id",
      "kind" : "IdResult",
      "doc" : "Definition of an <id> representing the result of the enclosing instruction"
    },
    {
      "category" : "Id",
      "kind" : "IdMemorySemantics",
      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the MemorySemantics operand kind"
    },
    {
      "category" : "Id",
      "kind" : "IdScope",
      "doc" : "Reference to an <id> representing a 32-bit integer that is a mask from the Scope operand kind"
    },
    {
      "category" : "Id",
      "kind" : "IdRef",
      "doc" : "Reference to an <id>"
    },
    {
      "category" : "Literal",
      "kind" : "LiteralInteger",
      "doc" : "An integer consuming one or more words"
    },
    {
      "category" : "Literal",
      "kind" : "LiteralString",
      "doc" : "A null-terminated stream of characters consuming an integral number of words"
    },
    {
      "category" : "Literal",
      "kind" : "LiteralContextDependentNumber",
      "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction"
    },
    {
      "category" : "Literal",
      "kind" : "LiteralExtInstInteger",
      "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)"
    },
    {
      "category" : "Literal",
      "kind" : "LiteralSpecConstantOpInteger",
      "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)"
    },
    {
      "category" : "Composite",
      "kind" : "PairLiteralIntegerIdRef",
      "bases" : [ "LiteralInteger", "IdRef" ]
    },
    {
      "category" : "Composite",
      "kind" : "PairIdRefLiteralInteger",
      "bases" : [ "IdRef", "LiteralInteger" ]
    },
    {
      "category" : "Composite",
      "kind" : "PairIdRefIdRef",
      "bases" : [ "IdRef", "IdRef" ]
    }
  ]
}
