qemugl: Hide some GLX extensions by default

Exporting these extensions make guest call some missing GLX API then crash.
It's hacky to implement these APIs, so hide these extensions as fix.

[YOCTO #1927] got fixed

(From OE-Core rev: a9e4b94f799e41a2b06f833a8b411ebee3939430)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Zhai Edwin 2012-03-16 19:05:38 +08:00 committed by Richard Purdie
parent fcc7e80676
commit 7161e47fd1
2 changed files with 37 additions and 2 deletions

View File

@ -0,0 +1,34 @@
Hide some GLX extensions by default to avoid guest call missing GLX API. It's
hacky to implement these APIs, so hide these extensions as fix.
Upstream-Status: Pending
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Index: git/opengl_client.c
===================================================================
--- git.orig/opengl_client.c 2012-03-16 18:22:27.000000000 +0800
+++ git/opengl_client.c 2012-03-16 18:52:06.000000000 +0800
@@ -105,6 +105,12 @@
"NO_MOVE", /* default : set if TCP/IP communication */
};
+/* Hiding some GLX extensions from guest */
+static const char* hiding_extensions =
+ "GLX_MESA_copy_sub_buffer,\
+ GLX_MESA_multithread_makecurrent,\
+ GLX_MESA_swap_control,\
+ ";
#ifdef WIN32
@@ -3516,7 +3522,8 @@
static void removeUnwantedExtensions(char* ret)
{
char* toBeRemoved = getenv("GL_REMOVE_EXTENSIONS");
- if (toBeRemoved == NULL) return;
+ if (toBeRemoved == NULL)
+ toBeRemoved = hiding_extensions;
toBeRemoved = strdup(toBeRemoved);
char* iterToBeRemoved = toBeRemoved;
while(*iterToBeRemoved)

View File

@ -12,13 +12,14 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
SRC_URI = "git://git.yoctoproject.org/qemugl;protocol=git \
file://versionfix.patch \
file://remove-x11r6-lib-dir.patch \
file://call_opengl_fix.patch"
file://call_opengl_fix.patch \
file://extensions_emulation.patch"
S = "${WORKDIR}/git"
SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0"
PV = "0.0+git${SRCPV}"
PR = "r9"
PR = "r10"
DEFAULT_PREFERENCE = "-1"