Date: Sunday, May 2, 2021 @ 18:02:02 Author: lcarlier Revision: 414187
upgpkg: mesa 21.0.3-3: fix FS#70015 Added: mesa/trunk/0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch Modified: mesa/trunk/PKGBUILD -----------------------------------------------------------------+ 0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch | 40 ++++++++++ PKGBUILD | 6 + 2 files changed, 45 insertions(+), 1 deletion(-) Added: 0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch =================================================================== --- 0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch (rev 0) +++ 0001-glx-Assign-unique-serial-number-to-GLXBadFBConfig-er.patch 2021-05-02 18:02:02 UTC (rev 414187) @@ -0,0 +1,40 @@ +From 960c86d6787437b643825baa230bc0cd7f9f7540 Mon Sep 17 00:00:00 2001 +From: Bastian Beranek <bastian.beisc...@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.beisc...@rwth-aachen.de> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10565> +Signed-off-by: Laurent Carlier <lordhea...@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 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-05-02 17:45:55 UTC (rev 414186) +++ PKGBUILD 2021-05-02 18:02:02 UTC (rev 414187) @@ -7,7 +7,7 @@ pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' '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' @@ -17,10 +17,12 @@ 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 LICENSE) sha512sums=('4a8aee48a8ea7f32e8aa3bbbd91db26c6053b9a43e62ff88256929e6bc147884f0fef988726b5a3d59d7008663f017c746a0352fd3fcc1c476b8190af4a2531f' 'SKIP' 'f47c227dc888f2030491eaad42d42150539f2c9fc3bbc76d0fd46dc2d85482f520d929b01314cabb963dd36cc3729967f40c7bbfde28fc655024ef52d9fc71b7' + '7922e1c444e49f40c36d748f0fc0f76eba11d2d93d9c2f1c1dc4acbc5fe2ebf7c8f954a35265aef6dde3477cc6b5a49502786e1b6f01aa8027f7df215cde816c' 'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.veli...@gmail.com> '946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <ta...@igalia.com> @@ -34,6 +36,8 @@ # 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 } build() {