forked from rosa/hakurei
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>
This commit is contained in:
+88
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user