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/qemugl | |
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/qemugl')
-rw-r--r-- | meta/recipes-graphics/mesa/qemugl/extensions_emulation.patch | 34 |
1 files changed, 34 insertions, 0 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) | ||