new file mode 100644
@@ -0,0 +1,42 @@
+From 0b4b577b7fc926d374234c80267a4bf9dcccb7ef Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+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 <wangmy@fujitsu.com>
+---
+ 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
+
new file mode 100644
@@ -0,0 +1,39 @@
+From 3adae0d97f655c2991d5b428a3bc95a972e6228b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+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 <alex@linutronix.de>
+---
+ 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
+
@@ -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+)+)"