From 64ee95d661eebb5b09d00c86cd09d4a2c3c5971b Mon Sep 17 00:00:00 2001 From: Ryan Eatmon Date: Mon, 4 Nov 2024 15:15:31 -0600 Subject: mesa-pvr-22.3.5: Fix build issues with llvm 18+ Backport two fixes from the latest mesa project to fix two builds issues related to newer llvm versions. Signed-off-by: Ryan Eatmon --- ...M-include-of-Host-h-moved-to-TargetParser.patch | 65 ++++++++++++++++++++++ ...001-gallium-Fix-build-with-llvm-18-and-19.patch | 53 ++++++++++++++++++ .../recipes-graphics/mesa/mesa-pvr_22.3.5.bb | 2 + 3 files changed, 120 insertions(+) create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-gallium-Fix-build-with-llvm-18-and-19.patch diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch new file mode 100644 index 00000000..7d4fe078 --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch @@ -0,0 +1,65 @@ +From bb2db56ffec6e527d88751f75117ae690227cd6c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= +Date: Sat, 11 Feb 2023 18:38:01 +0100 +Subject: [PATCH] fix: gallivm: fix LLVM #include of Host.h, moved to + TargetParser + +Upstream moved Host.h from Support to TargetParser in LLVM 17. + +This shouldn't lead to a FTBFS, since there is a forwarding include left +behind. Sadly the added deprecation warning #pragma is invalid and thus +causes a build failure right away. But since we would have to follow the +move anyway in the future, just do it right away. + +Reference: https://github.com/llvm/llvm-project/commit/d768bf994f508d7eaf9541a568be3d71096febf5 +Reviewed-by: Bas Nieuwenhuizen +Closes: #8275 +Part-of: + +Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/bb2db56ffec6e527d88751f75117ae690227cd6c] + +--- + src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 7 ++++++- + src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 +++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +index 54bc5d5ada36c..f78f04f042be8 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +@@ -35,9 +35,14 @@ + #include + #include + #include +-#include + #include + ++#if LLVM_VERSION_MAJOR >= 17 ++#include ++#else ++#include ++#endif ++ + #include "util/u_math.h" + #include "util/u_debug.h" + +diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +index 334c13530394b..5e7a30a6cc2e3 100644 +--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp ++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +@@ -60,7 +60,11 @@ + #include + #include + #include ++#if LLVM_VERSION_MAJOR >= 17 ++#include ++#else + #include ++#endif + #include + #include + #include + +-- +GitLab + diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-gallium-Fix-build-with-llvm-18-and-19.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/0001-gallium-Fix-build-with-llvm-18-and-19.patch new file mode 100644 index 00000000..37888c34 --- /dev/null +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr-22.3.5/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 +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 +--- + 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 +@@ -368,7 +368,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 + + #ifdef _WIN32 + /* +@@ -392,8 +396,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 features; +- llvm::sys::getHostCPUFeatures(features); ++ #if LLVM_VERSION_MAJOR >= 19 ++ /* llvm-19+ returns StringMap from getHostCPUFeatures. ++ */ ++ auto features = llvm::sys::getHostCPUFeatures(); ++ #else ++ llvm::StringMap features; ++ llvm::sys::getHostCPUFeatures(features); ++ #endif + + for (StringMapIterator f = features.begin(); + f != features.end(); +-- +2.17.1 + diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb index c93d01f9..bdc9ce16 100644 --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb @@ -19,6 +19,8 @@ SRC_URI = " \ file://0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch \ file://0001-gallium-Fix-build-with-llvm-17.patch \ file://0001-fix-gallivm-limit-usage-of-LLVMContextSetOpaquePoint.patch \ + file://0001-fix-gallivm-fix-LLVM-include-of-Host-h-moved-to-TargetParser.patch \ + file://0001-gallium-Fix-build-with-llvm-18-and-19.patch \ " S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf