[meta-oe,PATCHv3,1/3] mesa: update to 22.0.0

Message ID 20220312073022.2894-1-f_l_k@t-online.de
State New
Headers show
Series [meta-oe,PATCHv3,1/3] mesa: update to 22.0.0 | expand

Commit Message

Markus Volk March 12, 2022, 7:30 a.m. UTC
- remove 0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch that was applied upstream

- adjust 0002-meson.build-make-TLS-ELF-optional.patch

- fix patch fuzz

- DRI1 drivers have been removed! For all AMD/Nvidia Cards gallium-llvm is required

License-Update: removed references to deleted code.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...fine-__NR_futex-if-it-does-not-exist.patch |  5 ++-
 ...sdetects-64bit-atomics-on-mips-clang.patch |  8 ++--
 ...k-for-all-linux-host_os-combinations.patch | 10 ++---
 ...ormat-Check-for-NEON-before-using-it.patch | 10 ++---
 ...unt-for-64bit-time_t-on-32bit-arches.patch | 41 -----------------
 ...02-meson.build-make-TLS-ELF-optional.patch | 44 +++++++++----------
 meta/recipes-graphics/mesa/mesa-gl_21.3.7.bb  | 16 -------
 meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb  | 13 ++++++
 meta/recipes-graphics/mesa/mesa.inc           | 13 +++---
 meta/recipes-graphics/mesa/mesa_21.3.7.bb     |  5 ---
 meta/recipes-graphics/mesa/mesa_22.0.0.bb     |  2 +
 11 files changed, 58 insertions(+), 109 deletions(-)
 delete mode 100644 meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch
 delete mode 100644 meta/recipes-graphics/mesa/mesa-gl_21.3.7.bb
 create mode 100644 meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb
 delete mode 100644 meta/recipes-graphics/mesa/mesa_21.3.7.bb
 create mode 100644 meta/recipes-graphics/mesa/mesa_22.0.0.bb

Patch

diff --git a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch b/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
index 8bedbac669..3b0bfa323b 100644
--- a/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
+++ b/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
@@ -1,4 +1,4 @@ 
-From 8973e297f2f9b17498b9dc0e37a19481d4bb7df9 Mon Sep 17 00:00:00 2001
+From 253b042d2bf10e9abfa9cc508e0782aefd834145 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 16 Oct 2020 11:03:47 -0700
 Subject: [PATCH] futex.h: Define __NR_futex if it does not exist
@@ -12,10 +12,13 @@  working
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/futex.h | 4 ++++
  1 file changed, 4 insertions(+)
 
+diff --git a/src/util/futex.h b/src/util/futex.h
+index 43097f4..941b0ec 100644
 --- a/src/util/futex.h
 +++ b/src/util/futex.h
 @@ -34,6 +34,10 @@
diff --git a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index 15485feb71..b08e4d86c2 100644
--- a/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -1,16 +1,17 @@ 
-From bb2f0bea553d51d659a9bc46f7ae186885405151 Mon Sep 17 00:00:00 2001
+From d34bdbd80e5a1f309d2ba280cdc66ff0ee0e5c43 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 13 Jan 2020 15:23:47 -0800
 Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/u_atomic.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
-index e4bffa8..58e1ddd 100644
+index 5a5eab4..e499516 100644
 --- a/src/util/u_atomic.c
 +++ b/src/util/u_atomic.c
 @@ -21,7 +21,7 @@
@@ -22,6 +23,3 @@  index e4bffa8..58e1ddd 100644
  
  #include <stdint.h>
  #include <pthread.h>
--- 
-2.24.1
-
diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index b6f86743e1..aea23d0ec2 100644
--- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@ 
-From 38e984073e4c23b6278d1a2ff21e894fda7b93c5 Mon Sep 17 00:00:00 2001
+From f9c597a2c517eb85c23cbeeb2e95c55794c74cda 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,10 +20,10 @@  Signed-off-by: Alistair Francis <alistair@alistair23.me>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 932eb13..efc6171 100644
+index bca6b1f..70d06c0 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -153,7 +153,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -172,7 +172,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
  
@@ -31,8 +31,8 @@  index 932eb13..efc6171 100644
 +system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux')
  
  dri_drivers = get_option('dri-drivers')
- if dri_drivers.contains('auto')
-@@ -970,7 +970,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
+ if dri_drivers.length() != 0
+@@ -1074,7 +1074,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
  endif
  
  # TODO: this is very incomplete
diff --git a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
index 80b9af08e8..5c6165c281 100644
--- a/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
+++ b/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
@@ -1,4 +1,4 @@ 
-From 4febda271c6bb0dc69ebf573446c6922a1ec35fb Mon Sep 17 00:00:00 2001
+From fdb2face4eeac3c20eedcca7520f4e7014225fb4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 2 Dec 2021 19:57:42 -0800
 Subject: [PATCH] util/format: Check for NEON before using it
