Commit Graph

7 Commits

Author SHA1 Message Date
Jonas Yang
1c3d72a229 Add (support for) EGL_NV_system_time extension.
Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6
Signed-off-by: Mathias Agopian <mathias@google.com>
2011-09-13 16:44:22 -07:00
Mathias Agopian
5fecea776a fix logging of eglMakeCurrent() errors
Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
2011-08-25 18:38:24 -07:00
Jamie Gennis
9f24fd020e EGL: move disconnect to surface dtor
This change moves the call to native_window_api_disconnect from
eglDestroySurface to the egl_surface_t destructor.  The egl_surface_t
can outlive the external EGLSurface if eglDestroySurface is called while
the surface is made current on a thread.

Change-Id: I0df6117a5633c2a19935fe356579abdd76fc471f
2011-08-24 15:00:23 -07:00
Mathias Agopian
81a6335052 connect/disconnect is now called from our EGL wrapper
the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.

Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
2011-08-01 14:06:20 -07:00
Jamie Gennis
bee205fd58 EGL: fix the ANativeWindow size/fmt override
This change fixes how the Android EGL layer overrides the size and
format of an ANativeWindow in eglCreateWindowSurface.  The new behavior
is to leave the size untouched when overriding the format.  The previous
behavior was to reset the ANativeWindow to use the default size set by
the ANativeWindow implementation.

It also adds two new 'perform' methods to the ANativeWindow interface:
set_buffers_dimensions and set_buffers_format, and redefines the
behavior of set_buffers_geometry to be the combination of these two new
methods.

Additionally, this change adds an error check for the return value of
the new native_window_set_buffers_format call, which required adding a
(stub) handler for to FramebufferNativeWindow.

Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
2011-07-11 12:31:45 -07:00
Mathias Agopian
5b287a6ea8 eglTerminate() now actually frees up all active egl objects
as specified by the EGL specification, terminated objects's
handles become invalid, the objects themselves are destroyed
when they're not current to some thread.

Change-Id: Id3a4a5736a5bbc3926a9ae8385d43772edb88eeb
2011-05-16 19:03:33 -07:00
Mathias Agopian
518ec112f4 refactor EGL source code
no changes is functionality. split various objects into their own files.
make egl_display objec's lock internal.
2011-05-16 19:02:45 -07:00