diff mbox series

[master/scarthgap,2/3] mesa-pvr_23.2.1: import mesa patches from oe-core/master

Message ID 20240502002621.3456112-2-denis@denix.org
State Not Applicable
Delegated to: Ryan Eatmon
Headers show
Series [master/scarthgap,1/3] ti-img-rogue-*: add ddk 24.1 recipes for ltsprep | expand

Commit Message

Denys Dmytriyenko May 2, 2024, 12:26 a.m. UTC
From: Randolph Sapp <rs@ti.com>

Locally overlay verbatim copies of mesa 22.3.5 patches from
oe-core/master, so we get whatever QoL patches from core relevant to the
current release.

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 .../0001-gallium-Fix-build-with-llvm-17.patch | 41 ++++++++++++++++++
 ...e-cmake-dependency-detector-for-llvm.patch | 42 +++++++++++++++++++
 ...sdetects-64bit-atomics-on-mips-clang.patch |  4 +-
 ...k-for-all-linux-host_os-combinations.patch | 18 ++++----
 4 files changed, 94 insertions(+), 11 deletions(-)
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-gallium-Fix-build-with-llvm-17.patch
 create mode 100644 meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch
 copy meta-ti-bsp/recipes-graphics/mesa/{files => mesa-pvr_23.2.1}/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch (99%)
 copy meta-ti-bsp/recipes-graphics/mesa/{files => mesa-pvr_23.2.1}/0001-meson.build-check-for-all-linux-host_os-combinations.patch (84%)
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-gallium-Fix-build-with-llvm-17.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-gallium-Fix-build-with-llvm-17.patch
new file mode 100644
index 00000000..237f940f
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-gallium-Fix-build-with-llvm-17.patch
@@ -0,0 +1,41 @@ 
+From 6d07f6aa7f92f40d78a2db645f16f0f3e7d3c2e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 23 Jun 2023 01:20:38 -0700
+Subject: [PATCH] gallium: Fix build with llvm 17
+
+These headers are not available for C files in llvm 17+
+and they seem to be not needed to compile after all with llvm 17
+so add conditions to exclude them for llvm >= 17
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23827]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
+index cd2108f..b1a4d03 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
++++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
+@@ -46,15 +46,19 @@
+ #if GALLIVM_USE_NEW_PASS == 1
+ #include <llvm-c/Transforms/PassBuilder.h>
+ #elif GALLIVM_HAVE_CORO == 1
++#if LLVM_VERSION_MAJOR < 17
+ #include <llvm-c/Transforms/Scalar.h>
+-#if LLVM_VERSION_MAJOR >= 7
++#endif
++#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
+ #include <llvm-c/Transforms/Utils.h>
+ #endif
+ #if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
+ #include <llvm-c/Transforms/IPO.h>
+ #endif
++#if LLVM_VERSION_MAJOR < 17
+ #include <llvm-c/Transforms/Coroutines.h>
+ #endif
++#endif
+ 
+ unsigned gallivm_perf = 0;
+ 
diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch
new file mode 100644
index 00000000..4cded054
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-Disable-cmake-dependency-detector-for-llvm.patch
@@ -0,0 +1,42 @@ 
+From 00d41cd5aa3f4b494dc276c9b4ccdc096310c91f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 28 Sep 2023 15:34:22 -0700
+Subject: [PATCH] meson: use llvm-config instead of cmake to fix linking errors with meson 1.2.1
+
+meson dependency auto dependency detection uses cmake and then
+config-tool to process dependencies, in mesa the logic to detect llvm is
+using auto detection which means if it finds cmake then it will try to
+use cmake method. Cmake method works ok except a case when llvm-dev
+package is installed on the build host then it generates its own
+native.meson file and ignores OE supplied meson.native file which has
+correct llvm-config tool specified which is pointing to llvm-config from
+native sysroot. The generated meson.native file points to one found in
+/usr/bin and there onwards detector finds native install of llvm and
+configures that into building native mesa package.
+
+Since cmake detector does not always work, disable it by default and use
+config-tool which works in all cases. This is suggested in below issues
+too
+
+A similar issue is open in meson upstream [1] and mesa [2]
+
+[1] https://github.com/mesonbuild/meson/issues/10483
+[2] https://gitlab.freedesktop.org/mesa/mesa/-/issues/6738
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25438]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/meson.build
++++ b/meson.build
+@@ -1659,6 +1659,7 @@ with_llvm = false
+ if _llvm.allowed()
+   dep_llvm = dependency(
+     'llvm',
++    method : host_machine.system() == 'windows' ? 'auto' : 'config-tool',
+     version : _llvm_version,
+     modules : llvm_modules,
+     optional_modules : llvm_optional_modules,
diff --git a/meta-ti-bsp/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
similarity index 99%
copy from meta-ti-bsp/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
copy to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index 35bd0ea1..9cd9bee2 100644
--- a/meta-ti-bsp/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -17,9 +17,9 @@  index 5a5eab4..e499516 100644
 @@ -21,7 +21,7 @@
   * IN THE SOFTWARE.
   */
-
+ 
 -#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
 +#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
-
+ 
  #include <stdint.h>
  #include <pthread.h>
diff --git a/meta-ti-bsp/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson.build-check-for-all-linux-host_os-combinations.patch
similarity index 84%
copy from meta-ti-bsp/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
copy to meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index f0c1de46..a555c5f8 100644
--- a/meta-ti-bsp/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_23.2.1/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@ 
-From 3b4d6b89f644b43e507c08181fef06db4326f9da Mon Sep 17 00:00:00 2001
+From b251af67df5a6840d2e9cc06edae2c387f8778f1 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:04:49 -0800
 Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -20,21 +20,21 @@  Signed-off-by: Alistair Francis <alistair@alistair23.me>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 172c64a..9b5294c 100644
+index 22385d8..15f48a6 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -173,7 +173,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -121,7 +121,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
  # Only build shared_glapi if at least one OpenGL API is enabled
  with_shared_glapi = with_shared_glapi and with_any_opengl
-
+ 
 -system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system())
 +system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos', 'android'].contains(host_machine.system()) or host_machine.system().startswith('linux')
-
- with_freedreno_kgsl = get_option('freedreno-kgsl')
- if with_freedreno_kgsl
-@@ -1076,7 +1076,7 @@ if cc.has_function('reallocarray')
+ 
+ gallium_drivers = get_option('gallium-drivers')
+ if gallium_drivers.contains('auto')
+@@ -909,7 +909,7 @@ if cc.has_function('fmemopen')
  endif
-
+ 
  # TODO: this is very incomplete
 -if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system())
 +if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku'].contains(host_machine.system()) or host_machine.system().startswith('linux')