VirtualGL: add patch to fix build with recent mesa versions
This commit is contained in:
parent
ad07c13c3c
commit
490dbb863a
2 changed files with 106 additions and 0 deletions
|
@ -0,0 +1,105 @@
|
||||||
|
From faedcc1e36b4ed89a325e01822447900840a0b77 Mon Sep 17 00:00:00 2001
|
||||||
|
From: DRC <information@virtualgl.org>
|
||||||
|
Date: Thu, 13 Feb 2020 19:11:46 -0600
|
||||||
|
Subject: [PATCH] Faker: Fix build issue w/ Mesa 19.3.0+ headers
|
||||||
|
|
||||||
|
Mesa changed the signatures for glXGetTransparentIndexSUN() and
|
||||||
|
glXQueryGLXPbufferSGIX() to match the official GLX extension specs:
|
||||||
|
https://www.khronos.org/registry/OpenGL/extensions/SUN/GLX_SUN_get_transparent_index.txt
|
||||||
|
https://www.khronos.org/registry/OpenGL/extensions/SGIX/GLX_SGIX_pbuffer.txt
|
||||||
|
|
||||||
|
Reference:
|
||||||
|
https://gitlab.freedesktop.org/mesa/mesa/commit/3dd299c3d5b88114894ec30d1fac85fba688201f
|
||||||
|
|
||||||
|
Fixes #109
|
||||||
|
---
|
||||||
|
ChangeLog.md | 2 ++
|
||||||
|
server/faker-glx.cpp | 14 +++++++++++++-
|
||||||
|
server/faker-sym.h | 8 +++++++-
|
||||||
|
3 files changed, 22 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ChangeLog.md b/ChangeLog.md
|
||||||
|
index 8d092bd7..78391d06 100644
|
||||||
|
--- a/ChangeLog.md
|
||||||
|
+++ b/ChangeLog.md
|
||||||
|
@@ -6,6 +6,8 @@
|
||||||
|
1. VirtualGL now works properly with 3D applications that use the
|
||||||
|
`glDrawBuffers()` function and render to the front buffer.
|
||||||
|
|
||||||
|
+2. VirtualGL can now be built using the GLX headers from Mesa 19.3.0 and later.
|
||||||
|
+
|
||||||
|
|
||||||
|
2.6.3
|
||||||
|
=====
|
||||||
|
diff --git a/server/faker-glx.cpp b/server/faker-glx.cpp
|
||||||
|
index faea37b6..6e7beb63 100644
|
||||||
|
--- a/server/faker-glx.cpp
|
||||||
|
+++ b/server/faker-glx.cpp
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
// Copyright (C)2004 Landmark Graphics Corporation
|
||||||
|
// Copyright (C)2005, 2006 Sun Microsystems, Inc.
|
||||||
|
-// Copyright (C)2009, 2011-2019 D. R. Commander
|
||||||
|
+// Copyright (C)2009, 2011-2020 D. R. Commander
|
||||||
|
//
|
||||||
|
// This library is free software and may be redistributed and/or modified under
|
||||||
|
// the terms of the wxWindows Library License, Version 3.1 or (at your option)
|
||||||
|
@@ -2192,11 +2192,18 @@ void glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute,
|
||||||
|
CATCH();
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if defined(GLX_GLXEXT_VERSION) && GLX_GLXEXT_VERSION >= 20190000
|
||||||
|
+void glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute,
|
||||||
|
+ unsigned int *value)
|
||||||
|
+#else
|
||||||
|
int glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute,
|
||||||
|
unsigned int *value)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
glXQueryDrawable(dpy, pbuf, attribute, value);
|
||||||
|
+ #if !defined(GLX_GLXEXT_VERSION) || GLX_GLXEXT_VERSION < 20190000
|
||||||
|
return 0;
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -2358,8 +2365,13 @@ void glXSwapBuffers(Display *dpy, GLXDrawable drawable)
|
||||||
|
|
||||||
|
// Returns the transparent index from the overlay visual on the 2D X server
|
||||||
|
|
||||||
|
+#if defined(GLX_GLXEXT_VERSION) && GLX_GLXEXT_VERSION >= 20190000
|
||||||
|
+int glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay,
|
||||||
|
+ unsigned long *transparentIndex)
|
||||||
|
+#else
|
||||||
|
int glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay,
|
||||||
|
long *transparentIndex)
|
||||||
|
+#endif
|
||||||
|
{
|
||||||
|
int retval = False;
|
||||||
|
XWindowAttributes xwa;
|
||||||
|
diff --git a/server/faker-sym.h b/server/faker-sym.h
|
||||||
|
index b9aa30d0..0168ac7b 100644
|
||||||
|
--- a/server/faker-sym.h
|
||||||
|
+++ b/server/faker-sym.h
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
// Copyright (C)2004 Landmark Graphics Corporation
|
||||||
|
// Copyright (C)2005, 2006 Sun Microsystems, Inc.
|
||||||
|
-// Copyright (C)2009, 2011, 2013-2016, 2018-2019 D. R. Commander
|
||||||
|
+// Copyright (C)2009, 2011, 2013-2016, 2018-2020 D. R. Commander
|
||||||
|
//
|
||||||
|
// This library is free software and may be redistributed and/or modified under
|
||||||
|
// the terms of the wxWindows Library License, Version 3.1 or (at your option)
|
||||||
|
@@ -535,8 +535,14 @@ FUNCDEF2(GLXFBConfigSGIX, glXGetFBConfigFromVisualSGIX, Display *, dpy,
|
||||||
|
|
||||||
|
// GLX_SUN_get_transparent_index
|
||||||
|
|
||||||
|
+#if defined(GLX_GLXEXT_VERSION) && GLX_GLXEXT_VERSION >= 20190000
|
||||||
|
+FUNCDEF4(int, glXGetTransparentIndexSUN, Display *, dpy, Window, overlay,
|
||||||
|
+ Window, underlay, unsigned long *, transparentIndex,
|
||||||
|
+ glXGetTransparentIndexSUN)
|
||||||
|
+#else
|
||||||
|
FUNCDEF4(int, glXGetTransparentIndexSUN, Display *, dpy, Window, overlay,
|
||||||
|
Window, underlay, long *, transparentIndex, glXGetTransparentIndexSUN);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
// GL functions
|
|
@ -14,6 +14,7 @@ license="LGPL-2.1-or-later"
|
||||||
homepage="http://www.virtualgl.org/"
|
homepage="http://www.virtualgl.org/"
|
||||||
distfiles="${SOURCEFORGE_SITE}/virtualgl/${version}/${pkgname}-${version}.tar.gz"
|
distfiles="${SOURCEFORGE_SITE}/virtualgl/${version}/${pkgname}-${version}.tar.gz"
|
||||||
checksum=79dff857862890215794509ac65826005625925d03bf0874a486d695aae6f859
|
checksum=79dff857862890215794509ac65826005625925d03bf0874a486d695aae6f859
|
||||||
|
patch_args="-Np1"
|
||||||
|
|
||||||
archs="i686* x86_64*"
|
archs="i686* x86_64*"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue