{ "revision" : 5, "instructions" : [ { "opname" : "Kernel", "opcode" : 1, "operands" : [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Name" }, { "kind" : "IdRef", "name" : "NumArguments", "quantifier" : "?" }, { "kind" : "IdRef", "name" : "Flags", "quantifier" : "?" }, { "kind" : "IdRef", "name" : "Attributes", "quantifier" : "?" } ] }, { "opname" : "ArgumentInfo", "opcode" : 2, "operands" : [ { "kind" : "IdRef", "name" : "Name" }, { "kind" : "IdRef", "name" : "Type Name", "quantifier" : "?" }, { "kind" : "IdRef", "name" : "Address Qualifier", "quantifier" : "?" }, { "kind" : "IdRef", "name" : "Access Qualifier", "quantifier" : "?" }, { "kind" : "IdRef", "name" : "Type Qualifier", "quantifier" : "?" } ] }, { "opname" : "ArgumentStorageBuffer", "opcode" : 3, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentUniform", "opcode" : 4, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentPodStorageBuffer", "opcode" : 5, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentPodUniform", "opcode" : 6, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentPodPushConstant", "opcode" : 7, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentSampledImage", "opcode" : 8, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentStorageImage", "opcode" : 9, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentSampler", "opcode" : 10, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentWorkgroup", "opcode" : 11, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "SpecId" }, { "kind" : "IdRef", "name" : "ElemSize" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "SpecConstantWorkgroupSize", "opcode" : 12, "operands" : [ { "kind" : "IdRef", "name" : "X" }, { "kind" : "IdRef", "name" : "Y" }, { "kind" : "IdRef", "name" : "Z" } ] }, { "opname" : "SpecConstantGlobalOffset", "opcode" : 13, "operands" : [ { "kind" : "IdRef", "name" : "X" }, { "kind" : "IdRef", "name" : "Y" }, { "kind" : "IdRef", "name" : "Z" } ] }, { "opname" : "SpecConstantWorkDim", "opcode" : 14, "operands" : [ { "kind" : "IdRef", "name" : "Dim" } ] }, { "opname" : "PushConstantGlobalOffset", "opcode" : 15, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "PushConstantEnqueuedLocalSize", "opcode" : 16, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "PushConstantGlobalSize", "opcode" : 17, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "PushConstantRegionOffset", "opcode" : 18, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "PushConstantNumWorkgroups", "opcode" : 19, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "PushConstantRegionGroupOffset", "opcode" : 20, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ConstantDataStorageBuffer", "opcode" : 21, "operands" : [ { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Data" } ] }, { "opname" : "ConstantDataUniform", "opcode" : 22, "operands" : [ { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Data" } ] }, { "opname" : "LiteralSampler", "opcode" : 23, "operands" : [ { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Mask" } ] }, { "opname" : "PropertyRequiredWorkgroupSize", "opcode" : 24, "operands" : [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "X" }, { "kind" : "IdRef", "name" : "Y" }, { "kind" : "IdRef", "name" : "Z" } ] }, { "opname" : "SpecConstantSubgroupMaxSize", "opcode" : 25, "operands" : [ { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ArgumentPointerPushConstant", "opcode" : 26, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentPointerUniform", "opcode" : 27, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ProgramScopeVariablesStorageBuffer", "opcode" : 28, "operands": [ { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Data" } ] }, { "opname" : "ProgramScopeVariablePointerRelocation", "opcode" : 29, "operands": [ { "kind" : "IdRef", "name" : "ObjectOffset" }, { "kind" : "IdRef", "name" : "PointerOffset" }, { "kind" : "IdRef", "name" : "PointerSize" } ] }, { "opname" : "ImageArgumentInfoChannelOrderPushConstant", "opcode" : 30, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ImageArgumentInfoChannelDataTypePushConstant", "opcode" : 31, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ImageArgumentInfoChannelOrderUniform", "opcode" : 32, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ImageArgumentInfoChannelDataTypeUniform", "opcode" : 33, "operands": [ { "kind" : "IdRef", "name" : "Kernel" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size" } ] }, { "opname" : "ArgumentStorageTexelBuffer", "opcode" : 34, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ArgumentUniformTexelBuffer", "opcode" : 35, "operands" : [ { "kind" : "IdRef", "name" : "Decl" }, { "kind" : "IdRef", "name" : "Ordinal" }, { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" } ] }, { "opname" : "ConstantDataPointerPushConstant", "opcode" : 36, "operands" : [ { "kind" : "IdRef", "name" : "Offset"}, { "kind" : "IdRef", "name" : "Size"}, { "kind" : "IdRef", "name" : "Data" } ] }, { "opname" : "ProgramScopeVariablePointerPushConstant", "opcode" : 37, "operands" : [ { "kind" : "IdRef", "name" : "Offset"}, { "kind" : "IdRef", "name" : "Size"}, { "kind" : "IdRef", "name" : "Data" } ] }, { "opname" : "PrintfInfo", "opcode" : 38, "operands" : [ { "kind" : "IdRef", "name" : "PrintfID" }, { "kind" : "IdRef", "name" : "FormatString" }, { "kind" : "IdRef", "quantifier" : "*", "name" : "ArgumentSizes"} ] }, { "opname" : "PrintfBufferStorageBuffer", "opcode" : 39, "operands" : [ { "kind" : "IdRef", "name" : "DescriptorSet" }, { "kind" : "IdRef", "name" : "Binding" }, { "kind" : "IdRef", "name" : "BufferSize"} ] }, { "opname" : "PrintfBufferPointerPushConstant", "opcode" : 40, "operands" : [ { "kind" : "IdRef", "name" : "Offset" }, { "kind" : "IdRef", "name" : "Size"}, { "kind" : "IdRef", "name" : "BufferSize"} ] } ], "operand_kinds" : [ { "category" : "BitEnum", "kind" : "KernelPropertyFlags", "enumerants" : [ { "enumerant" : "None", "value" : "0x0" }, { "enumerant" : "MayUsePrintf", "value" : "0x1" } ] } ] }