From a14fa4637769f1c77812ccf3b9f2d035c6b7bfd0 Mon Sep 17 00:00:00 2001 From: j1nx Date: Mon, 18 May 2020 10:20:52 +0200 Subject: [PATCH 1/1] Bump mesa3d to latest version from buildroot master --- package/mesa3d-headers/mesa3d-headers.mk | 2 +- ...d-scanner-provided-by-wayland-scanne.patch | 52 ------------------ .../0005-vc4_bufmgr-fix-time_t-printf.patch | 33 ++++++++++++ ...n_bo.h-add-time.h-include-for-time_t.patch | 32 +++++++++++ ...util-remove-the-dependency-on-kcmp.h.patch | 42 --------------- .../0007-v3d_bufmgr-fix-time_t-printf.patch | 33 ++++++++++++ package/mesa3d/Config.in | 2 +- package/mesa3d/mesa3d.hash | 8 +-- package/mesa3d/mesa3d.mk | 54 +++++++++++-------- 9 files changed, 137 insertions(+), 121 deletions(-) delete mode 100644 package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch create mode 100644 package/mesa3d/0005-vc4_bufmgr-fix-time_t-printf.patch create mode 100644 package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch delete mode 100644 package/mesa3d/0006-util-remove-the-dependency-on-kcmp.h.patch create mode 100644 package/mesa3d/0007-v3d_bufmgr-fix-time_t-printf.patch diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk index 6af6e8843f..51b10acdb5 100644 --- a/package/mesa3d-headers/mesa3d-headers.mk +++ b/package/mesa3d-headers/mesa3d-headers.mk @@ -12,7 +12,7 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 19.3.4 +MESA3D_HEADERS_VERSION = 20.0.7 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive MESA3D_HEADERS_DL_SUBDIR = mesa3d diff --git a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch b/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch deleted file mode 100644 index 784b27c4a2..0000000000 --- a/package/mesa3d/0002-meson-use-wayland-scanner-provided-by-wayland-scanne.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0e107f7bac8d84d8fb2bb5b83bfb4474348a82c1 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 17 Apr 2019 22:47:05 +0200 -Subject: [PATCH] meson: use wayland-scanner provided by wayland-scanner-path - -When cross-compiling the .pc file might point to the wrong -wayland-scanner binary (target rather than host) resulting in a -non-executable and wrong scanner. -First try by using the path provided by wayland-scanner-path, -and if that fails fall back into pkg-config. - -Based on the patch for autotools provided by Gustavo Zacarias. - -Signed-off-by: Romain Naour ---- - meson.build | 5 ++++- - meson_options.txt | 6 ++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 6c4f1508855..ef0532b2cfb 100644 ---- a/meson.build -+++ b/meson.build -@@ -1319,7 +1319,10 @@ endif - - if with_platform_wayland - dep_wl_scanner = dependency('wayland-scanner', native: true) -- prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner')) -+ prog_wl_scanner = get_option('wayland-scanner-path') -+ if prog_wl_scanner == '' -+ prog_wl_scanner = find_program(dep_wl_scanner.get_pkgconfig_variable('wayland_scanner')) -+ endif - if dep_wl_scanner.version().version_compare('>= 1.15') - wl_scanner_arg = 'private-code' - else -diff --git a/meson_options.txt b/meson_options.txt -index ccf70659ff7..59ff8df8337 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -324,3 +324,9 @@ option( - value : true, - description : 'Enable direct rendering in GLX and EGL for DRI', - ) -+option( -+ 'wayland-scanner-path', -+ type : 'string', -+ value : '', -+ description : 'Locations to wayland-scanner binary. Default: use path from pkg-config' -+) --- -2.20.1 - diff --git a/package/mesa3d/0005-vc4_bufmgr-fix-time_t-printf.patch b/package/mesa3d/0005-vc4_bufmgr-fix-time_t-printf.patch new file mode 100644 index 0000000000..56357e1f3a --- /dev/null +++ b/package/mesa3d/0005-vc4_bufmgr-fix-time_t-printf.patch @@ -0,0 +1,33 @@ +From 4ed48324b032857c95e6803409d5def9660d5b46 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 22 Mar 2020 11:42:35 +0100 +Subject: [PATCH] vc4_bufmgr: fix time_t printf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + error: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘time_t’ {aka ‘long long int’} + +Signed-off-by: Peter Seiderer +--- + src/gallium/drivers/vc4/vc4_bufmgr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c +index f7ac1698ee3..a786e8ee939 100644 +--- a/src/gallium/drivers/vc4/vc4_bufmgr.c ++++ b/src/gallium/drivers/vc4/vc4_bufmgr.c +@@ -100,7 +100,7 @@ vc4_bo_dump_stats(struct vc4_screen *screen) + struct timespec time; + clock_gettime(CLOCK_MONOTONIC, &time); + fprintf(stderr, " now: %ld\n", +- time.tv_sec); ++ (long)time.tv_sec); + } + } + +-- +2.25.1 + diff --git a/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch new file mode 100644 index 0000000000..1586b26bba --- /dev/null +++ b/package/mesa3d/0006-pan_bo.h-add-time.h-include-for-time_t.patch @@ -0,0 +1,32 @@ +From fc93d357efd207525a4ddaac609ab5a6bf469bcd Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 22 Mar 2020 11:48:31 +0100 +Subject: [PATCH] pan_bo.h: add time.h include for time_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + ../src/gallium/drivers/panfrost/pan_bo.h:93:9: error: unknown type name ‘time_t’ + +Signed-off-by: Peter Seiderer +--- + src/gallium/drivers/panfrost/pan_bo.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/gallium/drivers/panfrost/pan_bo.h b/src/gallium/drivers/panfrost/pan_bo.h +index 414c356b95c..6dda393095d 100644 +--- a/src/gallium/drivers/panfrost/pan_bo.h ++++ b/src/gallium/drivers/panfrost/pan_bo.h +@@ -29,6 +29,7 @@ + #include + #include "pipe/p_state.h" + #include "util/list.h" ++#include + + struct panfrost_screen; + +-- +2.25.1 + diff --git a/package/mesa3d/0006-util-remove-the-dependency-on-kcmp.h.patch b/package/mesa3d/0006-util-remove-the-dependency-on-kcmp.h.patch deleted file mode 100644 index 27ae021e08..0000000000 --- a/package/mesa3d/0006-util-remove-the-dependency-on-kcmp.h.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 63ad4535df6a0a938e7391d73adcada05e730c89 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= -Date: Tue, 18 Feb 2020 16:12:23 -0500 -Subject: [PATCH] util: remove the dependency on kcmp.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: f76cbc7901f7 "util: Add os_same_file_description helper" - -Acked-by: Eric Engestrom -Reviewed-by: Michel Dänzer -Tested-by: Marge Bot -Part-of: - -[ Upstream: https://cgit.freedesktop.org/mesa/mesa/commit/?id=f7bfb10c69dfe48a91e35523cb5ee641bdbf6988 ] -Signed-off-by: Peter Seiderer ---- - src/util/os_file.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/util/os_file.c b/src/util/os_file.c -index b502ff4..128fe87 100644 ---- a/src/util/os_file.c -+++ b/src/util/os_file.c -@@ -34,11 +34,12 @@ os_file_create_unique(const char *filename, int filemode) - #if defined(__linux__) - - #include --#include - #include - #include - #include - -+/* copied from */ -+#define KCMP_FILE 0 - - static ssize_t - readN(int fd, char *buf, size_t len) --- -2.25.1 - diff --git a/package/mesa3d/0007-v3d_bufmgr-fix-time_t-printf.patch b/package/mesa3d/0007-v3d_bufmgr-fix-time_t-printf.patch new file mode 100644 index 0000000000..f8031c2847 --- /dev/null +++ b/package/mesa3d/0007-v3d_bufmgr-fix-time_t-printf.patch @@ -0,0 +1,33 @@ +From c4984ce2b7d3bd7129ddb02e4e423bf00498607a Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sun, 22 Mar 2020 13:03:00 +0100 +Subject: [PATCH] v3d_bufmgr: fix time_t printf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + error: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘time_t’ {aka ‘long long int’} + +Signed-off-by: Peter Seiderer +--- + src/gallium/drivers/v3d/v3d_bufmgr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gallium/drivers/v3d/v3d_bufmgr.c b/src/gallium/drivers/v3d/v3d_bufmgr.c +index 50e4081dafd..31a08036b38 100644 +--- a/src/gallium/drivers/v3d/v3d_bufmgr.c ++++ b/src/gallium/drivers/v3d/v3d_bufmgr.c +@@ -81,7 +81,7 @@ v3d_bo_dump_stats(struct v3d_screen *screen) + struct timespec time; + clock_gettime(CLOCK_MONOTONIC, &time); + fprintf(stderr, " now: %ld\n", +- time.tv_sec); ++ (long)time.tv_sec); + } + } + +-- +2.25.1 + diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 16d77f42c2..dd512d9b76 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -106,13 +106,13 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_ETNAVIV select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO - select BR2_PACKAGE_MESA3D_OPENGL_EGL help Mesa driver for Vivante GPUs. config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO bool "Gallium freedreno driver" select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_LIBDRM_FREEDRENO select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO help Mesa driver for Freedreno GPUs. diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash index 3237135b1c..0a6d0c5a82 100644 --- a/package/mesa3d/mesa3d.hash +++ b/package/mesa3d/mesa3d.hash @@ -1,6 +1,6 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2020-February/000570.html -sha256 1da467e6ae2799a517e242462331eafd29ae77d9872f3a845df81f7c308e8fe4 mesa-19.3.4.tar.xz -sha512 2bbb3dc8f1d839f11fe12cc959393cd69607fa6714b2166b80299e0559d2d3b0ac38ed4e15ac3e5f472264eb24536d1901d350f7409f3a7e00d6f4ccbb2312fb mesa-19.3.4.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2020-May/000583.html +sha256 fe6e258fe772c3cd2ac01741bf7408058c3ac02d66acff9a6e669bd72e3ea178 mesa-20.0.7.tar.xz +sha512 00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685 mesa-20.0.7.tar.xz # License -sha256 d8d662974fc86e2e640362015e42de3fcc161d435a9f2111ecd8561412feca73 docs/license.html +sha256 1ddae7da415352a5b5360ff3a9d7ecf23ba81408f62eeecce0011f32e3ef9da6 docs/license.html diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index e742c4982b..d1933dabfd 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -5,7 +5,7 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 19.3.4 +MESA3D_VERSION = 20.0.7 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://mesa.freedesktop.org/archive MESA3D_LICENSE = MIT, SGI, Khronos @@ -25,8 +25,7 @@ MESA3D_DEPENDENCIES = \ MESA3D_CONF_OPTS = \ -Dgallium-omx=disabled \ - -Dpower8=false \ - -Dvalgrind=false + -Dpower8=false ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y) MESA3D_DEPENDENCIES += host-llvm llvm @@ -168,7 +167,22 @@ endef MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_HEADERS endif -MESA3D_PLATFORMS = surfaceless +ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_X11),y) +MESA3D_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXdamage \ + xlib_libXfixes \ + xlib_libXrandr \ + xlib_libXxf86vm \ + xorgproto \ + libxcb +MESA3D_PLATFORMS += x11 +endif +ifeq ($(BR2_PACKAGE_WAYLAND),y) +MESA3D_DEPENDENCIES += wayland wayland-protocols +MESA3D_PLATFORMS += wayland +endif ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) MESA3D_PLATFORMS += drm else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D),y) @@ -190,23 +204,7 @@ MESA3D_PLATFORMS += drm else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y) MESA3D_PLATFORMS += drm endif -ifeq ($(BR2_PACKAGE_WAYLAND),y) -MESA3D_DEPENDENCIES += wayland wayland-protocols -MESA3D_PLATFORMS += wayland -MESA3D_CONF_OPTS += -Dwayland-scanner-path=$(HOST_DIR)/bin/wayland-scanner -endif -ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_X11),y) -MESA3D_DEPENDENCIES += \ - xlib_libX11 \ - xlib_libXext \ - xlib_libXdamage \ - xlib_libXfixes \ - xlib_libXrandr \ - xlib_libXxf86vm \ - xorgproto \ - libxcb -MESA3D_PLATFORMS += x11 -endif +MESA3D_PLATFORMS += surfaceless MESA3D_CONF_OPTS += \ -Dplatforms=$(subst $(space),$(comma),$(MESA3D_PLATFORMS)) @@ -242,6 +240,13 @@ else MESA3D_CONF_OPTS += -Dgallium-xvmc=false endif +ifeq ($(BR2_PACKAGE_VALGRIND),y) +MESA3D_CONF_OPTS += -Dvalgrind=true +MESA3D_DEPENDENCIES += valgrind +else +MESA3D_CONF_OPTS += -Dvalgrind=false +endif + ifeq ($(BR2_PACKAGE_LIBUNWIND),y) MESA3D_CONF_OPTS += -Dlibunwind=true MESA3D_DEPENDENCIES += libunwind @@ -263,4 +268,11 @@ else MESA3D_CONF_OPTS += -Dlmsensors=false endif +ifeq ($(BR2_PACKAGE_ZSTD),y) +MESA3D_CONF_OPTS += -Dzstd=true +MESA3D_DEPENDENCIES += zstd +else +MESA3D_CONF_OPTS += -Dzstd=false +endif + $(eval $(meson-package)) -- 2.20.1