replicant-frameworks_native/opengl/libs/EGL
Mathias Agopian 9429e9c8ad first step for fixing [2066786] EGL object lifetime management doesn't respect the EGL spec
this change fixes the lifetime mgt of EGLSurface, EGLContext and EGLImageKHR in the EGL wrapper.
EGLDisplay is still somewhat bogus and libagl's EGL is still incorrect.

The idea of the change is that EGL objects are put in a list when created and removed when destroyed.
Before each use, we first verify if the object is in the list and if so a reference is taken and kept
for the scope of the whole EGL API being called, if not, an error is returned.

Upon object destruction, the object is simply marked as "terminated" (this is not protected by a lock
because it doesn't really matter). This flag is only used to deny access to the object by other APIs
while it's still valid (for instance current or being used by another function in another thread).
A reference is also removed and the object can then actually be destroyed when going out of scope.
2009-08-21 19:45:44 -07:00
..
egl_entries.in Add eglGetRenderBufferANDROID() extension, which returns the current render buffer as an android_native_buffer_t* 2009-06-25 00:02:44 -07:00
egl.cpp first step for fixing [2066786] EGL object lifetime management doesn't respect the EGL spec 2009-08-21 19:45:44 -07:00
hooks.cpp implement a real loader for EGL drivers 2009-05-28 20:31:40 -07:00
Loader.cpp fix a bug in ComponentSizeChooser where it could pick a software EGLConfig instead of a better h/w one. 2009-08-20 19:09:34 -07:00
Loader.h implement a real loader for EGL drivers 2009-05-28 20:31:40 -07:00