diff mbox series

[meta-ti,master/scarthgap,v2,1/2] mesa-pvr_23.2.1: Fix build issues with llvm 18+

Message ID 20241104213821.11077-1-reatmon@ti.com
State Accepted
Delegated to: Ryan Eatmon
Headers show
Series [meta-ti,master/scarthgap,v2,1/2] mesa-pvr_23.2.1: Fix build issues with llvm 18+ | expand

Commit Message

Ryan Eatmon Nov. 4, 2024, 9:38 p.m. UTC
Backport two fixes from the latest mesa project to fix two builds issues
related to newer llvm versions.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
v2: Rework commit message since we need to add patches for mesa-pvr_22.3.5 too.

 ...allium-Fix-build-with-llvm-18-and-19.patch | 53 +++++++++++++++++++
 .../recipes-graphics/mesa/mesa-pvr_23.2.1.bb  |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-23.2.1/0001-gallium-Fix-build-with-llvm-18-and-19.patch
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-23.2.1/0001-gallium-Fix-build-with-llvm-18-and-19.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-23.2.1/0001-gallium-Fix-build-with-llvm-18-and-19.patch
new file mode 100644
index 00000000..ad5059f1
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-23.2.1/0001-gallium-Fix-build-with-llvm-18-and-19.patch
@@ -0,0 +1,53 @@ 
+From 6c5033bb01a3a1341d4db5007586a5f2e2727b0a Mon Sep 17 00:00:00 2001
+From: Ryan Eatmon <reatmon@ti.com>
+Date: Mon, 4 Nov 2024 13:37:29 -0600
+Subject: [PATCH] gallium: Fix build with llvm 18 and 19
+
+- CodeGenOpt::Level changed to CodeGenOoptLevel. [1]
+- llvm::sys::getHostCPUFeatures() now returns the features instead of
+modifying the passed in argument. [2]
+
+Upstream-Status: Backport [1][https://gitlab.freedesktop.org/mesa/mesa/-/commit/f79617fe804ea6524651ff1bc3a91098d3199179]
+Upstream-Status: Backport [2][https://gitlab.freedesktop.org/mesa/mesa/-/commit/fa9cd89a85b904615ebc11da609445b5b751e68d]
+
+Signed-off-by: Ryan Eatmon <reatmon@ti.com>
+---
+ src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+index 5e7a30a6cc2..dbc777e3096 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+@@ -366,7 +366,11 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
+    builder.setEngineKind(EngineKind::JIT)
+           .setErrorStr(&Error)
+           .setTargetOptions(options)
++#if LLVM_VERSION_MAJOR >= 18
++          .setOptLevel((CodeGenOptLevel)OptLevel);
++#else
+           .setOptLevel((CodeGenOpt::Level)OptLevel);
++#endif
+ 
+ #if DETECT_OS_WINDOWS
+     /*
+@@ -394,8 +398,14 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
+     * which allows us to enable/disable code generation based
+     * on the results of cpuid on these architectures.
+     */
+-   llvm::StringMap<bool> features;
+-   llvm::sys::getHostCPUFeatures(features);
++   #if LLVM_VERSION_MAJOR >= 19
++      /* llvm-19+ returns StringMap from getHostCPUFeatures.
++      */
++      auto features = llvm::sys::getHostCPUFeatures();
++   #else
++      llvm::StringMap<bool> features;
++      llvm::sys::getHostCPUFeatures(features);
++   #endif
+ 
+    for (StringMapIterator<bool> f = features.begin();
+         f != features.end();
+-- 
+2.17.1
+
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb
index 21134bc7..33af456d 100644
--- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1.bb
@@ -16,6 +16,7 @@  SRC_URI = " \
     file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
     file://0001-gallium-Fix-build-with-llvm-17.patch \
     file://0001-meson-Disable-cmake-dependency-detector-for-llvm.patch \
+    file://0001-gallium-Fix-build-with-llvm-18-and-19.patch \
 "
 
 S = "${WORKDIR}/git"