SW egl returned always EGL_FALSE even when the display was valid.
This made calls to eglSwapInterval to fail on HW since the wrapper
fails if either SW or HW egl fails.
Letting SW eglSwapInterval to return true when display is valid is
ok since spec says that interval parameter is silently clamped.
Change-Id: Ib4aa1dbfccf510a0f36621796e79a4d46852ee6a
Measures the time to do nothing but clear the screen in an
OpenGL Java app. Spews frame time statistics to the log.
Control long frame time by setting debug.longframe_ms;
e.g., adb shell setprop debug.longframe_ms 33
Change-Id: I435a3cb170048349e00417c44db42121c68744b2
Merge commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e'
* commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e':
better fix for [3028370] GL get error should return a valid error if no context is bound.
Merge commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f' into gingerbread-plus-aosp
* commit '524a6d8e9bb4df9cec0520ac1d9733642b13e76f':
better fix for [3028370] GL get error should return a valid error if no context is bound.
it turns out that we cannot return INVALID_OPERATION from glGetError() because the
GL spec says that it must be called in a loop until it returns GL_NO_ERROR.
now, we always return 0 from GL functions called from a thread with no
context bound. This means that glGetError() will return NO_ERROR in this case,
which is better than returning a random value (which could trap the app in a loop).
if this happens in the main thread of a process, we LOG an error message once.
Change-Id: Id59620e675a890286ef62a257c02b06e0fdcaf69
Merge commit '9c4d7d677097981a349c718902e29050dad3d59f'
* commit '9c4d7d677097981a349c718902e29050dad3d59f':
fix [3028370] GL get error should return a valid error if no context is bound.
Merge commit '5c6c5c7a43d44316395f5c35ab713372124b8b4c' into gingerbread-plus-aosp
* commit '5c6c5c7a43d44316395f5c35ab713372124b8b4c':
fix [3028370] GL get error should return a valid error if no context is bound.
glGetError() will now always return GL_INVALID_OPERATION if called from a thread
with no GL context bound.
Change-Id: I28ba458871db051bb4f5a26668a1fa123526869c
Merge commit '9d5fac517463526450268bf6353e32c13a8cdd0c' into gingerbread-plus-aosp
* commit '9d5fac517463526450268bf6353e32c13a8cdd0c':
fix small bug in EGL error management
make sure to clear our EGL implementation's error when returning
an error from an underlying implementation
Change-Id: Ibce4726cef1f900e4c7f16002345d7a07f8cdf41
Merge commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7'
* commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7':
support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
Merge commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760' into gingerbread-plus-aosp
* commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760':
support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
Add correct enumerants for OES_EGL_image_external to glext.h.
SurfaceFlinger now checks for the correct extension name.
Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
Merge commit '6808e6a867ba0b32f8bd97163e134c2866423f01' into gingerbread-plus-aosp
* commit '6808e6a867ba0b32f8bd97163e134c2866423f01':
Fix a few typos in EGL wrapper
Merge commit 'edbb8083a815e9d911f8e659fc5c293543fdf502' into gingerbread-plus-aosp
* commit 'edbb8083a815e9d911f8e659fc5c293543fdf502':
add a fps counter to sanangeles demo
Merge commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a'
* commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a':
fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
Merge commit '43647129d676e8c802850ca493f2ebc6064a4a1a'
* commit '43647129d676e8c802850ca493f2ebc6064a4a1a':
fix [2931161] crash in labyritnth when completing a level
Merge commit 'bccfcd95d3cc4029c1ed8514d31436a857283873' into gingerbread-plus-aosp
* commit 'bccfcd95d3cc4029c1ed8514d31436a857283873':
fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
a typo prevented the last 2 vertices of a batch to be copied to the front of
the next batch. Instead, the 2 very first vertices were used.
Change-Id: I3c344784dac1cef64df2fb6f6efb2f901cc788db
Merge commit '17da06631041f9f2237738fb673a74a85b1d9cf4' into gingerbread-plus-aosp
* commit '17da06631041f9f2237738fb673a74a85b1d9cf4':
fix [2931161] crash in labyritnth when completing a level
Merge commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac'
* commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac':
fix [2912927] Can't get NV_draw_path extension to work
Merge commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661' into gingerbread-plus-aosp
* commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661':
fix [2912927] Can't get NV_draw_path extension to work
Merge commit '553a333d4446bb34330da92f02daa515dc597939'
* commit '553a333d4446bb34330da92f02daa515dc597939':
improve a bit the implementation of eglGetProcAddress
Merge commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf' into gingerbread-plus-aosp
* commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf':
improve a bit the implementation of eglGetProcAddress
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
Merge commit 'eb248a58fabac31873982e4f389ba81981f4041f'
* commit 'eb248a58fabac31873982e4f389ba81981f4041f':
fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
Merge commit '55a76dd8d9996c1e93762d7611789aea696d536c' into gingerbread-plus-aosp
* commit '55a76dd8d9996c1e93762d7611789aea696d536c':
fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
rework how our EGL wrapper manages EGLConfig:
- we now store the EGLConfig with the EGLSurface and EGLContext
so that we can have easy access to it from eglQueryContext
and eglQuerySurface.
- EGLConfig now are an index into a sorted table of egl_config_t,
we use a binary search to retrieve our EGLConfig (the index) from
the implementation's EGLConfig.
- egl_config_t keeps track of the implementation's index,
EGLConfig and CONFIG_ID as well as our CONFIG_ID.
In many ways, this implementation is simpler and more robust, as it doesn't
assume anything about the number of implementations nor what EGLConfig is
made of (the previous code assumed EGLConfig didn't usem more than 24-bits).
Change-Id: Id5abe923aacb6e1fd2b63bd8c15d7b04ae824922
Handle rotation from portrait to landscape by restarting test if not
finished.
Don't write blank line to csv file.
Change-Id: I154443138817bcec9530123c8388fcf659632336
Merge commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d'
* commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d':
Fix a bug that prevented the creation of EGL shared contexts.
Merge commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d' into gingerbread-plus-aosp
* commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d':
Fix a bug that prevented the creation of EGL shared contexts.
Merge commit 'c6e1d88022db800773401c16803e1ab27fd01a7e' into gingerbread-plus-aosp
* commit 'c6e1d88022db800773401c16803e1ab27fd01a7e':
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
Merge commit 'cefb88587443323d147e687ff78eae9195eb584c'
* commit 'cefb88587443323d147e687ff78eae9195eb584c':
Added support for the GL_TEXTURE_EXTERNAL target
Merge commit '28333315c6f62b303de2ec0ac9e48158ed419f06' into gingerbread-plus-aosp
* commit '28333315c6f62b303de2ec0ac9e48158ed419f06':
Added support for the GL_TEXTURE_EXTERNAL target
the EGL specification states that this should be treated as though it was
an empty list terminated with EGL_NONE.
Change-Id: I294104370a86b5e5c34c7bcf15c5459eab464631
Merge commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2' into kraken
* commit 'fb234bbe5e7cbae42b4fc8f4ab353ba561599db2':
Notify user regarding invalid number during MO call.
Build software AGL library with correct get_tls() macro for ARMv7 based platforms
Fix glReadPixels() to verify that both x and y are non-negative.