diff options
author | David Neto <dneto@google.com> | 2020-05-22 01:47:01 -0400 |
---|---|---|
committer | Kevin Petit <kevin.petit@arm.com> | 2021-06-16 18:41:41 +0100 |
commit | e51883eceb4cac9c7791f18b48164f4b2d8a6eb9 (patch) | |
tree | 4cdf92240a76d0b65c85c9f763d01e529e3ac88d | |
parent | 07f259e68af3a540038fa32df522554e74f53ed5 (diff) | |
download | SPIRV-Headers-e51883eceb4cac9c7791f18b48164f4b2d8a6eb9.tar.gz |
Support SPV_KHR_integer_dot_product
Signed-off-by: David Neto <dneto@google.com>
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: Icd243bb9c2a6f8a40713db215a6ca5946ea7abb3
-rw-r--r-- | include/spirv/unified1/spirv.core.grammar.json | 124 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.cs | 15 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.h | 21 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp | 21 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp11 | 21 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.json | 18 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.lua | 14 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.py | 14 | ||||
-rw-r--r-- | include/spirv/unified1/spv.d | 15 | ||||
-rw-r--r-- | tools/buildHeaders/jsonToSpirv.cpp | 5 | ||||
-rw-r--r-- | tools/buildHeaders/jsonToSpirv.h | 1 |
11 files changed, 269 insertions, 0 deletions
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 9259fdc..04151cc 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -4261,6 +4261,93 @@ "version" : "None" }, { + "opname" : "OpSDotKHR", + "class" : "Arithmetic", + "opcode" : 4450, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { + "opname" : "OpUDotKHR", + "class" : "Arithmetic", + "opcode" : 4451, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { + "opname" : "OpSUDotKHR", + "class" : "Arithmetic", + "opcode" : 4452, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { + "opname" : "OpSDotAccSatKHR", + "class" : "Arithmetic", + "opcode" : 4453, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { + "opname" : "OpUDotAccSatKHR", + "class" : "Arithmetic", + "opcode" : 4454, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { + "opname" : "OpSUDotAccSatKHR", + "class" : "Arithmetic", + "opcode" : 4455, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProductKHR" ], + "version" : "None" + }, + { "opname" : "OpTypeRayQueryKHR", "class" : "Reserved", "opcode" : 4472, @@ -13290,6 +13377,31 @@ "version" : "None" }, { + "enumerant" : "DotProductInputAllKHR", + "value" : 6016, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductInput4x8BitKHR", + "value" : 6017, + "capabilities" : [ "Int8" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductInput4x8BitPackedKHR", + "value" : 6018, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductKHR", + "value" : 6019, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "None" + }, + { "enumerant" : "AtomicFloat32AddEXT", "value" : 6033, "capabilities" : [ "Shader" ], @@ -13372,6 +13484,18 @@ ] }, { + "category" : "ValueEnum", + "kind" : "PackedVectorFormat", + "enumerants" : [ + { + "enumerant" : "PackedVectorFormat4x8BitKHR", + "value" : 0, + "capabilities" : [ "DotProductInput4x8BitPackedKHR" ], + "version" : "None" + } + ] + }, + { "category" : "Id", "kind" : "IdResultType", "doc" : "Reference to an <id> representing the result's type of the enclosing instruction" diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index 4d130a1..e8bf8d1 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -1045,6 +1045,10 @@ namespace Spv IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAllKHR = 6016, + DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPackedKHR = 6018, + DotProductKHR = 6019, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongConstantCompositeINTEL = 6089, @@ -1147,6 +1151,11 @@ namespace Spv SAT_SYM = 3, } + public enum PackedVectorFormat + { + PackedVectorFormat4x8BitKHR = 0, + } + public enum Op { OpNop = 0, @@ -1505,6 +1514,12 @@ namespace Spv OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDotKHR = 4450, + OpUDotKHR = 4451, + OpSUDotKHR = 4452, + OpSDotAccSatKHR = 4453, + OpUDotAccSatKHR = 4454, + OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index 0ba7862..cd777e9 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -1045,6 +1045,10 @@ typedef enum SpvCapability_ { SpvCapabilityIOPipesINTEL = 5943, SpvCapabilityBlockingPipesINTEL = 5945, SpvCapabilityFPGARegINTEL = 5948, + SpvCapabilityDotProductInputAllKHR = 6016, + SpvCapabilityDotProductInput4x8BitKHR = 6017, + SpvCapabilityDotProductInput4x8BitPackedKHR = 6018, + SpvCapabilityDotProductKHR = 6019, SpvCapabilityAtomicFloat32AddEXT = 6033, SpvCapabilityAtomicFloat64AddEXT = 6034, SpvCapabilityLongConstantCompositeINTEL = 6089, @@ -1146,6 +1150,11 @@ typedef enum SpvOverflowModes_ { SpvOverflowModesMax = 0x7fffffff, } SpvOverflowModes; +typedef enum SpvPackedVectorFormat_ { + SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0, + SpvPackedVectorFormatMax = 0x7fffffff, +} SpvPackedVectorFormat; + typedef enum SpvOp_ { SpvOpNop = 0, SpvOpUndef = 1, @@ -1503,6 +1512,12 @@ typedef enum SpvOp_ { SpvOpConvertUToAccelerationStructureKHR = 4447, SpvOpIgnoreIntersectionKHR = 4448, SpvOpTerminateRayKHR = 4449, + SpvOpSDotKHR = 4450, + SpvOpUDotKHR = 4451, + SpvOpSUDotKHR = 4452, + SpvOpSDotAccSatKHR = 4453, + SpvOpUDotAccSatKHR = 4454, + SpvOpSUDotAccSatKHR = 4455, SpvOpTypeRayQueryKHR = 4472, SpvOpRayQueryInitializeKHR = 4473, SpvOpRayQueryTerminateKHR = 4474, @@ -2143,6 +2158,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; + case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index 06b4384..6b57605 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -1041,6 +1041,10 @@ enum Capability { CapabilityIOPipesINTEL = 5943, CapabilityBlockingPipesINTEL = 5945, CapabilityFPGARegINTEL = 5948, + CapabilityDotProductInputAllKHR = 6016, + CapabilityDotProductInput4x8BitKHR = 6017, + CapabilityDotProductInput4x8BitPackedKHR = 6018, + CapabilityDotProductKHR = 6019, CapabilityAtomicFloat32AddEXT = 6033, CapabilityAtomicFloat64AddEXT = 6034, CapabilityLongConstantCompositeINTEL = 6089, @@ -1142,6 +1146,11 @@ enum OverflowModes { OverflowModesMax = 0x7fffffff, }; +enum PackedVectorFormat { + PackedVectorFormatPackedVectorFormat4x8BitKHR = 0, + PackedVectorFormatMax = 0x7fffffff, +}; + enum Op { OpNop = 0, OpUndef = 1, @@ -1499,6 +1508,12 @@ enum Op { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDotKHR = 4450, + OpUDotKHR = 4451, + OpSUDotKHR = 4452, + OpSDotAccSatKHR = 4453, + OpUDotAccSatKHR = 4454, + OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, @@ -2139,6 +2154,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; + case OpSDotKHR: *hasResult = true; *hasResultType = true; break; + case OpUDotKHR: *hasResult = true; *hasResultType = true; break; + case OpSUDotKHR: *hasResult = true; *hasResultType = true; break; + case OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index 20aaeb6..cac9539 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -1041,6 +1041,10 @@ enum class Capability : unsigned { IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAllKHR = 6016, + DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPackedKHR = 6018, + DotProductKHR = 6019, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongConstantCompositeINTEL = 6089, @@ -1142,6 +1146,11 @@ enum class OverflowModes : unsigned { Max = 0x7fffffff, }; +enum class PackedVectorFormat : unsigned { + PackedVectorFormat4x8BitKHR = 0, + Max = 0x7fffffff, +}; + enum class Op : unsigned { OpNop = 0, OpUndef = 1, @@ -1499,6 +1508,12 @@ enum class Op : unsigned { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDotKHR = 4450, + OpUDotKHR = 4451, + OpSUDotKHR = 4452, + OpSDotAccSatKHR = 4453, + OpUDotAccSatKHR = 4454, + OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, @@ -2139,6 +2154,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; + case Op::OpSDotKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpUDotKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpSUDotKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index 74815c9..c765839 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -1028,6 +1028,10 @@ "IOPipesINTEL": 5943, "BlockingPipesINTEL": 5945, "FPGARegINTEL": 5948, + "DotProductInputAllKHR": 6016, + "DotProductInput4x8BitKHR": 6017, + "DotProductInput4x8BitPackedKHR": 6018, + "DotProductKHR": 6019, "AtomicFloat32AddEXT": 6033, "AtomicFloat64AddEXT": 6034, "LongConstantCompositeINTEL": 6089 @@ -1134,6 +1138,14 @@ } }, { + "Name": "PackedVectorFormat", + "Type": "Value", + "Values": + { + "PackedVectorFormat4x8BitKHR": 0 + } + }, + { "Name": "Op", "Type": "Value", "Values": @@ -1494,6 +1506,12 @@ "OpConvertUToAccelerationStructureKHR": 4447, "OpIgnoreIntersectionKHR": 4448, "OpTerminateRayKHR": 4449, + "OpSDotKHR": 4450, + "OpUDotKHR": 4451, + "OpSUDotKHR": 4452, + "OpSDotAccSatKHR": 4453, + "OpUDotAccSatKHR": 4454, + "OpSUDotAccSatKHR": 4455, "OpTypeRayQueryKHR": 4472, "OpRayQueryInitializeKHR": 4473, "OpRayQueryTerminateKHR": 4474, diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index f1e81de..bd335b1 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -1003,6 +1003,10 @@ spv = { IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAllKHR = 6016, + DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPackedKHR = 6018, + DotProductKHR = 6019, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongConstantCompositeINTEL = 6089, @@ -1094,6 +1098,10 @@ spv = { SAT_SYM = 3, }, + PackedVectorFormat = { + PackedVectorFormat4x8BitKHR = 0, + }, + Op = { OpNop = 0, OpUndef = 1, @@ -1451,6 +1459,12 @@ spv = { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDotKHR = 4450, + OpUDotKHR = 4451, + OpSUDotKHR = 4452, + OpSDotAccSatKHR = 4453, + OpUDotAccSatKHR = 4454, + OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index 4fc2ddd..5f0f806 100644 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -1003,6 +1003,10 @@ spv = { 'IOPipesINTEL' : 5943, 'BlockingPipesINTEL' : 5945, 'FPGARegINTEL' : 5948, + 'DotProductInputAllKHR' : 6016, + 'DotProductInput4x8BitKHR' : 6017, + 'DotProductInput4x8BitPackedKHR' : 6018, + 'DotProductKHR' : 6019, 'AtomicFloat32AddEXT' : 6033, 'AtomicFloat64AddEXT' : 6034, 'LongConstantCompositeINTEL' : 6089, @@ -1094,6 +1098,10 @@ spv = { 'SAT_SYM' : 3, }, + 'PackedVectorFormat' : { + 'PackedVectorFormat4x8BitKHR' : 0, + }, + 'Op' : { 'OpNop' : 0, 'OpUndef' : 1, @@ -1451,6 +1459,12 @@ spv = { 'OpConvertUToAccelerationStructureKHR' : 4447, 'OpIgnoreIntersectionKHR' : 4448, 'OpTerminateRayKHR' : 4449, + 'OpSDotKHR' : 4450, + 'OpUDotKHR' : 4451, + 'OpSUDotKHR' : 4452, + 'OpSDotAccSatKHR' : 4453, + 'OpUDotAccSatKHR' : 4454, + 'OpSUDotAccSatKHR' : 4455, 'OpTypeRayQueryKHR' : 4472, 'OpRayQueryInitializeKHR' : 4473, 'OpRayQueryTerminateKHR' : 4474, diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d index d15b3f5..5b6da8e 100644 --- a/include/spirv/unified1/spv.d +++ b/include/spirv/unified1/spv.d @@ -1048,6 +1048,10 @@ enum Capability : uint IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAllKHR = 6016, + DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPackedKHR = 6018, + DotProductKHR = 6019, AtomicFloat32AddEXT = 6033, AtomicFloat64AddEXT = 6034, LongConstantCompositeINTEL = 6089, @@ -1150,6 +1154,11 @@ enum OverflowModes : uint SAT_SYM = 3, } +enum PackedVectorFormat : uint +{ + PackedVectorFormat4x8BitKHR = 0, +} + enum Op : uint { OpNop = 0, @@ -1508,6 +1517,12 @@ enum Op : uint OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDotKHR = 4450, + OpUDotKHR = 4451, + OpSUDotKHR = 4452, + OpSDotAccSatKHR = 4453, + OpUDotAccSatKHR = 4454, + OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, OpRayQueryTerminateKHR = 4474, diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp index 78f2133..67b5bce 100644 --- a/tools/buildHeaders/jsonToSpirv.cpp +++ b/tools/buildHeaders/jsonToSpirv.cpp @@ -87,6 +87,7 @@ EnumValues RayQueryIntersectionParams; EnumValues RayQueryCommittedIntersectionTypeParams; EnumValues RayQueryCandidateIntersectionTypeParams; EnumValues FragmentShadingRateParams; +EnumValues PackedVectorFormatParams; std::pair<bool, std::string> ReadFile(const std::string& path) { @@ -231,6 +232,8 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co type = OperandRayQueryCandidateIntersectionType; } else if (operandKind == "FragmentShadingRate") { type = OperandFragmentShadingRate; + } else if (operandKind == "PackedVectorFormat") { + type = OperandPackedVectorFormat; } if (type == OperandNone) { @@ -539,6 +542,8 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders) establishOperandClass(enumName, OperandRayQueryCandidateIntersectionType, &RayQueryCandidateIntersectionTypeParams, operandEnum, category); } else if (enumName == "FragmentShadingRate") { establishOperandClass(enumName, OperandFragmentShadingRate, &FragmentShadingRateParams, operandEnum, category); + } else if (enumName == "PackedVectorFormat") { + establishOperandClass(enumName, OperandPackedVectorFormat, &PackedVectorFormatParams, operandEnum, category); } } } diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h index b1b7d88..3be6456 100644 --- a/tools/buildHeaders/jsonToSpirv.h +++ b/tools/buildHeaders/jsonToSpirv.h @@ -95,6 +95,7 @@ enum OperandClass { OperandFPOperationMode, OperandQuantizationModes, OperandOverflowModes, + OperandPackedVectorFormat, OperandOpcode, |