summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-graphics/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-graphics/mesa')
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch72
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch12
-rw-r--r--poky/meta/recipes-graphics/mesa/files/without-neon.patch53
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb)0
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc9
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb (renamed from poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb)1
6 files changed, 64 insertions, 83 deletions
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch b/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch
deleted file mode 100644
index 1a8771028..000000000
--- a/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 303c02a31df4e2b8f6090e75982922a9cba33e4c Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Tue, 27 Jul 2021 11:41:53 -0500
-Subject: [PATCH] v3d, vc4: Fix dmabuf import for non-scanout buffers
-
-Failure to create a buffer for scanout should not be fatal when
-importing a buffer. Buffers allocated from a render-only device may not
-be able to scanned out directly but can still be used for other
-rendering purposes (e.g. as a texture).
-
-Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12081]
----
- src/gallium/drivers/v3d/v3d_resource.c | 13 +++++--------
- src/gallium/drivers/vc4/vc4_resource.c | 3 ---
- 2 files changed, 5 insertions(+), 11 deletions(-)
-
-diff --git a/src/gallium/drivers/v3d/v3d_resource.c b/src/gallium/drivers/v3d/v3d_resource.c
-index 602ba6d8447..02dc29ae6a0 100644
---- a/src/gallium/drivers/v3d/v3d_resource.c
-+++ b/src/gallium/drivers/v3d/v3d_resource.c
-@@ -433,10 +433,11 @@ v3d_resource_get_handle(struct pipe_screen *pscreen,
- return v3d_bo_flink(bo, &whandle->handle);
- case WINSYS_HANDLE_TYPE_KMS:
- if (screen->ro) {
-- assert(rsc->scanout);
-- bool ok = renderonly_get_handle(rsc->scanout, whandle);
-- whandle->stride = rsc->slices[0].stride;
-- return ok;
-+ if (renderonly_get_handle(rsc->scanout, whandle)) {
-+ whandle->stride = rsc->slices[0].stride;
-+ return true;
-+ }
-+ return false;
- }
- whandle->handle = bo->handle;
- return true;
-@@ -929,10 +930,6 @@ v3d_resource_from_handle(struct pipe_screen *pscreen,
- renderonly_create_gpu_import_for_resource(prsc,
- screen->ro,
- NULL);
-- if (!rsc->scanout) {
-- fprintf(stderr, "Failed to create scanout resource.\n");
-- goto fail;
-- }
- }
-
- if (rsc->tiled && whandle->stride != slice->stride) {
-diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c
-index 61e5fd7e5a6..bf3f7656ff8 100644
---- a/src/gallium/drivers/vc4/vc4_resource.c
-+++ b/src/gallium/drivers/vc4/vc4_resource.c
-@@ -320,7 +320,6 @@ vc4_resource_get_handle(struct pipe_screen *pscreen,
- return vc4_bo_flink(rsc->bo, &whandle->handle);
- case WINSYS_HANDLE_TYPE_KMS:
- if (screen->ro) {
-- assert(rsc->scanout);
- return renderonly_get_handle(rsc->scanout, whandle);
- }
- whandle->handle = rsc->bo->handle;
-@@ -689,8 +688,6 @@ vc4_resource_from_handle(struct pipe_screen *pscreen,
- renderonly_create_gpu_import_for_resource(prsc,
- screen->ro,
- NULL);
-- if (!rsc->scanout)
-- goto fail;
- }
-
- if (rsc->tiled && whandle->stride != slice->stride) {
---
-2.32.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index eac6d4df8..35ab8d5a7 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From d434b9e5d29d614b57c09e164e1d084094bf2150 Mon Sep 17 00:00:00 2001
+From 8f2f48b41aa17eec3c4d63685e3296f28e60b980 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
@@ -30,10 +30,10 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me>
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 42f448e..02f6e33 100644
+index 23618c1..c8cc5e3 100644
--- a/meson.build
+++ b/meson.build
-@@ -449,7 +449,7 @@ endif
+@@ -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
@@ -41,12 +41,12 @@ index 42f448e..02f6e33 100644
+ (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls'))
pre_args += '-DUSE_ELF_TLS'
use_elf_tls = true
- endif
+
diff --git a/meson_options.txt b/meson_options.txt
-index a7030ab..635ec20 100644
+index 29c402c..f70d9b2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -421,6 +421,12 @@ option(
+@@ -455,6 +455,12 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
diff --git a/poky/meta/recipes-graphics/mesa/files/without-neon.patch b/poky/meta/recipes-graphics/mesa/files/without-neon.patch
new file mode 100644
index 000000000..56e4aa776
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/without-neon.patch
@@ -0,0 +1,53 @@
+Since 80923e8d ("util/format: Add some NEON intrinsics-based u_format_unpack.")
+upstream the build fails on Arm platforms which use the soft-float ABI, such as
+qemuarmv5:
+
+ arm_neon.h:31:2: error: #error "NEON intrinsics not available with the
+ soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
+
+Take a patch from upstream to check the ABI being used before trying to
+use NEON instructions.
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12569]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 5dcce985a6dd3b7856d65e21db753e2c7a0f5dd5 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@debian.org>
+Date: Thu, 26 Aug 2021 22:35:49 +0300
+Subject: [PATCH] util/format: NEON is not available with the soft-float ABI
+
+Fixes: 80923e8d58cc ("util/format: Add some NEON intrinsics-based u_format_unpack.")
+---
+ 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 c49b3788c82..31f1f240efc 100644
+--- a/src/util/format/u_format.c
++++ b/src/util/format/u_format.c
+@@ -1138,7 +1138,7 @@ static void
+ util_format_unpack_table_init(void)
+ {
+ for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) {
+-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined NO_FORMAT_ASM
++#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
+ const struct util_format_unpack_description *unpack = util_format_unpack_description_neon(format);
+ 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 7456d7aaa88..a4a5cb1f723 100644
+--- a/src/util/format/u_format_unpack_neon.c
++++ b/src/util/format/u_format_unpack_neon.c
+@@ -23,7 +23,7 @@
+
+ #include <u_format.h>
+
+-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined NO_FORMAT_ASM
++#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
+
+ /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics
+ * unless you tell it "no really".
+--
+GitLab
+
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb
index 142bb743b..142bb743b 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 4f446daaa..0a7a3ca7b 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -19,10 +19,10 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0002-meson.build-make-TLS-ELF-optional.patch \
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-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch \
+ file://without-neon.patch \
"
-SRC_URI[sha256sum] = "022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d"
+SRC_URI[sha256sum] = "2c65e6710b419b67456a48beefd0be827b32db416772e0e363d5f7d54dc01787"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -132,9 +132,8 @@ PACKAGECONFIG[v3d] = ""
GALLIUMDRIVERS = "swrast"
# gallium swrast was found to crash Xorg on startup in x32 qemu
GALLIUMDRIVERS:x86-x32 = ""
-# Add crocus when 21.2 is out to the list below to support the full range of Intel GPUs
-GALLIUMDRIVERS:append:x86:class-target = ",i915,iris"
-GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris"
+GALLIUMDRIVERS:append:x86:class-target = ",i915,iris,crocus"
+GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris,crocus"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb b/poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb
index 951fe8333..4cb7e80eb 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb
@@ -2,3 +2,4 @@ require ${BPN}.inc
DRIDRIVERS ??= ""
DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965"
DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965"
+