Update spirv.h to revision 31.
For enum Capability and enum Op, not all newly added enumerants are
registered into capabilityInfoEntries and opcodeTableEntries yet.
That will come in following commits.
diff --git a/source/opcode.cpp b/source/opcode.cpp
index bf203ac..de0c817 100644
--- a/source/opcode.cpp
+++ b/source/opcode.cpp
@@ -186,12 +186,6 @@
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXECUTION_MODE,
SPV_OPERAND_TYPE_LITERAL, SPV_OPERAND_TYPE_LITERAL,
SPV_OPERAND_TYPE_ELLIPSIS}},
- {"CompileFlag",
- 1,
- OpCompileFlag,
- SPV_OPCODE_FLAGS_VARIABLE | SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityKernel,
- {SPV_OPERAND_TYPE_LITERAL_STRING}},
{"Capability",
2,
OpCapability,
@@ -249,12 +243,6 @@
SPV_OPERAND_TYPE_LITERAL_NUMBER,
SPV_OPERAND_TYPE_ID // TODO: See Khronos bug 13755
}},
- {"TypeFilter",
- 2,
- OpTypeFilter,
- SPV_OPCODE_FLAGS_NONE,
- 0,
- {SPV_OPERAND_TYPE_RESULT_ID}},
{"TypeArray",
4,
OpTypeArray,
@@ -409,13 +397,6 @@
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID,
SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_ID}},
- {"VariableArray",
- 5,
- OpVariableArray,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityAddresses,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID,
- SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_ID}},
{"Load",
4,
OpLoad,
@@ -467,13 +448,6 @@
CapabilityShader,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_LITERAL_NUMBER}},
- {"ImagePointer",
- 6,
- OpImagePointer,
- SPV_OPCODE_FLAGS_NONE,
- 0,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"GenericPtrMemSemantics",
4,
OpGenericPtrMemSemantics,
@@ -501,188 +475,6 @@
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ELLIPSIS}},
- {"Sampler",
- 5,
- OpSampler,
- SPV_OPCODE_FLAGS_NONE,
- 0,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureSample",
- 5,
- OpTextureSample,
- SPV_OPCODE_FLAGS_VARIABLE | SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleDref",
- 6,
- OpTextureSampleDref,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleLod",
- 6,
- OpTextureSampleLod,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProj",
- 5,
- OpTextureSampleProj,
- SPV_OPCODE_FLAGS_VARIABLE | SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleGrad",
- 7,
- OpTextureSampleGrad,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleOffset",
- 6,
- OpTextureSampleOffset,
- SPV_OPCODE_FLAGS_VARIABLE | SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProjLod",
- 6,
- OpTextureSampleProjLod,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProjGrad",
- 7,
- OpTextureSampleProjGrad,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleLodOffset",
- 7,
- OpTextureSampleLodOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProjOffset",
- 6,
- OpTextureSampleProjOffset,
- SPV_OPCODE_FLAGS_VARIABLE | SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleGradOffset",
- 8,
- OpTextureSampleGradOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProjLodOffset",
- 7,
- OpTextureSampleProjLodOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureSampleProjGradOffset",
- 8,
- OpTextureSampleProjGradOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureFetchTexel",
- 6,
- OpTextureFetchTexel,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureFetchTexelOffset",
- 6,
- OpTextureFetchTexelOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureFetchSample",
- 6,
- OpTextureFetchSample,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureFetchTexel",
- 5,
- OpTextureFetchTexel,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureGather",
- 6,
- OpTextureGather,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureGatherOffset",
- 7,
- OpTextureGatherOffset,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureGatherOffsets",
- 7,
- OpTextureGatherOffsets,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureQuerySizeLod",
- 5,
- OpTextureQuerySizeLod,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureQuerySize",
- 4,
- OpTextureQuerySize,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureQueryLod",
- 5,
- OpTextureQueryLod,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
- {"TextureQueryLevels",
- 4,
- OpTextureQueryLevels,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}},
- {"TextureQuerySamples",
- 4,
- OpTextureQuerySamples,
- SPV_OPCODE_FLAGS_CAPABILITIES,
- CapabilityShader,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}},
{"ConvertFToU",
4,
OpConvertFToU,
@@ -1108,13 +900,6 @@
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_ID}},
- {"LogicalXor",
- 5,
- OpLogicalXor,
- SPV_OPCODE_FLAGS_NONE,
- 0,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_ID}},
{"LogicalAnd",
5,
OpLogicalAnd,
@@ -1411,12 +1196,6 @@
SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_NUMBER}},
- {"AtomicInit",
- 3,
- OpAtomicInit,
- SPV_OPCODE_FLAGS_NONE,
- 0,
- {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"AtomicLoad",
6,
OpAtomicLoad,
@@ -1525,17 +1304,33 @@
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_EXECUTION_SCOPE, SPV_OPERAND_TYPE_MEMORY_SEMANTICS,
SPV_OPERAND_TYPE_ID}},
- {"AtomicIMin",
+ {"AtomicSMin",
7,
- OpAtomicIMin,
+ OpAtomicSMin,
SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_EXECUTION_SCOPE, SPV_OPERAND_TYPE_MEMORY_SEMANTICS,
SPV_OPERAND_TYPE_ID}},
- {"AtomicIMax",
+ {"AtomicUMin",
7,
- OpAtomicIMax,
+ OpAtomicUMin,
+ SPV_OPCODE_FLAGS_NONE,
+ 0,
+ {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
+ SPV_OPERAND_TYPE_EXECUTION_SCOPE, SPV_OPERAND_TYPE_MEMORY_SEMANTICS,
+ SPV_OPERAND_TYPE_ID}},
+ {"AtomicSMax",
+ 7,
+ OpAtomicSMax,
+ SPV_OPCODE_FLAGS_NONE,
+ 0,
+ {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
+ SPV_OPERAND_TYPE_EXECUTION_SCOPE, SPV_OPERAND_TYPE_MEMORY_SEMANTICS,
+ SPV_OPERAND_TYPE_ID}},
+ {"AtomicUMax",
+ 7,
+ OpAtomicUMax,
SPV_OPCODE_FLAGS_NONE,
0,
{SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID,
@@ -1977,7 +1772,6 @@
CASE(OpTypeVector)
CASE(OpTypeMatrix)
CASE(OpTypeSampler)
- CASE(OpTypeFilter)
CASE(OpTypeArray)
CASE(OpTypeRuntimeArray)
CASE(OpTypeStruct)
@@ -2000,7 +1794,6 @@
CASE(OpSpecConstant)
CASE(OpSpecConstantComposite)
CASE(OpVariable)
- CASE(OpVariableArray)
CASE(OpFunction)
CASE(OpFunctionParameter)
CASE(OpFunctionEnd)
@@ -2028,31 +1821,6 @@
CASE(OpCopyObject)
CASE(OpCopyMemory)
CASE(OpCopyMemorySized)
- CASE(OpSampler)
- CASE(OpTextureSample)
- CASE(OpTextureSampleDref)
- CASE(OpTextureSampleLod)
- CASE(OpTextureSampleProj)
- CASE(OpTextureSampleGrad)
- CASE(OpTextureSampleOffset)
- CASE(OpTextureSampleProjLod)
- CASE(OpTextureSampleProjGrad)
- CASE(OpTextureSampleLodOffset)
- CASE(OpTextureSampleProjOffset)
- CASE(OpTextureSampleGradOffset)
- CASE(OpTextureSampleProjLodOffset)
- CASE(OpTextureSampleProjGradOffset)
- CASE(OpTextureFetchTexelOffset)
- CASE(OpTextureFetchSample)
- CASE(OpTextureFetchTexel)
- CASE(OpTextureGather)
- CASE(OpTextureGatherOffset)
- CASE(OpTextureGatherOffsets)
- CASE(OpTextureQuerySizeLod)
- CASE(OpTextureQuerySize)
- CASE(OpTextureQueryLod)
- CASE(OpTextureQueryLevels)
- CASE(OpTextureQuerySamples)
CASE(OpAccessChain)
CASE(OpInBoundsAccessChain)
CASE(OpSNegate)
@@ -2107,7 +1875,6 @@
CASE(OpShiftRightArithmetic)
CASE(OpShiftLeftLogical)
CASE(OpLogicalOr)
- CASE(OpLogicalXor)
CASE(OpLogicalAnd)
CASE(OpBitwiseOr)
CASE(OpBitwiseXor)
@@ -2150,8 +1917,6 @@
CASE(OpEndStreamPrimitive)
CASE(OpControlBarrier)
CASE(OpMemoryBarrier)
- CASE(OpImagePointer)
- CASE(OpAtomicInit)
CASE(OpAtomicLoad)
CASE(OpAtomicStore)
CASE(OpAtomicExchange)
@@ -2178,7 +1943,6 @@
CASE(OpUnreachable)
CASE(OpLifetimeStart)
CASE(OpLifetimeStop)
- CASE(OpCompileFlag)
CASE(OpAsyncGroupCopy)
CASE(OpWaitGroupEvents)
CASE(OpGroupAll)
@@ -2239,7 +2003,6 @@
case OpTypeVector:
case OpTypeMatrix:
case OpTypeSampler:
- case OpTypeFilter:
case OpTypeArray:
case OpTypeRuntimeArray:
case OpTypeStruct:
@@ -2309,10 +2072,8 @@
int32_t spvOpcodeIsPointer(const Op opcode) {
switch (opcode) {
case OpVariable:
- case OpVariableArray:
case OpAccessChain:
case OpInBoundsAccessChain:
- // TODO: case OpImagePointer:
case OpFunctionParameter:
return true;
default:
@@ -2334,7 +2095,6 @@
case OpSpecConstantComposite:
// TODO: case OpSpecConstantOp:
case OpVariable:
- case OpVariableArray:
case OpAccessChain:
case OpInBoundsAccessChain:
case OpConvertFToU:
@@ -2396,7 +2156,6 @@
case OpOrdered:
case OpUnordered:
case OpLogicalOr:
- case OpLogicalXor:
case OpLogicalAnd:
case OpSelect:
case OpIEqual: