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 13:31:31 +0000 |
commit | a9e4b94f799e41a2b06f833a8b411ebee3939430 (patch) | |
tree | 503dd8aeb0a87d3eb48b43d2a790b1d7cb181b7e /meta/recipes-graphics/mesa/qemugl | |
parent | 7ed5780cbae6b60adeb56d4d3deb0b82c2dfec70 (diff) | |
download | openembedded-core-a9e4b94f799e41a2b06f833a8b411ebee3939430.tar.gz openembedded-core-a9e4b94f799e41a2b06f833a8b411ebee3939430.tar.bz2 openembedded-core-a9e4b94f799e41a2b06f833a8b411ebee3939430.zip |
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
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
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 @@ +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) |