mesa: fix compile error when debug build enabled

It fails to compile mesa{,-native} when DEBUG_BUILD is enabled:

../mesa-22.1.3/src/compiler/nir/nir_inline_helpers.h: In function ‘nir_opt_move_block’:
../mesa-22.1.3/src/compiler/nir/nir_opt_move.c:55:1: error: inlining failed in call to
  always_inline ‘src_is_ssa’: indirect function call with a yet undetermined callee
 src_is_ssa(nir_src *src, void *state)
 ^~~~~~~~~~

Backport patch from mesa merge request to fix it.

(From OE-Core rev: 468715c42632a8467dc1f0abe0f3cd540de5f7c3)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Kai Kang
2022-07-27 15:29:56 +08:00
committed by Richard Purdie
parent 99779299f7
commit 130e9b341d
2 changed files with 66 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
Backport merge request to fix mesa compile error when debug build
enabled.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17439]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
From c69c6e7a35205557de73734ad4a1f411c8f99926 Mon Sep 17 00:00:00 2001
From: t bettler <thomas.bettler@gmail.com>
Date: Sat, 9 Jul 2022 09:28:51 +0000
Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fix call to always_inline src_is_ssa
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6825
Fixes: f1d20ec67c3f186886b97de94f74484650f8fda1 ("nir/nir_opt_move: handle non-SSA defs ")
---
src/compiler/nir/nir_inline_helpers.h | 10 ++++++++--
src/compiler/nir/nir_opt_move.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_inline_helpers.h b/src/compiler/nir/nir_inline_helpers.h
index 125dd8a537c..ec33f0509f7 100644
--- a/src/compiler/nir/nir_inline_helpers.h
+++ b/src/compiler/nir/nir_inline_helpers.h
@@ -73,8 +73,8 @@ nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state)
return _nir_foreach_dest(instr, cb, state);
}
-static inline bool
-nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+static ALWAYS_INLINE bool
+_nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
{
switch (instr->type) {
case nir_instr_type_alu: {
@@ -162,3 +162,9 @@ nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
dest_state.cb = cb;
return _nir_foreach_dest(instr, _nir_visit_dest_indirect, &dest_state);
}
+
+static inline bool
+nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+{
+ return _nir_foreach_src(instr, cb, state);
+}
diff --git a/src/compiler/nir/nir_opt_move.c b/src/compiler/nir/nir_opt_move.c
index 81bcde5c436..051c3cc6295 100644
--- a/src/compiler/nir/nir_opt_move.c
+++ b/src/compiler/nir/nir_opt_move.c
@@ -60,7 +60,7 @@ src_is_ssa(nir_src *src, void *state)
static ALWAYS_INLINE bool
instr_reads_register(nir_instr *instr)
{
- return !nir_foreach_src(instr, src_is_ssa, NULL);
+ return !_nir_foreach_src(instr, src_is_ssa, NULL);
}
static bool
--
2.34.1

View File

@@ -22,6 +22,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-util-format-Check-for-NEON-before-using-it.patch \
file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \
file://0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch \
file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch \
"
SRC_URI[sha256sum] = "b98f32ba7aa2a1ff5725fb36eb999c693079f0ca16f70aa2f103e2b6c3f093e3"