Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Headers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Petit <kevin.petit@arm.com>2021-07-14 16:44:50 +0300
committerKevin Petit <kevin.petit@arm.com>2022-04-20 15:26:47 +0300
commitc0bd6042230fa759fe588bb1a169af45cf1782b3 (patch)
treeedb23311eadad181eb2d1e46dffa46abc0987f35
parent82becc8a8a92e509d3d8d635889da0a3c17d0606 (diff)
Add SPV_KHR_subgroup_rotate
Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: I49e7c2d509007958fbe1a6aa2d2fdf11dffbef4d
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json25
-rw-r--r--include/spirv/unified1/spirv.cs2
-rw-r--r--include/spirv/unified1/spirv.h3
-rw-r--r--include/spirv/unified1/spirv.hpp3
-rw-r--r--include/spirv/unified1/spirv.hpp113
-rw-r--r--include/spirv/unified1/spirv.json2
-rw-r--r--include/spirv/unified1/spirv.lua2
-rw-r--r--include/spirv/unified1/spirv.py2
-rw-r--r--include/spirv/unified1/spv.d2
9 files changed, 44 insertions, 0 deletions
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 5461912..2540413 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -4184,6 +4184,24 @@
"version" : "None"
},
{
+ "opname" : "OpGroupNonUniformRotateKHR",
+ "class" : "Group",
+ "opcode" : 4431,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Execution'" },
+ { "kind" : "IdRef", "name" : "'Value'" },
+ { "kind" : "IdRef", "name" : "'Delta'" },
+ { "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
+ ],
+ "extensions" : [
+ "SPV_KHR_subgroup_rotate"
+ ],
+ "capabilities" : [ "GroupNonUniformRotateKHR" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpSubgroupReadInvocationKHR",
"class" : "Group",
"opcode" : 4432,
@@ -13996,6 +14014,13 @@
"version" : "None"
},
{
+ "enumerant" : "GroupNonUniformRotateKHR",
+ "value" : 6026,
+ "capabilities" : [ "GroupNonUniform" ],
+ "extensions" : [ "SPV_KHR_subgroup_rotate" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "AtomicFloat32AddEXT",
"value" : 6033,
"extensions" : [ "SPV_EXT_shader_atomic_float_add" ],
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 12431fc..7e7fac4 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -1083,6 +1083,7 @@ namespace Spv
DotProduct = 6019,
DotProductKHR = 6019,
BitInstructions = 6025,
+ GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
@@ -1548,6 +1549,7 @@ namespace Spv
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 02aec1f..c27838b 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1083,6 +1083,7 @@ typedef enum SpvCapability_ {
SpvCapabilityDotProduct = 6019,
SpvCapabilityDotProductKHR = 6019,
SpvCapabilityBitInstructions = 6025,
+ SpvCapabilityGroupNonUniformRotateKHR = 6026,
SpvCapabilityAtomicFloat32AddEXT = 6033,
SpvCapabilityAtomicFloat64AddEXT = 6034,
SpvCapabilityLongConstantCompositeINTEL = 6089,
@@ -1546,6 +1547,7 @@ typedef enum SpvOp_ {
SpvOpSubgroupAllKHR = 4428,
SpvOpSubgroupAnyKHR = 4429,
SpvOpSubgroupAllEqualKHR = 4430,
+ SpvOpGroupNonUniformRotateKHR = 4431,
SpvOpSubgroupReadInvocationKHR = 4432,
SpvOpTraceRayKHR = 4445,
SpvOpExecuteCallableKHR = 4446,
@@ -2224,6 +2226,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 9f99eca..b824513 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1079,6 +1079,7 @@ enum Capability {
CapabilityDotProduct = 6019,
CapabilityDotProductKHR = 6019,
CapabilityBitInstructions = 6025,
+ CapabilityGroupNonUniformRotateKHR = 6026,
CapabilityAtomicFloat32AddEXT = 6033,
CapabilityAtomicFloat64AddEXT = 6034,
CapabilityLongConstantCompositeINTEL = 6089,
@@ -1542,6 +1543,7 @@ enum Op {
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,
@@ -2220,6 +2222,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 8e0b845..2f0b5e2 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1079,6 +1079,7 @@ enum class Capability : unsigned {
DotProduct = 6019,
DotProductKHR = 6019,
BitInstructions = 6025,
+ GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
@@ -1542,6 +1543,7 @@ enum class Op : unsigned {
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,
@@ -2220,6 +2222,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index baa9345..94ab6cb 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -1061,6 +1061,7 @@
"DotProduct": 6019,
"DotProductKHR": 6019,
"BitInstructions": 6025,
+ "GroupNonUniformRotateKHR": 6026,
"AtomicFloat32AddEXT": 6033,
"AtomicFloat64AddEXT": 6034,
"LongConstantCompositeINTEL": 6089,
@@ -1535,6 +1536,7 @@
"OpSubgroupAllKHR": 4428,
"OpSubgroupAnyKHR": 4429,
"OpSubgroupAllEqualKHR": 4430,
+ "OpGroupNonUniformRotateKHR": 4431,
"OpSubgroupReadInvocationKHR": 4432,
"OpTraceRayKHR": 4445,
"OpExecuteCallableKHR": 4446,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 3812806..387be9d 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -1041,6 +1041,7 @@ spv = {
DotProduct = 6019,
DotProductKHR = 6019,
BitInstructions = 6025,
+ GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
@@ -1493,6 +1494,7 @@ spv = {
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 8aa9490..2f528c6 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1041,6 +1041,7 @@ spv = {
'DotProduct' : 6019,
'DotProductKHR' : 6019,
'BitInstructions' : 6025,
+ 'GroupNonUniformRotateKHR' : 6026,
'AtomicFloat32AddEXT' : 6033,
'AtomicFloat64AddEXT' : 6034,
'LongConstantCompositeINTEL' : 6089,
@@ -1493,6 +1494,7 @@ spv = {
'OpSubgroupAllKHR' : 4428,
'OpSubgroupAnyKHR' : 4429,
'OpSubgroupAllEqualKHR' : 4430,
+ 'OpGroupNonUniformRotateKHR' : 4431,
'OpSubgroupReadInvocationKHR' : 4432,
'OpTraceRayKHR' : 4445,
'OpExecuteCallableKHR' : 4446,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 0c9c164..89a667d 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -1086,6 +1086,7 @@ enum Capability : uint
DotProduct = 6019,
DotProductKHR = 6019,
BitInstructions = 6025,
+ GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
@@ -1551,6 +1552,7 @@ enum Op : uint
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,