extra/mesa to 21.3.2-1

This commit is contained in:
David Beauchamp 2021-12-21 09:43:24 -05:00
parent 210a42a74f
commit 8b7a10be4e
2 changed files with 2 additions and 84 deletions

View file

@ -13,7 +13,7 @@
pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-broadcom' 'vulkan-panfrost' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=21.3.1
pkgver=21.3.2
pkgrel=1
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
@ -25,14 +25,12 @@ license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
swr-llvm13-patch1.patch
swr-llvm13-patch2.patch
gbm-fix-with-old-nvidia-drivers.patch
0001-Rip-out-VC4-forced-NEON.patch
LICENSE)
sha512sums=('43f019d4810bafd177b1a41207ae20a77982e4e6df3ab2b7a700273748cbc766694bd44594c898c4bd7848a94200fd28237a67d290c4e06595e6eab71cb716e8'
sha512sums=('35c510cbab70be43bc207720a12fe85b0c010fafa147238f2c22dd873967278f187ee7675a662882ead3598305f1f37804567deb93022a692ca259f563abfdac'
'SKIP'
'073ea2bb4778b3151717b26e0ec737abb4916ea340c7193a7382c2e2197534e93e95622d530e2f731ae156fd6ca1fc86f315f6ecae0baaeab88846773fb98bba'
'b59f18f4bc69b872e97b5f33a53b9c2398143bc1d0a1b42787ca2a0c204fc11b2837ca40f6f773a0b1bd49756754f9d755ac14d4eb10df6269570477ba8484fc'
'8484be4d1d3dc38cefe22edea33c5cfce98bb71711370e502cc812f41b0d5536857749cb337cb6a8feb370d87e38d6f2c294bea3470370e25dc2ddd1ab691bf2'
'4cd472e3db19b658265cbbeae6b23be6b5bbf54380c64963f867aa3991de4700b48aae23718283aae4608e8e73627a0103862adbbae9ce17a00a266e425e948c'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
@ -50,9 +48,6 @@ prepare() {
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13267
patch -Np1 -i ../swr-llvm13-patch2.patch
# Fix KDE with old nvidia drivers
patch -Np1 -i ../gbm-fix-with-old-nvidia-drivers.patch
if [[ $CARCH != "aarch64" ]]; then
patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch
CPPFLAGS+=" -DNO_FORMAT_ASM"

View file

@ -1,77 +0,0 @@
From 873ce884fd217f2ca2a5fe9764b65e75102124d6 Mon Sep 17 00:00:00 2001
From: James Jones <jajones@nvidia.com>
Date: Fri, 19 Nov 2021 11:50:18 -0800
Subject: [PATCH] gbm: Don't pass default usage flags on ABIs < 1
Older drivers will not expect any flags from the
GBM front-end when modifiers are in use, and will
likely fail the allocation or handle them
incorrectly as a result. Only specify usage flags
when allocating from a backend with an ABI >= 1,
as that's the ABI version that added support for
specifying usage flags along with modifiers.
Fixes: d50b47a14e9 ("gbm: assume USE_SCANOUT in create_with_modifiers")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5709
Signed-off-by: James Jones <jajones@nvidia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14049>
---
src/gbm/main/gbm.c | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/gbm/main/gbm.c b/src/gbm/main/gbm.c
index 476a03cb5b8..6b1b3248142 100644
--- a/src/gbm/main/gbm.c
+++ b/src/gbm/main/gbm.c
@@ -500,8 +500,22 @@ gbm_bo_create_with_modifiers(struct gbm_device *gbm,
const uint64_t *modifiers,
const unsigned int count)
{
+ uint32_t flags = 0;
+
+ /*
+ * ABI version 1 added the modifiers+flags capability. Backends from
+ * prior versions may fail if "unknown" flags are provided along with
+ * modifiers, but assume scanout is required when modifiers are used.
+ * Newer backends expect scanout to be explicitly requested if required,
+ * but applications using this older interface rely on the older implied
+ * requirement, so that behavior must be preserved.
+ */
+ if (gbm->v0.backend_version >= 1) {
+ flags |= GBM_BO_USE_SCANOUT;
+ }
+
return gbm_bo_create_with_modifiers2(gbm, width, height, format, modifiers,
- count, GBM_BO_USE_SCANOUT);
+ count, flags);
}
GBM_EXPORT struct gbm_bo *
@@ -651,9 +665,23 @@ gbm_surface_create_with_modifiers(struct gbm_device *gbm,
const uint64_t *modifiers,
const unsigned int count)
{
+ uint32_t flags = 0;
+
+ /*
+ * ABI version 1 added the modifiers+flags capability. Backends from
+ * prior versions may fail if "unknown" flags are provided along with
+ * modifiers, but assume scanout is required when modifiers are used.
+ * Newer backends expect scanout to be explicitly requested if required,
+ * but applications using this older interface rely on the older implied
+ * requirement, so that behavior must be preserved.
+ */
+ if (gbm->v0.backend_version >= 1) {
+ flags |= GBM_BO_USE_SCANOUT;
+ }
+
return gbm_surface_create_with_modifiers2(gbm, width, height, format,
modifiers, count,
- GBM_BO_USE_SCANOUT);
+ flags);
}
GBM_EXPORT struct gbm_surface *
--
GitLab