diff --git a/buildroot-patches/0112-Bump-mesa3d-to-latest-version-from-buildroot-master.patch b/buildroot-patches/0112-Bump-mesa3d-to-latest-version-from-buildroot-master.patch new file mode 100644 index 00000000..0ea8ae39 --- /dev/null +++ b/buildroot-patches/0112-Bump-mesa3d-to-latest-version-from-buildroot-master.patch @@ -0,0 +1,392 @@ +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 +