summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLone_Wolf2021-12-08 13:15:06 +0100
committerLone_Wolf2021-12-08 13:15:06 +0100
commit47357502e545f3cbd372c2ce7a542cb12f072c3e (patch)
tree4e9a69bc2f60e87c5e7397c0eef00869bd332971
parente8e25ce7952cd7b787ca32801082f654d8361267 (diff)
downloadaur-47357502e545f3cbd372c2ce7a542cb12f072c3e.tar.gz
patch applied from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14120
-rw-r--r--.SRCINFO5
-rw-r--r--0001-glx-fix-regression-for-drawable-type-detection.patch54
-rw-r--r--PKGBUILD13
3 files changed, 66 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9a852c24686a..d2d7af123f56 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mesa-minimal-git
pkgdesc = an open-source implementation of the OpenGL specification, stripped down git version
- pkgver = 21.3.0_devel.146171.94e07058ee5
+ pkgver = 22.0.0_devel.147864.420170fabc1
pkgrel = 1
url = https://www.mesa3d.org
arch = x86_64
@@ -53,10 +53,13 @@ pkgbase = mesa-minimal-git
conflicts = vulkan-swrast
conflicts = mesa-vdpau
source = mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git
+ source = 0001-glx-fix-regression-for-drawable-type-detection.patch
source = LICENSE
md5sums = SKIP
+ md5sums = a3e0a0d14546591186b2f40dc9fb29a3
md5sums = 5c65a0fe315dd347e09b1f2826a1df5a
sha512sums = SKIP
+ sha512sums = 111679f418790e1c7d82e447b800dec2db8d092643774e9f6e5063a6d6787d368d48afd78821731414d28910ebe30fd3438f9058fab2f620ee86ea33e1930780
sha512sums = 25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2
pkgname = mesa-minimal-git
diff --git a/0001-glx-fix-regression-for-drawable-type-detection.patch b/0001-glx-fix-regression-for-drawable-type-detection.patch
new file mode 100644
index 000000000000..0ff1c812a05d
--- /dev/null
+++ b/0001-glx-fix-regression-for-drawable-type-detection.patch
@@ -0,0 +1,54 @@
+From e3ef7eedc94fe4eb2af2f79324bfaf4e56b37961 Mon Sep 17 00:00:00 2001
+From: Qiang Yu <yuq825@gmail.com>
+Date: Wed, 8 Dec 2021 10:57:45 +0800
+Subject: [PATCH] glx: fix regression for drawable type detection
+
+Newer version of XServer supporting GLX_DRAWABLE_TYPE query also
+support query with raw X11 window ID besides GLXWindow ID. So we
+should not limit the suppported type to GLXPbuffer when query
+success.
+
+Otherwise can't start GLX application on newer XServer with:
+
+ libGL error: GLX drawable type is not supported
+ libGL error: GLX drawable type is not supported
+ X Error of failed request: GLXBadContext
+ Major opcode of failed request: 149 (GLX)
+ Minor opcode of failed request: 5 (X_GLXMakeCurrent)
+ Serial number of failed request: 35
+ Current serial number in output stream: 35
+
+Fixes: 6625c960c58 ("glx: check drawable type before create drawble")
+
+Signed-off-by: Qiang Yu <yuq825@gmail.com>
+---
+ src/glx/dri_common.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
+index 0be684dda95..27e78fb3799 100644
+--- a/src/glx/dri_common.c
++++ b/src/glx/dri_common.c
+@@ -392,15 +392,13 @@ driFetchDrawable(struct glx_context *gc, GLXDrawable glxDrawable)
+
+ /* Infer the GLX drawable type. */
+ if (__glXGetDrawableAttribute(dpy, glxDrawable, GLX_DRAWABLE_TYPE, &type)) {
+- if (type != GLX_PBUFFER_BIT) {
+- ErrorMessageF("GLX drawable type is not supported\n");
++ /* Xserver may support query with raw X11 window. */
++ if (type == GLX_PIXMAP_BIT) {
++ ErrorMessageF("GLXPixmap drawable type is not supported\n");
+ return NULL;
+ }
+ } else {
+- /* Xserver may not implement GLX_DRAWABLE_TYPE query yet, or glxDrawable
+- * is a X window. Assume it's a GLXPbuffer in former case, because we don't
+- * know GLXPixmap and GLXWindow's X drawable ID anyway.
+- */
++ /* Xserver may not implement GLX_DRAWABLE_TYPE query yet. */
+ type = GLX_PBUFFER_BIT | GLX_WINDOW_BIT;
+ }
+
+--
+2.34.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 7aad844d7019..c754717076ba 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,7 @@
pkgname=mesa-minimal-git
pkgdesc="an open-source implementation of the OpenGL specification, stripped down git version"
-pkgver=21.3.0_devel.146171.94e07058ee5
+pkgver=22.0.0_devel.147864.420170fabc1
pkgrel=1
arch=('x86_64')
makedepends=('git' 'python-mako' 'xorgproto'
@@ -28,14 +28,15 @@ conflicts=('mesa' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-mesa-laye
url="https://www.mesa3d.org"
license=('custom')
source=('mesa::git+https://gitlab.freedesktop.org/mesa/mesa.git'
+ '0001-glx-fix-regression-for-drawable-type-detection.patch'
'LICENSE'
)
md5sums=('SKIP'
- '5c65a0fe315dd347e09b1f2826a1df5a'
-)
+ 'a3e0a0d14546591186b2f40dc9fb29a3'
+ '5c65a0fe315dd347e09b1f2826a1df5a')
sha512sums=('SKIP'
- '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
-)
+ '111679f418790e1c7d82e447b800dec2db8d092643774e9f6e5063a6d6787d368d48afd78821731414d28910ebe30fd3438f9058fab2f620ee86ea33e1930780'
+ '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2')
# ninja grabs all available cores and leaves almost nothing for other processes.
# this package uses the environment variable NINJAFLAGS to allow the user to change this behaviour
@@ -54,6 +55,8 @@ prepare() {
if [ -d _build ]; then
rm -rf _build
fi
+ # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14120
+ patch --directory=mesa --forward --strip=1 --input="${srcdir}"/0001-glx-fix-regression-for-drawable-type-detection.patch
}
build () {