diff mbox series

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

Message ID 20241104211841.9898-1-reatmon@ti.com
State Not Applicable
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:18 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

Comments

Denys Dmytriyenko Nov. 4, 2024, 9:32 p.m. UTC | #1
Wrong list?


On Mon, Nov 04, 2024 at 03:18:40PM -0600, 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 <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 --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"
> -- 
> 2.17.1
Ryan Eatmon Nov. 4, 2024, 9:38 p.m. UTC | #2
yes.


On 11/4/2024 3:32 PM, Denys Dmytriyenko wrote:
> Wrong list?
> 
> 
> On Mon, Nov 04, 2024 at 03:18:40PM -0600, 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 <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 --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"
>> -- 
>> 2.17.1
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"