summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa
diff options
context:
space:
mode:
authorZhai Edwin <edwin.zhai@intel.com>2012-03-16 19:05:38 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-19 14:37:38 +0000
commit7161e47fd18ed7bdd988bbd14c8cae65f5bc9680 (patch)
treeb72d89abb223991d09e97e3ab1b387b2b9504ded /meta/recipes-graphics/mesa
parentfcc7e806761b251bfcffbd81ef9e25116da2f1e1 (diff)
downloadpoky-7161e47fd18ed7bdd988bbd14c8cae65f5bc9680.tar.gz
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>
Diffstat (limited to 'meta/recipes-graphics/mesa')
-rw-r--r--meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch34
-rw-r--r--meta/recipes-graphics/mesa/qemugl_git.bb5
2 files changed, 37 insertions, 2 deletions
diff --git a/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch b/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch
new file mode 100644
index 0000000000..08418c2f4b
--- /dev/null
+++ b/meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch
@@ -0,0 +1,34 @@
1Hide some GLX extensions by default to avoid guest call missing GLX API. It's
2hacky to implement these APIs, so hide these extensions as fix.
3
4Upstream-Status: Pending
5
6Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
7
8Index: git/opengl_client.c
9===================================================================
10--- git.orig/opengl_client.c 2012-03-16 18:22:27.000000000 +0800
11+++ git/opengl_client.c 2012-03-16 18:52:06.000000000 +0800
12@@ -105,6 +105,12 @@
13 "NO_MOVE", /* default : set if TCP/IP communication */
14 };
15
16+/* Hiding some GLX extensions from guest */
17+static const char* hiding_extensions =
18+ "GLX_MESA_copy_sub_buffer,\
19+ GLX_MESA_multithread_makecurrent,\
20+ GLX_MESA_swap_control,\
21+ ";
22
23 #ifdef WIN32
24
25@@ -3516,7 +3522,8 @@
26 static void removeUnwantedExtensions(char* ret)
27 {
28 char* toBeRemoved = getenv("GL_REMOVE_EXTENSIONS");
29- if (toBeRemoved == NULL) return;
30+ if (toBeRemoved == NULL)
31+ toBeRemoved = hiding_extensions;
32 toBeRemoved = strdup(toBeRemoved);
33 char* iterToBeRemoved = toBeRemoved;
34 while(*iterToBeRemoved)
diff --git a/meta/recipes-graphics/mesa/qemugl_git.bb b/meta/recipes-graphics/mesa/qemugl_git.bb
index 66f4e17beb..378aa65502 100644
--- a/meta/recipes-graphics/mesa/qemugl_git.bb
+++ b/meta/recipes-graphics/mesa/qemugl_git.bb
@@ -12,13 +12,14 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
12SRC_URI = "git://git.yoctoproject.org/qemugl;protocol=git \ 12SRC_URI = "git://git.yoctoproject.org/qemugl;protocol=git \
13 file://versionfix.patch \ 13 file://versionfix.patch \
14 file://remove-x11r6-lib-dir.patch \ 14 file://remove-x11r6-lib-dir.patch \
15 file://call_opengl_fix.patch" 15 file://call_opengl_fix.patch \
16 file://extensions_emulation.patch"
16S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
17 18
18SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0" 19SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0"
19 20
20PV = "0.0+git${SRCPV}" 21PV = "0.0+git${SRCPV}"
21PR = "r9" 22PR = "r10"
22 23
23DEFAULT_PREFERENCE = "-1" 24DEFAULT_PREFERENCE = "-1"
24 25