Skip to content

Commit bfaccff

Browse files
authored
Merge pull request KhronosGroup#277 from kpet/spv-khr-subgroup-rotate
Add SPV_KHR_subgroup_rotate
2 parents 82becc8 + ee9e6dd commit bfaccff

File tree

9 files changed

+41
-0
lines changed

9 files changed

+41
-0
lines changed

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4183,6 +4183,21 @@
41834183
"capabilities" : [ "SubgroupVoteKHR" ],
41844184
"version" : "None"
41854185
},
4186+
{
4187+
"opname" : "OpGroupNonUniformRotateKHR",
4188+
"class" : "Group",
4189+
"opcode" : 4431,
4190+
"operands" : [
4191+
{ "kind" : "IdResultType" },
4192+
{ "kind" : "IdResult" },
4193+
{ "kind" : "IdScope", "name" : "'Execution'" },
4194+
{ "kind" : "IdRef", "name" : "'Value'" },
4195+
{ "kind" : "IdRef", "name" : "'Delta'" },
4196+
{ "kind" : "IdRef", "name" : "'ClusterSize'", "quantifier" : "?" }
4197+
],
4198+
"capabilities" : [ "GroupNonUniformRotateKHR" ],
4199+
"version" : "None"
4200+
},
41864201
{
41874202
"opname" : "OpSubgroupReadInvocationKHR",
41884203
"class" : "Group",
@@ -13995,6 +14010,13 @@
1399514010
"extensions" : [ "SPV_KHR_bit_instructions" ],
1399614011
"version" : "None"
1399714012
},
14013+
{
14014+
"enumerant" : "GroupNonUniformRotateKHR",
14015+
"value" : 6026,
14016+
"capabilities" : [ "GroupNonUniform" ],
14017+
"extensions" : [ "SPV_KHR_subgroup_rotate" ],
14018+
"version" : "None"
14019+
},
1399814020
{
1399914021
"enumerant" : "AtomicFloat32AddEXT",
1400014022
"value" : 6033,

include/spirv/unified1/spirv.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,7 @@ public enum Capability
10831083
DotProduct = 6019,
10841084
DotProductKHR = 6019,
10851085
BitInstructions = 6025,
1086+
GroupNonUniformRotateKHR = 6026,
10861087
AtomicFloat32AddEXT = 6033,
10871088
AtomicFloat64AddEXT = 6034,
10881089
LongConstantCompositeINTEL = 6089,
@@ -1548,6 +1549,7 @@ public enum Op
15481549
OpSubgroupAllKHR = 4428,
15491550
OpSubgroupAnyKHR = 4429,
15501551
OpSubgroupAllEqualKHR = 4430,
1552+
OpGroupNonUniformRotateKHR = 4431,
15511553
OpSubgroupReadInvocationKHR = 4432,
15521554
OpTraceRayKHR = 4445,
15531555
OpExecuteCallableKHR = 4446,

include/spirv/unified1/spirv.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,7 @@ typedef enum SpvCapability_ {
10831083
SpvCapabilityDotProduct = 6019,
10841084
SpvCapabilityDotProductKHR = 6019,
10851085
SpvCapabilityBitInstructions = 6025,
1086+
SpvCapabilityGroupNonUniformRotateKHR = 6026,
10861087
SpvCapabilityAtomicFloat32AddEXT = 6033,
10871088
SpvCapabilityAtomicFloat64AddEXT = 6034,
10881089
SpvCapabilityLongConstantCompositeINTEL = 6089,
@@ -1546,6 +1547,7 @@ typedef enum SpvOp_ {
15461547
SpvOpSubgroupAllKHR = 4428,
15471548
SpvOpSubgroupAnyKHR = 4429,
15481549
SpvOpSubgroupAllEqualKHR = 4430,
1550+
SpvOpGroupNonUniformRotateKHR = 4431,
15491551
SpvOpSubgroupReadInvocationKHR = 4432,
15501552
SpvOpTraceRayKHR = 4445,
15511553
SpvOpExecuteCallableKHR = 4446,
@@ -2224,6 +2226,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
22242226
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
22252227
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
22262228
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2229+
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
22272230
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
22282231
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
22292232
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;

include/spirv/unified1/spirv.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,7 @@ enum Capability {
10791079
CapabilityDotProduct = 6019,
10801080
CapabilityDotProductKHR = 6019,
10811081
CapabilityBitInstructions = 6025,
1082+
CapabilityGroupNonUniformRotateKHR = 6026,
10821083
CapabilityAtomicFloat32AddEXT = 6033,
10831084
CapabilityAtomicFloat64AddEXT = 6034,
10841085
CapabilityLongConstantCompositeINTEL = 6089,
@@ -1542,6 +1543,7 @@ enum Op {
15421543
OpSubgroupAllKHR = 4428,
15431544
OpSubgroupAnyKHR = 4429,
15441545
OpSubgroupAllEqualKHR = 4430,
1546+
OpGroupNonUniformRotateKHR = 4431,
15451547
OpSubgroupReadInvocationKHR = 4432,
15461548
OpTraceRayKHR = 4445,
15471549
OpExecuteCallableKHR = 4446,
@@ -2220,6 +2222,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
22202222
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
22212223
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
22222224
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2225+
case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
22232226
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
22242227
case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
22252228
case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;

include/spirv/unified1/spirv.hpp11

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,7 @@ enum class Capability : unsigned {
10791079
DotProduct = 6019,
10801080
DotProductKHR = 6019,
10811081
BitInstructions = 6025,
1082+
GroupNonUniformRotateKHR = 6026,
10821083
AtomicFloat32AddEXT = 6033,
10831084
AtomicFloat64AddEXT = 6034,
10841085
LongConstantCompositeINTEL = 6089,
@@ -1542,6 +1543,7 @@ enum class Op : unsigned {
15421543
OpSubgroupAllKHR = 4428,
15431544
OpSubgroupAnyKHR = 4429,
15441545
OpSubgroupAllEqualKHR = 4430,
1546+
OpGroupNonUniformRotateKHR = 4431,
15451547
OpSubgroupReadInvocationKHR = 4432,
15461548
OpTraceRayKHR = 4445,
15471549
OpExecuteCallableKHR = 4446,
@@ -2220,6 +2222,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
22202222
case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
22212223
case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
22222224
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2225+
case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
22232226
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
22242227
case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
22252228
case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;

include/spirv/unified1/spirv.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,7 @@
10611061
"DotProduct": 6019,
10621062
"DotProductKHR": 6019,
10631063
"BitInstructions": 6025,
1064+
"GroupNonUniformRotateKHR": 6026,
10641065
"AtomicFloat32AddEXT": 6033,
10651066
"AtomicFloat64AddEXT": 6034,
10661067
"LongConstantCompositeINTEL": 6089,
@@ -1535,6 +1536,7 @@
15351536
"OpSubgroupAllKHR": 4428,
15361537
"OpSubgroupAnyKHR": 4429,
15371538
"OpSubgroupAllEqualKHR": 4430,
1539+
"OpGroupNonUniformRotateKHR": 4431,
15381540
"OpSubgroupReadInvocationKHR": 4432,
15391541
"OpTraceRayKHR": 4445,
15401542
"OpExecuteCallableKHR": 4446,

include/spirv/unified1/spirv.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,6 +1041,7 @@ spv = {
10411041
DotProduct = 6019,
10421042
DotProductKHR = 6019,
10431043
BitInstructions = 6025,
1044+
GroupNonUniformRotateKHR = 6026,
10441045
AtomicFloat32AddEXT = 6033,
10451046
AtomicFloat64AddEXT = 6034,
10461047
LongConstantCompositeINTEL = 6089,
@@ -1493,6 +1494,7 @@ spv = {
14931494
OpSubgroupAllKHR = 4428,
14941495
OpSubgroupAnyKHR = 4429,
14951496
OpSubgroupAllEqualKHR = 4430,
1497+
OpGroupNonUniformRotateKHR = 4431,
14961498
OpSubgroupReadInvocationKHR = 4432,
14971499
OpTraceRayKHR = 4445,
14981500
OpExecuteCallableKHR = 4446,

include/spirv/unified1/spirv.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,6 +1041,7 @@
10411041
'DotProduct' : 6019,
10421042
'DotProductKHR' : 6019,
10431043
'BitInstructions' : 6025,
1044+
'GroupNonUniformRotateKHR' : 6026,
10441045
'AtomicFloat32AddEXT' : 6033,
10451046
'AtomicFloat64AddEXT' : 6034,
10461047
'LongConstantCompositeINTEL' : 6089,
@@ -1493,6 +1494,7 @@
14931494
'OpSubgroupAllKHR' : 4428,
14941495
'OpSubgroupAnyKHR' : 4429,
14951496
'OpSubgroupAllEqualKHR' : 4430,
1497+
'OpGroupNonUniformRotateKHR' : 4431,
14961498
'OpSubgroupReadInvocationKHR' : 4432,
14971499
'OpTraceRayKHR' : 4445,
14981500
'OpExecuteCallableKHR' : 4446,

include/spirv/unified1/spv.d

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,6 +1086,7 @@ enum Capability : uint
10861086
DotProduct = 6019,
10871087
DotProductKHR = 6019,
10881088
BitInstructions = 6025,
1089+
GroupNonUniformRotateKHR = 6026,
10891090
AtomicFloat32AddEXT = 6033,
10901091
AtomicFloat64AddEXT = 6034,
10911092
LongConstantCompositeINTEL = 6089,
@@ -1551,6 +1552,7 @@ enum Op : uint
15511552
OpSubgroupAllKHR = 4428,
15521553
OpSubgroupAnyKHR = 4429,
15531554
OpSubgroupAllEqualKHR = 4430,
1555+
OpGroupNonUniformRotateKHR = 4431,
15541556
OpSubgroupReadInvocationKHR = 4432,
15551557
OpTraceRayKHR = 4445,
15561558
OpExecuteCallableKHR = 4446,

0 commit comments

Comments
 (0)