diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-07-15 14:35:10 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-07-15 14:35:10 +0900 |
| commit | 8366cdd22448548116b4cc2f719fee73f8c30e91 (patch) | |
| tree | f60c5ab9ba35116cadbcd8af2ff1b25e45b2155f /internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch | |
| parent | 05f9939077ce5144a648ef537bbe79f294e2307c (diff) | |
internal/rosa/package/spirv: spirv-tools 2026.1 to 2026.2
Upstream does not appear to understand the point of tags, so include relevant unreleased changes here.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch')
| -rw-r--r-- | internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch b/internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch new file mode 100644 index 00000000..7fe6dc2c --- /dev/null +++ b/internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch @@ -0,0 +1,88 @@ +From 98c842bd561ac67c5ff98d599c8c960ba9edb7fd Mon Sep 17 00:00:00 2001 +From: Arseniy Obolenskiy <gooddoog@student.su> +Date: Mon, 11 May 2026 13:11:51 +0200 +Subject: [PATCH 09/26] Fix OpReadPipeBlockingINTEL/OpWritePipeBlockingINTEL + operands (#588) + +Per the SPV_INTEL_blocking_pipes spec, these instructions do not produce a result, but have Pipe and Pointer id arguments instead +--- + include/spirv/unified1/spirv.core.grammar.json | 8 ++++---- + include/spirv/unified1/spirv.h | 4 ++-- + include/spirv/unified1/spirv.hpp | 4 ++-- + include/spirv/unified1/spirv.hpp11 | 4 ++-- + 4 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json +index bd716cb..d8d36df 100644 +--- a/include/spirv/unified1/spirv.core.grammar.json ++++ b/include/spirv/unified1/spirv.core.grammar.json +@@ -10803,8 +10803,8 @@ + "aliases" : [ "OpReadPipeBlockingINTEL" ], + "opcode" : 5946, + "operands" : [ +- { "kind" : "IdResultType" }, +- { "kind" : "IdResult" }, ++ { "kind" : "IdRef", "name" : "Pipe" }, ++ { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], +@@ -10817,8 +10817,8 @@ + "aliases" : [ "OpWritePipeBlockingINTEL" ], + "opcode" : 5947, + "operands" : [ +- { "kind" : "IdResultType" }, +- { "kind" : "IdResult" }, ++ { "kind" : "IdRef", "name" : "Pipe" }, ++ { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], +diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h +index 169cb06..1759d89 100644 +--- a/include/spirv/unified1/spirv.h ++++ b/include/spirv/unified1/spirv.h +@@ -3464,8 +3464,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy + case SpvOpFixedExpALTERA: *hasResult = true; *hasResultType = true; break; + case SpvOpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break; + case SpvOpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break; +- case SpvOpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; +- case SpvOpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; ++ case SpvOpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; ++ case SpvOpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; + case SpvOpFPGARegALTERA: *hasResult = true; *hasResultType = true; break; + case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; +diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp +index c159586..e6cc26c 100644 +--- a/include/spirv/unified1/spirv.hpp ++++ b/include/spirv/unified1/spirv.hpp +@@ -3460,8 +3460,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { + case OpFixedExpALTERA: *hasResult = true; *hasResultType = true; break; + case OpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break; + case OpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break; +- case OpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; +- case OpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; ++ case OpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; ++ case OpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; + case OpFPGARegALTERA: *hasResult = true; *hasResultType = true; break; + case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; + case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; +diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 +index 189dbbc..c841190 100644 +--- a/include/spirv/unified1/spirv.hpp11 ++++ b/include/spirv/unified1/spirv.hpp11 +@@ -3460,8 +3460,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { + case Op::OpFixedExpALTERA: *hasResult = true; *hasResultType = true; break; + case Op::OpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break; + case Op::OpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break; +- case Op::OpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; +- case Op::OpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break; ++ case Op::OpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; ++ case Op::OpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; + case Op::OpFPGARegALTERA: *hasResult = true; *hasResultType = true; break; + case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; +-- +2.54.0 + |
