diff options
author | Zhai Edwin <edwin.zhai@intel.com> | 2012-03-16 19:05:38 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-19 14:37:38 +0000 |
commit | 7161e47fd18ed7bdd988bbd14c8cae65f5bc9680 (patch) | |
tree | b72d89abb223991d09e97e3ab1b387b2b9504ded /meta/recipes-graphics/mesa | |
parent | fcc7e806761b251bfcffbd81ef9e25116da2f1e1 (diff) | |
download | poky-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.patch | 34 | ||||
-rw-r--r-- | meta/recipes-graphics/mesa/qemugl_git.bb | 5 |
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 @@ | |||
1 | Hide some GLX extensions by default to avoid guest call missing GLX API. It's | ||
2 | hacky to implement these APIs, so hide these extensions as fix. | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
7 | |||
8 | Index: 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.*)' | |||
12 | SRC_URI = "git://git.yoctoproject.org/qemugl;protocol=git \ | 12 | SRC_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" | ||
16 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |
17 | 18 | ||
18 | SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0" | 19 | SRCREV = "d888bbc723c00d197d34a39b5b7448660ec1b1c0" |
19 | 20 | ||
20 | PV = "0.0+git${SRCPV}" | 21 | PV = "0.0+git${SRCPV}" |
21 | PR = "r9" | 22 | PR = "r10" |
22 | 23 | ||
23 | DEFAULT_PREFERENCE = "-1" | 24 | DEFAULT_PREFERENCE = "-1" |
24 | 25 | ||