Skip to content

Commit ff2afc3

Browse files
authored
Adds SPV_KHR_relaxed_extended_instruction (KhronosGroup#434)
Adds support for [SPV_KHR_relaxed_extended_instruction](https://gitlab.khronos.org/spirv/spirv-extensions/-/merge_requests/250) --------- Signed-off-by: Nathan Gauër <[email protected]>
1 parent ea77f2a commit ff2afc3

File tree

10 files changed

+29
-0
lines changed

10 files changed

+29
-0
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1781,6 +1781,7 @@ namespace Spv
17811781
OpSubgroupAllEqualKHR = 4430,
17821782
OpGroupNonUniformRotateKHR = 4431,
17831783
OpSubgroupReadInvocationKHR = 4432,
1784+
OpExtInstWithForwardRefs = 4433,
17841785
OpTraceRayKHR = 4445,
17851786
OpExecuteCallableKHR = 4446,
17861787
OpConvertUToAccelerationStructureKHR = 4447,

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4539,6 +4539,20 @@
45394539
"extensions" : [ "SPV_KHR_shader_ballot" ],
45404540
"version" : "None"
45414541
},
4542+
{
4543+
"opname" : "OpExtInstWithForwardRefs",
4544+
"class" : "Extension",
4545+
"opcode" : 4433,
4546+
"operands" : [
4547+
{ "kind" : "IdResultType" },
4548+
{ "kind" : "IdResult" },
4549+
{ "kind" : "IdRef", "name" : "'Set'" },
4550+
{ "kind" : "LiteralExtInstInteger", "name" : "'Instruction'" },
4551+
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Operand 1', +\n'Operand 2', +\n..." }
4552+
],
4553+
"extensions" : [ "SPV_KHR_relaxed_extended_instruction" ],
4554+
"version": "None"
4555+
},
45424556
{
45434557
"opname" : "OpTraceRayKHR",
45444558
"class" : "Reserved",

include/spirv/unified1/spirv.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1780,6 +1780,7 @@ public enum Op
17801780
OpSubgroupAllEqualKHR = 4430,
17811781
OpGroupNonUniformRotateKHR = 4431,
17821782
OpSubgroupReadInvocationKHR = 4432,
1783+
OpExtInstWithForwardRefs = 4433,
17831784
OpTraceRayKHR = 4445,
17841785
OpExecuteCallableKHR = 4446,
17851786
OpConvertUToAccelerationStructureKHR = 4447,

include/spirv/unified1/spirv.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1776,6 +1776,7 @@ typedef enum SpvOp_ {
17761776
SpvOpSubgroupAllEqualKHR = 4430,
17771777
SpvOpGroupNonUniformRotateKHR = 4431,
17781778
SpvOpSubgroupReadInvocationKHR = 4432,
1779+
SpvOpExtInstWithForwardRefs = 4433,
17791780
SpvOpTraceRayKHR = 4445,
17801781
SpvOpExecuteCallableKHR = 4446,
17811782
SpvOpConvertUToAccelerationStructureKHR = 4447,
@@ -2523,6 +2524,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
25232524
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
25242525
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
25252526
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2527+
case SpvOpExtInstWithForwardRefs: *hasResult = true; *hasResultType = true; break;
25262528
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
25272529
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
25282530
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
@@ -4298,6 +4300,7 @@ inline const char* SpvOpToString(SpvOp value) {
42984300
case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
42994301
case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
43004302
case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
4303+
case SpvOpExtInstWithForwardRefs: return "OpExtInstWithForwardRefs";
43014304
case SpvOpTraceRayKHR: return "OpTraceRayKHR";
43024305
case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
43034306
case SpvOpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";

include/spirv/unified1/spirv.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,6 +1772,7 @@ enum Op {
17721772
OpSubgroupAllEqualKHR = 4430,
17731773
OpGroupNonUniformRotateKHR = 4431,
17741774
OpSubgroupReadInvocationKHR = 4432,
1775+
OpExtInstWithForwardRefs = 4433,
17751776
OpTraceRayKHR = 4445,
17761777
OpExecuteCallableKHR = 4446,
17771778
OpConvertUToAccelerationStructureKHR = 4447,
@@ -2519,6 +2520,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
25192520
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
25202521
case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
25212522
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2523+
case OpExtInstWithForwardRefs: *hasResult = true; *hasResultType = true; break;
25222524
case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
25232525
case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
25242526
case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
@@ -4294,6 +4296,7 @@ inline const char* OpToString(Op value) {
42944296
case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
42954297
case OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
42964298
case OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
4299+
case OpExtInstWithForwardRefs: return "OpExtInstWithForwardRefs";
42974300
case OpTraceRayKHR: return "OpTraceRayKHR";
42984301
case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
42994302
case OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";

include/spirv/unified1/spirv.hpp11

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1772,6 +1772,7 @@ enum class Op : unsigned {
17721772
OpSubgroupAllEqualKHR = 4430,
17731773
OpGroupNonUniformRotateKHR = 4431,
17741774
OpSubgroupReadInvocationKHR = 4432,
1775+
OpExtInstWithForwardRefs = 4433,
17751776
OpTraceRayKHR = 4445,
17761777
OpExecuteCallableKHR = 4446,
17771778
OpConvertUToAccelerationStructureKHR = 4447,
@@ -2519,6 +2520,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
25192520
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
25202521
case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
25212522
case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2523+
case Op::OpExtInstWithForwardRefs: *hasResult = true; *hasResultType = true; break;
25222524
case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
25232525
case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
25242526
case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
@@ -4294,6 +4296,7 @@ inline const char* OpToString(Op value) {
42944296
case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
42954297
case OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
42964298
case OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
4299+
case OpExtInstWithForwardRefs: return "OpExtInstWithForwardRefs";
42974300
case OpTraceRayKHR: return "OpTraceRayKHR";
42984301
case OpExecuteCallableKHR: return "OpExecuteCallableKHR";
42994302
case OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";

include/spirv/unified1/spirv.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,6 +1771,7 @@
17711771
"OpSubgroupAllEqualKHR": 4430,
17721772
"OpGroupNonUniformRotateKHR": 4431,
17731773
"OpSubgroupReadInvocationKHR": 4432,
1774+
"OpExtInstWithForwardRefs": 4433,
17741775
"OpTraceRayKHR": 4445,
17751776
"OpExecuteCallableKHR": 4446,
17761777
"OpConvertUToAccelerationStructureKHR": 4447,

include/spirv/unified1/spirv.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1714,6 +1714,7 @@ spv = {
17141714
OpSubgroupAllEqualKHR = 4430,
17151715
OpGroupNonUniformRotateKHR = 4431,
17161716
OpSubgroupReadInvocationKHR = 4432,
1717+
OpExtInstWithForwardRefs = 4433,
17171718
OpTraceRayKHR = 4445,
17181719
OpExecuteCallableKHR = 4446,
17191720
OpConvertUToAccelerationStructureKHR = 4447,

include/spirv/unified1/spirv.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1714,6 +1714,7 @@
17141714
'OpSubgroupAllEqualKHR' : 4430,
17151715
'OpGroupNonUniformRotateKHR' : 4431,
17161716
'OpSubgroupReadInvocationKHR' : 4432,
1717+
'OpExtInstWithForwardRefs' : 4433,
17171718
'OpTraceRayKHR' : 4445,
17181719
'OpExecuteCallableKHR' : 4446,
17191720
'OpConvertUToAccelerationStructureKHR' : 4447,

include/spirv/unified1/spv.d

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1783,6 +1783,7 @@ enum Op : uint
17831783
OpSubgroupAllEqualKHR = 4430,
17841784
OpGroupNonUniformRotateKHR = 4431,
17851785
OpSubgroupReadInvocationKHR = 4432,
1786+
OpExtInstWithForwardRefs = 4433,
17861787
OpTraceRayKHR = 4445,
17871788
OpExecuteCallableKHR = 4446,
17881789
OpConvertUToAccelerationStructureKHR = 4447,

0 commit comments

Comments
 (0)