| { |
| "copyright" : [ |
| "Copyright (c) 2014-2020 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" : 5, |
| "revision" : 4, |
| "instruction_printing_class" : [ |
| { |
| "tag" : "@exclude" |
| }, |
| { |
| "tag" : "Miscellaneous", |
| "heading" : "Miscellaneous Instructions" |
| }, |
| { |
| "tag" : "Debug", |
| "heading" : "Debug Instructions" |
| }, |
| { |
| "tag" : "Annotation", |
| "heading" : "Annotation Instructions" |
| }, |
| { |
| "tag" : "Extension", |
| "heading" : "Extension Instructions" |
| }, |
| { |
| "tag" : "Mode-Setting", |
| "heading" : "Mode-Setting Instructions" |
| }, |
| { |
| "tag" : "Type-Declaration", |
| "heading" : "Type-Declaration Instructions" |
| }, |
| { |
| "tag" : "Constant-Creation", |
| "heading" : "Constant-Creation Instructions" |
| }, |
| { |
| "tag" : "Memory", |
| "heading" : "Memory Instructions" |
| }, |
| { |
| "tag" : "Function", |
| "heading" : "Function Instructions" |
| }, |
| { |
| "tag" : "Image", |
| "heading" : "Image Instructions" |
| }, |
| { |
| "tag" : "Conversion", |
| "heading" : "Conversion Instructions" |
| }, |
| { |
| "tag" : "Composite", |
| "heading" : "Composite Instructions" |
| }, |
| { |
| "tag" : "Arithmetic", |
| "heading" : "Arithmetic Instructions" |
| }, |
| { |
| "tag" : "Bit", |
| "heading" : "Bit Instructions" |
| }, |
| { |
| "tag" : "Relational_and_Logical", |
| "heading" : "Relational and Logical Instructions" |
| }, |
| { |
| "tag" : "Derivative", |
| "heading" : "Derivative Instructions" |
| }, |
| { |
| "tag" : "Control-Flow", |
| "heading" : "Control-Flow Instructions" |
| }, |
| { |
| "tag" : "Atomic", |
| "heading" : "Atomic Instructions" |
| }, |
| { |
| "tag" : "Primitive", |
| "heading" : "Primitive Instructions" |
| }, |
| { |
| "tag" : "Barrier", |
| "heading" : "Barrier Instructions" |
| }, |
| { |
| "tag" : "Group", |
| "heading" : "Group and Subgroup Instructions" |
| }, |
| { |
| "tag" : "Device-Side_Enqueue", |
| "heading" : "Device-Side Enqueue Instructions" |
| }, |
| { |
| "tag" : "Pipe", |
| "heading" : "Pipe Instructions" |
| }, |
| { |
| "tag" : "Non-Uniform", |
| "heading" : "Non-Uniform Instructions" |
| }, |
| { |
| "tag" : "Reserved", |
| "heading" : "Reserved Instructions" |
| } |
| ], |
| "instructions" : [ |
| { |
| "opname" : "OpNop", |
| "class" : "Miscellaneous", |
| "opcode" : 0 |
| }, |
| { |
| "opname" : "OpUndef", |
| "class" : "Miscellaneous", |
| "opcode" : 1, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpSourceContinued", |
| "class" : "Debug", |
| "opcode" : 2, |
| "operands" : [ |
| { "kind" : "LiteralString", "name" : "'Continued Source'" } |
| ] |
| }, |
| { |
| "opname" : "OpSource", |
| "class" : "Debug", |
| "opcode" : 3, |
| "operands" : [ |
| { "kind" : "SourceLanguage" }, |
| { "kind" : "LiteralInteger", "name" : "'Version'" }, |
| { "kind" : "IdRef", "quantifier" : "?", "name" : "'File'" }, |
| { "kind" : "LiteralString", "quantifier" : "?", "name" : "'Source'" } |
| ] |
| }, |
| { |
| "opname" : "OpSourceExtension", |
| "class" : "Debug", |
| "opcode" : 4, |
| "operands" : [ |
| { "kind" : "LiteralString", "name" : "'Extension'" } |
| ] |
| }, |
| { |
| "opname" : "OpName", |
| "class" : "Debug", |
| "opcode" : 5, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Target'" }, |
| { "kind" : "LiteralString", "name" : "'Name'" } |
| ] |
| }, |
| { |
| "opname" : "OpMemberName", |
| "class" : "Debug", |
| "opcode" : 6, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Type'" }, |
| { "kind" : "LiteralInteger", "name" : "'Member'" }, |
| { "kind" : "LiteralString", "name" : "'Name'" } |
| ] |
| }, |
| { |
| "opname" : "OpString", |
| "class" : "Debug", |
| "opcode" : 7, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralString", "name" : "'String'" } |
| ] |
| }, |
| { |
| "opname" : "OpLine", |
| "class" : "Debug", |
| "opcode" : 8, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'File'" }, |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column'" } |
| ] |
| }, |
| { |
| "opname" : "OpExtension", |
| "class" : "Extension", |
| "opcode" : 10, |
| "operands" : [ |
| { "kind" : "LiteralString", "name" : "'Name'" } |
| ] |
| }, |
| { |
| "opname" : "OpExtInstImport", |
| "class" : "Extension", |
| "opcode" : 11, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralString", "name" : "'Name'" } |
| ] |
| }, |
| { |
| "opname" : "OpExtInst", |
| "class" : "Extension", |
| "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", |
| "class" : "Mode-Setting", |
| "opcode" : 14, |
| "operands" : [ |
| { "kind" : "AddressingModel" }, |
| { "kind" : "MemoryModel" } |
| ] |
| }, |
| { |
| "opname" : "OpEntryPoint", |
| "class" : "Mode-Setting", |
| "opcode" : 15, |
| "operands" : [ |
| { "kind" : "ExecutionModel" }, |
| { "kind" : "IdRef", "name" : "'Entry Point'" }, |
| { "kind" : "LiteralString", "name" : "'Name'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Interface'" } |
| ] |
| }, |
| { |
| "opname" : "OpExecutionMode", |
| "class" : "Mode-Setting", |
| "opcode" : 16, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Entry Point'" }, |
| { "kind" : "ExecutionMode", "name" : "'Mode'" } |
| ] |
| }, |
| { |
| "opname" : "OpCapability", |
| "class" : "Mode-Setting", |
| "opcode" : 17, |
| "operands" : [ |
| { "kind" : "Capability", "name" : "'Capability'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeVoid", |
| "class" : "Type-Declaration", |
| "opcode" : 19, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeBool", |
| "class" : "Type-Declaration", |
| "opcode" : 20, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeInt", |
| "class" : "Type-Declaration", |
| "opcode" : 21, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralInteger", "name" : "'Width'" }, |
| { "kind" : "LiteralInteger", "name" : "'Signedness'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeFloat", |
| "class" : "Type-Declaration", |
| "opcode" : 22, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralInteger", "name" : "'Width'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeVector", |
| "class" : "Type-Declaration", |
| "opcode" : 23, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Component Type'" }, |
| { "kind" : "LiteralInteger", "name" : "'Component Count'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeMatrix", |
| "class" : "Type-Declaration", |
| "opcode" : 24, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Column Type'" }, |
| { "kind" : "LiteralInteger", "name" : "'Column Count'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpTypeImage", |
| "class" : "Type-Declaration", |
| "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", |
| "class" : "Type-Declaration", |
| "opcode" : 26, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeSampledImage", |
| "class" : "Type-Declaration", |
| "opcode" : 27, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image Type'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeArray", |
| "class" : "Type-Declaration", |
| "opcode" : 28, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Element Type'" }, |
| { "kind" : "IdRef", "name" : "'Length'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeRuntimeArray", |
| "class" : "Type-Declaration", |
| "opcode" : 29, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Element Type'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpTypeStruct", |
| "class" : "Type-Declaration", |
| "opcode" : 30, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Member 0 type', +\n'member 1 type', +\n..." } |
| ] |
| }, |
| { |
| "opname" : "OpTypeOpaque", |
| "class" : "Type-Declaration", |
| "opcode" : 31, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralString", "name" : "The name of the opaque type." } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpTypePointer", |
| "class" : "Type-Declaration", |
| "opcode" : 32, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "StorageClass" }, |
| { "kind" : "IdRef", "name" : "'Type'" } |
| ] |
| }, |
| { |
| "opname" : "OpTypeFunction", |
| "class" : "Type-Declaration", |
| "opcode" : 33, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Return Type'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." } |
| ] |
| }, |
| { |
| "opname" : "OpTypeEvent", |
| "class" : "Type-Declaration", |
| "opcode" : 34, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpTypeDeviceEvent", |
| "class" : "Type-Declaration", |
| "opcode" : 35, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ], |
| "capabilities" : [ "DeviceEnqueue" ] |
| }, |
| { |
| "opname" : "OpTypeReserveId", |
| "class" : "Type-Declaration", |
| "opcode" : 36, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ], |
| "capabilities" : [ "Pipes" ] |
| }, |
| { |
| "opname" : "OpTypeQueue", |
| "class" : "Type-Declaration", |
| "opcode" : 37, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ], |
| "capabilities" : [ "DeviceEnqueue" ] |
| }, |
| { |
| "opname" : "OpTypePipe", |
| "class" : "Type-Declaration", |
| "opcode" : 38, |
| "operands" : [ |
| { "kind" : "IdResult" }, |
| { "kind" : "AccessQualifier", "name" : "'Qualifier'" } |
| ], |
| "capabilities" : [ "Pipes" ] |
| }, |
| { |
| "opname" : "OpTypeForwardPointer", |
| "class" : "Type-Declaration", |
| "opcode" : 39, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Pointer Type'" }, |
| { "kind" : "StorageClass" } |
| ], |
| "capabilities" : [ |
| "Addresses", |
| "PhysicalStorageBufferAddresses" |
| ] |
| }, |
| { |
| "opname" : "OpConstantTrue", |
| "class" : "Constant-Creation", |
| "opcode" : 41, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpConstantFalse", |
| "class" : "Constant-Creation", |
| "opcode" : 42, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpConstant", |
| "class" : "Constant-Creation", |
| "opcode" : 43, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpConstantComposite", |
| "class" : "Constant-Creation", |
| "opcode" : 44, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" } |
| ] |
| }, |
| { |
| "opname" : "OpConstantSampler", |
| "class" : "Constant-Creation", |
| "opcode" : 45, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "SamplerAddressingMode" }, |
| { "kind" : "LiteralInteger", "name" : "'Param'" }, |
| { "kind" : "SamplerFilterMode" } |
| ], |
| "capabilities" : [ "LiteralSampler" ] |
| }, |
| { |
| "opname" : "OpConstantNull", |
| "class" : "Constant-Creation", |
| "opcode" : 46, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpSpecConstantTrue", |
| "class" : "Constant-Creation", |
| "opcode" : 48, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpSpecConstantFalse", |
| "class" : "Constant-Creation", |
| "opcode" : 49, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpSpecConstant", |
| "class" : "Constant-Creation", |
| "opcode" : 50, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralContextDependentNumber", "name" : "'Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpSpecConstantComposite", |
| "class" : "Constant-Creation", |
| "opcode" : 51, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" } |
| ] |
| }, |
| { |
| "opname" : "OpSpecConstantOp", |
| "class" : "Constant-Creation", |
| "opcode" : 52, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "LiteralSpecConstantOpInteger", "name" : "'Opcode'" } |
| ] |
| }, |
| { |
| "opname" : "OpFunction", |
| "class" : "Function", |
| "opcode" : 54, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "FunctionControl" }, |
| { "kind" : "IdRef", "name" : "'Function Type'" } |
| ] |
| }, |
| { |
| "opname" : "OpFunctionParameter", |
| "class" : "Function", |
| "opcode" : 55, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpFunctionEnd", |
| "class" : "Function", |
| "opcode" : 56 |
| }, |
| { |
| "opname" : "OpFunctionCall", |
| "class" : "Function", |
| "opcode" : 57, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Function'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Argument 0', +\n'Argument 1', +\n..." } |
| ] |
| }, |
| { |
| "opname" : "OpVariable", |
| "class" : "Memory", |
| "opcode" : 59, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "StorageClass" }, |
| { "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" } |
| ] |
| }, |
| { |
| "opname" : "OpImageTexelPointer", |
| "class" : "Memory", |
| "opcode" : 60, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "IdRef", "name" : "'Sample'" } |
| ] |
| }, |
| { |
| "opname" : "OpLoad", |
| "class" : "Memory", |
| "opcode" : 61, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpStore", |
| "class" : "Memory", |
| "opcode" : 62, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Pointer'" }, |
| { "kind" : "IdRef", "name" : "'Object'" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpCopyMemory", |
| "class" : "Memory", |
| "opcode" : 63, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Target'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpCopyMemorySized", |
| "class" : "Memory", |
| "opcode" : 64, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Target'" }, |
| { "kind" : "IdRef", "name" : "'Source'" }, |
| { "kind" : "IdRef", "name" : "'Size'" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" }, |
| { "kind" : "MemoryAccess", "quantifier" : "?" } |
| ], |
| "capabilities" : [ "Addresses" ] |
| }, |
| { |
| "opname" : "OpAccessChain", |
| "class" : "Memory", |
| "opcode" : 65, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } |
| ] |
| }, |
| { |
| "opname" : "OpInBoundsAccessChain", |
| "class" : "Memory", |
| "opcode" : 66, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } |
| ] |
| }, |
| { |
| "opname" : "OpPtrAccessChain", |
| "class" : "Memory", |
| "opcode" : 67, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Element'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } |
| ], |
| "capabilities" : [ |
| "Addresses", |
| "VariablePointers", |
| "VariablePointersStorageBuffer", |
| "PhysicalStorageBufferAddresses" |
| ] |
| }, |
| { |
| "opname" : "OpArrayLength", |
| "class" : "Memory", |
| "opcode" : 68, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Structure'" }, |
| { "kind" : "LiteralInteger", "name" : "'Array member'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpGenericPtrMemSemantics", |
| "class" : "Memory", |
| "opcode" : 69, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpInBoundsPtrAccessChain", |
| "class" : "Memory", |
| "opcode" : 70, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Element'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" } |
| ], |
| "capabilities" : [ "Addresses" ] |
| }, |
| { |
| "opname" : "OpDecorate", |
| "class" : "Annotation", |
| "opcode" : 71, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Target'" }, |
| { "kind" : "Decoration" } |
| ] |
| }, |
| { |
| "opname" : "OpMemberDecorate", |
| "class" : "Annotation", |
| "opcode" : 72, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Structure Type'" }, |
| { "kind" : "LiteralInteger", "name" : "'Member'" }, |
| { "kind" : "Decoration" } |
| ] |
| }, |
| { |
| "opname" : "OpDecorationGroup", |
| "class" : "Annotation", |
| "opcode" : 73, |
| "operands" : [ |
| { "kind" : "IdResult" } |
| ] |
| }, |
| { |
| "opname" : "OpGroupDecorate", |
| "class" : "Annotation", |
| "opcode" : 74, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Decoration Group'" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Targets'" } |
| ] |
| }, |
| { |
| "opname" : "OpGroupMemberDecorate", |
| "class" : "Annotation", |
| "opcode" : 75, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Decoration Group'" }, |
| { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "'Targets'" } |
| ] |
| }, |
| { |
| "opname" : "OpVectorExtractDynamic", |
| "class" : "Composite", |
| "opcode" : 77, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" }, |
| { "kind" : "IdRef", "name" : "'Index'" } |
| ] |
| }, |
| { |
| "opname" : "OpVectorInsertDynamic", |
| "class" : "Composite", |
| "opcode" : 78, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" }, |
| { "kind" : "IdRef", "name" : "'Component'" }, |
| { "kind" : "IdRef", "name" : "'Index'" } |
| ] |
| }, |
| { |
| "opname" : "OpVectorShuffle", |
| "class" : "Composite", |
| "opcode" : 79, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector 1'" }, |
| { "kind" : "IdRef", "name" : "'Vector 2'" }, |
| { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Components'" } |
| ] |
| }, |
| { |
| "opname" : "OpCompositeConstruct", |
| "class" : "Composite", |
| "opcode" : 80, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "quantifier" : "*", "name" : "'Constituents'" } |
| ] |
| }, |
| { |
| "opname" : "OpCompositeExtract", |
| "class" : "Composite", |
| "opcode" : 81, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Composite'" }, |
| { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } |
| ] |
| }, |
| { |
| "opname" : "OpCompositeInsert", |
| "class" : "Composite", |
| "opcode" : 82, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Object'" }, |
| { "kind" : "IdRef", "name" : "'Composite'" }, |
| { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "'Indexes'" } |
| ] |
| }, |
| { |
| "opname" : "OpCopyObject", |
| "class" : "Composite", |
| "opcode" : 83, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpTranspose", |
| "class" : "Composite", |
| "opcode" : 84, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Matrix'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpSampledImage", |
| "class" : "Image", |
| "opcode" : 86, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Sampler'" } |
| ] |
| }, |
| { |
| "opname" : "OpImageSampleImplicitLod", |
| "class" : "Image", |
| "opcode" : 87, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands", "quantifier" : "?" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpImageSampleExplicitLod", |
| "class" : "Image", |
| "opcode" : 88, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands" } |
| ] |
| }, |
| { |
| "opname" : "OpImageSampleDrefImplicitLod", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "opcode" : 91, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands", "quantifier" : "?" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpImageSampleProjExplicitLod", |
| "class" : "Image", |
| "opcode" : 92, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpImageSampleProjDrefImplicitLod", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "opcode" : 95, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpImageGather", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "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", |
| "class" : "Image", |
| "opcode" : 98, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "ImageOperands", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpImageWrite", |
| "class" : "Image", |
| "opcode" : 99, |
| "operands" : [ |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" }, |
| { "kind" : "IdRef", "name" : "'Texel'" }, |
| { "kind" : "ImageOperands", "quantifier" : "?" } |
| ] |
| }, |
| { |
| "opname" : "OpImage", |
| "class" : "Image", |
| "opcode" : 100, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" } |
| ] |
| }, |
| { |
| "opname" : "OpImageQueryFormat", |
| "class" : "Image", |
| "opcode" : 101, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpImageQueryOrder", |
| "class" : "Image", |
| "opcode" : 102, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpImageQuerySizeLod", |
| "class" : "Image", |
| "opcode" : 103, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" }, |
| { "kind" : "IdRef", "name" : "'Level of Detail'" } |
| ], |
| "capabilities" : [ "Kernel", "ImageQuery" ] |
| }, |
| { |
| "opname" : "OpImageQuerySize", |
| "class" : "Image", |
| "opcode" : 104, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" } |
| ], |
| "capabilities" : [ "Kernel", "ImageQuery" ] |
| }, |
| { |
| "opname" : "OpImageQueryLod", |
| "class" : "Image", |
| "opcode" : 105, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Sampled Image'" }, |
| { "kind" : "IdRef", "name" : "'Coordinate'" } |
| ], |
| "capabilities" : [ "ImageQuery" ] |
| }, |
| { |
| "opname" : "OpImageQueryLevels", |
| "class" : "Image", |
| "opcode" : 106, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" } |
| ], |
| "capabilities" : [ "Kernel", "ImageQuery" ] |
| }, |
| { |
| "opname" : "OpImageQuerySamples", |
| "class" : "Image", |
| "opcode" : 107, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Image'" } |
| ], |
| "capabilities" : [ "Kernel", "ImageQuery" ] |
| }, |
| { |
| "opname" : "OpConvertFToU", |
| "class" : "Conversion", |
| "opcode" : 109, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Float Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpConvertFToS", |
| "class" : "Conversion", |
| "opcode" : 110, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Float Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpConvertSToF", |
| "class" : "Conversion", |
| "opcode" : 111, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Signed Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpConvertUToF", |
| "class" : "Conversion", |
| "opcode" : 112, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Unsigned Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpUConvert", |
| "class" : "Conversion", |
| "opcode" : 113, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Unsigned Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpSConvert", |
| "class" : "Conversion", |
| "opcode" : 114, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Signed Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpFConvert", |
| "class" : "Conversion", |
| "opcode" : 115, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Float Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpQuantizeToF16", |
| "class" : "Conversion", |
| "opcode" : 116, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Value'" } |
| ] |
| }, |
| { |
| "opname" : "OpConvertPtrToU", |
| "class" : "Conversion", |
| "opcode" : 117, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" } |
| ], |
| "capabilities" : [ |
| "Addresses", |
| "PhysicalStorageBufferAddresses" |
| ] |
| }, |
| { |
| "opname" : "OpSatConvertSToU", |
| "class" : "Conversion", |
| "opcode" : 118, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Signed Value'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpSatConvertUToS", |
| "class" : "Conversion", |
| "opcode" : 119, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Unsigned Value'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpConvertUToPtr", |
| "class" : "Conversion", |
| "opcode" : 120, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Integer Value'" } |
| ], |
| "capabilities" : [ |
| "Addresses", |
| "PhysicalStorageBufferAddresses" |
| ] |
| }, |
| { |
| "opname" : "OpPtrCastToGeneric", |
| "class" : "Conversion", |
| "opcode" : 121, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpGenericCastToPtr", |
| "class" : "Conversion", |
| "opcode" : 122, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpGenericCastToPtrExplicit", |
| "class" : "Conversion", |
| "opcode" : 123, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Pointer'" }, |
| { "kind" : "StorageClass", "name" : "'Storage'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpBitcast", |
| "class" : "Conversion", |
| "opcode" : 124, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpSNegate", |
| "class" : "Arithmetic", |
| "opcode" : 126, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpFNegate", |
| "class" : "Arithmetic", |
| "opcode" : 127, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpIAdd", |
| "class" : "Arithmetic", |
| "opcode" : 128, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFAdd", |
| "class" : "Arithmetic", |
| "opcode" : 129, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpISub", |
| "class" : "Arithmetic", |
| "opcode" : 130, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFSub", |
| "class" : "Arithmetic", |
| "opcode" : 131, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpIMul", |
| "class" : "Arithmetic", |
| "opcode" : 132, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFMul", |
| "class" : "Arithmetic", |
| "opcode" : 133, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpUDiv", |
| "class" : "Arithmetic", |
| "opcode" : 134, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSDiv", |
| "class" : "Arithmetic", |
| "opcode" : 135, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFDiv", |
| "class" : "Arithmetic", |
| "opcode" : 136, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpUMod", |
| "class" : "Arithmetic", |
| "opcode" : 137, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSRem", |
| "class" : "Arithmetic", |
| "opcode" : 138, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSMod", |
| "class" : "Arithmetic", |
| "opcode" : 139, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFRem", |
| "class" : "Arithmetic", |
| "opcode" : 140, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFMod", |
| "class" : "Arithmetic", |
| "opcode" : 141, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpVectorTimesScalar", |
| "class" : "Arithmetic", |
| "opcode" : 142, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" }, |
| { "kind" : "IdRef", "name" : "'Scalar'" } |
| ] |
| }, |
| { |
| "opname" : "OpMatrixTimesScalar", |
| "class" : "Arithmetic", |
| "opcode" : 143, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Matrix'" }, |
| { "kind" : "IdRef", "name" : "'Scalar'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpVectorTimesMatrix", |
| "class" : "Arithmetic", |
| "opcode" : 144, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" }, |
| { "kind" : "IdRef", "name" : "'Matrix'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpMatrixTimesVector", |
| "class" : "Arithmetic", |
| "opcode" : 145, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Matrix'" }, |
| { "kind" : "IdRef", "name" : "'Vector'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpMatrixTimesMatrix", |
| "class" : "Arithmetic", |
| "opcode" : 146, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'LeftMatrix'" }, |
| { "kind" : "IdRef", "name" : "'RightMatrix'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpOuterProduct", |
| "class" : "Arithmetic", |
| "opcode" : 147, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector 1'" }, |
| { "kind" : "IdRef", "name" : "'Vector 2'" } |
| ], |
| "capabilities" : [ "Matrix" ] |
| }, |
| { |
| "opname" : "OpDot", |
| "class" : "Arithmetic", |
| "opcode" : 148, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector 1'" }, |
| { "kind" : "IdRef", "name" : "'Vector 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpIAddCarry", |
| "class" : "Arithmetic", |
| "opcode" : 149, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpISubBorrow", |
| "class" : "Arithmetic", |
| "opcode" : 150, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpUMulExtended", |
| "class" : "Arithmetic", |
| "opcode" : 151, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSMulExtended", |
| "class" : "Arithmetic", |
| "opcode" : 152, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpAny", |
| "class" : "Relational_and_Logical", |
| "opcode" : 154, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" } |
| ] |
| }, |
| { |
| "opname" : "OpAll", |
| "class" : "Relational_and_Logical", |
| "opcode" : 155, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Vector'" } |
| ] |
| }, |
| { |
| "opname" : "OpIsNan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 156, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" } |
| ] |
| }, |
| { |
| "opname" : "OpIsInf", |
| "class" : "Relational_and_Logical", |
| "opcode" : 157, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" } |
| ] |
| }, |
| { |
| "opname" : "OpIsFinite", |
| "class" : "Relational_and_Logical", |
| "opcode" : 158, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpIsNormal", |
| "class" : "Relational_and_Logical", |
| "opcode" : 159, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpSignBitSet", |
| "class" : "Relational_and_Logical", |
| "opcode" : 160, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpLessOrGreater", |
| "class" : "Relational_and_Logical", |
| "opcode" : 161, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" }, |
| { "kind" : "IdRef", "name" : "'y'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpOrdered", |
| "class" : "Relational_and_Logical", |
| "opcode" : 162, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" }, |
| { "kind" : "IdRef", "name" : "'y'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpUnordered", |
| "class" : "Relational_and_Logical", |
| "opcode" : 163, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'x'" }, |
| { "kind" : "IdRef", "name" : "'y'" } |
| ], |
| "capabilities" : [ "Kernel" ] |
| }, |
| { |
| "opname" : "OpLogicalEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 164, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpLogicalNotEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 165, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpLogicalOr", |
| "class" : "Relational_and_Logical", |
| "opcode" : 166, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpLogicalAnd", |
| "class" : "Relational_and_Logical", |
| "opcode" : 167, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpLogicalNot", |
| "class" : "Relational_and_Logical", |
| "opcode" : 168, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpSelect", |
| "class" : "Relational_and_Logical", |
| "opcode" : 169, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Condition'" }, |
| { "kind" : "IdRef", "name" : "'Object 1'" }, |
| { "kind" : "IdRef", "name" : "'Object 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpIEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 170, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpINotEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 171, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpUGreaterThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 172, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSGreaterThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 173, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpUGreaterThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 174, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSGreaterThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 175, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpULessThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 176, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSLessThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 177, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpULessThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 178, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpSLessThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 179, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 180, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 181, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdNotEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 182, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordNotEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 183, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdLessThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 184, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordLessThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 185, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdGreaterThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 186, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordGreaterThan", |
| "class" : "Relational_and_Logical", |
| "opcode" : 187, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdLessThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 188, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordLessThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 189, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFOrdGreaterThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 190, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpFUnordGreaterThanEqual", |
| "class" : "Relational_and_Logical", |
| "opcode" : 191, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpShiftRightLogical", |
| "class" : "Bit", |
| "opcode" : 194, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Shift'" } |
| ] |
| }, |
| { |
| "opname" : "OpShiftRightArithmetic", |
| "class" : "Bit", |
| "opcode" : 195, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Shift'" } |
| ] |
| }, |
| { |
| "opname" : "OpShiftLeftLogical", |
| "class" : "Bit", |
| "opcode" : 196, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Shift'" } |
| ] |
| }, |
| { |
| "opname" : "OpBitwiseOr", |
| "class" : "Bit", |
| "opcode" : 197, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpBitwiseXor", |
| "class" : "Bit", |
| "opcode" : 198, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpBitwiseAnd", |
| "class" : "Bit", |
| "opcode" : 199, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand 1'" }, |
| { "kind" : "IdRef", "name" : "'Operand 2'" } |
| ] |
| }, |
| { |
| "opname" : "OpNot", |
| "class" : "Bit", |
| "opcode" : 200, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Operand'" } |
| ] |
| }, |
| { |
| "opname" : "OpBitFieldInsert", |
| "class" : "Bit", |
| "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", |
| "class" : "Bit", |
| "opcode" : 202, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Offset'" }, |
| { "kind" : "IdRef", "name" : "'Count'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpBitFieldUExtract", |
| "class" : "Bit", |
| "opcode" : 203, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" }, |
| { "kind" : "IdRef", "name" : "'Offset'" }, |
| { "kind" : "IdRef", "name" : "'Count'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpBitReverse", |
| "class" : "Bit", |
| "opcode" : 204, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpBitCount", |
| "class" : "Bit", |
| "opcode" : 205, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'Base'" } |
| ] |
| }, |
| { |
| "opname" : "OpDPdx", |
| "class" : "Derivative", |
| "opcode" : 207, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpDPdy", |
| "class" : "Derivative", |
| "opcode" : 208, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpFwidth", |
| "class" : "Derivative", |
| "opcode" : 209, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "Shader" ] |
| }, |
| { |
| "opname" : "OpDPdxFine", |
| "class" : "Derivative", |
| "opcode" : 210, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "DerivativeControl" ] |
| }, |
| { |
| "opname" : "OpDPdyFine", |
| "class" : "Derivative", |
| "opcode" : 211, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "DerivativeControl" ] |
| }, |
| { |
| "opname" : "OpFwidthFine", |
| "class" : "Derivative", |
| "opcode" : 212, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : "IdRef", "name" : "'P'" } |
| ], |
| "capabilities" : [ "DerivativeControl" ] |
| }, |
| { |
| "opname" : "OpDPdxCoarse", |
| "class" : "Derivative", |
| "opcode" : 213, |
| "operands" : [ |
| { "kind" : "IdResultType" }, |
| { "kind" : "IdResult" }, |
| { "kind" : |