On 11/4/2024 4:19 PM, Randolph Sapp wrote:
On Mon Nov 4, 2024 at 1:46 PM CST, Ryan Eatmon via lists.yoctoproject.org wrote:
Backport two fixes from the latest mesa project to fix two builds issues
related to newer llvm versions.

Signed-off-by: Ryan Eatmon <[email protected]>
---
  ...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 --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 <[email protected]>
+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 <[email protected]>
+---
+ 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"

Thanks Ryan! Since it's an upstream commit, I can carry it on the powervr mesa
branches directly, if that's preferable. Up to you.

That's up to you.  But you will need to fix both of the versions.


Worth noting that in my tests right now I'm seeing a runtime fault. Don't
believe it's related to this patch but I would be cautious enabling
gallium-llvmpipe at this moment.

I'll hold off on accepting it while you fully test it.  Just let me know.


Reviewed-by: Randolph Sapp <[email protected]>

--
Ryan Eatmon                [email protected]
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#18039): 
https://lists.yoctoproject.org/g/meta-ti/message/18039
Mute This Topic: https://lists.yoctoproject.org/mt/109392601/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to