replicant-frameworks_native/opengl/libs
Jesse Hall 312d7555cb egl: Remove window disconnect before calling driver eglDestroySurface
This was originally added for b/14445579. An in-development app was
attempting to render to a window as an EGLSurface, then tear that
down, change some window properties, and create a new EGLSurface. The
second eglCreateWindowSurface failed because the window was already
connected. This change went in, but it turned out the real problem was
that the app still (unintentionally) had the surface current. After
the app bug was fixed, nobody revisited whether this change was
actually needed.

Turns out it wasn't needed. After an EGLSurface is both destroyed
*AND* not current (basically refcount==0), we were already
disconnecting the window in ~egl_surface_t().

Apart from being unnecessary and redundant, disconnecting the window
here is wrong for two reasons:

(a) The surface may still be in use after eglDestroySurface, if it was
still current. Rendering is undefined in that case, but disconnecting
the window leads to more catastrophic results than necessary.

(b) It's being called before calling the driver's eglDestroySurface.
The driver will almost definitely have a buffer dequeued that it needs
to cancel, and by disconnecting first we turn that into an error that
they don't have a graceful way to deal with.

Bug: 24524053
Change-Id: Ib063134413d25d3526f794aafb5e333e3417ea42
2015-10-14 11:21:25 -07:00
..
EGL egl: Remove window disconnect before calling driver eglDestroySurface 2015-10-14 11:21:25 -07:00
ETC1 Fix convert8To4, convert8To5 2011-12-09 14:06:07 -08:00
GLES2 Fix EGL shim extension injection for GL ES 3 drivers. 2015-05-28 15:34:31 -07:00
GLES_CM [MIPS] Fix mips32r1 build 2015-02-02 16:54:15 -08:00
GLES_trace Revert "Revert "Update protobuf library from 2.3 to 2.6."" 2015-01-12 20:07:43 +00:00
tools Rationalize GLES2/3 .in files. 2014-05-17 19:31:48 -07:00
Android.mk Switch libGLESv1_CM/libGLESv2 to hash-style=both 2015-05-13 15:05:07 -07:00
egl_impl.h Fix EGL shim extension injection for GL ES 3 drivers. 2015-05-28 15:34:31 -07:00
entries.in opengl: Regenerate code with ES 3.1 and new extensions 2014-05-21 15:32:23 -07:00
enums.in opengl: Regenerate code with ES 3.1 and new extensions 2014-05-21 15:32:23 -07:00
glestrace.h gltrace: Add support for tracing running applications. 2012-12-20 10:38:47 -08:00
hooks.h opengl: Regenerate code with ES 3.1 and new extensions 2014-05-21 15:32:23 -07:00
trace.in opengl: Regenerate code with ES 3.1 and new extensions 2014-05-21 15:32:23 -07:00