History log of /frameworks/base/opengl/libagl/egl.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d8e350bc96c3f170d3016989b249174e65c1a661 26-Oct-2010 Mathias Agopian <mathias@google.com> fix eglChooseConfig() for special attributes.

affects software renderer (emu) only.

per EGL spec:
If EGL_MAX_PBUFFER_WIDTH, EGL_MAX_PBUFFER_HEIGHT,
EGL_MAX_PBUFFER_PIXELS, or EGL_NATIVE_VISUAL_ID are speciļ¬ed
in attrib list, then they are ignored

Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
/frameworks/base/opengl/libagl/egl.cpp
c4e84b8fbde26c8de362cd96d2420f0e192fac9a 22-Oct-2010 Mathias Agopian <mathias@google.com> fix [3119687] [Maps][4.6.0] Force close in street view

The EGLConfig attributes MUST be sorted, because they're used in a binary search.
A recent change introduced a bug where 2 of the configs had improperly
sorted attributes.

Change-Id: I1ac53e4463d62f27125ca9f82ed946e6c98ddba0
/frameworks/base/opengl/libagl/egl.cpp
c9923876d4ec07d64901436010755ad227f811e6 21-Oct-2010 Mathias Agopian <mathias@google.com> software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID

Change-Id: I371bc0abfee6065247bc6f04b0e0451645eb2dbf
/frameworks/base/opengl/libagl/egl.cpp
f91bff9fd4f159aae942ce68e3de9f9151e6ffbc 19-Oct-2010 Mathias Agopian <mathias@google.com> fix [2236865] STOPSHIP: bump soft gl and egl minor version number

Change-Id: Ibf46b18d7493348e189f2c93e969a6cac61f68b5
/frameworks/base/opengl/libagl/egl.cpp
ebc3d5a5490c208ac1706b49263bd780999df724 27-Aug-2010 Mathias Agopian <mathias@google.com> cleanup EGL a bit. remove unused extension.

Change-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88
/frameworks/base/opengl/libagl/egl.cpp
100f42a4bfb19710f070f51f8e2b617991b638db 19-Aug-2010 Mathias Agopian <mathias@google.com> fix [2931161] crash in labyritnth when completing a level

Change-Id: I821d67effaf73d7008b2828d06f5489d1f976a1e
/frameworks/base/opengl/libagl/egl.cpp
bd2de0e42adc3fad30d86ed2c8d0488bc9501f36 30-Jul-2010 Mathias Agopian <mathias@google.com> remove copybit hack from software opengl (libagl)

h/w acceleration is not supported through software gl + copybit anylonger,
instead, h/w opengl must be used. in the system compositor, a new h/w
composition api will be introduced to allow h/w accelerated composition with
overlays and/or 2D blocks.

Change-Id: I04949cb074ba8c4d637319ace23497c16a58d5bf
/frameworks/base/opengl/libagl/egl.cpp
8b49bd1a2f8117e1c22884f0150e72cbcf838f32 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Introduce official public NativeWindow type.

Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
/frameworks/base/opengl/libagl/egl.cpp
7e71fcf31ecd23b0b4c3cd2b25cd3b11e53c7428 17-May-2010 Mathias Agopian <mathias@google.com> fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfig

the EGL specification states that this should be treated as though it was
an empty list terminated with EGL_NONE.

Change-Id: I294104370a86b5e5c34c7bcf15c5459eab464631
/frameworks/base/opengl/libagl/egl.cpp
42d99d211f547a2b5a4632e62b38ac16a1ad481c 05-Feb-2010 Mathias Agopian <mathias@google.com> Proper EGLImageKHR error handling

Validate EGLImageKHR format and return an error for unsupported ones.
Also make sure to return an error when binding EGL_NO_IMAGE_KHR to a texture
/frameworks/base/opengl/libagl/egl.cpp
da5e90bee443129511e231e9078a134626b87541 13-Nov-2009 Mathias Agopian <mathias@google.com> am 66b5d902: am 27407208: Merge change Icf335098 into eclair

Merge commit '66b5d902a29e08237f16be53a84f9c2472df8493' into eclair-mr2-plus-aosp

* commit '66b5d902a29e08237f16be53a84f9c2472df8493':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
cf3350982f63d918e8e4a1de31ea54829ffc0b67 13-Nov-2009 Mathias Agopian <mathias@google.com> fix [2236865] STOPSHIP: bump soft gl and egl minor version number
/frameworks/base/opengl/libagl/egl.cpp
ac94fbd081450ae7f208e4525b23b36d90d382e0 09-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
36fe3eeaa056ff13455c0df73b495b2bae8c1469 04-Nov-2009 Mathias Agopian <mathias@google.com> part of fix [2186418] switch passion to 24-bits framebuffer

add support for RGBX_8888 EGLConfigs in the software renderer
(since that's what we're using in the MDP case)
/frameworks/base/opengl/libagl/egl.cpp
bbf945f3c0324b5bedd95aa7e436f0a6dc50aa7f 04-Nov-2009 Mathias Agopian <mathias@google.com> fix [2236832] software OpenGL ES driver doesn't work on sholes

make sure to not pass our fake handles to the real gralloc
/frameworks/base/opengl/libagl/egl.cpp
36d0184e089831b74de6005f01da9e7b26679bb9 03-Nov-2009 Mathias Agopian <mathias@google.com> fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video

we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
/frameworks/base/opengl/libagl/egl.cpp
0953c1d5e1c295c84fa02237bf70c779e45c83ae 19-Oct-2009 Mathias Agopian <mathias@google.com> fix [2153873] EGL-1.4 software implementation misses surface attributes
/frameworks/base/opengl/libagl/egl.cpp
4a783af6ecab54050d1675ccd041045a69d4fe8a 12-Oct-2009 Christoffer Gurell <chgur@tat.se> Fix obvious typo bug in egl.cpp

can (and does sometimes) lead to accessing array with -1 as index
/frameworks/base/opengl/libagl/egl.cpp
594d02e54a34fdbf1992391dbbc5f9a1be21b046 28-Sep-2009 Mathias Agopian <mathias@google.com> fix [2147737] Pixel Flinger needs to set EGL_RENDERABLE_TYPE to EGL_OPENGL_ES_BIT

Also set max swap interval to 1, which is the only supported value currently.
/frameworks/base/opengl/libagl/egl.cpp
ffbc864329d2659e9a75d2c80d66dc90c1072da1 20-Aug-2009 Mathias Agopian <mathias@google.com> better error handling in EGL
/frameworks/base/opengl/libagl/egl.cpp
5cec4742b3a1d7448bd32ae57cb4cf70b484c64c 12-Aug-2009 Mathias Agopian <mathias@google.com> second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
/frameworks/base/opengl/libagl/egl.cpp
64e89a8aff9a45a491f1d7064a655b9021fe644a 12-Aug-2009 Fred Quintana <fredq@google.com> Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."

This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
/frameworks/base/opengl/libagl/egl.cpp
8b76a0ac6fbf07254629ed1ea86af014d5abe050 11-Aug-2009 Mathias Agopian <mathias@google.com> SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.

