aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Neto <dneto@google.com>2020-05-22 01:47:01 -0400
committerKevin Petit <kevin.petit@arm.com>2021-06-16 18:41:41 +0100
commite51883eceb4cac9c7791f18b48164f4b2d8a6eb9 (patch)
tree4cdf92240a76d0b65c85c9f763d01e529e3ac88d
parent07f259e68af3a540038fa32df522554e74f53ed5 (diff)
downloadSPIRV-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.json124
-rw-r--r--include/spirv/unified1/spirv.cs15
-rw-r--r--include/spirv/unified1/spirv.h21
-rw-r--r--include/spirv/unified1/spirv.hpp21
-rw-r--r--include/spirv/unified1/spirv.hpp1121
-rw-r--r--include/spirv/unified1/spirv.json18
-rw-r--r--include/spirv/unified1/spirv.lua14
-rw-r--r--include/spirv/unified1/spirv.py14
-rw-r--r--include/spirv/unified1/spv.d15
-rw-r--r--tools/buildHeaders/jsonToSpirv.cpp5
-rw-r--r--tools/buildHeaders/jsonToSpirv.h1
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,