{ | |
"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", "BitInstructions" ] | |
}, | |
{ | |
"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", "BitInstructions" ] | |
}, | |
{ | |
"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", "BitInstructions" ] | |
}, | |
{ | |
"opname" : "OpBitReverse", | |
"class" : "Bit", | |
"opcode" : 204, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Base'" } | |
], | |
"capabilities" : [ "Shader", "BitInstructions" ] | |
}, | |
{ | |
"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" : "IdRef", "name" : "'P'" } | |
], | |
"capabilities" : [ "DerivativeControl" ] | |
}, | |
{ | |
"opname" : "OpDPdyCoarse", | |
"class" : "Derivative", | |
"opcode" : 214, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'P'" } | |
], | |
"capabilities" : [ "DerivativeControl" ] | |
}, | |
{ | |
"opname" : "OpFwidthCoarse", | |
"class" : "Derivative", | |
"opcode" : 215, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'P'" } | |
], | |
"capabilities" : [ "DerivativeControl" ] | |
}, | |
{ | |
"opname" : "OpEmitVertex", | |
"class" : "Primitive", | |
"opcode" : 218, | |
"capabilities" : [ "Geometry" ] | |
}, | |
{ | |
"opname" : "OpEndPrimitive", | |
"class" : "Primitive", | |
"opcode" : 219, | |
"capabilities" : [ "Geometry" ] | |
}, | |
{ | |
"opname" : "OpEmitStreamVertex", | |
"class" : "Primitive", | |
"opcode" : 220, | |
"operands" : [ | |
{ "kind" : "IdRef", "name" : "'Stream'" } | |
], | |
"capabilities" : [ "GeometryStreams" ] | |
}, | |
{ | |
"opname" : "OpEndStreamPrimitive", | |
"class" : "Primitive", | |
"opcode" : 221, | |
"operands" : [ | |
{ "kind" : "IdRef", "name" : "'Stream'" } | |
], | |
"capabilities" : [ "GeometryStreams" ] | |
}, | |
{ | |
"opname" : "OpControlBarrier", | |
"class" : "Barrier", | |
"opcode" : 224, | |
"operands" : [ | |
{ "kind" : "IdScope", "name" : "'Execution'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" } | |
] | |
}, | |
{ | |
"opname" : "OpMemoryBarrier", | |
"class" : "Barrier", | |
"opcode" : 225, | |
"operands" : [ | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicLoad", | |
"class" : "Atomic", | |
"opcode" : 227, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicStore", | |
"class" : "Atomic", | |
"opcode" : 228, | |
"operands" : [ | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicExchange", | |
"class" : "Atomic", | |
"opcode" : 229, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicCompareExchange", | |
"class" : "Atomic", | |
"opcode" : 230, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Equal'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" }, | |
{ "kind" : "IdRef", "name" : "'Comparator'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicCompareExchangeWeak", | |
"class" : "Atomic", | |
"opcode" : 231, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Equal'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Unequal'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" }, | |
{ "kind" : "IdRef", "name" : "'Comparator'" } | |
], | |
"capabilities" : [ "Kernel" ], | |
"lastVersion" : "1.3" | |
}, | |
{ | |
"opname" : "OpAtomicIIncrement", | |
"class" : "Atomic", | |
"opcode" : 232, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicIDecrement", | |
"class" : "Atomic", | |
"opcode" : 233, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicIAdd", | |
"class" : "Atomic", | |
"opcode" : 234, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicISub", | |
"class" : "Atomic", | |
"opcode" : 235, | |
"operands" : [ | |
{ "kind" : "IdResultType" }, | |
{ "kind" : "IdResult" }, | |
{ "kind" : "IdRef", "name" : "'Pointer'" }, | |
{ "kind" : "IdScope", "name" : "'Memory'" }, | |
{ "kind" : "IdMemorySemantics", "name" : "'Semantics'" }, | |
{ "kind" : "IdRef", "name" : "'Value'" } | |
] | |
}, | |
{ | |
"opname" : "OpAtomicSMin", |