diff options
author | David 'Digit' Turner <digit@google.com> | 2014-10-29 09:55:08 +0100 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2014-10-30 09:37:14 +0100 |
commit | 1c9492dd19ae71d4702e1057dca27bde84080557 (patch) | |
tree | 94114bef737073c856d9250b062bb4bdd532208e /opengl/system/egl | |
parent | dc69376bd3d1c65ad19abfc036a85266b2199136 (diff) | |
download | android_device_generic_goldfish-1c9492dd19ae71d4702e1057dca27bde84080557.tar.gz android_device_generic_goldfish-1c9492dd19ae71d4702e1057dca27bde84080557.tar.bz2 android_device_generic_goldfish-1c9492dd19ae71d4702e1057dca27bde84080557.zip |
Fix GPU emulation crash.
This patch fixes the crash that occurs during boot when the
boot animation starts. The main issue is that the wrong version of
glGenTextures_enc() was being called.
The root issue is that libGLESv1_CM_emulation.so, which implements the
GLESv1 API in the system, is linked to both libGLESv2_enc.so and
libGLESv1_enc.so which both provided a glGenTextures_enc() function, used to
encode a glGenTextures() command call into the wire protocol.
Until recently, and due to pure luck, the function call in
libGLESv1_CM_emulation.so was resolved to the function in libGLESv1.so, which is
the correct version to use from this library.
However, due to recent changes in the dynamic linker's symbol resolution
implementation, the version in libGLESv2.so was being used instead. The bug is
really in our library and this patch provides a fix by removing the duplicate
functions, with the help of C++ namespaces.
NOTE: This patch modifies auto-generated code. A better fix would be to
fix the generator, then refresh the sources with its new output.
However, several other manual patches have been performed on these
files in the past too to fix other issues, so doing so would lose
the fixes.
A future patch will update the generator, and refresh all sources
accordingly. This is a "quick-fix" to get us to a proper booting
state.
NOTE: Even after applying this patch, the system boots to the 'home screen'
but fails to display the boot animation.
BUG=18146046
Change-Id: I48cab73ad583e303723340e80d19a82fa301b61d
Diffstat (limited to 'opengl/system/egl')
0 files changed, 0 insertions, 0 deletions