1
0
forked from rosa/hakurei
Files
hakurei/internal/rosa/package/spirv/0006-Fix-OpCompositeConstructContinuedINTEL-operands-587.patch
T
cat 8366cdd224 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>
2026-07-15 14:35:10 +09:00

75 lines
4.4 KiB
Diff

From 126038020c2bd47efaa942ccc364ca5353ffccde Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <gooddoog@student.su>
Date: Thu, 30 Apr 2026 22:51:58 +0200
Subject: [PATCH 06/26] Fix OpCompositeConstructContinuedINTEL operands (#587)
* Fix OpCompositeConstructContinuedINTEL operands
Remove IdResultType and IdResult from OpCompositeConstructContinuedINTEL
This instruction is a continuation that supplies additional constituents to a preceding OpCompositeConstruct and does not produce its own result
* Update headers
---
include/spirv/unified1/spirv.core.grammar.json | 2 --
include/spirv/unified1/spirv.h | 2 +-
include/spirv/unified1/spirv.hpp | 2 +-
include/spirv/unified1/spirv.hpp11 | 2 +-
4 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index c7e3cc3..2ca9fe4 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -11223,8 +11223,6 @@
"class" : "Composite",
"opcode" : 6096,
"operands" : [
- { "kind" : "IdResultType" },
- { "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" }
],
"capabilities" : [ "LongCompositesINTEL" ],
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index ea4fb66..169cb06 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -3489,7 +3489,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 3a61c4d..c159586 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -3485,7 +3485,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index a3c8b1c..189dbbc 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -3485,7 +3485,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case Op::OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
--
2.54.0