427 lines
13 KiB
JSON
427 lines
13 KiB
JSON
{
|
|
"revision" : 6,
|
|
"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"}
|
|
]
|
|
},
|
|
{
|
|
"opname" : "NormalizedSamplerMaskPushConstant",
|
|
"opcode" : 41,
|
|
"operands" : [
|
|
{ "kind" : "IdRef", "name" : "Kernel" },
|
|
{ "kind" : "IdRef", "name" : "Ordinal" },
|
|
{ "kind" : "IdRef", "name" : "Offset" },
|
|
{ "kind" : "IdRef", "name" : "Size" }
|
|
]
|
|
}
|
|
],
|
|
"operand_kinds" : [
|
|
{
|
|
"category" : "BitEnum",
|
|
"kind" : "KernelPropertyFlags",
|
|
"enumerants" : [
|
|
{
|
|
"enumerant" : "None",
|
|
"value" : "0x0"
|
|
},
|
|
{
|
|
"enumerant" : "MayUsePrintf",
|
|
"value" : "0x1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|