This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored).
Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
/frameworks/base/opengl/libagl/egl.cpp
abac01052c1c40f8582fe9f010c2efe6013e25c6 31-Jul-2009 Mathias Agopian <mathias@google.com> be more robust when errors occur upon EGL surface creation (ie: don't crash)
/frameworks/base/opengl/libagl/egl.cpp
5b5c9144872b4e31ba5a041dce585a8ddbbe495d 31-Jul-2009 Mathias Agopian <mathias@google.com> fixed some issues with the software renderer when surfaces are made current.

there was several issues:
- when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked
- when a surface was made current the 2nd time, it would not dequeue a new buffer

now, queue/dequeue are done when the surface is made current.

for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
/frameworks/base/opengl/libagl/egl.cpp
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
/frameworks/base/opengl/libagl/egl.cpp
a2fb72e08f41a67bbed534eb1035ba5bfc2df0e1 16-Jul-2009 Mathias Agopian <mathias@google.com> remove libagl's dependency on gralloc_priv.h
/frameworks/base/opengl/libagl/egl.cpp
2eedb2515b733aaba0a92944def8156ef379e0da 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 46e28db8: Merge change 6713 into donut

Merge commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6'

* commit '46e28db8818332e3cda4cc410cc89a1ed7ce4db6':
fix for [1969185] valgrind errors in new gl stuff
ab1cf3efd3b884a90170a82744f7ae508d51cf6e 10-Jul-2009 Mathias Agopian <mathias@google.com> fix for [1969185] valgrind errors in new gl stuff
/frameworks/base/opengl/libagl/egl.cpp
68eeb80a54f411b9a8c928cc193de731adddb6c3 26-Jun-2009 Mathias Agopian <mathias@google.com> use copybit for eglSwapBuffers() copy-back operations
/frameworks/base/opengl/libagl/egl.cpp
c1e3ec555b79b1e45fccbdf0bbc8ac2d51902860 25-Jun-2009 Mathias Agopian <mathias@google.com> Add eglGetRenderBufferANDROID() extension, which returns the current render buffer as an android_native_buffer_t*
/frameworks/base/opengl/libagl/egl.cpp
350d651706d8f484d9aeb539d491526f822fa84a 11-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug where copybit only renders in the first buffer when used with s/w GL
/frameworks/base/opengl/libagl/egl.cpp
36432ccc13f6d3db7af35661683c33ffa3406d85 04-Jun-2009 Mathias Agopian <mathias@google.com> make sure clear the draw and read EGLSurface when eglMakeCurrent() is called for unbinding from the thread
/frameworks/base/opengl/libagl/egl.cpp
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
/frameworks/base/opengl/libagl/egl.cpp
927d37cb788670b91af0f1a7a93c68046a838d23 07-May-2009 Mathias Agopian <mathias@google.com> fix EGL extension string names
/frameworks/base/opengl/libagl/egl.cpp
2e20bffbab8084fedce39d14d7dd17b08f6e9ba2 05-May-2009 Mathias Agopian <mathias@google.com> created an new EGL extension called ANDROID_swap_rectangle

ANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.

However, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.
/frameworks/base/opengl/libagl/egl.cpp
b51e18d59b6f8e44a5d3516fc3359c54fa913331 06-May-2009 Mathias Agopian <mathias@google.com> move android_native_buffer_t declaration into its own private/ui/android_native_priv.h header, since user code should never have access to it.
/frameworks/base/opengl/libagl/egl.cpp
ac2523b161df2bb507cc88906bb070878266770d 06-May-2009 Mathias Agopian <mathias@google.com> move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h

the android_native_ types are just forward declared in egl.h
/frameworks/base/opengl/libagl/egl.cpp
e633f9339a2556771c79c784b0b23a9aade30485 05-May-2009 Mathias Agopian <mathias@google.com> get rid of android_native_buffer_t::getHandle() and replace it with an handle field

this abstraction was not necessary. things are easier now.
/frameworks/base/opengl/libagl/egl.cpp
430f2ed5c03312700131a70c858b98e1cc6bc161 05-May-2009 Mathias Agopian <mathias@google.com> removed the "bits" attribute from android_native_buffer_t.

"bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
/frameworks/base/opengl/libagl/egl.cpp
dff8e58d47ede6e748c0b02e128ca33b42a4f362 04-May-2009 Mathias Agopian <mathias@google.com> update surfaceflinger, libui and libagl to the new gralloc api

- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp

- disabled copybits test, since it clashes with the new gralloc api

- Camera/Video will be fixed later when we rework the overlay apis
/frameworks/base/opengl/libagl/egl.cpp
e29254e708bb94d0f785a00926164a0dbb0dad93 23-Apr-2009 Mathias Agopian <mathias@google.com> integrate some OpenGL ES changes back from master_gl in preparation of opening GLES to the NDK.
/frameworks/base/opengl/libagl/egl.cpp
af9a515299b24031c7aa77bf163d0985cc862069 11-Apr-2009 Mathias Agopian <mathias@google.com> more debugging tools around BufferMapper
/frameworks/base/opengl/libagl/egl.cpp
1473f46cbc82aa6f0ba744cc896a36923823d55b 10-Apr-2009 Mathias Agopian <mathias@google.com> Integrate from //sandbox/mathias/donut/...@145728

SurfaceFlinger rework for new EGL driver model support.
/frameworks/base/opengl/libagl/egl.cpp
1badb712b94f5d4a14ca8c3bdb55c215a4915000 25-Mar-2009 Jack Palevich <> Automated import from //branches/master/...@142578,142578
/frameworks/base/opengl/libagl/egl.cpp
4c7533cfc81a0dda4c25355e86558199accab3ea 25-Mar-2009 Jack Palevich <> Automated import from //branches/donutburger/...@142484,142484
/frameworks/base/opengl/libagl/egl.cpp
71b8a66f99ebfe60e90cb4710d5a001ff1c4b203 25-Mar-2009 Jack Palevich <> Automated import from //branches/cupcake/...@142481,142481
/frameworks/base/opengl/libagl/egl.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/opengl/libagl/egl.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/opengl/libagl/egl.cpp
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/opengl/libagl/egl.cpp
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/opengl/libagl/egl.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/opengl/libagl/egl.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/opengl/libagl/egl.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/opengl/libagl/egl.cpp