[arch-commits] Commit in mesa/trunk (2 files)

Laurent Carlier lcarlier at archlinux.org
Sun May 2 18:02:02 UTC 2021


    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.beischer at 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 at rwth-aachen.de>
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10565>
+Signed-off-by: Laurent Carlier <lordheavym at 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.velikov at gmail.com>
               '946D09B5E4C9845E63075FF1D961C596A7203456'  # Andres Gomez <tanty at 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() {



More information about the arch-commits mailing list