aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-07-15 14:35:10 +0900
committerOphestra <cat@gensokyo.uk>2026-07-15 14:35:10 +0900
commit8366cdd22448548116b4cc2f719fee73f8c30e91 (patch)
treef60c5ab9ba35116cadbcd8af2ff1b25e45b2155f /internal/rosa/package/spirv/0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch
parent05f9939077ce5144a648ef537bbe79f294e2307c (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.patch88
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
+