extra/mesa to 21.0.3-3

This commit is contained in:
Kevin Mihelich 2021-05-03 00:15:14 +00:00
parent 52b512ac60
commit 06c360e79c
2 changed files with 45 additions and 1 deletions

View file

@ -0,0 +1,40 @@
From 960c86d6787437b643825baa230bc0cd7f9f7540 Mon Sep 17 00:00:00 2001
From: Bastian Beranek <bastian.beischer@rwth-aachen.de>
Date: Sat, 1 May 2021 09:52:01 +0200
Subject: [PATCH] glx: Assign unique serial number to GLXBadFBConfig error
Since commit f39fd3dce72 a new GLX error is issued in case context creation
fails. This broke wine on certain hardware: While wine installs an error handler
to ignore this kind of error, it does not function because it expects the
dpy->request serial number of the error to be incremented since the installation
of the handler.
Workaround this by artificially increasing the request number. This also
guarantees a unique serial number for the error.
Fixes: f39fd3dce72eaef59ab39a23b75030ef9efc2a40
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3969
Signed-off-by: Bastian Beranek <bastian.beischer@rwth-aachen.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10565>
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
src/glx/create_context.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/glx/create_context.c b/src/glx/create_context.c
index e3a513f58f6..7e1cec98c64 100644
--- a/src/glx/create_context.c
+++ b/src/glx/create_context.c
@@ -146,6 +146,9 @@ glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config,
* somehow on the client side. clean up the server resource and panic.
*/
xcb_glx_destroy_context(c, xid);
+ /* increment dpy->request in order to give a unique serial number to the
+ * error */
+ XNoOp(dpy);
__glXSendError(dpy, GLXBadFBConfig, xid, 0, False);
} else {
gc->xid = xid;
--
2.31.1

View file

@ -12,7 +12,7 @@ pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-broadcom' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=21.0.3
pkgrel=2
pkgrel=3
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
@ -22,11 +22,13 @@ url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
0001-amd-common-Add-missing-line-from-backport-for-cohere.patch
0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch
0001-Rip-out-VC4-forced-NEON.patch
LICENSE)
sha512sums=('4a8aee48a8ea7f32e8aa3bbbd91db26c6053b9a43e62ff88256929e6bc147884f0fef988726b5a3d59d7008663f017c746a0352fd3fcc1c476b8190af4a2531f'
'SKIP'
'f47c227dc888f2030491eaad42d42150539f2c9fc3bbc76d0fd46dc2d85482f520d929b01314cabb963dd36cc3729967f40c7bbfde28fc655024ef52d9fc71b7'
'7922e1c444e49f40c36d748f0fc0f76eba11d2d93d9c2f1c1dc4acbc5fe2ebf7c8f954a35265aef6dde3477cc6b5a49502786e1b6f01aa8027f7df215cde816c'
'57e23d911d3de9bb4021d3d417270483d6edd53a81ad2d59b4e9cf2a9970901cde582b4a2167ee6d9ed47bd9ca90c3abd4e7cee38c028ad5ad183493560e7faf'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
@ -41,6 +43,8 @@ prepare() {
# fix FS#70554 - https://gitlab.freedesktop.org/mesa/mesa/-/issues/4691
patch -Np1 -i ../0001-amd-common-Add-missing-line-from-backport-for-cohere.patch
# fix FS#70015
patch -Np1 -i ../0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch
[[ $CARCH == "armv6h" || $CARCH == "armv7h" ]] && patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch || true
}