(there are multiple bugs this should fix)
we now use the EGL_NATIVE_VISUAL_ID of a config to set
the ANativeWindow's format from eglCreateWindowSurface(),
this guarantees that the surface's format will match
whatever EGLConfig the user chose.
this should fix all current and future config/surface format
mismatch and allow users to easily select 32-bits surfaces.
Change-Id: I3835d0eb70c75eeecded3c3509a0a8207554c98b
* commit '17fd21fc0638d8734867b6f189efbabb227f3ae1':
DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions
We just make sure eglGetProcAddress() will return NULL for
glEGLImageTargetTexture2DOES
glEGLImageTargetRenderbufferStorageOES
which is better than returning the address of the wrong implementation.
the correct fix is more involved.
Change-Id: I585a1f40e564f862e5dd382224609ccd069cd3b5
This change allows to use this header with the NDK's standalone toolchain.
For the record, the NDK toolchain defines __ANDROID__ as a compiler built-in
macro, this is however not the case currently for the prebuilt binaries that
are being used by the full Android build system, which otherwise defines ANDROID.
This change allows the header to be used by all toolchains properly. Note however
that we should properly should change our toolchain and sources to provide and
rely on __ANDROID__ instead of ANDROID though.
Change-Id: Iaa1aa1146985b5f24dcf3a83d9ddb9b4b59dc328
The code looks correct, but causes an internal compiler error on
simulator builds on mine (an other) gLucid desktops.
Change-Id: Iaf0d8120778ec1c6fc739ef13e6eaaac53e3bcc8
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 specified
in attrib list, then they are ignored
Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
Merge commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7'
* commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7':
fix [3119687] [Maps][4.6.0] Force close in street view
Merge commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685' into gingerbread-plus-aosp
* commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685':
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
Merge commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea'
* commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea':
Add a test application to dump all the EGLConfig available
Merge commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5'
* commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
Merge commit '2b2da52608303b149d22418865e67c8030c70e73' into gingerbread-plus-aosp
* commit '2b2da52608303b149d22418865e67c8030c70e73':
Add a test application to dump all the EGLConfig available
Merge commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863' into gingerbread-plus-aosp
* commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
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