replicant-frameworks_native/opengl/libs
Jesse Hall a0fef1c8bb Fix deadlock when cleaning objects in eglTerminate
When eglTerminate() is called with a window surface still exists, a
deadlock would occur since egl_display_t::terminate() holds a lock
while destroying the window surface, which calls
onWindowSurfaceDestroyed() which attempts to take the same lock.

This change refactors the hibernation code and data into a separate
object with its own lock, separate from the egl_display_t lock. This
avoids the deadlock and better encapsulates the hibernation logic.

The change also fixes a bug discovered incidentally while debugging:
hibernating after calling eglTerminate() succeeds, but will cause
awakens from subsequent eglInitialize() to fail. We will no longer
hibernate a terminated display.

Change-Id: If55e5bb603d4f8953babc439ffc8d8a60af103d9
2012-04-17 14:52:13 -07:00
..
EGL Fix deadlock when cleaning objects in eglTerminate 2012-04-17 14:52:13 -07:00
ETC1 Fix convert8To4, convert8To5 2011-12-09 14:06:07 -08:00
GLES2 Don't wrap EGLImageKHR and EGLSyncKHR anymore 2012-02-14 17:14:36 -08:00
GLES_CM Don't wrap EGLImageKHR and EGLSyncKHR anymore 2012-02-14 17:14:36 -08:00
GLES_trace gltrace: Only accept connections from the shell. 2012-03-15 16:41:35 -07:00
tools Don't wrap EGLImageKHR and EGLSyncKHR anymore 2012-02-14 17:14:36 -08:00
Android.mk glestrace: Framework for GLES tracing library 2011-12-02 15:30:17 -08:00
debug.in
egl_impl.h Don't wrap EGLImageKHR and EGLSyncKHR anymore 2012-02-14 17:14:36 -08:00
entries.in update GLES headers and add support for corresponding new extensions. 2012-01-28 20:41:35 -08:00
enums.in update GLES headers and add support for corresponding new extensions. 2012-01-28 20:41:35 -08:00
glestrace.h gltrace: transport buffering and context management 2012-01-04 11:38:37 -08:00
hooks.h update GLES headers and add support for corresponding new extensions. 2012-01-28 20:41:35 -08:00
trace.in update GLES headers and add support for corresponding new extensions. 2012-01-28 20:41:35 -08:00