graphics/MesaLib: Work around an issue with xf86-video-vmware

This commit is contained in:
pho 2023-07-14 06:27:52 +00:00
parent 6c6eaaa9eb
commit 275f6eaaba
3 changed files with 25 additions and 3 deletions

View file

@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.206 2023/07/10 03:16:45 pho Exp $
# $NetBSD: Makefile,v 1.207 2023/07/14 06:27:52 pho Exp $
DISTNAME= mesa-21.3.9
PKGNAME= ${DISTNAME:S/mesa/MesaLib/}
PKGREVISION= 1
PKGREVISION= 2
CATEGORIES= graphics
MASTER_SITES= https://mesa.freedesktop.org/archive/
EXTRACT_SUFX= .tar.xz

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.164 2022/07/07 14:05:25 wiz Exp $
$NetBSD: distinfo,v 1.165 2023/07/14 06:27:52 pho Exp $
BLAKE2s (mesa-21.3.9.tar.xz) = e948a37881a088c0df4df880e3d1218b874ed5a8cac951a109249b3648519472
SHA512 (mesa-21.3.9.tar.xz) = 4cec6f4f50f444fcd327f7c40f8899c2f265e348e121455262b540b1f890a1468bbea59965af0876c548fa97aa0a05a1b23fa6ca7d308bd60328cfdeab757684
@ -20,6 +20,7 @@ SHA1 (patch-src_gallium_frontends_clover_util_range.hpp) = c1bd73721482642e62378
SHA1 (patch-src_gallium_frontends_osmesa_osmesa.c) = 36631301b02cf89f152925b62f538a3c0b6ab601
SHA1 (patch-src_glx_dri__common.c) = 7fa80f8da89ba90649db170e45c8e842cf69c1eb
SHA1 (patch-src_glx_dri__common.h) = 0274877f8c65a4bb729536a897df4704897a4c6e
SHA1 (patch-src_glx_glx__pbuffer.c) = 92844cfa08dc33047326ecc818d77e8d48f03303
SHA1 (patch-src_glx_glxclient.h) = 7b59d5632e35aa945ad77cd5d1d2fc2e7711e82b
SHA1 (patch-src_glx_glxcurrent.c) = bc844ab6bfe32c0a322ff0fc2c1405b67b90b64a
SHA1 (patch-src_glx_glxext.c) = 1eacf9062b5926ea6c756e769bf6eebc7671ccba

View file

@ -0,0 +1,21 @@
$NetBSD: patch-src_glx_glx__pbuffer.c,v 1.1 2023/07/14 06:27:52 pho Exp $
GLX_EXT_swap_control doesn't work on systems running on vmwgfx. I don't
think this is a proper fix, and the upstream bug report has been seemingly
stuck, but is still necessary for VMware guests. glxgear(1) from
graphics/glx-utils crashes on startup without this workaround.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/4495
--- src/glx/glx_pbuffer.c.orig 2023-07-12 04:37:57.945531844 +0000
+++ src/glx/glx_pbuffer.c
@@ -309,7 +309,8 @@ __glXGetDrawableAttribute(Display * dpy,
}
if (pdraw) {
- if (attribute == GLX_SWAP_INTERVAL_EXT) {
+ if (attribute == GLX_SWAP_INTERVAL_EXT
+ && pdraw->psc->driScreen->getSwapInterval != NULL) {
*value = pdraw->psc->driScreen->getSwapInterval(pdraw);
return 0;
} else if (attribute == GLX_MAX_SWAP_INTERVAL_EXT) {