diff options
author | Lone_Wolf | 2021-12-08 13:15:06 +0100 |
---|---|---|
committer | Lone_Wolf | 2021-12-08 13:15:06 +0100 |
commit | 47357502e545f3cbd372c2ce7a542cb12f072c3e (patch) | |
tree | 4e9a69bc2f60e87c5e7397c0eef00869bd332971 | |
parent | e8e25ce7952cd7b787ca32801082f654d8361267 (diff) | |
download | aur-47357502e545f3cbd372c2ce7a542cb12f072c3e.tar.gz |
patch applied from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14120
-rw-r--r-- | .SRCINFO | 5 | ||||
-rw-r--r-- | 0001-glx-fix-regression-for-drawable-type-detection.patch | 54 | ||||
-rw-r--r-- | PKGBUILD | 13 |
3 files changed, 66 insertions, 6 deletions
@@ -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 + @@ -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 () { |