From: Wang Mingyu <[email protected]>

add patches to fix compilation with GCC < 13

Add two patches to fix build failures when using older GCC:
- Fix typed enum syntax not supported by GCC 11.
- Fix variable declaration after case label not allowed by GCC 10.

Signed-off-by: Wang Mingyu <[email protected]>
---
 ...er-jay-fix-GCC-10-case-label-declara.patch | 42 +++++++++++++++++++
 ...er-jay-jay_ir.h-do-not-used-typed-en.patch | 39 +++++++++++++++++
 meta/recipes-graphics/mesa/mesa.inc           |  6 ++-
 3 files changed, 85 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-fix-GCC-10-case-label-declara.patch
 create mode 100644 
meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch

diff --git 
a/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-fix-GCC-10-case-label-declara.patch
 
b/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-fix-GCC-10-case-label-declara.patch
new file mode 100644
index 0000000000..b8b8718979
--- /dev/null
+++ 
b/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-fix-GCC-10-case-label-declara.patch
@@ -0,0 +1,42 @@
+From 0b4b577b7fc926d374234c80267a4bf9dcccb7ef Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <[email protected]>
+Date: Tue, 16 Jun 2026 09:12:34 +0000
+Subject: [PATCH] src/intel/compiler/jay: fix GCC 10 case label declaration
+ error
+
+GCC 10 (and earlier) does not allow a variable declaration immediately
+after a case label, because a label must be followed by a statement.
+
+  error: a label can only be part of a statement and a declaration is not a 
statement
+
+Wrap the case block for JAY_OPCODE_DESWIZZLE_ODD in braces to make the
+declaration a valid statement inside the block.
+
+Upstream-Status: Inappropriate [yocto host distro requirements]
+
+Signed-off-by: Wang Mingyu <[email protected]>
+---
+ src/intel/compiler/jay/jay_to_binary.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/intel/compiler/jay/jay_to_binary.c 
b/src/intel/compiler/jay/jay_to_binary.c
+index 62b9576..a0a9498 100644
+--- a/src/intel/compiler/jay/jay_to_binary.c
++++ b/src/intel/compiler/jay/jay_to_binary.c
+@@ -362,11 +362,12 @@ emit(struct brw_codegen *p,
+       brw_BFN(p, dst, SRC(0), SRC(1), SRC(2), brw_imm_ud(jay_bfn_ctrl(I)));
+       break;
+ 
+-   case JAY_OPCODE_DESWIZZLE_ODD:
++   case JAY_OPCODE_DESWIZZLE_ODD: {
+       bool hi = simd_offs ? true : jay_deswizzle_odd_src2_hi(I);
+       brw_MOV(p, dst,
+               byte_offset(to_brw_reg(f, I, simd_offs, 0, false), hi ? 64 : 
0));
+       break;
++   }
+ 
+    case JAY_OPCODE_DESWIZZLE_EVEN:
+       brw_set_default_exec_size(p, BRW_EXECUTE_16);
+-- 
+2.43.0
+
diff --git 
a/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
 
b/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
new file mode 100644
index 0000000000..904b20d440
--- /dev/null
+++ 
b/meta/recipes-graphics/mesa/files/0001-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
@@ -0,0 +1,39 @@
+From 3adae0d97f655c2991d5b428a3bc95a972e6228b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <[email protected]>
+Date: Sun, 14 Jun 2026 17:42:19 +0200
+Subject: [PATCH] src/intel/compiler/jay/jay_ir.h: do not used typed enum
+
+This is a C23 feature and not supported by gcc < 13, which
+many host distros still have (e.g. Debian 12).
+
+Upstream-Status: Inappropriate [yocto host distro requirements]
+Signed-off-by: Alexander Kanavin <[email protected]>
+---
+ src/intel/compiler/jay/jay_ir.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/intel/compiler/jay/jay_ir.h b/src/intel/compiler/jay/jay_ir.h
+index 8307044..abf175a 100644
+--- a/src/intel/compiler/jay/jay_ir.h
++++ b/src/intel/compiler/jay/jay_ir.h
+@@ -579,7 +579,7 @@ jay_type_is_any_float(enum jay_type t)
+    return jay_base_type(t) == JAY_TYPE_F || jay_base_type(t) == JAY_TYPE_BF;
+ }
+ 
+-enum jay_predication : uint8_t {
++enum jay_predication {
+    /** No predication. */
+    JAY_NOT_PREDICATED = 0,
+ 
+@@ -634,7 +634,7 @@ typedef struct jay_inst {
+    bool decrement_dep:1;
+    unsigned padding  :12;
+ 
+-   enum jay_predication predication;
++   uint8_t predication;
+    enum jay_conditional_mod conditional_mod;
+ 
+    jay_def cond_flag; /**< conditional flag */
+-- 
+2.47.3
+
diff --git a/meta/recipes-graphics/mesa/mesa.inc 
b/meta/recipes-graphics/mesa/mesa.inc
index 15dad6eedd..67b740f9e9 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -18,10 +18,12 @@ SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
            file://0001-gallivm-Fix-armhf-build-against-LLVM-22.patch \
+           
file://0001-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch \
+           
file://0001-src-intel-compiler-jay-fix-GCC-10-case-label-declara.patch \
 "
 
-SRC_URI[sha256sum] = 
"1d3c3b8a8363b8cc354175bb4a684ad8b035211cc1d6fa17aeb9b9623c513f89"
-PV = "26.0.6"
+SRC_URI[sha256sum] = 
"bac2bca9121897a2b8162e79636b50ac998fca799c8e6cf914edd85962babdf0"
+PV = "26.1.2"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#238885): 
https://lists.openembedded.org/g/openembedded-core/message/238885
Mute This Topic: https://lists.openembedded.org/mt/119830936/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to