@@ -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 @@
@@ -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
-
@@ -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
@@ -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
-
deleted file mode 100644
@@ -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
-
@@ -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 : '',
deleted file mode 100644
@@ -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 ?= ""
new file mode 100644
@@ -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)}"
+
@@ -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] = ""
deleted file mode 100644
@@ -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"
-
new file mode 100644
@@ -0,0 +1,2 @@
+require ${BPN}.inc
+
- 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