@@ -13,13 +13,14 @@  In file included from ../mesa-21.3.0/src/util/format/u_format_unpack_neon.c:35:
 
 Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/format/u_format.c             | 2 +-
  src/util/format/u_format_unpack_neon.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
-index 36c5e52008e..f0a00971691 100644
+index 36c5e52..f0a0097 100644
 --- a/src/util/format/u_format.c
 +++ b/src/util/format/u_format.c
 @@ -1138,7 +1138,7 @@ static void
@@ -32,7 +33,7 @@  index 36c5e52008e..f0a00971691 100644
        if (unpack) {
           util_format_unpack_table[format] = unpack;
 diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c
-index a4a5cb1f723..1e4f794a295 100644
+index a4a5cb1..1e4f794 100644
 --- a/src/util/format/u_format_unpack_neon.c
 +++ b/src/util/format/u_format_unpack_neon.c
 @@ -23,7 +23,7 @@
@@ -44,6 +45,3 @@  index a4a5cb1f723..1e4f794a295 100644
  
  /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics
   * unless you tell it "no really".
--- 
-2.34.1
-
diff --git a/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch b/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch
deleted file mode 100644
index e87d7d7311..0000000000
--- a/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch
+++ /dev/null
@@ -1,41 +0,0 @@ 
-From e2e2fe86dd61b6fae682a1fec31bd0755ced5cd5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 7 Dec 2021 11:13:27 -0800
-Subject: [PATCH] v3dv: account for 64bit time_t on 32bit arches
-
-This makes is a bit more portable, especially on 32bit architectures
-with 64bit time_t defaults. Especially on musl its a must.
-
-Fixes
-../mesa-21.3.0/src/broadcom/vulkan/v3dv_bo.c:71:15: error: format specifies type 'long' but the argument has type 'time_t' (aka 'long long') [-Werror,-Wformat]
-              time.tv_sec);
-              ^~~~~~~~~~~
-
-Also reported here [1]
-
-[1] https://github.com/agherzan/meta-raspberrypi/issues/969
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14118]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/broadcom/vulkan/v3dv_bo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c
-index 71679ce..dc5e7f5 100644
---- a/src/broadcom/vulkan/v3dv_bo.c
-+++ b/src/broadcom/vulkan/v3dv_bo.c
-@@ -67,8 +67,8 @@ bo_dump_stats(struct v3dv_device *device)
- 
-       struct timespec time;
-       clock_gettime(CLOCK_MONOTONIC, &time);
--      fprintf(stderr, "  now:               %ld\n",
--              time.tv_sec);
-+      fprintf(stderr, "  now:               %lld\n",
-+              (long long)time.tv_sec);
-    }
- 
-    if (cache->size_list_size) {
--- 
-2.34.1
-
diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index 35ab8d5a72..af11baee86 100644
--- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@ 
-From 8f2f48b41aa17eec3c4d63685e3296f28e60b980 Mon Sep 17 00:00:00 2001
+From bf41fa026ae3d378e62fd83d03a6f5933b52ca04 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:08:31 -0800
 Subject: [PATCH] meson.build: make TLS ELF optional
@@ -17,36 +17,36 @@  Traceback (most recent call last):
   File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs
     self.assertEqual(errcount, 0, msg=self.msg)
 AssertionError: 1 != 0 : Log: /home/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/qemux86-poky-linux-musl/core-image-sato-sdk/1.0-r0/target_logs/Xorg.0.log
------------------------
-Central error: [    10.477] (EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error relocating /usr/lib/libGL.so.1: alphasort: initial-exec TLS resolves to dynamic definition in /usr/lib/libGL.so.1
-***********************
 
 Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
-
 ---
- meson.build       | 2 +-
+ meson.build       | 7 +++++--
  meson_options.txt | 6 ++++++
- 2 files changed, 7 insertions(+), 1 deletion(-)
+ 2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 23618c1..c8cc5e3 100644
+index 70d06c0..1441611 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -476,7 +476,7 @@ endif
- use_elf_tls = false
- if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
-     (not with_platform_android or get_option('platform-sdk-version') >= 29) and
--    (not with_platform_windows or not with_shared_glapi))
-+    (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls'))
-   pre_args += '-DUSE_ELF_TLS'
-   use_elf_tls = true
+@@ -490,8 +490,11 @@ foreach platform : _platforms
+   pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper())
+ endforeach
+ 
+-use_elf_tls = true
+-pre_args += '-DUSE_ELF_TLS'
++use_elf_tls = false
++if get_option('elf-tls')
++  use_elf_tls = true
++  pre_args += '-DUSE_ELF_TLS'
++endif
  
+ if with_platform_android and get_option('platform-sdk-version') >= 29
+   # By default the NDK compiler, at least, emits emutls references instead of
 diff --git a/meson_options.txt b/meson_options.txt
-index 29c402c..f70d9b2 100644
+index 1f6ef38..99cc5cb 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -455,6 +455,12 @@ option(
+@@ -440,6 +440,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
@@ -56,6 +56,6 @@  index 29c402c..f70d9b2 100644
 +  value : true,
 +  description : 'Enable TLS support in ELF',
 +)
- option(
-   'prefer-iris',
-   type : 'boolean',
+ option('egl-lib-suffix',
+   type : 'string',
+   value : '',
diff --git a/meta/recipes-graphics/mesa/mesa-gl_21.3.7.bb b/meta/recipes-graphics/mesa/mesa-gl_21.3.7.bb
deleted file mode 100644
index 142bb743b1..0000000000
--- a/meta/recipes-graphics/mesa/mesa-gl_21.3.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@ 
-require mesa.inc
-
-SUMMARY += " (OpenGL only, no EGL/GLES)"
-
-PROVIDES = "virtual/libgl virtual/mesa"
-
-S = "${WORKDIR}/mesa-${PV}"
-
-# At least one DRI rendering engine is required to build mesa.
-# When no X11 is available, use osmesa for the rendering engine.
-PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
-PACKAGECONFIG:class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
-
-# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS
-# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system
-DRIDRIVERS ?= ""
diff --git a/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb b/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb
new file mode 100644
index 0000000000..f2bc8f6b5b
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb
@@ -0,0 +1,13 @@ 
+require mesa.inc
+
+SUMMARY += " (OpenGL only, no EGL/GLES)"
+
+PROVIDES = "virtual/libgl virtual/mesa"
+
+S = "${WORKDIR}/mesa-${PV}"
+
+# At least one DRI rendering engine is required to build mesa.
+# When no X11 is available, use osmesa for the rendering engine.
+PACKAGECONFIG ??= "opengl ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
+PACKAGECONFIG:class-target = "opengl ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
+
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 2f79e8b34d..503a7efba5 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -10,7 +10,7 @@  HOMEPAGE = "http://mesa3d.org"
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=17a4ea65de7a9ab42437f3131e616a7f"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9a383ee9f65a4e939d6630e9b067ff58"
 
 PE = "2"
 
@@ -20,10 +20,9 @@  SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
            file://0001-util-format-Check-for-NEON-before-using-it.patch \
-           file://0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch \
            "
 
-SRC_URI[sha256sum] = "b4fa9db7aa61bf209ef0b40bef83080999d86ad98df8b8b4fada7c128a1efc3d"
+SRC_URI[sha256sum] = "e6c41928b5b9917485bd67cec22d15e62cad7a358bf4c711a647979987601250"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
@@ -84,7 +83,7 @@  def strip_comma(s):
     return s.strip(',')
 
 PACKAGECONFIG:class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm gallium virgl', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
                    elf-tls \
@@ -94,7 +93,7 @@  PACKAGECONFIG:class-nativesdk ?= "gbm gallium egl opengl elf-tls x11"
 
 PACKAGECONFIG:remove:libc-musl = "elf-tls"
 
-# "gbm" requires "dri", "opengl"
+# "gbm" requires "opengl"
 PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
 
 X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
@@ -104,8 +103,6 @@  PACKAGECONFIG[elf-tls] = "-Delf-tls=true, -Delf-tls=false"
 PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc"
 PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
 
-# "dri" requires "opengl"
-PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm"
 PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
 
 # Vulkan drivers need dri3 enabled
@@ -122,7 +119,7 @@  PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
 # "gles" requires "opengl"
 PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
 
-# "egl" requires "dri", "opengl"
+# "egl" requires "opengl"
 PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
 
 PACKAGECONFIG[broadcom] = ""
diff --git a/meta/recipes-graphics/mesa/mesa_21.3.7.bb b/meta/recipes-graphics/mesa/mesa_21.3.7.bb
deleted file mode 100644
index 4cb7e80eb5..0000000000
--- a/meta/recipes-graphics/mesa/mesa_21.3.7.bb
+++ /dev/null
@@ -1,5 +0,0 @@ 
-require ${BPN}.inc
-DRIDRIVERS ??= ""
-DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965"
-DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965"
-
diff --git a/meta/recipes-graphics/mesa/mesa_22.0.0.bb b/meta/recipes-graphics/mesa/mesa_22.0.0.bb
new file mode 100644
index 0000000000..96e8aa38d6
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa_22.0.0.bb
@@ -0,0 +1,2 @@ 
+require ${BPN}.inc
+