From 275f6eaabaf9d6b36479152dcb8e1aea3745af47 Mon Sep 17 00:00:00 2001 From: pho Date: Fri, 14 Jul 2023 06:27:52 +0000 Subject: [PATCH] graphics/MesaLib: Work around an issue with xf86-video-vmware --- graphics/MesaLib/Makefile | 4 ++-- graphics/MesaLib/distinfo | 3 ++- .../patches/patch-src_glx_glx__pbuffer.c | 21 +++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 graphics/MesaLib/patches/patch-src_glx_glx__pbuffer.c diff --git a/graphics/MesaLib/Makefile b/graphics/MesaLib/Makefile index e3d65dd44500..a457828ce82d 100644 --- a/graphics/MesaLib/Makefile +++ b/graphics/MesaLib/Makefile @@ -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 diff --git a/graphics/MesaLib/distinfo b/graphics/MesaLib/distinfo index 21cb222120b4..327083a8e79b 100644 --- a/graphics/MesaLib/distinfo +++ b/graphics/MesaLib/distinfo @@ -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 diff --git a/graphics/MesaLib/patches/patch-src_glx_glx__pbuffer.c b/graphics/MesaLib/patches/patch-src_glx_glx__pbuffer.c new file mode 100644 index 000000000000..cfd8ab9d54aa --- /dev/null +++ b/graphics/MesaLib/patches/patch-src_glx_glx__pbuffer.c @@ -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) {