History log of /frameworks/base/opengl/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
29e0bd2f5a80fdfe0e5b482a1df86363afcecbfa 19-Sep-2012 Mathias Agopian <mathias@google.com> GLSurfaceView defaults to 888 instead of 565

Change-Id: Ie00fe578136365031e4bb878a04b68dc40e24b9e
ava/android/opengl/GLSurfaceView.java
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
ava/com/google/android/gles_jni/GLImpl.java
1296c63bf14af034a90d5579ff301d1a2b70e34a 08-Aug-2012 Jeff Brown <jeffbrown@google.com> Enable use of Surface as a native window in EGL14 wrapper.

Change-Id: Ia3546fd02f9b60d4505fbc0602522b95e3e5b6be
ava/android/opengl/EGL14.java
42e1e0d482d774cf18a55773e434f02edb9e4462 30-Jul-2012 Romain Guy <romainguy@google.com> Improve gradients

Avoid using textures for common gradients (two stops from 0.0 to 1.0)

Change-Id: Iff55d21b126c8cfc4cfb701669f2339c8f6b131a
ava/android/opengl/Matrix.java
0a088f5d4681fd2da6f610de157bf905df787bf7 30-Jul-2012 Romain Guy <romainguy@google.com> Fix android.opengl.Matrix frustum's generation

External bug report: http://code.google.com/p/android/issues/detail?id=35646

Change-Id: I845783c05da46855f0c1d824c9a367f0e4673b85
ava/android/opengl/Matrix.java
63cf0752226383cfc8fa35a3233413301b49fab7 25-Jul-2012 Romain Guy <romainguy@google.com> Merge "Make HardwareRenderer able to target generic Surface objects"
786fc93d71b833ab6b02b0c7ea5e30f25cceeedf 25-Jul-2012 Romain Guy <romainguy@google.com> Make HardwareRenderer able to target generic Surface objects

Change-Id: I4b7199a1eb30e0df354ae12c4819adc69db5df40
ava/com/google/android/gles_jni/EGLImpl.java
dd06946252be852aa53eb6142a119b0fccc83cd1 20-Jul-2012 Thomas Tafertshofer <tafertth@google.com> updated gles20 bindings, fixes broken methods

this adds correct versions of the broken GLES20 methods
glGetShaderSource, glGetActiveAttrib and glGetActiveUniform.
the old functions are still there and need to be @hide later.

Bug: 6006380
Change-Id: I8127a77c4b89aa8a9a54bea88774077535e2139d
ava/android/opengl/GLES20.java
9b18b515909354d7b48c8ebc33ec38e2c6bbdf37 13-Jul-2012 Thomas Tafertshofer <tafertth@google.com> EGL 1.4 API without @hide

Change-Id: If03d23082b011aaba41594712601495dcbd70f6a
ava/android/opengl/EGL14.java
ava/android/opengl/EGLConfig.java
ava/android/opengl/EGLContext.java
ava/android/opengl/EGLDisplay.java
ava/android/opengl/EGLObjectHandle.java
ava/android/opengl/EGLSurface.java
6b1e838fc16d397359f82c3a4f5700f1ed7dd910 03-Jul-2012 Thomas Tafertshofer <tafertth@google.com> EGL 1.4 bindings generated by glgen

Change-Id: I1c3da57101f4ea089a12f1796f25b72d6852141e
ava/android/opengl/EGL14.java
ava/android/opengl/EGLConfig.java
ava/android/opengl/EGLContext.java
ava/android/opengl/EGLDisplay.java
ava/android/opengl/EGLObjectHandle.java
ava/android/opengl/EGLSurface.java
cee059dc764a57860da6b1574952089680b5ddc6 16-Apr-2012 Jack Palevich <jackpal@google.com> Improve GLSurfaceView Pausing.

When pausing we want to do three separate things, in order:

+ release the EGL surface
+ optionally release the EGL context
+ optionally terminate Egl

Previously we would only do these things if we had an EGL surface. But
it is possible that we don't have an EGL Surface, but still have an EGL
context. And in that situation we still want to release the EGL context.

Now we check the preconditions for the three cases separately.

Bug: 6338235
Change-Id: I804683b3d5c136cc98ea3f5051067eea18152ddf
ava/android/opengl/GLSurfaceView.java
7dee7a38baafcbdd26ff116eeec862ec661dedec 10-Apr-2012 Jack Palevich <jackpal@google.com> Notify monitor waiters when changing mSurfaceIsBad value.

Otherwise the waiters might not wake up, leading to ANRs.

Bug: 6307843
Change-Id: I0646b4e8368f80dbff46342f75709992796973fd
ava/android/opengl/GLSurfaceView.java
7d73df83f9a28950f404e957eb2e4ea1e8525c55 30-Mar-2012 Jack Palevich <jackpal@google.com> Try to survive a failure return from eglMakeCurrent.

Assume a failure in eglMakeCurrent occurs because the SurfaceView
surface has been destroyed.

See b/6257956 for an example of this failure happening during rotation
stress testing.

Change-Id: I4618703b5291aba3a3f0c6bd83c3435a67b97d33
ava/android/opengl/GLSurfaceView.java
db6c78b5bdf264abe8f6de97f67ca5e90fb6a05a 29-Mar-2012 Jack Palevich <jackpal@google.com> Make GLSurfaceView handle eglSwapBuffers errors more robustly.

A careful reading of the EGL spec, as well as experience with many
different EGL drivers, has shown that it is error prone to attempt to
discriminate between different error conditions.

We now treat any error besides EGL_CONTEXT_LOST as an indication that the
EGL context is in a bad state, most likely due to the window manager
having removed the underlying surface flinger surface.

In addition, we changed the way we deal with this kind of error:
Previously we would ignore the error and keep rendering. But if the
EGL context and surface has become invalid, it would be better to
stop drawing. We now stop drawing until the surface view surface is
recreated.

See b/6032663 for an example of this problem affecting the GMM app,
but note that GMM is using their own version of GLSurfaceView, so this
change won't help them directly. They'll have to make a similar change
to their version of GLSurfaceView.

Change-Id: Iffe3e1e3a3c7a91d03140fd34391eadeaecf777e
Signed-off-by: Jack Palevich <jackpal@google.com>
ava/android/opengl/GLSurfaceView.java
ad812a23df775062f0185076557e7f3fdfa57943 22-Mar-2012 Amith Yamasani <yamasani@google.com> Merge "Package restrictions per user"
f7f4c20605badb95f99e3f1f609458a9e4fe0c1a 22-Mar-2012 Jack Palevich <jackpal@google.com> Merge "Remove EGL context limit for Adreno GPUs."
483f3b06ea84440a082e21b68ec2c2e54046f5a6 14-Mar-2012 Amith Yamasani <yamasani@google.com> Package restrictions per user

Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
ava/com/google/android/gles_jni/GLImpl.java
8b854cd74bd29b6bb0b4c681490a3a97b1739289 19-Mar-2012 Jack Palevich <jackpal@google.com> Remove EGL context limit for Adreno GPUs.

This change allows Adreno GPUs to have multiple EGL contexts. We had
to limit this in earlier versions of Android due to limitations in
the Adreno GPU driver (only 8 EGL contexts allowed system wide.)
That brand of GPU has improved its EGL drivers to support multiple
EGL contexts in more recent versions of their drivers used on more
recent versions of Android.

Bug: 6142005
Change-Id: Id3030466be9a3d9fbe728f1785378c1f05da98fe
ava/android/opengl/GLSurfaceView.java
48a59c3d852867f13da4138ed2de94044febb99e 15-Mar-2012 Jack Palevich <jackpal@google.com> Ignore EGL_BAD_CURRENT_SURFACE errors from eglSwapBuffers

Certain EGL device drivers are generating this error, so we need to
survive it. (It's not clear from the EGL spec whether this is a
legitimate error code, but since it's being generated we need to
handle it.)

Remove logging of expected errors from elSwapBuffers. We expect these
errors to happen, and are handeling them by ignoring them.
No need to clutter the logs.

Bug: 6083241

Change-Id: If17dcfbb68d3009b92cf95a448728ccb47023b51
ava/android/opengl/GLSurfaceView.java
64d10a1da0a702ffeb086ad9c4a632f2712f1dad 09-Mar-2012 Siva Velusamy <vsiva@google.com> Expose a function to set OpenGL Trace level.

This patch adds a function setGlDebugLevel() to libEGL, and
exposes it to the Java layer at android.opengl.GLUtils.enableTracing().

Change-Id: Ia5abb130bc32fcfe3ab25b0a0a5283a54c54f357
ava/android/opengl/GLUtils.java
8c79817dc6459baa2c79db88e3c3e4d5c07d6a61 08-Mar-2012 Mathias Agopian <mathias@google.com> remove files that moved to frameworks/native

Change-Id: I140d291e520097b1148930f736823650e08488f7
nclude/EGL/egl.h
nclude/EGL/eglext.h
nclude/EGL/eglplatform.h
nclude/ETC1/etc1.h
nclude/GLES/egl.h
nclude/GLES/gl.h
nclude/GLES/glext.h
nclude/GLES/glplatform.h
nclude/GLES2/gl2.h
nclude/GLES2/gl2ext.h
nclude/GLES2/gl2platform.h
nclude/KHR/khrplatform.h
ibagl/Android.mk
ibagl/BufferObjectManager.cpp
ibagl/BufferObjectManager.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/TokenManager.cpp
ibagl/TokenManager.h
ibagl/Tokenizer.cpp
ibagl/Tokenizer.h
ibagl/array.cpp
ibagl/array.h
ibagl/context.h
ibagl/dxt.cpp
ibagl/dxt.h
ibagl/egl.cpp
ibagl/fixed_asm.S
ibagl/fp.cpp
ibagl/fp.h
ibagl/iterators.S
ibagl/light.cpp
ibagl/light.h
ibagl/matrix.cpp
ibagl/matrix.h
ibagl/mipmap.cpp
ibagl/primitives.cpp
ibagl/primitives.h
ibagl/state.cpp
ibagl/state.h
ibagl/texture.cpp
ibagl/texture.h
ibagl/vertex.cpp
ibagl/vertex.h
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_entries.in
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
ibs/EGL/egl_tls.cpp
ibs/EGL/egl_tls.h
ibs/EGL/egldefs.h
ibs/EGL/getProcAddress.cpp
ibs/EGL/trace.cpp
ibs/ETC1/etc1.cpp
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2_api.in
ibs/GLES2/gl2ext_api.in
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/glext_api.in
ibs/GLES_trace/.gitignore
ibs/GLES_trace/Android.mk
ibs/GLES_trace/DESIGN.txt
ibs/GLES_trace/dev.make
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_api.h
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_egl.h
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/src/gltrace_hooks.cpp
ibs/GLES_trace/src/gltrace_hooks.h
ibs/GLES_trace/src/gltrace_transport.cpp
ibs/GLES_trace/src/gltrace_transport.h
ibs/GLES_trace/tools/genapi.py
ibs/GLES_trace/tools/testgenapi.py
ibs/debug.in
ibs/egl_impl.h
ibs/entries.in
ibs/enums.in
ibs/glestrace.h
ibs/hooks.h
ibs/tools/genfiles
ibs/tools/glapigen
ibs/tools/glentrygen
ibs/tools/glenumsgen
ibs/tools/gltracegen
ibs/trace.in
pecs/EGL_ANDROID_blob_cache.txt
pecs/EGL_ANDROID_recordable.txt
pecs/README
ests/Android.mk
ests/EGLTest/Android.mk
ests/EGLTest/EGL_test.cpp
ests/EGLTest/egl_cache_test.cpp
ests/angeles/Android.mk
ests/angeles/MODULE_LICENSE_BSD_OR_LGPL
ests/angeles/README.txt
ests/angeles/app-linux.cpp
ests/angeles/app.h
ests/angeles/cams.h
ests/angeles/demo.c
ests/angeles/include/GLES/egl.h
ests/angeles/include/GLES/egltypes.h
ests/angeles/include/GLES/gl.h
ests/angeles/license-BSD.txt
ests/angeles/license-LGPL.txt
ests/angeles/license.txt
ests/angeles/shapes.h
ests/configdump/Android.mk
ests/configdump/configdump.cpp
ests/fillrate/Android.mk
ests/fillrate/fillrate.cpp
ests/filter/Android.mk
ests/filter/filter.cpp
ests/finish/Android.mk
ests/finish/finish.cpp
ests/gl2_basic/Android.mk
ests/gl2_basic/gl2_basic.cpp
ests/gl2_cameraeye/Android.mk
ests/gl2_cameraeye/AndroidManifest.xml
ests/gl2_cameraeye/res/values/strings.xml
ests/gl2_cameraeye/src/com/android/gl2cameraeye/GL2CameraEye.java
ests/gl2_copyTexImage/Android.mk
ests/gl2_copyTexImage/gl2_copyTexImage.cpp
ests/gl2_java/Android.mk
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/res/values/strings.xml
ests/gl2_java/src/com/android/gl2java/GL2JavaActivity.java
ests/gl2_java/src/com/android/gl2java/GL2JavaView.java
ests/gl2_jni/Android.mk
ests/gl2_jni/AndroidManifest.xml
ests/gl2_jni/jni/gl_code.cpp
ests/gl2_jni/res/values/strings.xml
ests/gl2_jni/src/com/android/gl2jni/GL2JNIActivity.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNILib.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
ests/gl2_yuvtex/Android.mk
ests/gl2_yuvtex/gl2_yuvtex.cpp
ests/gl_basic/Android.mk
ests/gl_basic/gl_basic.cpp
ests/gl_jni/Android.mk
ests/gl_jni/AndroidManifest.xml
ests/gl_jni/jni/gl_code.cpp
ests/gl_jni/res/values/strings.xml
ests/gl_jni/src/com/android/gljni/GLJNIActivity.java
ests/gl_jni/src/com/android/gljni/GLJNILib.java
ests/gl_jni/src/com/android/gljni/GLJNIView.java
ests/gl_perf/Android.mk
ests/gl_perf/fill_common.cpp
ests/gl_perf/filltest.cpp
ests/gl_perf/fragment_shaders.cpp
ests/gl_perf/gl2_perf.cpp
ests/gl_perfapp/Android.mk
ests/gl_perfapp/AndroidManifest.xml
ests/gl_perfapp/jni/gl_code.cpp
ests/gl_perfapp/res/values/strings.xml
ests/gl_perfapp/src/com/android/glperf/GLPerfActivity.java
ests/gl_perfapp/src/com/android/glperf/GLPerfLib.java
ests/gl_perfapp/src/com/android/glperf/GLPerfView.java
ests/gl_yuvtex/Android.mk
ests/gl_yuvtex/gl_yuvtex.cpp
ests/gldual/Android.mk
ests/gldual/AndroidManifest.xml
ests/gldual/jni/gl_code.cpp
ests/gldual/res/layout/gldual_activity.xml
ests/gldual/res/values/strings.xml
ests/gldual/src/com/android/gldual/GLDualActivity.java
ests/gldual/src/com/android/gldual/GLDualGL2View.java
ests/gldual/src/com/android/gldual/GLDualLib.java
ests/gldual/src/com/android/gldual/TriangleRenderer.java
ests/gralloc/Android.mk
ests/gralloc/gralloc.cpp
ests/hwc/Android.mk
ests/hwc/hwcColorEquiv.cpp
ests/hwc/hwcCommit.cpp
ests/hwc/hwcRects.cpp
ests/hwc/hwcStress.cpp
ests/hwc/hwcTestLib.cpp
ests/hwc/hwcTestLib.h
ests/include/EGLUtils.h
ests/include/glTestLib.h
ests/lib/Android.mk
ests/lib/glTestLib.cpp
ests/lighting1709/Android.mk
ests/lighting1709/AndroidManifest.xml
ests/lighting1709/src/com/android/lightingtest/ClearActivity.java
ests/linetex/Android.mk
ests/linetex/linetex.cpp
ests/swapinterval/Android.mk
ests/swapinterval/swapinterval.cpp
ests/testFramerate/Android.mk
ests/testFramerate/AndroidManifest.xml
ests/testFramerate/res/values/strings.xml
ests/testFramerate/src/com/android/testframerate/TestFramerateActivity.java
ests/testFramerate/src/com/android/testframerate/TestFramerateView.java
ests/testLatency/Android.mk
ests/testLatency/AndroidManifest.xml
ests/testLatency/res/values/strings.xml
ests/testLatency/src/com/android/testlatency/TestLatencyActivity.java
ests/testLatency/src/com/android/testlatency/TestLatencyView.java
ests/testPauseResume/Android.mk
ests/testPauseResume/AndroidManifest.xml
ests/testPauseResume/README
ests/testPauseResume/res/values/strings.xml
ests/testPauseResume/src/com/android/test/TestActivity.java
ests/testPauseResume/src/com/android/test/TestView.java
ests/testViewport/Android.mk
ests/testViewport/AndroidManifest.xml
ests/testViewport/README
ests/testViewport/res/values/strings.xml
ests/testViewport/src/com/android/test/TestActivity.java
ests/testViewport/src/com/android/test/TestView.java
ests/textures/Android.mk
ests/textures/textures.cpp
ests/tritex/Android.mk
ests/tritex/tritex.cpp
ools/glgen/.gitignore
ools/glgen/gen
ools/glgen/specs/gles11/GLES10.spec
ools/glgen/specs/gles11/GLES10Ext.spec
ools/glgen/specs/gles11/GLES11.spec
ools/glgen/specs/gles11/GLES11Ext.spec
ools/glgen/specs/gles11/GLES20.spec
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-1.0
ools/glgen/specs/jsr239/glspec-1.0ext
ools/glgen/specs/jsr239/glspec-1.1
ools/glgen/specs/jsr239/glspec-1.1ext
ools/glgen/specs/jsr239/glspec-1.1extpack
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/.gitignore
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GLESCodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
ools/glgen/src/ParameterChecker.java
ools/glgen/stubs/gles11/GLES10ExtHeader.java-if
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10Header.java-if
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/GLES20Header.java-if
ools/glgen/stubs/gles11/GLES20cHeader.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.java
ools/glgen/stubs/gles11/glGetProgramInfoLog.nativeReg
ools/glgen/stubs/gles11/glGetShaderInfoLog.cpp
ools/glgen/stubs/gles11/glGetShaderInfoLog.java
ools/glgen/stubs/gles11/glGetShaderInfoLog.nativeReg
ools/glgen/stubs/gles11/glGetString.cpp
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glGetString.nativeReg
ools/glgen/stubs/gles11/glShaderSource.cpp
ools/glgen/stubs/gles11/glShaderSource.java
ools/glgen/stubs/gles11/glShaderSource.nativeReg
ools/glgen/stubs/jsr239/GL10ExtHeader.java-if
ools/glgen/stubs/jsr239/GL10Header.java-if
ools/glgen/stubs/jsr239/GL11ExtHeader.java-if
ools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/jsr239/GL11Header.java-if
ools/glgen/stubs/jsr239/GL11ImplHeader.java-impl
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLHeader.java-if
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ools/glgen/stubs/jsr239/glGetString.cpp
ools/glgen/stubs/jsr239/glGetString.java-10-if
ools/glgen/stubs/jsr239/glGetString.java-if
ools/glgen/stubs/jsr239/glGetString.java-impl
ools/glgen/stubs/jsr239/glGetString.nativeReg
08965ec67ada98f63f8ac879cc44c8b0e7ff046d 06-Mar-2012 Mathias Agopian <mathias@google.com> fixup hardcoded include paths for new project

Change-Id: Id443ec5c99bb4d7653905f1be1f72a029e0cf087
ests/EGLTest/Android.mk
aa521412126953f55a04b1fece9444779156e714 06-Mar-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: Send vertex attribute data after glDraw() call."
a1549ff1bf59d6a4c85c92678b45d01757c38b6b 05-Mar-2012 Mathias Agopian <mathias@google.com> fixup include paths

- remove unneeded include deps
- remove some hardcoded include paths

Change-Id: Ifae0e2b2d738e0f94f8525c45be78f4227ce1673
ests/angeles/Android.mk
ests/fillrate/Android.mk
ests/filter/Android.mk
ests/finish/Android.mk
ests/gl2_basic/Android.mk
ests/gl2_copyTexImage/Android.mk
ests/gl2_yuvtex/Android.mk
ests/gl_basic/Android.mk
ests/gl_perf/Android.mk
ests/gl_yuvtex/Android.mk
ests/hwc/Android.mk
ests/hwc/hwcCommit.cpp
ests/hwc/hwcRects.cpp
ests/hwc/hwcStress.cpp
ests/hwc/hwcTestLib.cpp
ests/lib/Android.mk
ests/linetex/Android.mk
ests/swapinterval/Android.mk
ests/textures/Android.mk
ests/tritex/Android.mk
1c5387e1cb12a2aa2b1aaf4c2f4f5c61be4828aa 29-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: Send vertex attribute data after glDraw() call.

This patch enables tracing of vertex attribute data that
is specified using glVertexAttribPointer().

At the time the glVertexAttribPointer() call is made, we
only receive a pointer in client space, without any indication
of the size (# of attributes). This size is known only at
the time of the glDraw() call.

This patch generates a new message glVertexAttribPointerData()
when a draw call is issued that contains the vertex attribute
data.

A glDrawArrays() call directly gives the size of data to copy.
A glDrawElements() call gives the indices to copy. In such a
case, all data between the min & max indices drawn are copied
and sent to the host. To support glDrawElements() with an
element array buffer, this patch also adds state that maintains
a copy of all element array buffers.

Change-Id: I434da794a0aa9ada8e7474e219ffb1d79b183ecf
ibs/GLES_trace/dev.make
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_fixup.cpp
a85ca37c8469b2a54c95db0bb724017fd08c5688 24-Feb-2012 Jamie Gennis <jgennis@google.com> Add tracing to various graphics components.

This change adds ATRACE call tracing to BufferQueue,
SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL.

Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
ibs/EGL/eglApi.cpp
7d3916ff9cd464bd064a7e075c555f9ec6ff4349 26-Feb-2012 Mathias Agopian <mathias@google.com> libagl shouldn't export anything

Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
ibagl/context.h
89dd68f8d2e01e900032dd095f64aa60636a188d 27-Feb-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: Make code 64-bit safe."
d4edba0fe9cb0bab6ce706b5e285806baf138df7 27-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: Make code 64-bit safe.

Currently, the trace API passes the pointers that need to be
patched up via 32 bit integers. Such code will not be 64 bit safe.
This patch sends all pointers in a separate array of pointers
for the fixup calls to read from.

Change-Id: If975333f11a6f6f9a74fba57de328affaed452a5
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/tools/genapi.py
0a66900ee5093afa12a5786c4b9dc0e58991f426 27-Feb-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: attach buffer data sent with glBufferData"
af01feafc30152baf8e0a5cfddbf02bd14731fd2 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
ibagl/TextureObjectManager.cpp
ibagl/egl.cpp
ibagl/texture.cpp
cc0eaa6582563f51c98db1b232200ac4d2a9a996 25-Feb-2012 Mathias Agopian <mathias@google.com> remove libui dependency on libEGL

Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
ests/angeles/Android.mk
ests/angeles/app-linux.cpp
ests/angeles/gpustate.c
ests/fillrate/Android.mk
ests/fillrate/fillrate.cpp
ests/filter/Android.mk
ests/filter/filter.cpp
ests/finish/Android.mk
ests/finish/finish.cpp
ests/gl2_basic/Android.mk
ests/gl2_basic/gl2_basic.cpp
ests/gl2_copyTexImage/Android.mk
ests/gl2_copyTexImage/gl2_copyTexImage.cpp
ests/gl2_yuvtex/Android.mk
ests/gl2_yuvtex/gl2_yuvtex.cpp
ests/gl_basic/Android.mk
ests/gl_basic/gl_basic.cpp
ests/gl_perf/Android.mk
ests/gl_perf/gl2_perf.cpp
ests/gl_yuvtex/Android.mk
ests/gl_yuvtex/gl_yuvtex.cpp
ests/hwc/hwcColorEquiv.cpp
ests/hwc/hwcCommit.cpp
ests/hwc/hwcRects.cpp
ests/hwc/hwcStress.cpp
ests/hwc/hwcTestLib.cpp
ests/hwc/hwcTestLib.h
ests/include/EGLUtils.h
ests/include/glTestLib.h
ests/lib/glTestLib.cpp
ests/linetex/Android.mk
ests/linetex/linetex.cpp
ests/swapinterval/Android.mk
ests/swapinterval/swapinterval.cpp
ests/textures/Android.mk
ests/textures/textures.cpp
ests/tritex/Android.mk
ests/tritex/tritex.cpp
8293c92c751f15614b1c72e92becba6097e053c0 23-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: attach buffer data sent with glBufferData

Attach the buffer that is passed with glBufferData
and glBufferSubData to the proto buf.

Change-Id: I1b4c1172d405736b06cb0a356a6e241e1d60c4d5
ibs/GLES_trace/src/gltrace_fixup.cpp
7d5bb3ddf33d269cccae76b712e78715a894b4c8 18-Feb-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: Trace thread time and wall clock time."
e97df97b6cb5e4bff8f9da9ecff7cddb7d04ff41 17-Feb-2012 Romain Guy <romainguy@google.com> Merge "Remove unused private APIs"
97eda365fcf7209b56e0a52e01f7fb3352e4fa63 17-Feb-2012 Romain Guy <romainguy@google.com> Remove unused private APIs

Change-Id: Ib22005c7ed9923120089a1f1c806bca55bb90967
ava/android/opengl/Group.java
ava/android/opengl/Material.java
ava/android/opengl/Object3D.java
ava/android/opengl/Texture.java
3b4f3748f4aeb1d8fbe3b24f31b443aa91df4fee 17-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: Trace thread time and wall clock time.

For each gl function, trace both the thread and wall clock
times.

Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
ibs/GLES_trace/TODO.txt
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/tools/genapi.py
70579d5d418cc6be34f2b03fbaaf20fde807a1ab 15-Feb-2012 Mathias Agopian <mathias@google.com> Merge "Don't wrap EGLImageKHR and EGLSyncKHR anymore"
508c165b1956d19de40f5b792620f62a7b216e0f 15-Feb-2012 Mathias Agopian <mathias@google.com> Don't wrap EGLImageKHR and EGLSyncKHR anymore

this simplify our EGL wrapper implementation a lot.
This wrapping is no longer needed now that we can only
support a single underlaying EGL implementation.

Change-Id: I8213df7ac69daac447f1fe6e37044b78aac4e9a9
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_object.h
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2ext_api.in
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/glext_api.in
ibs/egl_impl.h
ibs/tools/glapigen
03290d2714ba6365a763ab45dfbee66e02e8280c 15-Feb-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: Patch up all glUniform*() calls."
892fdd600f8fd87b2ddcbe4be903172649c9ae83 15-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: Patch up all glUniform*() calls.

This patch updates the trace information for all glUniform*() calls
to have the right data (the actual uniforms that are passed).

In addition, as soon as a program is linked, information regarding
all the active attributes and uniforms is passed on to the debugger.

Change-Id: Icfbc6722789b42c413a845cf546577fa6de7da2b
ibs/GLES_trace/src/gltrace_fixup.cpp
b749dd853008e89ca608a135157e0ea0057b42ce 14-Feb-2012 Mathias Agopian <mathias@google.com> EGLConfig is now not remaped to an internal EGLConfig

this is possible now that we support only a single
EGL implementation. this allows a large code simplification.

Change-Id: I7a6b9db4c5d60f4407c6061e7a68729af63d5242
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egldefs.h
8db8509e3cfe63a05da5e990164ec3a4576528ca 14-Feb-2012 Mathias Agopian <mathias@google.com> remove multiplexing of multiple EGL implementation

from now on, the system can only have one EGL
implementation. this means the software and h/w renderer
cannot be used at the same time on a device. Of course, the
h/w renderer is always prefered; in its absence we
default to the software renderer.

Change-Id: Ib579f58055dd0ce4c4a99144131efa11c16ca3d3
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
ibs/EGL/egldefs.h
7b864906e5c9c9cd13325c213d0472b9b9fb1697 04-Feb-2012 Mathias Agopian <mathias@google.com> fix a dead-lock in eglMakeCurrent

this was introduced in a recent change. eglMakeCurrent can
end up calling eglDestroyImageKHR via ANativewWindow::disconnect
when the consumer is in the same process.

we make sure we don't hold the lock while this is happening.

Change-Id: Id17fe4fd76eecf5f962cefb9aa32be41fc1b042d
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
a16cc6b27120d76638394a7ddbc4d39a18b1d1dc 01-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: fixup Push & Insert Marker calls

Change-Id: I58ced7225fac79ec636a65da4883614a5dce6dff
ibs/GLES_trace/src/gltrace_fixup.cpp
9eb95992ea34e40e83d78f5c211933246c491f0f 31-Jan-2012 Mathias Agopian <mathias@google.com> fix a race condition in eglMakeCurrent()

it would happen when a context was made non-current, in this
case we would call the implementation's eglMakeCurrent() which
would succeed, if we're rescheduled at that point, another
eglMakeCurrent() could make that context current to another thread,
however, when we came back to the original call we would
overwrite egl_context_t internal state.

this is fixed by moving the critical section under
egl_display_t's lock.

Change-Id: I743c85696e13263d3a9570824940263df0caacdc
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
11c5db5e29f9e4ac4cdb0bb49197b48deb657e36 31-Jan-2012 Mathias Agopian <mathias@google.com> Merge "add all needed GL extension wrappers"
d0393a9e181826806e59636369aac4843e166d38 31-Jan-2012 Mathias Agopian <mathias@google.com> add all needed GL extension wrappers

when increasing MAX_NUMBER_OF_GL_EXTENSIONS to 256
we also needed to create all the corresponding wrappers.

Change-Id: I90edaaf0885ccdfab48e7a1396bcf88e039cfb25
ibs/EGL/getProcAddress.cpp
818b4236586d0dda696f363f1065c8f8abd64862 31-Jan-2012 Mathias Agopian <mathias@google.com> Merge "add support for GL_EXT_debug_marker"
b09316736fe7b721d92900ad901894fd5ce2b854 30-Jan-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: Use Unix Domain Socket rather than INET Socket"
ea261a2e13c23f641d6caa38ce8d9f5ad94504da 29-Jan-2012 Mathias Agopian <mathias@google.com> add support for GL_EXT_debug_marker

This extension is always added to the GL_EXTENSIONS
extension string for the current GL context, regardless
of if it's supported by the h/w driver.

The extension itself will be handled by GLES_trace (eventually),
when GLES_trace is not enabled, it'll result to a no-op.

If the h/w implementation has this extension, we'll call that version
instead of our dummy version.

Change-Id: Ie5dd3387c4d45cd5ed5f03b73bda6045620a96bc
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
ibs/EGL/egldefs.h
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2_api.in
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/egl_impl.h
ibs/tools/glapigen
0589e582361432f12848fdd59f8c408b7a31c35b 30-Jan-2012 Mathias Agopian <mathias@google.com> Merge "update GLES headers and add support for corresponding new extensions."
780018ded1caf8f3673c25c858656792f2a45dc4 28-Jan-2012 Mathias Agopian <mathias@google.com> update GLES headers and add support for corresponding new extensions.

Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
nclude/GLES/glext.h
nclude/GLES2/gl2ext.h
ibs/GLES2/gl2ext_api.in
ibs/GLES_CM/glext_api.in
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_api.h
ibs/GLES_trace/tools/genapi.py
ibs/GLES_trace/tools/testgenapi.py
ibs/entries.in
ibs/enums.in
ibs/hooks.h
ibs/trace.in
34e0491313a87ea5baae41fb620cdfc36a171da6 29-Jan-2012 Mathias Agopian <mathias@google.com> remove unused code

Change-Id: If900fcc50f9ffc424e270cb6063b16a2d7bc04d3
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_caller_cpp.py
ibs/GLES2_dbg/generate_debug_in.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/gl2_api_annotated.in
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/caller.cpp
ibs/GLES2_dbg/src/caller.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
ibs/GLES2_dbg/test/Android.mk
ibs/GLES2_dbg/test/test_main.cpp
ibs/GLES2_dbg/test/test_server.cpp
ibs/GLES2_dbg/test/test_socket.cpp
4c4d501205f758c3378736bd1f98b955bb189e54 27-Jan-2012 Siva Velusamy <vsiva@google.com> gltrace: Use Unix Domain Socket rather than INET Socket

Export trace information via abstract Unix Domain Socket (UDS).
This allows tracing of applications without INTERNET permission,
and should be faster as well.

Change-Id: Iabb67fcc2bc2484afd8128af07dca723b81c52c6
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_transport.cpp
ibs/GLES_trace/src/gltrace_transport.h
b335fad4705348ff78d764fb4be53dcbe6b67abe 16-Jan-2012 Jamie Gennis <jgennis@google.com> hack up frame latency measurement

Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
ibs/EGL/eglApi.cpp
5cfe839d953657b2ad4bcd3db929bd07f73b86df 17-Jan-2012 Siva Velusamy <vsiva@google.com> gltrace: fixup data for glTexSubImage2D & glDeleteBuffers

Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
ibs/GLES_trace/src/gltrace_fixup.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ibagl/egl.cpp
ibagl/mipmap.cpp
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
ibs/EGL/egl_tls.cpp
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_transport.cpp
ests/gl2_jni/jni/gl_code.cpp
ests/gl_perf/fill_common.cpp
ests/gl_perfapp/jni/gl_code.cpp
ests/gldual/jni/gl_code.cpp
8564c8da817a845353d213acd8636b76f567b234 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
ibagl/TextureObjectManager.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_object.h
bd47cac4dfc8440a848b33107cba1d6773f3e124 05-Jan-2012 Steve Block <steveblock@google.com> Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE"
157fea642cb4c10e44a61f932c68f7c3a2610a81 03-Jan-2012 Siva Velusamy <vsiva@google.com> gltrace: add user settings to control data captured.

Currently users do not have control over the amount of data
captured during tracing. This patch adds 3 settings that users
can enable/disable at runtime:
- capture framebuffer on eglSwap() calls
- capture framebuffer on glDraw*() calls
- capture texture data passed to glTexImage*() calls
Disabling these options when not needed signficantly decreases
the size of the trace file, and reduces performance overhead for
the running application.

These settings are stored in the per process GLTraceState.
A separate thread listens for commands from the host, and updates
the state based on the user commands.

Change-Id: Ic4518b94e8bcbc5330ac7138153721caa98b365d
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
ests/gl2_jni/jni/gl_code.cpp
ests/gl_jni/jni/gl_code.cpp
ests/gl_perf/fill_common.cpp
ests/gl_perfapp/jni/gl_code.cpp
ests/gldual/jni/gl_code.cpp
5ed919e33d4983a0a94a110804b3ff7267914058 16-Dec-2011 Siva Velusamy <vsiva@google.com> gltrace: add start time & duration to each traced call.

Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_api.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/tools/genapi.py
1e81e710fc6e676a43c0582abd9b802bc8bda175 14-Dec-2011 Siva Velusamy <vsiva@google.com> gltrace: transport buffering and context management

This patch adds two improvements:
1. Protobuf messages are buffered and sent in chunks.
2. Multiple EGL contexts are handled properly: Corresponding
to each EGLContext, a GLTraceContext with a unique ID is created.
On eglMakeCurrent, the appropriate GLTraceContext is set and is
used while tracing subsequent GL Calls in that thread.

Change-Id: I34076376d3e5af205c87c7396ea47659844abd6e
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_egl.h
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/src/gltrace_transport.cpp
ibs/GLES_trace/src/gltrace_transport.h
ibs/GLES_trace/tools/genapi.py
ibs/glestrace.h
efc1265402512303a9cf88b7ddd796e92df7857b 04-Jan-2012 Siva Velusamy <vsiva@google.com> Merge "gltrace: attach contents of the appropriate framebuffer"
5baa3a62a97544669fba6d65a11c07f252e654dd 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
ibagl/Tokenizer.cpp
ibagl/egl.cpp
ibagl/matrix.cpp
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/trace.cpp
ibs/GLES2/gl2.cpp
ibs/GLES2_dbg/src/caller.cpp
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
ibs/GLES_trace/src/gltrace_transport.cpp
0501f8a913e43f78ef7909346424f3264d03f8ea 09-Dec-2011 Jack Palevich <jackpal@google.com> Fix convert8To4, convert8To5

See b/5680952 "Compilation warnings in etc1.cpp" for discussion.

Fixes b/5680952

Change-Id: I0af6ba5ed5e60f3ed7a6a28eba3b09504fee1a3f
ibs/ETC1/etc1.cpp
1598ef959bcd2898185885d75afe0e041846d369 08-Dec-2011 Siva Velusamy <vsiva@google.com> gltrace: attach contents of the appropriate framebuffer

Currently, gltrace always attaches the contents of the currently
bound framebuffer. This patch changes it to attach the contents
of FB0 on eglSwap, and the currently bound framebuffer for the
glDraw* calls.

Change-Id: Ice0520d45d75638fe61cd91149df773074216510
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
c0f838fa01b7a2e2784a69e45f7f15f614f37ae9 05-Dec-2011 Siva Velusamy <vsiva@google.com> gltrace: Make framebuffer contents an optional message.

Currently, the contents of the FrameBuffer are sent by encoding
them as the last argument to the function call. As a result, it is
not possible to know if a message has the framebuffer encoded in it
without looking at the function type.

This patch modifies the protobuf definition to include a separate
optional framebuffer message.

Change-Id: Ief3a6950052d927ca0743e729457435b48c25a92
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_fixup.cpp
3d53e57e31535b8422ec22013e4a2d7ef6ea7249 03-Dec-2011 Siva Velusamy <vsiva@google.com> Merge "glestrace: Framework for GLES tracing library"
db97468fd241cecce62366b4f0962a9572161e95 01-Dec-2011 Siva Velusamy <vsiva@google.com> glestrace: Framework for GLES tracing library

This patch provides a framework for tracing GLES 1.0 and 2.0
functions. It is missing a lot of features, but here are the
things it accomplishes:

- Stop building the glesv2dbg library, and build the
glestrace library instead.
- Replace the hooks for glesv2dbg with the ones for glestrace.
- Add the basics for the trace library. Currently, this
traces all GL functions, but not all required data is
sent for all the functions. As a result, it will not
be possible to reconstruct the entire GL state on the
host side.

The files gltrace.pb.* and gltrace_api.* are both generated
using the tools/genapi.py script.

Change-Id: Id60a468f7278657f008bc6ea1df01f9bdfecfdd3
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_tls.cpp
ibs/EGL/egl_tls.h
ibs/EGL/trace.cpp
ibs/GLES2_dbg/Android.mk
ibs/GLES_trace/.gitignore
ibs/GLES_trace/Android.mk
ibs/GLES_trace/DESIGN.txt
ibs/GLES_trace/TODO.txt
ibs/GLES_trace/dev.make
ibs/GLES_trace/gltrace.proto
ibs/GLES_trace/src/gltrace.pb.cpp
ibs/GLES_trace/src/gltrace.pb.h
ibs/GLES_trace/src/gltrace_api.cpp
ibs/GLES_trace/src/gltrace_api.h
ibs/GLES_trace/src/gltrace_context.cpp
ibs/GLES_trace/src/gltrace_context.h
ibs/GLES_trace/src/gltrace_egl.cpp
ibs/GLES_trace/src/gltrace_egl.h
ibs/GLES_trace/src/gltrace_eglapi.cpp
ibs/GLES_trace/src/gltrace_fixup.cpp
ibs/GLES_trace/src/gltrace_fixup.h
ibs/GLES_trace/src/gltrace_hooks.cpp
ibs/GLES_trace/src/gltrace_hooks.h
ibs/GLES_trace/src/gltrace_transport.cpp
ibs/GLES_trace/src/gltrace_transport.h
ibs/GLES_trace/tools/genapi.py
ibs/GLES_trace/tools/testgenapi.py
ibs/glestrace.h
ibs/glesv2dbg.h
ibs/glesv2dbg_functions.h
b665687a55eef67397115188a5ed76c53b267403 30-Nov-2011 Mathias Agopian <mathias@google.com> am e2970700: am e8ba2aba: Merge "add a way to access the version string of the h/w implementation of EGL" into ics-mr1

* commit 'e2970700e921da4226061988a6e8953b1fbfb5a9':
add a way to access the version string of the h/w implementation of EGL
cadd325aff7354be23d3bccb4f53b603f1506c9f 30-Nov-2011 Mathias Agopian <mathias@google.com> add a way to access the version string of the h/w implementation of EGL

we use a hidden egl extension. the version string is printed
in SF's dumpsys log.

Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
ibs/EGL/eglApi.cpp
pecs/README
0219af277e5e1ae483c9690cffce33f185b02246 22-Nov-2011 Romain Guy <romainguy@google.com> am ea54d0dc: am 723218b4: Merge "Hide ManagedEGLContext until we are sure this is the correct API." into ics-mr1

* commit 'ea54d0dc0dfeef5560fea04667804413d522025f':
Hide ManagedEGLContext until we are sure this is the correct API.
3526b00a53a2582a51ff8b98ac1400a48f351107 22-Nov-2011 Romain Guy <romainguy@google.com> am c26e4d18: am 8cd39e3a: Merge "Notify views when EGL resources are about to be destroyed Bug #5639899" into ics-mr1

* commit 'c26e4d18a20ab0b3e769fb3e547994f1c27d6713':
Notify views when EGL resources are about to be destroyed Bug #5639899
08b7660f67277db234f24a6e9cb0be172e81558d 22-Nov-2011 Jamie Gennis <jgennis@google.com> am 8b8c321c: am b8d20d02: Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1

* commit '8b8c321c70687ace750e42b745b6e96258d739cd':
EGL: Use cache sizes defined in the BoardConfig
07f062b6271e7ec820d1079566e7451a9cf55558 22-Nov-2011 Jamie Gennis <jgennis@google.com> am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1

* commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a':
SurfaceTexture: fix a couple tests
EGL: default to swap interval 1
SurfaceTexture: clean up some tests
dccf73a50cb2a219182e141bac1d9da82fdaf4d7 22-Nov-2011 Romain Guy <romainguy@google.com> Hide ManagedEGLContext until we are sure this is the correct API.

Change-Id: If54942d342ca8ea348e10231b2aed3e5d3bd701b
ava/android/opengl/ManagedEGLContext.java
8cd39e3a104d0739fd2f1ae73e5f4081f1528c6c 22-Nov-2011 Romain Guy <romainguy@google.com> Merge "Notify views when EGL resources are about to be destroyed Bug #5639899" into ics-mr1
b8d20d028ca590f6a9c57e0e8fee5e5f80e9ae54 22-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1
87f3265bb082160efdfdfb87a79698c67ebad447 20-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: default to swap interval 1

This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.

Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
ibs/EGL/eglApi.cpp
6f0f0b186533ec0a1f11fd577c0c6dfa9dd29481 20-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: Use cache sizes defined in the BoardConfig

This change introduces two new BoardConfig variables to control the size
limits of the EGL blob cache. MAX_EGL_CACHE_ENTRY_SIZE is the size
limit for values inserted into the cache, and MAX_EGL_CACHE_SIZE is the
size limit for all entries in the entire cache (including both keys and
values). If either of these BoardConfig variables are not defined then
a default size limit is used instead.

Change-Id: I6703d93f966b6389c6499f23d841e42339f9c9d7
ibs/Android.mk
ibs/EGL/egl_cache.cpp
31f2c2e94656530fbf6282803e62edb47e9a894d 21-Nov-2011 Romain Guy <romainguy@google.com> Notify views when EGL resources are about to be destroyed
Bug #5639899

Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
ava/android/opengl/ManagedEGLContext.java
99f0528b5eed9de4b9c59e806df32a58954c65a9 18-Nov-2011 Jamie Gennis <jgennis@google.com> am e2fca63a: am c8fd6e30: Merge "EGL: fix blob cache extension detection" into ics-mr1

* commit 'e2fca63a18c7bd3fb0c14e1c5dc391cd699cea9f':
EGL: fix blob cache extension detection
fa1a6eb584dde49d424fa53a995a6d0dbd45155c 18-Nov-2011 Jamie Gennis <jgennis@google.com> am 0272e600: am a37a78e2: Merge "GLES: add image external enums" into ics-mr1

* commit '0272e60060162d2c32aec02d9cd1414dbbe14782':
GLES: add image external enums
c8fd6e3057a98a992b96c2bce3fa2a981c6e45c0 18-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: fix blob cache extension detection" into ics-mr1
a37a78e2efe54892a744adfc6330c2d2179dee21 18-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "GLES: add image external enums" into ics-mr1
cf30c60f1bd250bb1dd7b6bb946c7975577df31b 17-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: fix blob cache extension detection

Bug: 5474671
Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
ibs/EGL/egl_cache.cpp
ce51c10fc139c9383229ff21698bdc72fe83c8d0 17-Nov-2011 Mathias Agopian <mathias@google.com> am 2030d78d: am 8fc3540f: Merge "be a bit more defensive when parsing extension strings" into ics-mr1

* commit '2030d78dc9c20d2f561f4b11f1a1adddb63661c6':
be a bit more defensive when parsing extension strings
22da9a8beb4af362fbe9a108234d40b341c8d9fb 17-Nov-2011 Jack Palevich <jackpal@google.com> Merge "Fix potential GLThread / GLSurfaceView memory leak."
77c5f4def49357a89abd9849b0bab950179d71f4 17-Nov-2011 Dianne Hackborn <hackbod@google.com> am 9aa6bd1c: am 717a25dc: Add new ManagedEGLContext class to help apps participate in memory trimming.

* commit '9aa6bd1c34fe3583fe31f283a6415e84fec12567':
Add new ManagedEGLContext class to help apps participate in memory trimming.
47ab60e93f56c64a06e42977a8038e341befca25 17-Nov-2011 Mathias Agopian <mathias@google.com> be a bit more defensive when parsing extension strings

hopefully this will fix a crash in the emulator.

Bug: 5624674
Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
ibs/EGL/egl_display.cpp
717a25dc2a411edb548859cd6870363346c71b01 16-Nov-2011 Dianne Hackborn <hackbod@google.com> Add new ManagedEGLContext class to help apps participate in memory trimming.

This class provides an API for an application to know when it is time to
destroy its EGL context when memory is being trimmed. By having this in
the framework, we can still detect whether it will be useful to destroy
any EGL contexts (because we know if doing so will destroy all of them).

Change-Id: I1eac8d640052778052926b875c7928008f752182
ava/android/opengl/ManagedEGLContext.java
dff37bc674310beeb2aaf296130b8bbaa0e2ead2 16-Nov-2011 Mathias Agopian <mathias@google.com> am bc1b7f04: am c0fa2a3b: Merge "rework a bit how we manage EGL extensions" into ics-mr1

* commit 'bc1b7f0481f9bfa0e9feff0b43e48f9f171e0c38':
rework a bit how we manage EGL extensions
80b3cd6bc608c5929096e3407de2b157be925d3e 15-Nov-2011 Jack Palevich <jackpal@google.com> Fix potential GLThread / GLSurfaceView memory leak.

Until now a leak was possible under the following scenario:

Create a GLSurfaceView
Register a renderer (this automatically starts a GLThread).
Discard the GLSurfaceView without installing it in the view system.

This scenario can occur when a device is rotated rapidly from
orientation A to orientation B to orientation C. In that scenario,
orientation B's GLSurfaceView might be discarded without ever being
attached to a window.

If this issue had been identified before GLSurfaceView had clients, one
possible fix would have been to delay the construction of the GLThread
until the GLSurfaceView was attached to a window. Unfortunately, it's
too late, and so making that change would lead to observable changes in
behavior, possibly breaking some clients.

Instead, fixed by making GLThread and EGLHelper static classes that hold
onto a weak reference to the GLSurfaceView. This allows the GLSurfaceView
to be garbage collected when it is no longer used, even if the GLThread
is active. GLSurfaceView's finalize method will manually stop the GLThread
if it is still running when the GLSurfaceView exits.

Part of this change was to remove the Renderer reference from GLThread,
because Renderer is a user-supplied class that could contain a reference
chain that points back to the GLSurfaceView.

Fixes b/5606613 "GLSurfaceView that's never added to a window will
leak threads and views, can leak activities"

Change-Id: Iafdc329eb6e9e40062358e7c119f5547ffe23d5e
ava/android/opengl/GLSurfaceView.java
d6ae2ceedf3a44840d3e872ca69380bf92fe430e 15-Nov-2011 Mathias Agopian <mathias@google.com> am a0d32c4d: am 6b3ce09d: Merge "fix crash when validating an invalid EGL objects" into ics-mr1

* commit 'a0d32c4d094704fd6f4ccd3cba297a7c7d2f38fe':
fix crash when validating an invalid EGL objects
9726b1b54b45f9a165a12bc4738f22c5070a6657 15-Nov-2011 Jamie Gennis <jgennis@google.com> GLES: add image external enums

This change adds Java definitions for the enums of the
GL_OES_EGL_image_external OpenGL ES extension.

Bug: 3482193
Change-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2
ava/android/opengl/GLES11Ext.java
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
43015443b4014d2ae6a6a439102d610a51d85a4f 15-Nov-2011 Jamie Gennis <jgennis@google.com> am c38d40de: am 6b228af6: Merge "EGL: add the ANDROID suffix to the blob cache ext" into ics-mr1

* commit 'c38d40ded9810aa809489e080ee811bec86d546d':
EGL: add the ANDROID suffix to the blob cache ext
e88740e6264d829099d04bbe57d1ec2b14996c40 14-Nov-2011 Mathias Agopian <mathias@google.com> rework a bit how we manage EGL extensions

- don't advertise extensions that are not supported
by any implementation

- remove EGL_ANDROID_swap_rectangle which is not
implemented by anybody and confuses people

- add some comments about mandatory extensions

Bug: 5428001
Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
nclude/EGL/eglext.h
ibagl/egl.cpp
ibagl2/Android.mk
ibagl2/README
ibagl2/libagl2.project
ibagl2/src/api.cpp
ibagl2/src/egl.cpp
ibagl2/src/get.cpp
ibagl2/src/gles2context.h
ibagl2/src/shader.cpp
ibagl2/src/state.cpp
ibagl2/src/texture.cpp
ibagl2/src/vertex.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
274e03c90ee6054e81a16b1bd0a54258e08ddee9 14-Nov-2011 Mathias Agopian <mathias@google.com> fix crash when validating an invalid EGL objects

the code that validated EGL objects dereferenced the object
to access its EGLDisplay -- needed for validation (!).
This was wrong for two reasons, first we dereferenced the object
before validating it (potentially leading to a crash), secondly
we didn't validate that the object existed in the right EGLDisplay.

We now use the EGLDisplay passed by the user API.

Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
6b228af6ff20b3f592db4ad5662e1bc401d09b4d 15-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: add the ANDROID suffix to the blob cache ext" into ics-mr1
b7928463a32092940dd56b0694a624c21d18325d 10-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: add the ANDROID suffix to the blob cache ext

This change adds the ANDROID suffix to the all the types and functions
defined by the EGL_ANDROID_blob_cache extension.

Change-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d
nclude/EGL/eglext.h
ibs/EGL/eglApi.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
pecs/EGL_ANDROID_blob_cache.txt
1333742bedc9b462024302f302e3a7f27053df66 11-Nov-2011 Akwasi Boateng <akwasi.boateng@ti.com> am cb0db030: Merge branch \'ics-mr1-plus-aosp\' of ssh://android-git:29418/platform/frameworks/base into ics-mr1-plus-aosp

* commit 'cb0db0306b5849a35d3d99eea1b34ce019c6f0d8':
Make the overridden ImageView#setVisibility remotable
Clamp non-monotonic stats instead of dropping.
DO NOT MERGE. Fix leak in LayoutTransition
Fix lastVisible/global rects
Fix Wimax-less build.
Fix leak in LayoutTransition
Deferring wallpaper update to improve workspace scrolling (issue 5506959)
Terminate EGL when an app goes in the background
boot animation is dithered and scaled
Fix NdefRecord byte-stream constructor.
PopupWindow dismiss() can get into a recursive loop.
Fold WiMAX state into the mobile RSSI.
Remove dedicated wimax icon to fix RSSI layout.
50a66f0e9c5a85a6af4a99eb66656a69eba24572 11-Nov-2011 Romain Guy <romainguy@google.com> Merge "Terminate EGL when an app goes in the background" into ics-mr1
8ff6b9ebeeb24a6161ec6098e6bfdf8790ee5695 10-Nov-2011 Romain Guy <romainguy@google.com> Terminate EGL when an app goes in the background

This does not happen on high end gfx devices. This happens
only if only one EGL context is initialized in the current
process.

Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
ava/android/opengl/EGLLogWrapper.java
ava/com/google/android/gles_jni/EGLImpl.java
ava/javax/microedition/khronos/egl/EGL10.java
ibs/EGL/egl_display.h
715bcd6d5b0cf76a65f17bac7e07f575f29834a9 10-Nov-2011 Jamie Gennis <jgennis@google.com> am 1bf15e79: am 97ece7a9: Merge "EGL: add deferred saving of the cache" into ics-mr1

* commit '1bf15e79dcc89229c599987ed795e3fd99bcbc88':
EGL: add deferred saving of the cache
dfef67374a66f01222bee956c11a0eba40650a8e 09-Nov-2011 Jamie Gennis <jgennis@google.com> am 3cb007e4: am 911263dc: Merge changes I18e5e789,I5cbaae2d into ics-mr1

* commit '3cb007e44db1e169747528f62a118575f3b04d56':
EGL: implement loading and saving the cache
EGL: use an in-memory the blob cache
2ea0cbb3d14ec82b1728ca6a1caa4f3f458814ef 09-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: add deferred saving of the cache

This change causes any insertions into the EGL cache to trigger an
attempt to save the cache contents to disk. The save operation is
deferred to allow multiple cache insertions to be batched up.

Change-Id: I6cfec9c0dbbef94d3f8880860e2a365dccc296c7
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
d90bf3911dd19a93b373680f2bde551c9c3c016b 08-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: implement loading and saving the cache

This change adds support for saving and loading the contents of the EGL
cache. It also adds some simple tests for the EGL cache.

Change-Id: I18e5e789e0897a0783d29d1c1e64d26de2dd44c4
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
ibs/EGL/egl_display.h
ests/EGLTest/Android.mk
ests/EGLTest/egl_cache_test.cpp
9cf8b6eadba70aca871faf8ba23825c57ede7cb5 06-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: use an in-memory the blob cache

This change makes the makes the stub EGL_ANDROID_blob_cache callbacks
actually use a BlobCache object.

Bug: 5474671
Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a
nclude/EGL/eglext.h
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
ibs/EGL/egl_display.cpp
9829cceca11a0fc92ab1318ce32b4d4dae8d347d 07-Nov-2011 Alex Sakhartchouk <alexst@google.com> Merge "Properly passing an unused variable through."
aaa0336f883b2f94af5e7d4a320cb9a351a2db93 05-Nov-2011 Jamie Gennis <jgennis@google.com> am 2ab7ec90: Merge "EGL: Add stubs for EGL_ANDROID_blob_cache" into ics-mr1

* commit '2ab7ec90e4a6f21bee7cbfebbd751d32d4cf9e03':
EGL: Add stubs for EGL_ANDROID_blob_cache
0dc908ce71cb643dfb41598be9f358baec93fc41 04-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: Add stubs for EGL_ANDROID_blob_cache

This change adds a stub cache implementation that gets passed to the
underlying EGL implementation at initialization time.

Change-Id: I14437c5b6f91b7a34a19bb02ad802e6e54f88d2a
ibs/Android.mk
ibs/EGL/eglApi.cpp
ibs/EGL/egl_cache.cpp
ibs/EGL/egl_cache.h
ibs/EGL/egl_display.cpp
fc5e224e8dcc878606e47ba3d834be0a79498ac6 04-Nov-2011 Alex Sakhartchouk <alexst@google.com> Properly passing an unused variable through.

Change-Id: Ie49b5855bfca4e202ed41b6167a899832e99d728
ava/android/opengl/ETC1Util.java
eba186448ff048f8fc1ba596c9779e8069a93128 31-Oct-2011 Joe Fernandez <joefernandez@google.com> am 74b2b954: am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0

* commit '74b2b9547329a0b05e0bd5701057696007b854bb':
docs: add developer guide cross references, Project ACRE, round 3
74b2b9547329a0b05e0bd5701057696007b854bb 29-Oct-2011 Joe Fernandez <joefernandez@google.com> am 09848bc8: Merge "docs: add developer guide cross references, Project ACRE, round 3" into ics-mr0

* commit '09848bc89de999416e2de82a7693b2deec6bf802':
docs: add developer guide cross references, Project ACRE, round 3
b50e2afd6782e9b877f52844bec106c12ff9a9ef 28-Oct-2011 Jack Palevich <jackpal@google.com> Destroy and recreate the EGL surface when the surface size changes.

Details:
+ Split EGLHelper.createSurface into two methods.
+ Add a separate flag for specifying when to create the GlInterface.
+ destroy and recreate the EGL surface when the surface size changes
+ Remove no-longer-needed work-around for b/2263168.

This fixes b/2263168

Change-Id: I0d2596527e3c8dabacdd8a8e427531eaefe7d266
ava/android/opengl/GLSurfaceView.java
61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec 26-Oct-2011 Joe Fernandez <joefernandez@google.com> docs: add developer guide cross references, Project ACRE, round 3

Change-Id: I6125315ecdf0f78dd947c514a9944729d723e95d
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/package.html
ava/javax/microedition/khronos/opengles/package.html
a35c120d8fafa7dded606a25bc100b13f48ab9e3 14-Oct-2011 Jack Palevich <jackpal@google.com> Work around race condition when shutting down a surface flinger surface.

Works around b/4588890

Change-Id: Ie0cf1f212686aec93cda85bf112f4b7ab4197256
ava/android/opengl/GLSurfaceView.java
97bc75d42c2a03a68c46c134f16fd64d8f2ce657 06-Oct-2011 Mathias Agopian <mathias@google.com> don't log EGL errors due to unimplemented proprietary extensions

Change-Id: Icfc33d4f55d1e7fb49390ce0921ba37a438c9fc2
ibs/EGL/eglApi.cpp
ibs/EGL/egl_tls.cpp
ibs/EGL/egl_tls.h
cc5471c35327c1511075f5df0d45a2d57610fecb 21-Sep-2011 Jack Palevich <jackpal@google.com> Avoid allocating temporary memory for Matrix operations.

Also fix a bug where Matrix.invertM was not returning false when the
matrix could not be inverted.

Change-Id: I68b172032093d9f257e88c802de936633bb4912c
ava/android/opengl/Matrix.java
575e01c6c767274a9581e07290aa41e928c643eb 14-Sep-2011 Mathias Agopian <mathias@google.com> fix EGL debugger

always use GL_RGBA, GL_UNSIGNED_BYTE for screen capture
and make sure to handle GL_BGRA_EXT used on some gpu.

Change-Id: If9c973677fec8a5c4e72be22e7ef7d4bf5f008f4
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/vertex.cpp
ibs/GLES2_dbg/test/test_main.cpp
ibs/GLES2_dbg/test/test_server.cpp
ibs/GLES2_dbg/test/test_socket.cpp
53f6cdd94d2ceccc7ca7cd0b45f3172944f60dc4 16-Sep-2011 Mathias Agopian <mathias@google.com> cleanup: fix typos in logs

Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
ibs/EGL/egl_object.h
1b1d73f3ae5013f6c82f6a9b23a1654896e7a64a 26-Aug-2011 Jonas Yang <joyang@nvidia.com> Add (support for) EGL_NV_system_time extension.

Change-Id: I62bf0fcb5ccdc77c042b425a42054fb3122575b6
Signed-off-by: Mathias Agopian <mathias@google.com>
nclude/EGL/eglext.h
ibs/EGL/eglApi.cpp
ibs/EGL/egl_entries.in
8ec2ff65da037da14fa1fe372a24a053d198fc51 07-Sep-2011 Mathias Agopian <mathias@google.com> add an option to EGL to dump stack traces on errors

enable by setting debug.egl.callstack to 1

Change-Id: I7fad9ce71b4c4c5ece97d4f9d139348eab742a3c
ibs/EGL/egl.cpp
ibs/EGL/egl_tls.cpp
382b88409c3aca5aa70a98f9625bb5f3bde1d1f4 26-Aug-2011 David 'Digit' Turner <digit@android.com> opengl: EGL: special case for GLES emulation

This patch modifies the library loaded in libEGL.so to
handle the case of GLES emulation as follows:

- if we detect that we run inside the emulator, check the
GPU emulation status through ro.kernel.qemu.gles, which
will be set to 1 if supported, or 0 otherwise.

When trying to run on an older version of the emulator,
the kernel parameter will not be defined at all.

- if GPU emulation is supported, use egl.cfg as usual.
It will contain a line like "0 0 emulation" that will
load libEGL_android.so appropriately.

- nothing is changed if we don't run inside the emulator.

NOTE: Ideally, we would modify libEGL_emulation.so to
redirect all calls to libEGL_android.so in this case.

However, this turns out to be extremely tedious to implement
(too many functions with different signatures).

As such, it is much simpler to make the check before
loading the library.

Change-Id: I9930bc168d9013cc8700feedc57b979384467c37
ibs/EGL/Loader.cpp
4222092bd5650aa353caad4ef67689498564e592 02-Sep-2011 Mathias Agopian <mathias@google.com> fix another bug that prevented the gl debugger to work

we didn't set the debug tls properly

Change-Id: Iad9cc5b5d230a8eb7f680c4b70925c5e43e73051
ibs/GLES2_dbg/src/dbgcontext.cpp
3b583229d0aa3629fe9400dd633bebbc54a5c0c2 01-Sep-2011 Mathias Agopian <mathias@google.com> this should fix the GL debugger

we were checking against to the wrong variable

Change-Id: Iff3f5ab2d6ba5ac0d3d8161011b38e673ee7e67b
ibs/EGL/egl.cpp
ca07e34f13fd1c5df8deecc815fcb46f0a07052f 26-Aug-2011 Mathias Agopian <mathias@google.com> fix logging of eglMakeCurrent() errors

Change-Id: Ie22cabff822a8fb3186f082491234b9503b431c3
ibs/EGL/eglApi.cpp
c63764e834445c4b0db1dfa56770d6928d65bc56 25-Aug-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: move disconnect to surface dtor"
407ec78b828173257b0c5dae221649a4ccd8b058 25-Aug-2011 Romain Guy <romainguy@google.com> Add OpenGL backend to ImageWallpaper
Bug #5204874

Currently disabled.

Change-Id: I5e7b35dce2981b0691f107e39c6394b260466543
ava/android/opengl/GLUtils.java
7de41f1bf73cc7fe2a193293873a6f418a735369 24-Aug-2011 Jamie Gennis <jgennis@google.com> 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
ibs/EGL/eglApi.cpp
ibs/EGL/egl_object.h
f319e2f2ebda579d5c1d94ba24f650d362aacb9c 19-Aug-2011 Mathias Agopian <mathias@google.com> implement EGL_TEXTURE_EXTERNAL_OES in libagl

this allows the emulator to display some graphics

Change-Id: Ib4671ad70b8df598d02307f2b9c5b843421cea25
ibagl/state.cpp
ibagl/texture.cpp
e98013b8886249ae38650836f6915e0f7d0e7476 15-Aug-2011 Mathias Agopian <mathias@google.com> fix test-opengl-swapinterval

EGLConfig selection should now work on any device

Change-Id: I4d4580e891d1faf817fa853838406fb49d12e50a
ests/swapinterval/swapinterval.cpp
3ab88557947d708cc36d60ce6566509ceff944e4 02-Aug-2011 Mathias Agopian <mathias@google.com> fix an issue where the screen could be stale after a surface size change

some GLES drivers dequeue buffers before a frame is started
(which is allowed), which can cause a that frame to be rendered
into a buffer of the wrong size. Such buffer will be ignored
by the compositor. If the application draws only once after a
size change, the screen might stay in this stale state.

this can be avoided by telling the GL driver to purge all its
pending buffers, which is done by making the surface not current
and then current again.

this solution is specific to android, but acceptable because
handled solely in the framework.

Bug: 2263168
Change-Id: I3d3c9a019979a9186e329d3160fa54adac78d3f7
ava/android/opengl/GLSurfaceView.java
982d2da4eef0a48d84d88e3e1d2d1dbdbb413a27 30-Jul-2011 Mathias Agopian <mathias@google.com> 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
ibs/EGL/eglApi.cpp
115ed5f46df18c864e4b5632d35ea3e4ec921d9c 20-Jul-2011 Romain Guy <romainguy@google.com> Add new OpenGL test

Change-Id: Icab48d71945bf94dd53f58b728a951d46380d945
ests/gl2_copyTexImage/Android.mk
ests/gl2_copyTexImage/gl2_copyTexImage.cpp
8fdb8a4dd3f73640f1295d98ae09eadb3e071653 18-Jul-2011 Jamie Gennis <jgennis@google.com> EGL: update EGL_ANDROID_recordable extension.

This change adds an enum value and a description of the expected
implementations to the EGL_ANDROID_recordable extension specification.
It also adds the new enum value to the 'eglext.h' header.

Change-Id: Ia0de2d5613708445ff83b85a7e550f9417531ee4
nclude/EGL/eglext.h
pecs/EGL_ANDROID_recordable.txt
ad3f935ce9f3308edc62d56a0059e0761c720077 12-Jul-2011 Mathias Agopian <mathias@google.com> Merge "fix typo in a comment"
43dd61e08a726fbc3695b1cbfdef6bdd4ddd34be 12-Jul-2011 Mathias Agopian <mathias@google.com> fix typo in a comment

Change-Id: If913611a65e8b578021e9f9a9546f05e0ce6ef44
ava/android/opengl/GLSurfaceView.java
8c55a9a57e4f13ec420c3de7b3abfdcf454f6633 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Remove the simulator target from all makefiles. Bug: 5010576"
bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ibagl/Android.mk
ibagl2/Android.mk
ibs/Android.mk
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/test/Android.mk
ests/EGLTest/Android.mk
ests/gl2_jni/Android.mk
ests/gl_jni/Android.mk
ests/gl_perfapp/Android.mk
ests/gldual/Android.mk
ests/testPauseResume/Android.mk
ests/testViewport/Android.mk
2d6bb33800e35b452a42a8ee0e35043d790b0b22 12-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes I002177a6,Ibaff52fe

* changes:
Add the EGL_ANDROID_recordable spec.
Add the spec for EGL_ANDROID_blob_cache.
8f80f152e593a9b3efae4d7b4c89b807a972d7b3 09-Jul-2011 Jamie Gennis <jgennis@google.com> Add the EGL_ANDROID_recordable spec.

Change-Id: I002177a68fafd6bb941aa64445c85fd5ff56223a
pecs/EGL_ANDROID_recordable.txt
pecs/README
308f9f6b248402c67d73c3ad48f5b6b888bab7b7 12-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: fix the ANativeWindow size/fmt override"
039857520b1a03a52051b966d87d587225bdfcc3 12-Jul-2011 Romain Guy <romainguy@google.com> Always make GL calls with a valid EGL context.
Bug #5010760

Change-Id: If7500ef69683948e727df1406f458f18b11259d1
ibs/EGL/egl.cpp
97eae025ad857e33dce5b3d1d4fd5fe5813d2a80 01-Jul-2011 Jamie Gennis <jgennis@google.com> 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
ibs/EGL/eglApi.cpp
0fec106d854e7e9529b670c973446bb6748fbc04 08-Jul-2011 Jamie Gennis <jgennis@google.com> Add the spec for EGL_ANDROID_blob_cache.

Change-Id: Ibaff52fee5c856283536ad37251cc80a9f3f938b
pecs/EGL_ANDROID_blob_cache.txt
222b466d5a9fae0b11282fb128f87c491a0ccc7f 07-Jul-2011 Mathias Agopian <mathias@google.com> Add a simple EGL test

currently it just tests EGLConfig selection

Change-Id: Id9d9971012d733147dd7dc02fa2054307960235e
ests/EGLTest/Android.mk
ests/EGLTest/EGL_test.cpp
e5e0c50f7dfaccc220725c5595080e921ffda1e4 16-Jun-2011 Romain Guy <romainguy@android.com> Properly refcount SurfaceTexture in the JNI layer.

Change-Id: I4b4c8020c13b8d6ce0d302fe42410033bf5785a6
ava/com/google/android/gles_jni/EGLImpl.java
f56a960105916a7fd12284109784e5f667661439 24-May-2011 Mathias Agopian <mathias@google.com> fix x86 build

Change-Id: I03cfbfeaeb8b13842248856b14b4a23711036e10
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_tls.h
ibs/EGL/egldefs.h
ibs/EGL/getProcAddress.cpp
ibs/EGL/hooks.cpp
ibs/EGL/trace.cpp
ibs/egl_impl.h
ibs/hooks.h
f1e4e06319ef461997eefe45be716ad954defcb1 17-May-2011 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
7adf4ef0fad9973d9a07f2a73b2c4238c8e6bf7c 14-May-2011 Mathias Agopian <mathias@google.com> refactor EGL source code

no changes is functionality. split various objects into their own files.
make egl_display objec's lock internal.
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/eglApi.cpp
ibs/EGL/egl_display.cpp
ibs/EGL/egl_display.h
ibs/EGL/egl_object.cpp
ibs/EGL/egl_object.h
ibs/EGL/egl_tls.cpp
ibs/EGL/egl_tls.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/test/test_server.cpp
ibs/GLES2_dbg/test/test_socket.cpp
ibs/egl_impl.h
ibs/egl_tls.h
ibs/glesv2dbg.h
90bf262591a1772d06a18581c11a6115b89fc143 12-May-2011 Mathias Agopian <mathias@google.com> fix (Again) adding OES postfix when looking for gl functions

Change-Id: Ib14723ed5355fdc423226ec20a32e26fe7dd68fe
ibs/EGL/Loader.cpp
1e740c776dd39b1333112b17fad37ba6cc00cf1b 28-Jan-2011 Jeff Boody <jboody@quicinc.com> add OES postfix without truncating function

Change-Id: Id47304cf38914190cec58d703801f456ab916f63
ibs/EGL/Loader.cpp
21bb1c7a1f3303cd75f22000445f3ce9226cbc18 11-May-2011 Mathias Agopian <mathias@google.com> fix libagl surface initialization

this broke recently when removing copybit support.

Change-Id: I5cc7ff7f49268411c6c2cfb2d97590d52b13dbd5
ibagl/egl.cpp
b2a153adc9860616acdb96d7cdd64494d5a2a0f2 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
nclude/EGL/eglext.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/egl.cpp
ibagl/texture.cpp
ibagl2/src/egl.cpp
df0a7fbdcff3c683641b7980da50a7d0eebe0876 03-May-2011 Romain Guy <romainguy@google.com> Merge "Allows to render with an OpenGL context inside a TextureView."
8f0095cd33558e9cc8a440047908e53b68906f5f 03-May-2011 Romain Guy <romainguy@google.com> Allows to render with an OpenGL context inside a TextureView.

Change-Id: I59453f7fc3997f0502a1c5d325d37fed376fabc7
ava/com/google/android/gles_jni/EGLImpl.java
6b85f173046340da7ccd503845a2950843f085f3 03-May-2011 Mathias Agopian <mathias@google.com> remove last traces of copybit

Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
ibagl/egl.cpp
ibagl2/src/egl.cpp
8e86a7aba5003a620bb130b8ab7b444dacf6da9f 29-Apr-2011 Mathias Agopian <mathias@google.com> get rid of dependency on copybit HAL module

Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
ibagl/egl.cpp
ibagl2/src/egl.cpp
7868c64fffd164dccf06411372b922dfea26c0e6 26-Apr-2011 Jamie Gennis <jgennis@google.com> EGL: Allow creating a SurfaceTexture EGLSurface.

This change removes the check that disallowed the creation of an
EGLSurface that would send frames to a SurfaceTexture.

Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
ibs/EGL/egl.cpp
461d8cd24fb41ff24ed6944d827abe6f5f284868 23-Apr-2011 David Li <davidxli@google.com> Merge "GLES2Dbg: noop - format & comment"
7c80244afb9098c75b127c2d785bb6e5b03d68c5 22-Apr-2011 Jack Palevich <jackpal@google.com> Fix typo in Matrix.mPerspective.

(Introduced by a copy-and-paste mistake when factoring out a common
expression. D'Oh!)

Change-Id: I5e97dde2d2f4564fc74ba69bfa4a2f9db44c8873
ava/android/opengl/Matrix.java
d793299e875a97dc73e04e3beb2a2865563dccdb 21-Apr-2011 Jack Palevich <jackpal@google.com> Add utility method Matrix.perspectiveM

Change-Id: Ic9d5e5d967bbc08acc524c5092ce61a1cdbfd360
ava/android/opengl/Matrix.java
5036a05aca326dd63a6f4c837e4a71e48f143970 21-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: noop - format & comment

Change-Id: Ibb36508181d4322e236b6595b28d253f282c36d7
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
31918ccae9341bca169c58035482c68de2d27e22 16-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: send some GL implementation constants to client

Change-Id: Ic6c51c09b1c3d2e1e1a28c6ed552714c3243827c
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/test/test_server.cpp
ibs/GLES2_dbg/test/test_socket.cpp
e9f619f03b0e98d1ff7ff0d7333fb502ec5bc54b 14-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: initial tests

Change-Id: Ibf07eff68d39267fd5c9bec2870f59a5ae2f51e3
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
ibs/GLES2_dbg/test/Android.mk
ibs/GLES2_dbg/test/test_main.cpp
ibs/GLES2_dbg/test/test_server.cpp
ibs/GLES2_dbg/test/test_socket.cpp
e7180e8644caf96a166ed71dd8da877fc8b72047 09-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: added CaptureDraw and CaptureSwap options

CaptureDraw specifies how many glDrawArrays/Elements to glReadPixel
CaptureSwap similarly applies to eglSwapBuffers

Change-Id: Ie7a7e3392b4ecdc0659dcee04f4bab97c35267dc
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
27f130a292683278b721399341d7c4e36009ec8b 09-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: use dump.gles2dbg file when fails to create socket

setprop debug.egl.debug_forceUseFile 1: always use file
setprop debug.egl.debug_maxFileSize <int MB>: exit when reached
setprop debug.egl.debug_filePath <path>: may need to make the file
writable first.
setprop debug.egl.debug_port <unsigned short>
setprop debug.egl.debug_proc <proc cmdline>: to match debuggee process

Change-Id: I34ca1f3092f3abf17e2ded9d1689d0cdef6e07e8
Signed-off-by: David Li <davidxli@google.com>
ibs/EGL/egl.cpp
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/server.cpp
ibs/glesv2dbg.h
e2ad4d0e3748c2f0180d24d1b3468aac79adac3a 09-Apr-2011 David Li <davidxli@google.com> GLES2Dbg: add EXTEND_AFTER_CALL_Debug_* macro and improve protocol

To allow auto generate of Debug_glReadPixels function.
Also added AfterGeneratedCall messag type, and client override
of expectResponse for improving protocol.
Also implemented callers for client to get shader/program iv & infolog

Change-Id: I8426de0be4b7ffcb8b2b4f063ad85d19a9d2d72e
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/caller.cpp
ibs/GLES2_dbg/src/caller.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
ce30eb8a90a1ac458e15e773057a8a73b0918ae6 28-Mar-2011 David Li <davidxli@google.com> GLES2Dbg: change GLES2_dbg to shared library

Change-Id: I493e9bff431bd939f4e80e1e9c614dd557307fa2
Signed-off-by: David Li <davidxli@google.com>
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_caller_cpp.py
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/caller.cpp
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/egl_tls.h
ibs/glesv2dbg.h
24ce5fb2cc09d0a14406e7b935f8648c5720d27e 09-Apr-2011 Elliott Hughes <enh@google.com> Kill the global references in the OpenGL wrappers.

Just use jniThrowException instead. Note that it would be trivial to throw
seemingly more appropriate exceptions (NullPointerException and
OutOfMemoryException in particular), but I'm only attempting to preserve
existing behavior here.

I also found shadowing bugs in some of the special-case functions, which
would previously always have leaked memory.

This also moves an accidental change to a generated file (ActivityThread ->
AppGlobals) into the generator, so it won't be overwritten in future.

Change-Id: Iab570310b568cb406c60dd0e2b8211f8a36ae590
ava/android/opengl/GLES10.java
ava/android/opengl/GLES10Ext.java
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ava/android/opengl/GLES20.java
ava/com/google/android/gles_jni/GLImpl.java
ava/javax/microedition/khronos/opengles/GL.java
ava/javax/microedition/khronos/opengles/GL10.java
ava/javax/microedition/khronos/opengles/GL10Ext.java
ava/javax/microedition/khronos/opengles/GL11.java
ava/javax/microedition/khronos/opengles/GL11Ext.java
ava/javax/microedition/khronos/opengles/GL11ExtensionPack.java
ools/glgen/gen
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/GLES20cHeader.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.cpp
ools/glgen/stubs/gles11/glGetShaderInfoLog.cpp
ools/glgen/stubs/gles11/glGetString.cpp
ools/glgen/stubs/gles11/glShaderSource.cpp
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ools/glgen/stubs/jsr239/glGetString.cpp
8bdf09b0d73451a0caabee7c842d2d542678c35c 01-Apr-2011 Eric Hassold <hassold@google.com> Initialize reference counter for egl_display_t

Add missing member initialization for reference counter, used to determine
if a context is ready.

Change-Id: I45f81177ac2851129681f827afe015b60b3cd73c
ibs/EGL/egl.cpp
654cf011fa830aa79a115d04b6b59a35ff33babf 29-Mar-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add a simple OpenGL ES 2.0 test program that displays a camera preview stream."
87a8f316a659fc54c9f126aede13afad348684d4 29-Mar-2011 David Li <davidxli@google.com> Merge "GLES2Dbg: use 256KB chunks for lzf compression"
ff93b858c33b160f67b0380e53fd2a0359bd9d58 04-Mar-2011 Eino-Ville Talvala <etalvala@google.com> Add a simple OpenGL ES 2.0 test program that displays a camera preview stream.

Uses a SurfaceTexture feeding into a OpenGL ES2 GLSurfaceView. Also
uses accelerometer data and SurfaceTexture-provided timestamps for a
simple physics simulation which moves the camera preview oval in
response to device movement.

Change-Id: I275a0c6a4e25829d617e635b25e70e2a9c8455cb
ests/gl2_cameraeye/Android.mk
ests/gl2_cameraeye/AndroidManifest.xml
ests/gl2_cameraeye/res/values/strings.xml
ests/gl2_cameraeye/src/com/android/gl2cameraeye/GL2CameraEye.java
73108675c944ab4ee89631dced23566b12341b66 28-Mar-2011 Jack Palevich <jackpal@google.com> Add Java support for a few accidentally omitted OpenGL ES APIs.

Fixes 3491494 Support OpenGL APIs: glBlendEquationSeparate and friends

Change-Id: I8fdc94b6ea14e9a7e3d402a965d500790a3d8f77
ools/glgen/specs/gles11/checks.spec
cbe4e5e5ab59adc107373ad52af8bd490000b75c 23-Mar-2011 David Li <davidxli@google.com> GLES2Dbg: use 256KB chunks for lzf compression

Data format is uint32_t totalDecompressedSize, then repeat:
uint32_t chunkDecompressedSize, chunkCompressedSize, chunk data.
If chunkCompressedSize == 0, then chunk is not compressed.

Also start fixing integer sizes on server.
On client, set endianness to match server.

Change-Id: I0d5afa16976ea6019b91c4e21d284605da7e135e
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/vertex.cpp
8caf4c6dbb72cee3e3c809de61928d32853c48d9 25-Mar-2011 Eric Hassold <hassold@google.com> Make objects collection a member of egl_display object

Move EGL objects (contexts, surfaces, ...) collection from global
static into EGL display object. Since EGL implementation currently
supports only one display, this doesn't change current logic. This
aims at preparing for next coming changes in eglTerminate() to
support per-display cleanup.

Bug: 4152714
Change-Id: I5e424781b89c3c275f9922f943463d5f6b1f6bc6
ibs/EGL/egl.cpp
bf02513c80159936d75446529af11b4c23003f7b 25-Mar-2011 David Li <davidxli@google.com> Merge "GLESv2Dbg: ability to create GL calls from client"
ccaff425bd40dc867313a980bb9f6e9eb38f1d04 25-Mar-2011 David Li <davidxli@google.com> Merge "GLES2Dbg: added SETPROP expectResponse"
83bc2a894cbde00e4ed4e42c6e01192a081b3d71 25-Mar-2011 David Li <davidxli@google.com> Merge "GLES2Dbg: added reference frame for glReadPixels"
63b81568a4923b32f2131d66bbeb30c79cc0bf08 25-Mar-2011 David Li <davidxli@google.com> Merge "GLES2Dbg: use libLZF for compressing images"
2a790ac34d47e52eda7a3e9a0b187bdba9248a39 23-Mar-2011 Eric Hassold <hassold@google.com> Check for initialized EGLDisplay when required by specification

Check for initialized display, and set EGL error to EGL_NOT_INITIALIZED
whenever it isn't, for all EGL functions taking an EGLDisplay as argument
and requiring it to have been initialized.

Bug: 3366011
Change-Id: Ib1d8a3a207257995518f4430fe97f8c406c7fc13
ibs/EGL/egl.cpp
291f5fe0f3bb968ceb9c98b304a33163c4d0ac9e 22-Mar-2011 David Li <davidxli@google.com> GLESv2Dbg: ability to create GL calls from client

caller.cpp Is generated by generate_caller_cpp.py
Hand written functions are in caller.h

Change-Id: I27ed9792df52569159a2d1b8a78207c7a7518537
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_caller_cpp.py
ibs/GLES2_dbg/src/caller.cpp
ibs/GLES2_dbg/src/caller.h
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
fbfc703c6e77e3441d8833644278a5a79f3ca8e3 22-Mar-2011 David Li <davidxli@google.com> GLES2Dbg: added SETPROP expectResponse

to allow "stepping" in functions.
Also fix bug in reference frame.

Change-Id: Ia33620eaf2c5f4e615f7aad2df277b6afc617060
Signed-off-by: David Li <davidxli@google.com>
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/texture.cpp
ibs/GLES2_dbg/src/vertex.cpp
f9bc124cfedfed6f1eb9488355576e28a93ab252 23-Mar-2011 David Li <davidxli@google.com> GLES2Dbg: added reference frame for glReadPixels

Change-Id: I37398d8d835e54a1764dfabd617fdc2c640864c2
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
6a5ca485d10a283eb3b21152d53c74ee629f5db9 21-Mar-2011 David Li <davidxli@google.com> GLES2Dbg: use libLZF for compressing images

liblzf is in external/liblzf, it's BSD-type licence (optionally GPL2)

Change-Id: Idc7883fe2155f366cda384e64796a1493335ae4f
Signed-off-by: David Li <davidxli@google.com>
ibs/Android.mk
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/texture.cpp
ibs/GLES2_dbg/src/vertex.cpp
51c0c27005406dd0635318e196e27c99d19ebd67 17-Mar-2011 David Li <davidxli@google.com> Merge "GLES2Debugger: Make command exchange async to improve performance."
5e4059f646a6c648b000d1422180bd85d93c09a9 17-Mar-2011 Mathias Agopian <mathias@google.com> am 9405d987: am a05a8ac5: am af831a7b: Merge "fix [4107131] nvidia driver call takes a very long time" into honeycomb-mr1

* commit '9405d98705db1c8102b77ef960f344ac416d165c':
fix [4107131] nvidia driver call takes a very long time
3d69bea1f6e009a9ad096c5be9098d1064853f43 16-Mar-2011 Mathias Agopian <mathias@google.com> fix [4107131] nvidia driver call takes a very long time

We were leaking all EGLSyncKHR objects, over time the list
would grow and become very slow to operate on.

Bug: 4107131
Change-Id: I6c82daf49fe3189d04550781d64d57c30c95f552
ibs/EGL/egl.cpp
e218208f6aa1f05c691f76a53a8a4d395414978a 15-Mar-2011 Jamie Gennis <jgennis@google.com> am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." into honeycomb-mr1

* commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1':
SurfaceTexture: disallow unsupported uses.
bae716bc153962c3ac79660bf32e5c50f0de343d 14-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: disallow unsupported uses.

This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface. It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.

Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
ibs/EGL/egl.cpp
60fdca229f79a9d7e41054feab797a2aa01762b9 15-Mar-2011 Iliyan Malchev <malchev@google.com> Merge "frameworks/base: remove LOCAL_PRELINK_MODULE"
e65cfd98973f6619efa3737d4d32f1693709efb3 14-Mar-2011 Jamie Gennis <jgennis@google.com> am dcbc2557: am c313b59b: am 071929b2: Merge "gl2_yuvtex: use the gralloc-provided stride." into honeycomb-mr1

* commit 'dcbc255734e506bacd36d8d9483b7f3d6d96d10b':
gl2_yuvtex: use the gralloc-provided stride.
3070af08821ee86f06a9cc6b58dbb79c82946b94 14-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: remove LOCAL_PRELINK_MODULE

Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
ests/gl2_jni/Android.mk
ests/gl_jni/Android.mk
ests/gl_perfapp/Android.mk
ests/gldual/Android.mk
ests/hwc/Android.mk
ests/lib/Android.mk
6cd4656bf11d45ebac40a382c0c8bcb9a21f00cc 10-Mar-2011 Jamie Gennis <jgennis@google.com> gl2_yuvtex: use the gralloc-provided stride.

This change fixes the gl2_yuvtex test to use the stride chosen by the
gralloc implementation rather than hard-coding it.

Bug: 4081948
Change-Id: If7c96a20fc3fb1df2ff25e6afaa9f34dbad2002c
ests/gl2_yuvtex/gl2_yuvtex.cpp
940c3f8b3605a2ea8c4bdd4607eff67db2e00cfc 11-Mar-2011 David Li <davidxli@google.com> GLES2Debugger: Make command exchange async to improve performance.

In message loop, use select to check for available commands from client,
rather than always expecting commands in eglSwapBuffers.

Change-Id: Ifc34dd77c2528c8b9c71f594e3eda4f93400cd2b
Signed-off-by: David Li <davidxli@google.com>
ibs/EGL/egl.cpp
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/vertex.cpp
ibs/glesv2dbg.h
5c425f2eafc3d63e475153586edcf12eb6348aad 11-Mar-2011 David Li <davidxli@google.com> GLES2Debugger: Added DbgContext and vertex data capturing.

Send VBO related commands to client, which tracks the state.
Maintain index buffer content and vertex attrib pointer/buffer state on server.
During glDrawArrays/Elements, send user memory data to client.

Change-Id: Ia920e90479329b301ae4b5735e833eeb20293c94
Signed-off-by: David Li <davidxli@google.com>
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/trace.cpp
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/include/glesv2_dbg.h
ibs/GLES2_dbg/src/DebuggerMessage.pb.cpp
ibs/GLES2_dbg/src/DebuggerMessage.pb.h
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/api.h
ibs/GLES2_dbg/src/dbgcontext.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/shader.cpp
ibs/GLES2_dbg/src/vertex.cpp
ibs/glesv2dbg.h
ibs/glesv2dbg_functions.h
82910e7db545c1a133628f06142d8cc6de096d1f 09-Mar-2011 David Li <davidxli@google.com> Merge "Added screenshot after glDraw* option to GLES2 Debugger"
717cd2e0e653d15ea9c6f7c0ac582ff461f1fec8 09-Mar-2011 David Li <davidxli@google.com> Merge "Initial commit of GLESv2 debugger server"
af94ceb5df8c7ee21d84a58caa5f632663d4e1b0 02-Mar-2011 David Li <davidxli@google.com> Initial commit of libAgl2 using Pixelflinger2 in external/mesa3d

Somewhat functional, refer to README for details.
Need to enable Android.mk to build.
It builds libGLES_android.so, which needs to replace
the one in system/lib/egl built by libagl.

Change-Id: Iec3aaa8f3963a4185d81955cd24019eb0c4a5850
Signed-off-by: David Li <davidxli@google.com>
ibagl2/Android.mk
ibagl2/README
ibagl2/libagl2.project
ibagl2/src/api.cpp
ibagl2/src/egl.cpp
ibagl2/src/get.cpp
ibagl2/src/gles2context.h
ibagl2/src/shader.cpp
ibagl2/src/state.cpp
ibagl2/src/texture.cpp
ibagl2/src/vertex.cpp
9b7146db6d9c0586b98b062fbcdb3fac6cc54d19 08-Mar-2011 Romain Guy <romainguy@google.com> Fix EGL JNI bugs
Bug #3461349

Before this change, eglGetCurrent*() could not be used to compare
contexts, displays and surfaces at the Dalvik level.

Change-Id: I442037dae37bc357b64810ab10c779b5754e9153
ava/com/google/android/gles_jni/EGLContextImpl.java
ava/com/google/android/gles_jni/EGLDisplayImpl.java
ava/com/google/android/gles_jni/EGLSurfaceImpl.java
55c94ccd495aa19784cb4ca9a1fe51fad9631542 05-Mar-2011 David Li <davidxli@google.com> Added screenshot after glDraw* option to GLES2 Debugger

Also added timing mode option using utils/Timers.h.
Factored out common code to reduce size.
Improved Protobuf message.
Uploads data from glBufferData and glBufferSubData.

Change-Id: Iaae5e706235d942df81c7eada7223fb0b0583911
Signed-off-by: David Li <davidxli@google.com>
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_DebuggerMessage_proto.py
ibs/GLES2_dbg/generate_GLEnum_java.py
ibs/GLES2_dbg/generate_GLFunction_java.py
ibs/GLES2_dbg/generate_MessageFormatter_java.py
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debug_in.py
ibs/GLES2_dbg/generate_debugger_message_proto.py
ibs/GLES2_dbg/gl2_api_annotated.in
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/caller.h
ibs/GLES2_dbg/src/debugger_message.pb.cpp
ibs/GLES2_dbg/src/debugger_message.pb.h
ibs/GLES2_dbg/src/egl.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/shader.cpp
ibs/GLES2_dbg/src/texture.cpp
ibs/GLES2_dbg/src/vertex.cpp
28ca2abb1ab92b2cc3a5c9119ec2f697ec3401b2 02-Mar-2011 David Li <davidxli@google.com> Initial commit of GLESv2 debugger server

Use debug.egl.debug_proc property to match process cmdline.
Binds to TCP:5039 and waits for client connection.
Sends function call parameters, textures and shaders using Protobuf.
Java Eclipse client plug-in is next.

Change-Id: I183b755263663f87e86dde1ad12f527d0445fd57
Signed-off-by: David Li <davidxli@google.com>
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/egl.cpp
ibs/EGL/trace.cpp
ibs/GLES2_dbg/Android.mk
ibs/GLES2_dbg/generate_DebuggerMessage_proto.py
ibs/GLES2_dbg/generate_GLEnum_java.py
ibs/GLES2_dbg/generate_GLFunction_java.py
ibs/GLES2_dbg/generate_MessageFormatter_java.py
ibs/GLES2_dbg/generate_api_cpp.py
ibs/GLES2_dbg/generate_debug_in.py
ibs/GLES2_dbg/gl2_api_annotated.in
ibs/GLES2_dbg/include/glesv2_dbg.h
ibs/GLES2_dbg/src/DebuggerMessage.pb.cpp
ibs/GLES2_dbg/src/DebuggerMessage.pb.h
ibs/GLES2_dbg/src/api.cpp
ibs/GLES2_dbg/src/header.h
ibs/GLES2_dbg/src/server.cpp
ibs/GLES2_dbg/src/shader.cpp
ibs/GLES2_dbg/src/texture.cpp
ibs/debug.in
bb9d394b21bdfeb1ceb4cf6e4ed0306e39757b15 16-Feb-2011 Kenny Root <kroot@google.com> Clean up use of HAVE_ANDROID_OS

HAVE_ANDROID_OS was defined as "1" for targets, but never defined as "0"
for non-targets. Changing them to #ifdef should be safe and matches
all the other uses of HAVE_ANDROID_OS throughout the system.

Change-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb
ibs/EGL/egl.cpp
70a1875635cf988b9962fbe2325ea73fd346858c 07-Feb-2011 Jack Palevich <jackpal@google.com> Extend recycled bitmap check to all GLUtils APIs.

Change-Id: I9ea0022b167af2153190b6642aa303232e257379
ava/android/opengl/GLUtils.java
5f89f510f327228d4ba2261aff7e8faa7d3715aa 03-Feb-2011 Jack Palevich <jackpal@google.com> Throw an exception when trying to upload a recycled bitmap.

Previously we would upload garbage.

Change-Id: Id785792a16f9d24685687f4e6b64ec893ccad225
ava/android/opengl/GLUtils.java
f27bbc238cb53f51186ca04f69810cda61664f9a 01-Feb-2011 Jamie Gennis <jgennis@google.com> Merge "Clear all EGL errors when entering EGL funcs."
4a702faf5b2a871ae7766e8472ebe737c4624683 01-Feb-2011 Jamie Gennis <jgennis@google.com> am cf675303: am 8df2c424: Merge "Fix a multithreading bug in libagl\'s EGL." into honeycomb

* commit 'cf675303927d8008c5952759d534dcc6c0ca3d4a':
Fix a multithreading bug in libagl's EGL.
e3b179c732fde81da0bffecd9579cafd727b3417 31-Jan-2011 Jamie Gennis <jgennis@google.com> Clear all EGL errors when entering EGL funcs.

This changes the clearError function in the EGL wrapper layer to simply
call eglGetError(). That should clear any pending errors from all the
underlying EGL implementations, which is needed to correctly report the
error for the most recently called EGL function.

Change-Id: Iad19c69f0c5305e873f3c2f96d353280d31f7b61
ibs/EGL/egl.cpp
ae2aa286af67f7990486ca6476e73f677c58872b 31-Jan-2011 Jamie Gennis <jgennis@google.com> Fix a multithreading bug in libagl's EGL.

The bug caused libagl to return 0 from eglGetError if an EGL error value
(including EGL_SUCCESS) was set on a different thread but not yet on the
current thread.

Bug: 3403756
Change-Id: Ifd965091d116745c2e22c121151ade9e78eb14c6
ibagl/egl.cpp
29406daf21c2dfa4d893b421d39137eb47fb3aa6 27-Jan-2011 Jack Palevich <jackpal@google.com> Add GL11ExtensionPack support to GLDebugWrapper

Allows calling GL11ExtensionPack APIs in a GL context that has been
wrapped for debugging.

Change-Id: Ib0695b51a92f5dcce32db8b0dc7ee948e5059e7f
ava/android/opengl/GLErrorWrapper.java
ava/android/opengl/GLLogWrapper.java
ava/android/opengl/GLWrapperBase.java
e7ff5ddb47c8d30865f37cfdffa3b7ebb597c4d7 22-Jan-2011 Michael I. Gold <gold@nvidia.com> egl: clear error on function entry

Clear the current thread error state on entry to API functions as
mandated by the EGL 1.4 specification, section 3.1. glGetError
returns additional information about the "most recent EGL function".

Change-Id: Ic24c64b39294ffc1a4e43fa72663e076b9d7decf
ibs/EGL/egl.cpp
75f2bc04df11c67d7074186432278f182381b9f2 19-Jan-2011 Jack Palevich <jackpal@google.com> Unhide GLSurfaceView.get/setPreserveEGLContextOnPause

Change-Id: I882b8fa7888e2baae41c81b75af7fc1f639d38d6
ava/android/opengl/GLSurfaceView.java
b54407f2bbc616d60291ad7bc659aed7f148cb26 18-Jan-2011 Jack Palevich <jackpal@google.com> Merge "Add support for preserving EGL contexts when pausing / resuming." into honeycomb
f4a43837f9577a24983c17a6c1dc128166af5961 04-Jan-2011 Michael I. Gold <gold@nvidia.com> egl: fix GetProcAddress for EGLimage extensions

Return wrappers from GetProcAddress for glEGLImageTargetTexture2DOES
and glEGLImageTargetRenderbufferStorageOES which unwrap the EGLimage
handle before calling through to the implementation.

Change-Id: I2f5b180ab3ccdb28a4f510a2bd8c2eee941a84df
ibs/EGL/egl.cpp
3ece010a4b09c82b5d59ae62dbed4957f665902c 13-Jan-2011 Michael I. Gold <gold@nvidia.com> egl: expose EGLimage extensions

Add EGL_KHR_gl_texture_cubemap_image and EGL_KHR_gl_renderbuffer_image
to the static EGL extension string since these require no new APIs
beyond what is already required.

Change-Id: I2d1fde86b19bb9eee46b3b977f51784a17cfcc3c
ibs/EGL/egl.cpp
8432b3f98a22d5cdfcc0183d134770597e44d412 14-Jan-2011 Jack Palevich <jackpal@google.com> Add support for preserving EGL contexts when pausing / resuming.

Hidden for now.

Change-Id: I350576c11960a1aa232da7aebc5c6ec60ff796b5
ava/android/opengl/GLSurfaceView.java
676693674f10440ed62050cc8970562d29e020ac 11-Jan-2011 Louis Huemiller <lhuemill@google.com> Hardware Composer Test hwcCommit set blend type

Change-Id: If345641bd009cfd131b1a8e74cd4a9e8e4a7dfc7
ests/hwc/hwcCommit.cpp
35ad62763fe5937c51a32cd1e285cffa4971298f 11-Jan-2011 Louis Huemiller <lhuemill@google.com> Hardware Composer Test Overlap Stats

Change-Id: I2f4a02924149f3964de31fb6250f4c21a64d96aa
ests/hwc/hwcCommit.cpp
ests/hwc/hwcTestLib.cpp
081ce9fec3ffffc882941248b5b9592a0311f88a 10-Jan-2011 Louis Huemiller <lhuemill@google.com> Hardware Composer Test Lib HBlen off by 1

Change-Id: If51727a041e20afa307e5d1735b77da5a54a712b
ests/hwc/hwcTestLib.cpp
585cd4f78c6cf141f307f3cb2659ef08ed2003cc 09-Jan-2011 Louis Huemiller <lhuemill@google.com> Hardware Composer Commit Points Benchmark

Change-Id: Ie997d13559c0e4e9dc3babfe92ca1acacef2a549
ests/hwc/Android.mk
ests/hwc/hwcColorEquiv.cpp
ests/hwc/hwcCommit.cpp
ests/hwc/hwcRects.cpp
ests/hwc/hwcTestLib.cpp
ests/hwc/hwcTestLib.h
ec0da1a5ffc0c856efea16e6a05f2ce9e7c82a94 06-Jan-2011 Louis Huemiller <lhuemill@google.com> Hardware Composer new and refactored test cases

Change-Id: Iabf46fc5d75891f917e06a257470a0e3f2bd3c95
ests/hwc/Android.mk
ests/hwc/hwcColorEquiv.cpp
ests/hwc/hwcRects.cpp
ests/hwc/hwcStress.cpp
ests/hwc/hwcTestLib.cpp
ests/hwc/hwcTestLib.h
ests/hwc/hwc_stress.cpp
ests/include/glTestLib.h
ests/lib/Android.mk
ests/lib/glTestLib.cpp
f0ca1d388e92d43a1403443bdcd282ff331f0e34 23-Dec-2010 Michael I. Gold <gold@nvidia.com> egl: fixes for object refcounts

eglMakeCurrent() would only deref the previous surfaces if the old and
new contexts were the same. eglTerminate() should not touch TLS.
eglReleaseThread() needs to unbind the current context.

Change-Id: I213b8be77b1a23b5a8a6afaac60643662c8aa010
ibs/EGL/egl.cpp
7c43ebc930f17a308abfffcff71f857ab2aa8511 14-Dec-2010 Louis Huemiller <lhuemill@google.com> HWC Stress Test - relocate print msg

Change-Id: I95f9f5c6edffff8c737c4a6996f97e69bccc0448
ests/hwc/hwc_stress.cpp
051d1665230b99a1b485c20d557051314130e4ad 14-Dec-2010 Louis Huemiller <lhuemill@google.com> HWC Stres Test Enhancments

+ YV12 width/height divisable by 2
+ Row width determined by getStride()
+ Misc comment and whitespace fixes
+ printf changed to testPrintI

Change-Id: I27551141bafbfb258eb1b6b7f63c5295b1f9501a
ests/hwc/hwc_stress.cpp
406041848f95557693317bcd202c0dcec93bd9f2 13-Dec-2010 Louis Huemiller <lhuemill@google.com> Hardware Composer Stress Test Enhancements

Enhancements include:
+ Change default delay after each set operation
from 0.1 to 0.0 seconds. This significantly
increases the default rate at which operations
are performed.

+ Make sourceCrop to displayFrame scale
factor of 1.0 a frequent occurance.

+ Enable use of RGB888 and YV12 graphic formats.

+ Add initCheck() call after creation of a
GraphicBuffer, to confirm it was created
without any errors.

Change-Id: I1606dff3924a23bdd5cb27ba302bebb4f200d768
ests/hwc/hwc_stress.cpp
b5393dc479183740c58c73daffbce8fd24d8ddd7 09-Dec-2010 Mathias Agopian <mathias@google.com> fix build.

Change-Id: I49262ac143da297efcaec4eed04052274c73b7f8
ibagl/egl.cpp
cd505aef7201ccd7f028ac99a2ecfed96bf474de 09-Dec-2010 Mathias Agopian <mathias@google.com> am 054ae782: am e1752f41: Merge "fix [3258603] \'Quadrant\' benchmark crashes inside eglQueryContext on GB/Crespo" into gingerbread

* commit '054ae78245fe9b4c14bbc372ae77cd0a977ded73':
fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
054ae78245fe9b4c14bbc372ae77cd0a977ded73 09-Dec-2010 Mathias Agopian <mathias@google.com> am e1752f41: Merge "fix [3258603] \'Quadrant\' benchmark crashes inside eglQueryContext on GB/Crespo" into gingerbread

* commit 'e1752f41d34249c891564889b07963262b1bd8bf':
fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo
791982bad921ee8244264c36af81d46ae6f4e79e 09-Dec-2010 Mathias Agopian <mathias@google.com> fix [3258603] 'Quadrant' benchmark crashes inside eglQueryContext on GB/Crespo

eglQueryContext(..., EGL_CONFIG_ID, ...) is dereferencing an uninitialized pointer
due to a typo.

Change-Id: I100addf3150f19cb6dfbce9987fb5239dd240878
ibs/EGL/egl.cpp
a2584aa9a30565080223f38fd33ebbe6f5d58b69 08-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Fix another set of out-of-date headers."
7715d2179749839e358e3f0c1da1024cc68f3801 08-Dec-2010 Dan Bornstein <danfuzz@android.com> Fix another set of out-of-date headers.

This time in XML files.

Change-Id: Iebe36810c3a2d7a6ff354f43808b1b8649b85637
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/res/values/strings.xml
ests/gl2_jni/AndroidManifest.xml
ests/gl2_jni/res/values/strings.xml
ests/gl_jni/AndroidManifest.xml
ests/gl_jni/res/values/strings.xml
ests/gl_perfapp/AndroidManifest.xml
ests/gl_perfapp/res/values/strings.xml
ests/gldual/AndroidManifest.xml
ests/gldual/res/values/strings.xml
ests/testFramerate/AndroidManifest.xml
ests/testFramerate/res/values/strings.xml
ests/testLatency/AndroidManifest.xml
ests/testLatency/res/values/strings.xml
ests/testPauseResume/AndroidManifest.xml
ests/testPauseResume/res/values/strings.xml
ests/testViewport/AndroidManifest.xml
ests/testViewport/res/values/strings.xml
8028a951c3aa74990907efb9376d1093d84084af 08-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Fix newlines in this file."
c087a87e01b9544c28a7a9e2d14491917baee73c 08-Dec-2010 Dan Bornstein <danfuzz@android.com> Fix newlines in this file.

They were CRLF instead of just LF.

Change-Id: I2d06d19b4d8ca969527d93bd996103c161e48a79
ools/glgen/stubs/gles11/glGetString.java
331edf84e2815e309c558e7cedbc414fb23162ec 08-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "These files had an older header."
c086ca1fa7cebc3e9a51abd4be4688346225c2e4 08-Dec-2010 Dan Bornstein <danfuzz@android.com> These files had an older header.

This patch replaces the file headers with the approved Android
header text.

Change-Id: I63cbd21e9112dab404158fb65f74bc6ca5b07eac
ava/android/opengl/ETC1.java
ava/android/opengl/ETC1Util.java
ava/android/opengl/GLES10.java
ava/android/opengl/GLES10Ext.java
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ava/android/opengl/GLES20.java
ava/com/google/android/gles_jni/EGLConfigImpl.java
ava/com/google/android/gles_jni/EGLContextImpl.java
ava/com/google/android/gles_jni/EGLDisplayImpl.java
ava/com/google/android/gles_jni/EGLImpl.java
ava/com/google/android/gles_jni/EGLSurfaceImpl.java
ava/com/google/android/gles_jni/GLImpl.java
ava/javax/microedition/khronos/egl/EGL.java
ava/javax/microedition/khronos/egl/EGLConfig.java
ava/javax/microedition/khronos/egl/EGLContext.java
ava/javax/microedition/khronos/egl/EGLDisplay.java
ava/javax/microedition/khronos/egl/EGLSurface.java
ava/javax/microedition/khronos/opengles/GL.java
ava/javax/microedition/khronos/opengles/GL10.java
ava/javax/microedition/khronos/opengles/GL10Ext.java
ava/javax/microedition/khronos/opengles/GL11.java
ava/javax/microedition/khronos/opengles/GL11Ext.java
ava/javax/microedition/khronos/opengles/GL11ExtensionPack.java
9889e2b1923e94fdbe046e1599008d4696e56e64 07-Dec-2010 Mathias Agopian <mathias@google.com> am 0484a673: am daef0a04: Merge "[3229973, 3247470, ...] set EGLNativeWindowSurface\'s format in EGL" into gingerbread

* commit '0484a673c5839d2be9e615e52c6a45febdf1127b':
[3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL
0484a673c5839d2be9e615e52c6a45febdf1127b 07-Dec-2010 Mathias Agopian <mathias@google.com> am daef0a04: Merge "[3229973, 3247470, ...] set EGLNativeWindowSurface\'s format in EGL" into gingerbread

* commit 'daef0a040de7a9825bdbcba7b2eae66195e3a95f':
[3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL
698a8aaca2b9e2b4707e39b8f6fc62a91db1a3b5 25-Nov-2010 Mathias Agopian <mathias@google.com> [3229973, 3247470, ...] set EGLNativeWindowSurface's format in EGL

(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
ibs/EGL/egl.cpp
98027ada3a55ddf32bbd0153de71849d5ca8b4df 23-Nov-2010 Louis Huemiller <lhuemill@google.com> Hardware Composer Stress Test

Change-Id: Ief08b22dacd052483f10754b3ab61aa09ca28b17
ests/hwc/Android.mk
ests/hwc/hwc_stress.cpp
d6c7893d663aa74840bb491ddbce500bc0752ac5 10-Nov-2010 Mathias Agopian <mathias@google.com> am 17fd21fc: Merge "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions" into gingerbread

* commit '17fd21fc0638d8734867b6f189efbabb227f3ae1':
DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions
17fd21fc0638d8734867b6f189efbabb227f3ae1 10-Nov-2010 Mathias Agopian <mathias@google.com> Merge "DO NOT MERGE. workaround [3177481] eglGetProcAddress() returns the wrong pointer for some GL extensions" into gingerbread
8cbb85dc4687cd3b83b7f8f430d3a44487175b58 10-Nov-2010 David 'Digit' Turner <digit@google.com> am b02ca27f: am b7a109c0: Merge "Refresh EGL header to work with the NDK" into gingerbread

* commit 'b02ca27f05a47fad75c57d6d8c52ccc5b21a8043':
Refresh EGL header to work with the NDK
b02ca27f05a47fad75c57d6d8c52ccc5b21a8043 10-Nov-2010 David 'Digit' Turner <digit@google.com> am b7a109c0: Merge "Refresh EGL header to work with the NDK" into gingerbread

* commit 'b7a109c02735bb0d9e0bcb8f84e4aa3923701460':
Refresh EGL header to work with the NDK
4c2bfc18b9161449c5df7abf3e5112e16c004a75 09-Nov-2010 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
71438310b52482588dc8b4a2f2cb71652208c070 05-Nov-2010 David 'Digit' Turner <digit@google.com> Refresh EGL header to work with the NDK

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
nclude/EGL/eglplatform.h
ed84a3b5db43d51886cea6d9a09b946983de3740 29-Oct-2010 Jamie Gennis <jgennis@google.com> Merge "OpenGL ES 1 YUV texturing test"
327bd38af2434236bdeefbe08fa62fcda8b63775 29-Oct-2010 Jamie Gennis <jgennis@google.com> Merge "YUV texturing test."
ad4c609858923ff8f597f8f8eb67eddf2fcc54be 28-Oct-2010 Jack Palevich <jackpal@google.com> Trace glUniformXXv and glUniformMatrixXfv calls.

Change-Id: I653021d2174fa1a7343d10b0fd2c29b3e5147be6
ibs/EGL/trace.cpp
25443b2d8fff2b8ffbb65315cce6f35410682bfb 09-Oct-2010 Nuno Subtil <nsubtil@nvidia.com> OpenGL ES 1 YUV texturing test

Change-Id: I295e5bce16a8ab088b99929f788f2fbbe8492b8d
ests/gl_yuvtex/Android.mk
ests/gl_yuvtex/gl_yuvtex.cpp
8338b06190a8e3edced2498d3b5fbae6bbd42adc 21-Sep-2010 Michael I. Gold <gold@nvidia.com> YUV texturing test.

Change-Id: Ib2a6b7eb2a5fc98ecaace032d6c63d50613aaa0d
ests/gl2_yuvtex/Android.mk
ests/gl2_yuvtex/gl2_yuvtex.cpp
732734acd67469fe6a251f5a72a2ba3d433de9b8 27-Oct-2010 Kristian Monsen <kristianm@google.com> Fix for simulator build

The code looks correct, but causes an internal compiler error on
simulator builds on mine (an other) gLucid desktops.

Change-Id: Iaf0d8120778ec1c6fc739ef13e6eaaac53e3bcc8
ibagl/egl.cpp
1396afb73047c402db5af98e8f6b442ecbfa98d4 27-Oct-2010 Jack Palevich <jackpal@google.com> Preserve the render mode when recreating the render thread.

Change-Id: I67a12a9598d3ef099bef8727411891614b1bc3f7
ava/android/opengl/GLSurfaceView.java
6b5f29f34a4a7a7539a31a682dcef44b2137bcf7 27-Oct-2010 Jack Palevich <jackpal@google.com> Merge "OpenGL tracing."
2ff6a824619ac6849ba9f36d97590acf74f62518 27-Oct-2010 Jack Palevich <jackpal@google.com> Allow a GLSurfaceView to be reattached to a window.

This approach is more backwards-compatible than the previous attempt.

The onDetachedFromWindow case is unchanged from the "classic"
GLSurfaceView behavior, except that we don't throw a NPE if the
renderer has never been set.

Change-Id: Ia8103a73366ddb13be44f16b789c929e75ddc792
ava/android/opengl/GLSurfaceView.java
d4d0fb966060f7eaeb7b93e113482724c51c15e6 27-Oct-2010 Jack Palevich <jackpal@google.com> OpenGL tracing.

Enable with:

adb shell setprop debug.egl.trace 1

Change-Id: Icfbc795f5260141510975228e72234e9aab56a85
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/trace.cpp
ibs/enums.in
ibs/hooks.h
ibs/tools/genfiles
ibs/tools/glenumsgen
ibs/tools/gltracegen
ibs/trace.in
324be170219987d643c1d05701a00cd358bc03e2 26-Oct-2010 Mathias Agopian <mathias@google.com> am d9588e9c: am a7b745ca: Merge "fix eglChooseConfig() for special attributes." into gingerbread
d9588e9c3cd5ffd6bcab28d41b6eda83a1d3d65a 26-Oct-2010 Mathias Agopian <mathias@google.com> am a7b745ca: Merge "fix eglChooseConfig() for special attributes." into gingerbread
fc5508bc994174bc4d1b1d028cfa25eb70ea8203 26-Oct-2010 Jack Palevich <jackpal@google.com> Do not exit the GLSurfaceView thread when detached from a window.

Allows a GLSurfaceView to be removed from a window and later reattached
to a window.

Change-Id: I2b44f35d0c95404b13912782df8877953609a5d0
ava/android/opengl/GLSurfaceView.java
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 specified
in attrib list, then they are ignored

Change-Id: I3d5214ce896986da2f11d2eb1889afc41731eaa6
ibagl/egl.cpp
c765a5d9e27ecdf42cb44cfa583bb30ad85fccd0 22-Oct-2010 Mathias Agopian <mathias@google.com> am 49af98ed: am aa6df366: Merge "fix [3119687] [Maps][4.6.0] Force close in street view" into gingerbread

Merge commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7'

* commit '49af98ed877e8a2db5a6b5be811c798e6f73dff7':
fix [3119687] [Maps][4.6.0] Force close in street view
49af98ed877e8a2db5a6b5be811c798e6f73dff7 22-Oct-2010 Mathias Agopian <mathias@google.com> am aa6df366: Merge "fix [3119687] [Maps][4.6.0] Force close in street view" into gingerbread

Merge commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685' into gingerbread-plus-aosp

* commit 'aa6df3669deab2a804c6f8cc1ea3fd5af0a28685':
fix [3119687] [Maps][4.6.0] Force close in street view
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
ibagl/egl.cpp
55d7bca71ce62248d4d41ba3e1680b9c627971f4 21-Oct-2010 Mathias Agopian <mathias@google.com> am 63ac8f53: am 2b2da526: Merge "Add a test application to dump all the EGLConfig available" into gingerbread

Merge commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea'

* commit '63ac8f5377833303a7f8c4d60f0d74daf903e6ea':
Add a test application to dump all the EGLConfig available
6a6fbfb348c8f648a7615f5dae29de610c7c25f6 21-Oct-2010 Mathias Agopian <mathias@google.com> am 6d90e89a: am a0795fc9: Merge "software renderer: fix [3117351] GL driver doesn\'t set the EGL_NATIVE_VISUAL_ID" into gingerbread

Merge commit '6d90e89afa47293cf5fe18f512cce43d2fa6df82'

* commit '6d90e89afa47293cf5fe18f512cce43d2fa6df82':
software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID
0d4e658bade07d0a1c5f35cb76affdf0a6d3f95f 21-Oct-2010 Mathias Agopian <mathias@google.com> am add9db83: am f4cd9be0: Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number" into gingerbread

Merge commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5'

* commit 'add9db83fdbf939f0610f8b357788fd3e8ad9ab5':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
63ac8f5377833303a7f8c4d60f0d74daf903e6ea 21-Oct-2010 Mathias Agopian <mathias@google.com> am 2b2da526: Merge "Add a test application to dump all the EGLConfig available" into gingerbread

Merge commit '2b2da52608303b149d22418865e67c8030c70e73' into gingerbread-plus-aosp

* commit '2b2da52608303b149d22418865e67c8030c70e73':
Add a test application to dump all the EGLConfig available
2b2da52608303b149d22418865e67c8030c70e73 21-Oct-2010 Mathias Agopian <mathias@google.com> Merge "Add a test application to dump all the EGLConfig available" into gingerbread
6d90e89afa47293cf5fe18f512cce43d2fa6df82 21-Oct-2010 Mathias Agopian <mathias@google.com> am a0795fc9: Merge "software renderer: fix [3117351] GL driver doesn\'t set the EGL_NATIVE_VISUAL_ID" into gingerbread

Merge commit 'a0795fc9bdf97703780cbf0ec47c06eccb642e72' into gingerbread-plus-aosp

* commit 'a0795fc9bdf97703780cbf0ec47c06eccb642e72':
software renderer: fix [3117351] GL driver doesn't set the EGL_NATIVE_VISUAL_ID
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
ibagl/egl.cpp
cd1e02d46037dd63f42e79d5fffd78887547369f 21-Oct-2010 Mathias Agopian <mathias@google.com> Add a test application to dump all the EGLConfig available

Change-Id: Iddf27f2a9dd51733f6b90081a523ca37bfe310fa
ests/configdump/Android.mk
ests/configdump/configdump.cpp
add9db83fdbf939f0610f8b357788fd3e8ad9ab5 20-Oct-2010 Mathias Agopian <mathias@google.com> am f4cd9be0: Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number" into gingerbread

Merge commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863' into gingerbread-plus-aosp

* commit 'f4cd9be0390135269e22e42fd2e1fe61fdcf9863':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
f91bff9fd4f159aae942ce68e3de9f9151e6ffbc 19-Oct-2010 Mathias Agopian <mathias@google.com> fix [2236865] STOPSHIP: bump soft gl and egl minor version number

Change-Id: Ibf46b18d7493348e189f2c93e969a6cac61f68b5
ibagl/egl.cpp
ibagl/state.cpp
1d83631af509545da575f01d9c1a464db488e11f 01-Oct-2010 Ari Hirvonen <ahirvonen@nvidia.com> libagl: eglSwapInterval fix

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
ibagl/egl.cpp
cf9076e7a5d818bab0c9365b075e03d000f677d0 28-Sep-2010 Jim Shuma <jshuma@google.com> Initial checkin of a framerate test app

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
ests/testFramerate/Android.mk
ests/testFramerate/AndroidManifest.xml
ests/testFramerate/res/values/strings.xml
ests/testFramerate/src/com/android/testframerate/TestFramerateActivity.java
ests/testFramerate/src/com/android/testframerate/TestFramerateView.java
2184624db15088bcd230d1e8da1ad7d9bca91c90 24-Sep-2010 Mathias Agopian <mathias@google.com> am 4eb1ad5e: am 524a6d8e: Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread

Merge commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e'

* commit '4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e':
better fix for [3028370] GL get error should return a valid error if no context is bound.
4eb1ad5e98c7b36f7ac4ec8c3270f9763afd107e 24-Sep-2010 Mathias Agopian <mathias@google.com> am 524a6d8e: Merge "better fix for [3028370] GL get error should return a valid error if no context is bound." into gingerbread

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.
25b388c43bd0444985776c4d129e0ccaef9b6229 24-Sep-2010 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
ibs/GLES2/gl2.cpp
ibs/GLES_CM/gl.cpp
ecc875e22c10676d4612ab5f79debf3bc778fc1c 23-Sep-2010 Mathias Agopian <mathias@google.com> am 9c4d7d67: am 5c6c5c7a: fix [3028370] GL get error should return a valid error if no context is bound.

Merge commit '9c4d7d677097981a349c718902e29050dad3d59f'

* commit '9c4d7d677097981a349c718902e29050dad3d59f':
fix [3028370] GL get error should return a valid error if no context is bound.
9c4d7d677097981a349c718902e29050dad3d59f 23-Sep-2010 Mathias Agopian <mathias@google.com> am 5c6c5c7a: 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.
5c6c5c7a43d44316395f5c35ab713372124b8b4c 23-Sep-2010 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
50804e0cb27e66c3fa906e127f7f39c148219d7c 22-Sep-2010 Mathias Agopian <mathias@google.com> am d01ce192: am 9d5fac51: Merge "fix small bug in EGL error management" into gingerbread

Merge commit 'd01ce1924a51539c4d47ef1f55913bdf1a018124'

* commit 'd01ce1924a51539c4d47ef1f55913bdf1a018124':
fix small bug in EGL error management
d01ce1924a51539c4d47ef1f55913bdf1a018124 22-Sep-2010 Mathias Agopian <mathias@google.com> am 9d5fac51: Merge "fix small bug in EGL error management" into gingerbread

Merge commit '9d5fac517463526450268bf6353e32c13a8cdd0c' into gingerbread-plus-aosp

* commit '9d5fac517463526450268bf6353e32c13a8cdd0c':
fix small bug in EGL error management
e59c69dc3b1f2fa206aa22698c4aa31498438a5e 22-Sep-2010 Mathias Agopian <mathias@google.com> Merge "fix typo EGL_NO_IMAGE_KHR -> EGL_NO_SYNC_KHR"
d0259a47fc90a0a3c69724a686580b29b4c36e69 22-Sep-2010 Jack Palevich <jackpal@google.com> Add simple interactive end-to-end latency test.

Change-Id: I4c2f2acf797a3a753f8a6061db3d2bcdc7d642f0
ests/testLatency/Android.mk
ests/testLatency/AndroidManifest.xml
ests/testLatency/res/values/strings.xml
ests/testLatency/src/com/android/testlatency/TestLatencyActivity.java
ests/testLatency/src/com/android/testlatency/TestLatencyView.java
4644ea7f46951452a091d172a425559cd07411d7 22-Sep-2010 Mathias Agopian <mathias@google.com> fix typo EGL_NO_IMAGE_KHR -> EGL_NO_SYNC_KHR

Change-Id: I38c87803e32030918f2deb06381eabce0faa870c
ibs/EGL/egl.cpp
f65630a4b84fdc8cad670dcc61225e55d4ca4ca1 22-Sep-2010 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
23838860b0295351a5891899f2249fc30ecdfd10 21-Sep-2010 Brian Swetland <swetland@google.com> am 5c746522: am 181e5ea8: Merge "support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl" into gingerbread

Merge commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7'

* commit '5c7465220d52c64c87fe4566fe109c649ec5c4f7':
support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
5c7465220d52c64c87fe4566fe109c649ec5c4f7 20-Sep-2010 Brian Swetland <swetland@google.com> am 181e5ea8: Merge "support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl" into gingerbread

Merge commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760' into gingerbread-plus-aosp

* commit '181e5ea8087360742b3ed0a7f2e6f8f8baa0a760':
support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl
a21c2009f1deceef0fd22a4134e35040a13fb039 20-Sep-2010 Brian Swetland <swetland@google.com> support loading EGL libraries from /vendor/lib/egl as well as /system/lib/egl

Change-Id: Idd9ca85ce3ba6c92234375071b53e5365e689062
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
10a96daf7fefb2c1e6381ea233f2aac3fae2869c 17-Sep-2010 Mathias Agopian <mathias@google.com> am 793b2293: am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread

Merge commit '793b2293797ea930078640c4827d3cbdf449c227'

* commit '793b2293797ea930078640c4827d3cbdf449c227':
surfaceflinger / GL extensions cleanup
793b2293797ea930078640c4827d3cbdf449c227 17-Sep-2010 Mathias Agopian <mathias@google.com> am 1bcb8b1a: Merge "surfaceflinger / GL extensions cleanup" into gingerbread

Merge commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69' into gingerbread-plus-aosp

* commit '1bcb8b1afbfa2fc387a0f7068740f1efbe9a1f69':
surfaceflinger / GL extensions cleanup
e20a56d929fc8fedc2b468ea6d1900bd2aa6e81a 16-Sep-2010 Michael I. Gold <gold@nvidia.com> surfaceflinger / GL extensions cleanup

Add correct enumerants for OES_EGL_image_external to glext.h.
SurfaceFlinger now checks for the correct extension name.

Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
nclude/GLES/glext.h
nclude/GLES2/gl2ext.h
9ca8a84c67ff1aa23c4b963a274acac557df44d4 28-Aug-2010 Mathias Agopian <mathias@google.com> Add support for KHR_fence_sync

Change-Id: Ie2771b5869c9c8dcf5ecf9318e2ee6d4d1cd5cc9
ibs/EGL/egl.cpp
ibs/EGL/egl_entries.in
127612855a5c73ed4d8b2b46a540626da4f5c6cb 09-Sep-2010 Jason Sams <rjsams@android.com> Merge "Rework gl perf test to focus on important use cases."
3748b718a4aedc07a07a636da3ed8587c09c9bcb 09-Sep-2010 Mathias Agopian <mathias@google.com> am 45bd9946: am fec5d38b: Merge "option to enable multisampling" into gingerbread

Merge commit '45bd99466ce9962778eacaefff1c0a44bb268f0c'

* commit '45bd99466ce9962778eacaefff1c0a44bb268f0c':
option to enable multisampling
12e85311f4d8de8011f1c4b10320a399ba97597f 09-Sep-2010 Mathias Agopian <mathias@google.com> am a9ff29b5: am 6808e6a8: Merge "Fix a few typos in EGL wrapper" into gingerbread

Merge commit 'a9ff29b59cf33e552285a0bff3caf7a44f93f1c0'

* commit 'a9ff29b59cf33e552285a0bff3caf7a44f93f1c0':
Fix a few typos in EGL wrapper
45bd99466ce9962778eacaefff1c0a44bb268f0c 09-Sep-2010 Mathias Agopian <mathias@google.com> am fec5d38b: Merge "option to enable multisampling" into gingerbread

Merge commit 'fec5d38baf4487d8ab0143451a3f2c39edeeb5b2' into gingerbread-plus-aosp

* commit 'fec5d38baf4487d8ab0143451a3f2c39edeeb5b2':
option to enable multisampling
850753b6f45e66f805b69c033ed06d8177aa1e19 09-Sep-2010 Mathias Agopian <mathias@google.com> option to enable multisampling

multisampling can be enabled by specifying the number of
samples desired on the command line.

Change-Id: I5f93c93ae7ada54bcd646c1065e07890d0cb9808
ests/angeles/app-linux.cpp
a9ff29b59cf33e552285a0bff3caf7a44f93f1c0 09-Sep-2010 Mathias Agopian <mathias@google.com> am 6808e6a8: Merge "Fix a few typos in EGL wrapper" into gingerbread

Merge commit '6808e6a867ba0b32f8bd97163e134c2866423f01' into gingerbread-plus-aosp

* commit '6808e6a867ba0b32f8bd97163e134c2866423f01':
Fix a few typos in EGL wrapper
6808e6a867ba0b32f8bd97163e134c2866423f01 09-Sep-2010 Mathias Agopian <mathias@google.com> Merge "Fix a few typos in EGL wrapper" into gingerbread
97961db7d38d75dcae3d16e41b37378c54e3a404 09-Sep-2010 Mathias Agopian <mathias@google.com> Fix a few typos in EGL wrapper

Change-Id: I3b815ca6ec334ca12088f9721eece33df42b2e46
ibs/EGL/egl.cpp
515d2c1e95a95aa4502e318762d149adff57b6d3 09-Sep-2010 Mathias Agopian <mathias@google.com> am 099aa9a1: am edbb8083: Merge "add a fps counter to sanangeles demo" into gingerbread

Merge commit '099aa9a1b4eaf6536decbcafac43476c4908ef24'

* commit '099aa9a1b4eaf6536decbcafac43476c4908ef24':
add a fps counter to sanangeles demo
099aa9a1b4eaf6536decbcafac43476c4908ef24 09-Sep-2010 Mathias Agopian <mathias@google.com> am edbb8083: Merge "add a fps counter to sanangeles demo" into gingerbread

Merge commit 'edbb8083a815e9d911f8e659fc5c293543fdf502' into gingerbread-plus-aosp

* commit 'edbb8083a815e9d911f8e659fc5c293543fdf502':
add a fps counter to sanangeles demo
ce8f54942ba431ee355edf97689eb414f9a27fb4 09-Sep-2010 Mathias Agopian <mathias@google.com> add a fps counter to sanangeles demo

Change-Id: I9a9473ce213301cc7661fddfb1ef5a6ffcb346d4
ests/angeles/app-linux.cpp
d997f71d3046424e977352d442b4944369ddbe9a 09-Sep-2010 Jason Sams <rjsams@android.com> Rework gl perf test to focus on important use cases.

Change-Id: I82825dbe3b24a520b79f6b05d01f37e1b5008b62
ests/gl_perf/fill_common.cpp
ests/gl_perf/filltest.cpp
ests/gl_perf/fragment_shaders.cpp
ests/gl_perfapp/jni/gl_code.cpp
b20a4b960e6515d89330701575c4adc6a6a85221 28-Aug-2010 Mathias Agopian <mathias@google.com> Add KHR_gl_texture_2D_image extension string.
ibs/EGL/egl.cpp
9d75f1341524910b00d35dd4eeb426d7e7791f6e 27-Aug-2010 Mathias Agopian <mathias@google.com> cleanup EGL a bit. remove unused extension.

Change-Id: I7758bc7d6dc2e70fc3590fe939ebf71fbcde7059
nclude/EGL/eglext.h
ibagl/egl.cpp
ibs/EGL/egl.cpp
e481f19cf0898ef23423ced82dfaade00faeca9a 27-Aug-2010 Mathias Agopian <mathias@google.com> am ff3dcf27: Merge "cleanup EGL a bit. remove unused extension." into gingerbread

Merge commit 'ff3dcf27be2bbb259b7605396d36e50ade35266f' into gingerbread-plus-aosp

* commit 'ff3dcf27be2bbb259b7605396d36e50ade35266f':
cleanup EGL a bit. remove unused extension.
ebc3d5a5490c208ac1706b49263bd780999df724 27-Aug-2010 Mathias Agopian <mathias@google.com> cleanup EGL a bit. remove unused extension.

Change-Id: Ia87120b076ab1bf7b28f06087878d8161fb46c88
nclude/EGL/eglext.h
ibagl/egl.cpp
ibs/EGL/egl.cpp
06b9a14c45cecfdc2569f1787e9b4c6f3633b156 26-Aug-2010 Romain Guy <romainguy@google.com> am d72c1172: am 0c490839: Merge "reserve android.opengl.GLWallpaperService name for future use" into gingerbread

Merge commit 'd72c1172f669d0a50a5164672c354ec7fb4ac9aa'

* commit 'd72c1172f669d0a50a5164672c354ec7fb4ac9aa':
reserve android.opengl.GLWallpaperService name for future use
d72c1172f669d0a50a5164672c354ec7fb4ac9aa 26-Aug-2010 Romain Guy <romainguy@google.com> am 0c490839: Merge "reserve android.opengl.GLWallpaperService name for future use" into gingerbread

Merge commit '0c490839b2d25fec99f1ae86dcebc5f21a2df8bb' into gingerbread-plus-aosp

* commit '0c490839b2d25fec99f1ae86dcebc5f21a2df8bb':
reserve android.opengl.GLWallpaperService name for future use
f45b674d48ff91972e4b8ffbbe3c4bd16d231bdc 26-Aug-2010 Mathias Agopian <mathias@google.com> reserve android.opengl.GLWallpaperService name for future use

Change-Id: I7a217593a1ca39214dda26ddb3af3ddc30a8a95a
ava/android/opengl/GLWallpaperService.java
58f853b1cfe6e5b9ea3985617bdadded1acc4ec8 21-Aug-2010 Mathias Agopian <mathias@google.com> am b3aaf3ba: am bccfcd95: Merge "fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used." into gingerbread

Merge commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a'

* commit 'b3aaf3baa7fd811af19835bbc8837a88984c160a':
fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
2abd598f4c338a27ce657b5dab6247ab55b7abc0 21-Aug-2010 Mathias Agopian <mathias@google.com> am 43647129: am 17da0663: Merge "fix [2931161] crash in labyritnth when completing a level" into gingerbread

Merge commit '43647129d676e8c802850ca493f2ebc6064a4a1a'

* commit '43647129d676e8c802850ca493f2ebc6064a4a1a':
fix [2931161] crash in labyritnth when completing a level
b3aaf3baa7fd811af19835bbc8837a88984c160a 19-Aug-2010 Mathias Agopian <mathias@google.com> am bccfcd95: Merge "fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used." into gingerbread

Merge commit 'bccfcd95d3cc4029c1ed8514d31436a857283873' into gingerbread-plus-aosp

* commit 'bccfcd95d3cc4029c1ed8514d31436a857283873':
fix [2931718] glDrawArrays skips a triangle when more than 70 vertices are used.
e8963f7c37f8fb329867f71333eea8ccf35029e7 19-Aug-2010 Mathias Agopian <mathias@google.com> 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
ibagl/array.cpp
43647129d676e8c802850ca493f2ebc6064a4a1a 19-Aug-2010 Mathias Agopian <mathias@google.com> am 17da0663: Merge "fix [2931161] crash in labyritnth when completing a level" into gingerbread

Merge commit '17da06631041f9f2237738fb673a74a85b1d9cf4' into gingerbread-plus-aosp

* commit '17da06631041f9f2237738fb673a74a85b1d9cf4':
fix [2931161] crash in labyritnth when completing a level
100f42a4bfb19710f070f51f8e2b617991b638db 19-Aug-2010 Mathias Agopian <mathias@google.com> fix [2931161] crash in labyritnth when completing a level

Change-Id: I821d67effaf73d7008b2828d06f5489d1f976a1e
ibagl/egl.cpp
d601649e6a910fcd839a247bc32c9bc4291b492f 16-Aug-2010 Romain Guy <romainguy@google.com> am a4ed1c67: am 1e4aa48c: Merge "fix [2912927] Can\'t get NV_draw_path extension to work" into gingerbread

Merge commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac'

* commit 'a4ed1c6788ead0324106d76f497233ee42a1f1ac':
fix [2912927] Can't get NV_draw_path extension to work
a4ed1c6788ead0324106d76f497233ee42a1f1ac 13-Aug-2010 Romain Guy <romainguy@google.com> am 1e4aa48c: Merge "fix [2912927] Can\'t get NV_draw_path extension to work" into gingerbread

Merge commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661' into gingerbread-plus-aosp

* commit '1e4aa48cfd2b2c13c4f7ace8c9fcb33adfa18661':
fix [2912927] Can't get NV_draw_path extension to work
ab5750115df3143de46cee934422ffea65765480 13-Aug-2010 Mathias Agopian <mathias@google.com> fix [2912927] Can't get NV_draw_path extension to work

there was a problem with eglGetProcAddress() which would only work with
GLES 1.x contexts.

Change-Id: I4747671cbf7ed469bb471a377f1d6f36550d24df
ibs/EGL/egl.cpp
036b07cc28de7d41e65f3b590e71a5737c610759 10-Aug-2010 Mathias Agopian <mathias@google.com> am 553a333d: am 603a34ee: Merge "improve a bit the implementation of eglGetProcAddress" into gingerbread

Merge commit '553a333d4446bb34330da92f02daa515dc597939'

* commit '553a333d4446bb34330da92f02daa515dc597939':
improve a bit the implementation of eglGetProcAddress
553a333d4446bb34330da92f02daa515dc597939 10-Aug-2010 Mathias Agopian <mathias@google.com> am 603a34ee: Merge "improve a bit the implementation of eglGetProcAddress" into gingerbread

Merge commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf' into gingerbread-plus-aosp

* commit '603a34ee30e7d14ddc02c1beb7bca915622ae4bf':
improve a bit the implementation of eglGetProcAddress
61c8c9c5b2006d18e9310b6521c65b36ffe75ce4 10-Aug-2010 Romain Guy <romainguy@google.com> Fix tons of bugs and add new text rendering support.

Change-Id: I326c66b10784006f6df2f12d38e120cef94cd0d7
ibs/GLES2/gl2.cpp
8daae8f1497af620b3bc3ca6bea63c75340a81a1 10-Aug-2010 Mathias Agopian <mathias@google.com> improve a bit the implementation of eglGetProcAddress

Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6
ibs/EGL/getProcAddress.cpp
5fd174c99bfe8695ce50558e217f3e1d1ea15aef 04-Aug-2010 Mathias Agopian <mathias@google.com> am d12a98e2: am 9abce39a: Merge "fix [2421247] implement eglGetProcAddress(), needed in the ndk" into gingerbread

Merge commit 'd12a98e2b1eb3a2ae20eace8a7d4b5fa13bbedfb'

* commit 'd12a98e2b1eb3a2ae20eace8a7d4b5fa13bbedfb':
fix [2421247] implement eglGetProcAddress(), needed in the ndk
d12a98e2b1eb3a2ae20eace8a7d4b5fa13bbedfb 03-Aug-2010 Mathias Agopian <mathias@google.com> am 9abce39a: Merge "fix [2421247] implement eglGetProcAddress(), needed in the ndk" into gingerbread

Merge commit '9abce39a991a6bc1cfab4284b5448a4f676bb06f' into gingerbread-plus-aosp

* commit '9abce39a991a6bc1cfab4284b5448a4f676bb06f':
fix [2421247] implement eglGetProcAddress(), needed in the ndk
3944eab21c4e9511850d8743da498c2cf886d8a6 03-Aug-2010 Mathias Agopian <mathias@google.com> fix [2421247] implement eglGetProcAddress(), needed in the ndk

Change-Id: I5027a27b43c0dd449a404024087853ca05bb8e4e
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/getProcAddress.cpp
ibs/hooks.h
5688ac84bd337c6c7a2df4330e40d04af903f74d 31-Jul-2010 Mathias Agopian <mathias@google.com> am 67e4ff76: am 4d7fc365: Merge "remove copybit hack from software opengl (libagl)" into gingerbread

Merge commit '67e4ff768d71088a64fbac3b8e398e2e16dd84ec'

* commit '67e4ff768d71088a64fbac3b8e398e2e16dd84ec':
remove copybit hack from software opengl (libagl)
67e4ff768d71088a64fbac3b8e398e2e16dd84ec 31-Jul-2010 Mathias Agopian <mathias@google.com> am 4d7fc365: Merge "remove copybit hack from software opengl (libagl)" into gingerbread

Merge commit '4d7fc3651bd93d588d2b8580010414b59bc67729' into gingerbread-plus-aosp

* commit '4d7fc3651bd93d588d2b8580010414b59bc67729':
remove copybit hack from software opengl (libagl)
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
ibagl/Android.mk
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/array.cpp
ibagl/copybit.cpp
ibagl/copybit.h
ibagl/egl.cpp
ibagl/state.cpp
ibagl/texture.cpp
78a785b409cba5e4db7f5175070789b715e389f8 30-Jul-2010 Mathias Agopian <mathias@google.com> am eb248a58: am 55a76dd8: Merge "fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface()." into gingerbread

Merge commit 'eb248a58fabac31873982e4f389ba81981f4041f'

* commit 'eb248a58fabac31873982e4f389ba81981f4041f':
fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
eb248a58fabac31873982e4f389ba81981f4041f 30-Jul-2010 Mathias Agopian <mathias@google.com> am 55a76dd8: Merge "fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface()." into gingerbread

Merge commit '55a76dd8d9996c1e93762d7611789aea696d536c' into gingerbread-plus-aosp

* commit '55a76dd8d9996c1e93762d7611789aea696d536c':
fix [2870926] Issue 9802: EGL wrapper has not been implemented correctly for eglQuerySurface().
3ad6c442441615802121ff87641534fb438226c9 27-Jul-2010 Mathias Agopian <mathias@google.com> 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
ibs/EGL/egl.cpp
744f37f12d42de3f7e1b335e1c70b438ec5ff767 21-Jul-2010 Jason Sams <rjsams@android.com> Update filltest.

Change-Id: I37f2bde9898046eafb6431519dae78bf6f368f05
ests/gl_perf/fill_common.cpp
ests/gl_perf/filltest.cpp
ests/gl_perfapp/jni/gl_code.cpp
9610f635e81d630d9e24daa1d868078e578ed91d 20-Jul-2010 Jack Palevich <jackpal@google.com> Fix extraMath state variable.

Change-Id: Iba76d3e4e3bab0b993d176755f588201c8a967cd
ests/gl_perfapp/jni/gl_code.cpp
81d7aeb89d1630f54e0b45cb5669928528b0c21f 20-Jul-2010 Jack Palevich <jackpal@google.com> Try to handle end-of-application better.

Handle rotation from portrait to landscape by restarting test if not
finished.

Don't write blank line to csv file.

Change-Id: I154443138817bcec9530123c8388fcf659632336
ests/gl_perfapp/jni/gl_code.cpp
5a52b1ce2b377b521707f36307924b6184d40cf2 20-Jul-2010 Jack Palevich <jackpal@google.com> Write test timings to /sdcard/glperf.csv

Change-Id: If09e209a9d8049f03320dbd7df257137bf06949e
ests/gl_perfapp/AndroidManifest.xml
ests/gl_perfapp/jni/gl_code.cpp
9778f9fc0e950693fa7c5f80c1686c69562a8f26 20-Jul-2010 Jack Palevich <jackpal@google.com> Keep screen on for whole test.

Print only one set of timings per test.

Draw blank black screen when done.

Change-Id: I963bcbca99ff5975683b15e60437978eb1a8beb8
ests/gl_perfapp/jni/gl_code.cpp
ests/gl_perfapp/src/com/android/glperf/GLPerfActivity.java
c95411559666875e15a4af373b66faf7c9faecd9 20-Jul-2010 Jack Palevich <jackpal@google.com> An application version of the GL test.

Change-Id: Ibcccdf2560eb24d3037c02c4740f0048b60d070c
ests/gl_perfapp/Android.mk
ests/gl_perfapp/AndroidManifest.xml
ests/gl_perfapp/jni/gl_code.cpp
ests/gl_perfapp/res/values/strings.xml
ests/gl_perfapp/src/com/android/glperf/GLPerfActivity.java
ests/gl_perfapp/src/com/android/glperf/GLPerfLib.java
ests/gl_perfapp/src/com/android/glperf/GLPerfView.java
1f76f88c3821a1597b2f2884d937c54c2ba08a8e 14-Jul-2010 Jack Palevich <jackpal@google.com> am 43429036: am 91216a7e: Merge "Fix deadlock when switching between two GLSurfaceViews" into gingerbread

Merge commit '43429036f5885063e522603e51c5f59f8b9e697a'

* commit '43429036f5885063e522603e51c5f59f8b9e697a':
Fix deadlock when switching between two GLSurfaceViews
43429036f5885063e522603e51c5f59f8b9e697a 14-Jul-2010 Jack Palevich <jackpal@google.com> am 91216a7e: Merge "Fix deadlock when switching between two GLSurfaceViews" into gingerbread

Merge commit '91216a7e7406ef02d833e461d0db93ece7b2140d' into gingerbread-plus-aosp

* commit '91216a7e7406ef02d833e461d0db93ece7b2140d':
Fix deadlock when switching between two GLSurfaceViews
1b4ecc63c4eceb7c125d4e749fd5f747d99d6ec6 14-Jul-2010 Jack Palevich <jackpal@google.com> Fix deadlock when switching between two GLSurfaceViews

Some devices only support a single active EGL context.

On those devices, when a second activity that uses a GLSurfaceView
is started in the same process, the second activity can potentially
hang in GLSurfaceView.onWindowResize waiting for its GLSurfaceView
render thread to draw a frame. The second activity's render thread
is waiting to acquire an EGL context, but the first activity's render
thread doesn't know it should release the EGL context.

The fix is to detect the potential hang, and ask the first activity's
render thread to release the EGL context.

Change-Id: Ibb342c68772297744c973bcf5010581cd132db67
ava/android/opengl/GLSurfaceView.java
93bab39af5a652a707ea152f112eb1363d1929aa 12-Jul-2010 Jason Sams <rjsams@android.com> gl perf test cleanup.

Change-Id: Ic486774e25421bd2f412f0ba2bbac4660e3982b8
ests/gl_perf/filltest.cpp
ests/gl_perf/gl2_perf.cpp
35620f5803e3db11add5ecd8ac24665131b99de5 12-Jul-2010 Andy McFadden <fadden@android.com> Fix build.

Added missing #include <string.h>.

Change-Id: Idf151876851110098fe538a042f896784821919b
ests/gl_perf/filltest.cpp
53a93d5e917038504ba4422e4ad346ae37131365 10-Jul-2010 Jason Sams <rjsams@android.com> Remove points from fixed function.
Add basic GL performance test.

Change-Id: I421a41b6683b2c5f70045cdd0f610a6939105fee
ests/gl_perf/Android.mk
ests/gl_perf/filltest.cpp
ests/gl_perf/gl2_perf.cpp
56c132c24e991cabb9fd068ab2c2c555125e8388 02-Jul-2010 Mathias Agopian <mathias@google.com> am 5219a82f: am 8ecfb60a: Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread

Merge commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d'

* commit '5219a82f9d64a7d13401dcf9a0703a0ca2cd842d':
Fix a bug that prevented the creation of EGL shared contexts.
5219a82f9d64a7d13401dcf9a0703a0ca2cd842d 02-Jul-2010 Mathias Agopian <mathias@google.com> am 8ecfb60a: Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread

Merge commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d' into gingerbread-plus-aosp

* commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d':
Fix a bug that prevented the creation of EGL shared contexts.
8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d 02-Jul-2010 Mathias Agopian <mathias@google.com> Merge "Fix a bug that prevented the creation of EGL shared contexts." into gingerbread
5149f91c8c56d2f5aa1f407b2818e25a563561c1 02-Jul-2010 Jamie Gennis <jgennis@google.com> Fix a bug that prevented the creation of EGL shared contexts.

Change-Id: I6b0ec5ef86abdd4e9083067ba297107cfb094df3
ibs/EGL/egl.cpp
3d7ab176d606918c4db0fd07aeda46769b6eb8f1 02-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of f601ce2c to master

Change-Id: I9e880aacef9d949d83945d41ee5b6eb63ddc4cc7
f601ce2c1455cbfee3289309d20e55172df71bf6 02-Jul-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ifec16490ea2170728cb6ccb18d2e74fcb3478db6
efcd77407b321498a43ca380c8f67b84eb5a2d6e 01-Jul-2010 Dianne Hackborn <hackbod@google.com> am 177c405a: am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread

Merge commit '177c405a242e811b1010bd8382b5807ab8df31a8'

* commit '177c405a242e811b1010bd8382b5807ab8df31a8':
Introduce official public NativeWindow type.
177c405a242e811b1010bd8382b5807ab8df31a8 01-Jul-2010 Dianne Hackborn <hackbod@google.com> am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread

Merge commit 'c6e1d88022db800773401c16803e1ab27fd01a7e' into gingerbread-plus-aosp

* commit 'c6e1d88022db800773401c16803e1ab27fd01a7e':
Introduce official public NativeWindow type.
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
nclude/EGL/eglplatform.h
ibagl/egl.cpp
fd23461c2b9e482262f5af6b96fcabf99fecca7f 25-Jun-2010 Bruce Beare <brucex.j.beare@intel.com> Fix missing NL

Change-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
ests/gl_jni/jni/gl_code.cpp
36e5f667bc889a7b1bc17f9a5bd44f33b2d47020 25-Jun-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 2eb12a47 to master

Change-Id: I79eb9d9f083e51ec1b99145d81632683669e7a99
2eb12a47224f1617787c09824107ac6bc22f9b3e 25-Jun-2010 Dianne Hackborn <hackbod@google.com> am 01e4cfc4: Some ActivityThread/ActivityManager cleanup.

Merge commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301' into gingerbread-plus-aosp

* commit '01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301':
Some ActivityThread/ActivityManager cleanup.
01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301 25-Jun-2010 Dianne Hackborn <hackbod@google.com> Some ActivityThread/ActivityManager cleanup.

- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
package scoped.

Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
ava/com/google/android/gles_jni/GLImpl.java
819008233e5d8e4cfd8ebe86bd3ec3881b4f11e9 23-Jun-2010 Jack Palevich <jackpal@google.com> am 1e08cc1d: am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.

Merge commit '1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c'

* commit '1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c':
Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
37d9a6b7c2e4c3ca50e08faefac64d849e0d74e3 23-Jun-2010 Mathias Agopian <mathias@google.com> am cefb8858: am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread

Merge commit 'cefb88587443323d147e687ff78eae9195eb584c'

* commit 'cefb88587443323d147e687ff78eae9195eb584c':
Added support for the GL_TEXTURE_EXTERNAL target
1e08cc1dfda9a0264fcf62898af0bdd6ed5a205c 22-Jun-2010 Jack Palevich <jackpal@google.com> am 224107a4: Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.

Merge commit '224107a421e2611b15d1ec736df54bca9ee3e78d' into gingerbread-plus-aosp

* commit '224107a421e2611b15d1ec736df54bca9ee3e78d':
Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.
224107a421e2611b15d1ec736df54bca9ee3e78d 22-Jun-2010 Jack Palevich <jackpal@google.com> Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.

Change-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b
ava/android/opengl/GLES10.java
ava/android/opengl/GLES20.java
ools/glgen/specs/gles11/GLES20.spec
ools/glgen/src/JniCodeEmitter.java
cefb88587443323d147e687ff78eae9195eb584c 22-Jun-2010 Mathias Agopian <mathias@google.com> am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread

Merge commit '28333315c6f62b303de2ec0ac9e48158ed419f06' into gingerbread-plus-aosp

* commit '28333315c6f62b303de2ec0ac9e48158ed419f06':
Added support for the GL_TEXTURE_EXTERNAL target
3b9f0a33a110d01e587ffd5ec7708af68723ad4b 21-Jun-2010 Jean-Baptiste Queru <jbq@google.com> Recover a handful of commits that were reverted earlier
ibagl/egl.cpp
6c9a30045b1e6b9ef5d756e0a9657576c546c9bd 21-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from froyo-plus-aosp

Change-Id: I36dd4460cae6e3212d724e70ff1091cb791670cd
f8b4b4408cb864bf604608221eafa9d37323d348 15-Jun-2010 Mathias Agopian <mathias@google.com> Added support for the GL_TEXTURE_EXTERNAL target

This will allow us to support YUV surfaces.

Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
nclude/GLES/glext.h
nclude/GLES2/gl2ext.h
20374b6045fdce69d0d6b7f29e3bc3a445455698 15-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I12af4b88c1881a6a120031459bc63d87b1dd4956
533ca7b8f4cba6330ee1314f17b78274c96c12dc 10-Jun-2010 Mathias Agopian <mathias@google.com> am e52d66fa: am 44bea8f8: Merge changes I00274431,I83be9404,I0359531a,Iceef1e95 into kraken
6d4021a67ddb787b61d5e65cdc1fac517b379b57 10-Jun-2010 Mathias Agopian <mathias@google.com> update EGL headers to the latest

note that this doesn't update the EGL stubs.

Change-Id: I00274431a490249d93eb6b5ba13f274b7f2682ae
nclude/EGL/egl.h
nclude/EGL/eglext.h
nclude/EGL/eglplatform.h
ests/gl2_basic/gl2_basic.cpp
ests/gl_basic/gl_basic.cpp
69d2f12e79428b5360b51528370d2ade2a6ae653 10-Jun-2010 Mathias Agopian <mathias@google.com> update GL ES stub libraries with the new GL ES headers

Change-Id: I83be94049ddfe3fd7f5bee71a21172ade1498dd5
ibs/GLES2/gl2_api.in
ibs/GLES2/gl2ext_api.in
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/glext_api.in
ibs/entries.in
3b512cd56450d08c3bd8d2bd53c9bf8126b2557f 10-Jun-2010 Mathias Agopian <mathias@google.com> fix OpenGL ES extension headers from khronos

the official headers have a couple typos, which
this CL fixes.

Change-Id: I0359531a05a4a62ddbdce70c5841ec1c355feb3b
nclude/GLES/glext.h
nclude/GLES2/gl2ext.h
958f9006685c8b477fe76f44ddce59b8bfae8315 10-Jun-2010 Mathias Agopian <mathias@google.com> update the OpenGL ES headers to the latest

Change-Id: Iceef1e95504897a5e3759b0401cf7031c9e74547
nclude/GLES/gl.h
nclude/GLES/glext.h
nclude/GLES/glplatform.h
nclude/GLES2/gl2.h
nclude/GLES2/gl2ext.h
nclude/GLES2/gl2platform.h
8999515f66df3c856af4e51bb26da1cb799b14f4 02-Jun-2010 Mathias Palmqvist <mathias.palmqvist@sonyericsson.com> Use stride for source and target buffers when copybit is enabled.

Change-Id: Ie651013b3522f8e004685d74190da86433086307
ibagl/egl.cpp
c1600ae869d1f3947bdc645951ba9d6cd265a60f 25-May-2010 Mathias Agopian <mathias@google.com> am 36893612: am d6ddcb7f: fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail
d6ddcb7f00a7af95b452233d965b922632f78f21 25-May-2010 Mathias Agopian <mathias@google.com> fix [2677468] some 3rd party GL ES apps get a 32-bits surface by default and fail

force all SurfaceView to 565

Change-Id: I8ebfa1239d8e4fa097c2e544677fb92fa20b39bd
ava/android/opengl/GLSurfaceView.java
e9078011588823a7613e8fd3e9ff5edabf14c5a8 17-May-2010 Mathias Agopian <mathias@google.com> am df9556f3: am 23100fd1: Merge "fix a crasher in our EGL wrapper when attrib_list is NULL in eglChooseConfig" into kraken
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
ibagl/egl.cpp
ibs/EGL/egl.cpp
dff3d166f10538e87360a74cab8444665980fcd6 12-May-2010 The Android Open Source Project <initial-contribution@android.com> am 1b7e3ef4: am 55bef14f: am fb234bbe: merge from open-source master
55bef14f153c1a80006de2ff86bcf67984a6e1a8 12-May-2010 The Android Open Source Project <initial-contribution@android.com> am fb234bbe: merge from open-source master

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.
fb234bbe5e7cbae42b4fc8f4ab353ba561599db2 12-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I022d0781a232396e2b8a67a420ecf50e64b87d8c
06d0e59a434b7cb58b97b6dab24988dcc901c8c7 11-May-2010 Mathias Agopian <pixelflinger@google.com> Merge "Build software AGL library with correct get_tls() macro for ARMv7 based platforms"
954cbf5b7f2c659a4c6842f22ccbb48afe14ab60 11-May-2010 Mathias Agopian <pixelflinger@google.com> Merge "Fix glReadPixels() to verify that both x and y are non-negative."
fcbbbc3bcbd9722482210a5b0c632e56fa06af3d 29-Apr-2010 Jack Palevich <jackpal@google.com> Declare that testViewport targets Froyo APIs

(So that it can be built in Master, but run in
Froyo.)
ests/testViewport/Android.mk
ests/testViewport/AndroidManifest.xml
8ca856c445dc93e6840a3270a2841794c06f256c 20-Apr-2010 Jack Palevich <jackpal@google.com> am 15d484a7: am 06798769: am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyo
15d484a7ef1e8f418281af3f6a393ff97729a1f5 20-Apr-2010 Jack Palevich <jackpal@google.com> am 06798769: am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyo

Merge commit '0679876997a5523a7539b8fe2c74a39434b17820' into kraken

* commit '0679876997a5523a7539b8fe2c74a39434b17820':
Quietly handle EGL_BAD_NATIVE_WINDOW errors
0679876997a5523a7539b8fe2c74a39434b17820 20-Apr-2010 Jack Palevich <jackpal@google.com> am 7305f416: Merge "Quietly handle EGL_BAD_NATIVE_WINDOW errors" into froyo

Merge commit '7305f4166306dac08fc63056f2c85e91015df879' into froyo-plus-aosp

* commit '7305f4166306dac08fc63056f2c85e91015df879':
Quietly handle EGL_BAD_NATIVE_WINDOW errors
0e4aa37872810e46775374596e0beb11f7123727 19-Apr-2010 Jack Palevich <jackpal@google.com> Quietly handle EGL_BAD_NATIVE_WINDOW errors

We believe these errors happen when the window
manager has told surface flinger to close the
native window.

If this error happens while we are creating the
EGL surface we exit the render loop (and
therefore exit the render thread.)

If the error happens while swapping the surface
we ignore it.

In either situation, we expect that the
application is about to be shut down by the
window manager, so it should not be necessary
to try and recover from the error.
ava/android/opengl/GLSurfaceView.java
3dce8949db05607c555636900860de2690fa25e5 10-Apr-2010 Mathias Agopian <mathias@google.com> am c0fa6589: am cf2bd285: Merge "small cleanup. gEGLImpl should have been static" into kraken
e547835c5210c2ae022c7429e7a75ac17290bf40 09-Apr-2010 Mathias Agopian <mathias@google.com> small cleanup. gEGLImpl should have been static

also added a ctor to initialized it in case we use it ont he stack
one day.

Change-Id: I2736b9bce3d8ba3b74fd029de4c18cca2cdbbf60
ibs/EGL/egl.cpp
ibs/egl_impl.h
9bab8f115b4dbb9c6d8e0e0b3040aa846ca6e5ca 31-Mar-2010 The Android Open Source Project <initial-contribution@android.com> am 4790259c: am 8de2cf4c: merge from open-source master
8de2cf4cce9ae2e121fccb4732fd23c64aace102 31-Mar-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
eae38936a3c9e68d3678889aea52205022a7e7cb 30-Mar-2010 Jack Palevich <jackpal@google.com> Merge "Add a test program for Sapphire viewport rotation issue."
c49eeba5d83e790a716690ac25202f196f7adcdb 30-Mar-2010 Jack Palevich <jackpal@google.com> Add a test program for Sapphire viewport
rotation issue.
ests/testViewport/Android.mk
ests/testViewport/AndroidManifest.xml
ests/testViewport/README
ests/testViewport/res/values/strings.xml
ests/testViewport/src/com/android/test/TestActivity.java
ests/testViewport/src/com/android/test/TestView.java
a5d4ad3d52df777841108860a9cae61ea7407f21 30-Mar-2010 Mathias Agopian <mathias@google.com> Fix Android's glEGLImageTargetRenderbufferOES() wrapper

glEGLImageTargetRenderbufferOES() pass the wrapped EGLImage
to the implementation, rather than the unwrapped one.

Change-Id: I149f9ed73e6ab9089110600e1db4311ba7a8c83a
ibs/GLES2/gl2.cpp
ibs/GLES_CM/gl.cpp
5d961085c33d17e43330ed2d3ada03ffcfa04817 29-Mar-2010 Jack Palevich <jackpal@google.com> Add a test of EGL pausing and resuming.
ests/testPauseResume/Android.mk
ests/testPauseResume/AndroidManifest.xml
ests/testPauseResume/README
ests/testPauseResume/res/values/strings.xml
ests/testPauseResume/src/com/android/test/TestActivity.java
ests/testPauseResume/src/com/android/test/TestView.java
daf5537350c10c538d0a38567b5434f5cfb2d378 29-Mar-2010 Jack Palevich <jackpal@google.com> Add a test of EGL pausing and resuming.
ests/testPauseResume/Android.mk
ests/testPauseResume/AndroidManifest.xml
ests/testPauseResume/README
ests/testPauseResume/res/values/strings.xml
ests/testPauseResume/src/com/android/test/TestActivity.java
ests/testPauseResume/src/com/android/test/TestView.java
4a65900cd69b79e6e47d275575eaeb5bb2487f9f 27-Mar-2010 Jack Palevich <jackpal@google.com> Turn off logging.
ava/android/opengl/GLSurfaceView.java
d7c1c00663a4e723eedeec27c68be879fd4da04f 26-Mar-2010 Mathias Agopian <mathias@google.com> Merge "fix [2236865] STOPSHIP: bump soft gl and egl minor version number"
57e4865e528ca31f6c5e25cb40403675faa893a6 26-Mar-2010 Mathias Agopian <mathias@google.com> fix [2236865] STOPSHIP: bump soft gl and egl minor version number

this is to allow developpers to deal with potiential differences
between the softgl versions.

Change-Id: I7ec2451d6af1be29818d66215b22977405d403e8
ibagl/state.cpp
451a224c46c297bd6b25e3570b45f5053b4788be 26-Mar-2010 Jack Palevich <jackpal@google.com> GLSurfaceView pause and resume now synchronize
with the GLThread.

We used to just set the mPaused state and return,
now we wait until the rendering thread signals
that it has noticed the change in pause state.

This makes Pause/Resume more consistent with
other UI-thread-to-GLThread event communication.

This change was made in the hope of fixing some
race conditions observed in monkey testing.
ava/android/opengl/GLSurfaceView.java
57c6a46bd0c84c4b349d49f8df12f30a8cfcdaa2 25-Mar-2010 Jack Palevich <jackpal@google.com> Turn off thread logging (too many messages.)

Leave some other logging on for the monkey test.
ava/android/opengl/GLSurfaceView.java
e6c9448eb3228887c49f6ba9c4be2345443286e9 25-Mar-2010 Jack Palevich <jackpal@google.com> Add logging of GLSurfaceView pause/resume calls.

Turn on GLSurfaceView logging, so we can get better
information in the monkey tests.

Change-Id: Ifec0101f8a00ab09037dc9f7a1496fa1a374cc08
ava/android/opengl/GLSurfaceView.java
b1768998f14e03bd69cf049783d6cbeccf6d5839 24-Mar-2010 Jack Palevich <jackpal@google.com> Improve our EGL management when pausing / resuming.

We now release the EGL context when pausing. This
is required to reduce the chance of running out of
contexts on devices which support a limited number
of active EGL contexts.

Someday we may implement a global EGL context
manager that will allow us to let EGL contexts
persist until another activity needs an EGL
context. But for now, without such a manager,
we take the conservative approach.

Separately, we now terminate EGL when
pausing on Sapphire. This is a requirement of the
Sapphire OpenGL driver.
ava/android/opengl/GLSurfaceView.java
f2c1d9ec4c577287b51518c685f7298c92a82334 30-Nov-2009 Jae-Hyung Ahn <jerry.ahn@windriver.com> gl_code : add end of line.

Signed-off-by: Jae-Hyung Ahn <jerry.ahn@windriver.com>
ests/gl_jni/jni/gl_code.cpp
07353a1e8598b1e2993b8b6763f630379ae6e8bb 23-Mar-2010 Jack Palevich <jackpal@google.com> GLSurfaceView: Log egl failures

Decode the EGL error code when throwing exceptions.
ava/android/opengl/GLSurfaceView.java
0a41c3c706c7238f8de0382d1bb4f019194e9bc1 16-Mar-2010 Jack Palevich <jackpal@google.com> Implement eglInitialize / eglTerminate reference counting

Previously we imlpemented the standard semantics for
eglInitialize / eglTerminate, which are that
eglInitialize may be called any number of times,
but the first call to eglTerminate will terminate
the display.

Now we follow reference-countins semantics, which
means that eglTerminate will only terminate the
display when the reference count returns to zero.

This change allows EGL to be used by multiple
independently written modules in the same process.

(Otherwise there is no way for the independent
modules to coordinate their use of the display.)
ibs/EGL/egl.cpp
04b17ab7b4a17a28f541f746c3d55046c5b87596 15-Mar-2010 Jack Palevich <jackpal@google.com> Improve eglSwapBuffers error handling.

We now distinguish EGL_CONTEXT_LOST errors from
other kinds of errors. We return "true" if
the swap completes successfully, "false" if
the swap fails due to EGL_CONTEXT_LOST, and
throw a RuntimeException if the swap fails due
to any other cause.

If eglSwapBuffers succeeds, we now avoid calling
eglGetError at all, which means we avoid clearing
any EGL errors that might already have been
pending before eglSwapBuffers is called.
ava/android/opengl/GLSurfaceView.java
3e5a5826c65044edc813bd6d3cff6a43db28d74e 13-Mar-2010 Jack Palevich <jackpal@google.com> Fix glCopyTexSubImage2D inverted texture bug.

This bug only affects the software OpenGL ES
driver.
ibagl/texture.cpp
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
ava/android/opengl/EGLLogWrapper.java
ests/gldual/src/com/android/gldual/TriangleRenderer.java
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GLESCodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
ools/glgen/src/ParameterChecker.java
ools/glgen/stubs/gles11/glGetProgramInfoLog.java
ools/glgen/stubs/gles11/glGetShaderInfoLog.java
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glShaderSource.java
83835359e51ddb8be37cea9bf4bb32f9390d82b7 05-Mar-2010 Jack Palevich <jackpal@google.com> Clarify the default algorithm used to choose an EGLConfig.

Explicitly default to an RGB_565 android.view.Surface.
ava/android/opengl/GLSurfaceView.java
4a2221ec4a929976be570ad096252c8dea326e19 06-Mar-2010 Jack Palevich <jackpal@google.com> Fix inverted release-EGLContext-on-pause logic.

This works around a bug in the
"Q3Dimension MSM7500" driver. That driver only
supports a single active EGLContext, so we must
release and restore the EGLContext when pausing
and unpausing.

Unfortunately the test for deciding whether to
release the context was inverted. We were
releasing the context on every device besides
the MSM7500 devices, which was a performance
drain, and we were not releasing the context on
the MSM7500, which meant the underlying driver
bug was not worked around.

Now we release the EGL context when pausing only
on the devices that have the bug.
ava/android/opengl/GLSurfaceView.java
f123ec8f7d449b2e079ea8d5d7e431ff83235f56 19-Feb-2010 Magnus Landqvist <magnus.landqvist@sonyericsson.com> Build software AGL library with correct get_tls() macro for ARMv7 based platforms

This prevents crashes on snapdragon processors.
ibagl/Android.mk
8f2423e8f394ae0666f1b61f83df4c0c7a4782d9 17-Feb-2010 Mathias Agopian <mathias@google.com> get rid off the YUV formats at the libui layer
ibagl/copybit.cpp
2b726af2b8e7f8347d907128d955035a576541f5 06-Feb-2010 Mathias Agopian <mathias@google.com> Merge "fix [2189862] Race condition in eglIntialize and eglDestroy"
6099ab701e8a1e5b18c997cd913d17dc478bfed7 06-Feb-2010 Mathias Agopian <mathias@google.com> fix [2189862] Race condition in eglIntialize and eglDestroy

there is now a lock protext a perticular display. it's held during
initialization and destruction.
ibs/EGL/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
ibagl/egl.cpp
ibagl/texture.cpp
e304bdd5ee5ed0b0d37fe388021c9cd138feda7f 03-Feb-2010 Mathias Agopian <mathias@google.com> fix [2133133] Software OpenGL ES Lighting is buggy (GL Gears washed out bug)

A typo caused GL_AMBIENT_AND_DIFFUSE to only set the the ambient color.

Fix another typo which caused the viewer position to be wrong for
specular highlights.

Switch back to eye-space lighting, since there are still some issues
with some demos (San Angeles in particular).
ibagl/light.cpp
ibagl/light.h
ibagl/matrix.cpp
019fe73ddbf52edd1819e1d85a0b242ebccc7fc3 03-Feb-2010 Jack Palevich <jackpal@google.com> Fix ETC1 texture decoding.

etc1_decode_image requires the stride argument to be in bytes, but the
surface->stride field is in pixels. Convert by multiplying by pixel size.
ibagl/texture.cpp
d1f73a2fcae6481edf07763ca06c4f381ebe13c2 02-Feb-2010 Mathias Agopian <mathias@google.com> implement [2396050] Add ETC1 texture support to AGL
ibagl/Android.mk
ibagl/state.cpp
ibagl/texture.cpp
9c84720da0a39144c3becca1556c65f1aa6fec32 01-Feb-2010 Mathias Agopian <mathias@google.com> fix [2397853] glCopyTexImage2D crashes emulator

Fixed a typo which would cause a buffer overflow
ibagl/texture.cpp
81d42591f766928fe250a0182e707e864f6e1f54 29-Jan-2010 Mike Playle <mike.playle@realvnc.com> Fix glReadPixels() to verify that both x and y are non-negative.
ibagl/texture.cpp
8a4de4be9ed522c704a45a44a265669e10a8f2eb 28-Jan-2010 Jack Palevich <jackpal@google.com> Implement the GL11ExtensionPack APIs.
ava/com/google/android/gles_jni/GLImpl.java
ools/glgen/specs/jsr239/glspec-1.1extpack
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ac00ad1b8863adc3ab34c14e33615efb517327d4 25-Jan-2010 Mathias Agopian <mathias@google.com> fix [2341222] AGL version of glDrawTexxOES doesn't handle "Z" value correctly
ibagl/texture.cpp
7552dcf9360ab5b89e7ac5efe55c6ba277ab17f2 25-Jan-2010 Mathias Agopian <mathias@google.com> fix [2303866] eglMakeCurrent doesn't return all error messages described in the spec
ibs/EGL/egl.cpp
840e958847f31f835dbf17ce539c9f8317251cc9 18-Jan-2010 Jack Palevich <jackpal@google.com> Decouple the EGL context lifetime from the EGL surface lifetime.

The EGL context is now preserved when possible. Previously we would
destroy it whenever the EGL surface was destroyed. Preserving the
EGL context preserves loaded textures and VBO resources.
ava/android/opengl/GLSurfaceView.java
01f8c06cbe63ea7281a3f3d38ed84411e683c789 29-Sep-2009 Gary King <gking@nvidia.com> Use correct TLS codepath in graphics libraries

Duplicate ARCH_ARM_HAVE_TLS_REGISTER BoardConfig to proprocessor
HAVE_ARM_TLS_REGISTER define from Bionic's libc Android.mk to ensure that
OpenGL libraries (libEGL, libGLESv1_CM, libGLESv2, libGLES_android) use the
correct codepath in bionic_tls.h for accessing the TLS address
ibagl/Android.mk
ibs/Android.mk
90ce68a99f8803643d83be963aa0f28fa952a186 10-Jan-2010 Jack Palevich <jackpal@google.com> am 6d0f6c78: Merge "DO NOT MERGE A library for encoding and decoding ETC1 textures." into eclair

Merge commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5' into eclair-plus-aosp

* commit '6d0f6c78037225ef5648d10e45a513a2e7c612b5':
DO NOT MERGE A library for encoding and decoding ETC1 textures.
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
ests/gldual/res/layout/gldual_activity.xml
994cd7959d0666caf2b5152c7bf270698937aef0 08-Jan-2010 Jack Palevich <jackpal@google.com> DO NOT MERGE A library for encoding and decoding ETC1 textures.

The ETC1 compressed texture format is commonly
supported by OpenGL ES 2.0-capable devices.

This change adds a host-only version of the library. It is used by
the etc1tool.
nclude/ETC1/etc1.h
ibs/Android.mk
ibs/ETC1/etc1.cpp
432bff01ec67533dbbb6ed27cb190c99e83ea226 06-Jan-2010 Jean-Baptiste Queru <jbq@google.com> Do not use a user tag on apps, as it is ignored.

The build system does not honor user tags on apps,
and setting it is misleading.

This removes the confusion by making the makefiles
behave like they read.

Change-Id: I7c5feba1c7d07f915b97dd098584f29938a4c885
ests/gl2_jni/Android.mk
ests/gl_jni/Android.mk
ests/gldual/Android.mk
8af9649d44745adba8be4db4e96af053ba32f2c5 31-Dec-2009 Jack Palevich <jackpal@google.com> Fix javadoc typos.
ava/android/opengl/ETC1.java
ava/android/opengl/ETC1Util.java
a6276fdd4253c3a7150ab675678c750473ab6c45 28-Dec-2009 Jack Palevich <jackpal@google.com> A library for encoding and decoding ETC1 textures.

The ETC1 compressed texture format is commonly
supported by OpenGL ES 2.0-capable devices.
nclude/ETC1/etc1.h
ava/android/opengl/ETC1.java
ava/android/opengl/ETC1Util.java
ibs/Android.mk
ibs/ETC1/etc1.cpp
1c875584c5d90a3935f4c53376dfb2ba098795b5 24-Dec-2009 Jack Palevich <jackpal@google.com> Print OpenGL version and extension information.

Something happened to the line endings, adding
a blank line after most lines of text. I
repaired the damage, but in the process some
blank lines have been added / removed.
ests/gl_basic/gl_basic.cpp
244cc72fdf906799e3ec4cfe5b7cda49d9f08cca 23-Dec-2009 Jack Palevich <jackpal@google.com> am e3449553: Merge change I49c9a3a3 into eclair

Merge commit 'e344955393133ac2f99f06cc6a4fe97fbf76f62e' into eclair-plus-aosp

* commit 'e344955393133ac2f99f06cc6a4fe97fbf76f62e':
Fix bug 2325244 screen turns black for a brief period of time
49c9a3a3d4e34aa3ff824e8f4536aa92c6bdc967 21-Dec-2009 Jack Palevich <jackpal@google.com> Fix bug 2325244 screen turns black for a brief period of time

The problem was a black first frame when creating a surface, or a
garbage frame when the surface was resized.

The cause was lack of synchronization between the render thread and the
UI thread. The UI thread would typically return before the render thread
had a chance to draw its first frame.

The fix was to make the UI thread wait until at least one frame had been
rendered by the rendering thread.

The waiting is done in the surfaceChanged method because we know
that surfaceChanged will be called in both the surface created
and surface changed cases.
ava/android/opengl/GLSurfaceView.java
66a4a6e45f59f72f24d710221c27db1bd233e154 21-Dec-2009 Jack Palevich <jackpal@google.com> Fix merge conflict markers that accidentally got checked in.

(They were in a comment, so it wasn't detected by the compiler.)
ava/android/opengl/GLSurfaceView.java
21799450ec751fd3c41c7e66e69fefb094b3050b 21-Dec-2009 Jack Palevich <jackpal@google.com> Fix bug 2325244 screen turns black for a brief period of time

The problem was a black first frame when creating a surface, or a
garbage frame when the surface was resized.

The cause was lack of synchronization between the render thread and the
UI thread. The UI thread would typically return before the render thread
had a chance to draw its first frame.

The fix was to make the UI thread wait until at least one frame had been
rendered by the rendering thread.

The waiting is done in the surfaceChanged method because we know
that surfaceChanged will be called in both the surface created
and surface changed cases.
ava/android/opengl/GLSurfaceView.java
bcf848e096b600ee36430849ade76826c3062196 10-Dec-2009 Jack Palevich <jackpal@google.com> am 74befcc7: am 981ccfbb: Implement Matrix Palette extension.

Merge commit '74befcc7fd721ca34f60bf75e18ce6faaab37aef'

* commit '74befcc7fd721ca34f60bf75e18ce6faaab37aef':
Implement Matrix Palette extension.
4c2fc8cb2571061371a34e736f157686ba57a779 10-Dec-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of fac57636 to master
2d016eb78070b0b06fe412dc27376b6b63c36903 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ddc721d

* changes:
Add misssing symbol type directives.
74befcc7fd721ca34f60bf75e18ce6faaab37aef 10-Dec-2009 Jack Palevich <jackpal@google.com> am 981ccfbb: Implement Matrix Palette extension.

Merge commit '981ccfbbfd737e2bdf0cedec0089975f91fd4e0a' into eclair-mr2-plus-aosp

* commit '981ccfbbfd737e2bdf0cedec0089975f91fd4e0a':
Implement Matrix Palette extension.
fac576360f7b2cd06e6b174894e8d192088349b0 10-Dec-2009 Jack Palevich <jackpal@google.com> am aa396b96: Unhide the Android OpenGL ES 2.0 API

Merge commit 'aa396b9610f339cf280159144fbea47506f060e7' into eclair-mr2-plus-aosp

* commit 'aa396b9610f339cf280159144fbea47506f060e7':
Unhide the Android OpenGL ES 2.0 API
44a95cc084f1904d9d0dd433553d418817e733aa 10-Dec-2009 Jack Palevich <jackpal@google.com> am 0dce2dd2: Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context

Merge commit '0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02' into eclair-mr2-plus-aosp

* commit '0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02':
Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context
00666295a03f36d908c9d2aa57cc08bc0c57226a 10-Dec-2009 Jack Palevich <jackpal@google.com> am 3608891b: Add a Java API for OpenGL ES 2.0.

Merge commit '3608891b83af9fbd1af9b9a411f2a90e52353ff8' into eclair-mr2-plus-aosp

* commit '3608891b83af9fbd1af9b9a411f2a90e52353ff8':
Add a Java API for OpenGL ES 2.0.
981ccfbbfd737e2bdf0cedec0089975f91fd4e0a 08-Dec-2009 Jack Palevich <jackpal@google.com> Implement Matrix Palette extension.

Adds support for formerly-unimplemented methods:

glCurrentPaletteMatrixOES
glLoadPaletteFromModelViewMatrixOES
glMatrixIndexPointerOES
glWeightPointerOES

The bulk of the changes are related to implementing the two PointerOES
methods, which are implemented pretty much the same way as the existing
Pointer methods were implemented.

This change also changes the way glPointSizePointerOES is implemented,
making it act like all the other Pointer methods. (Previously it was
not handling non-direct-buffer arguments correctly.)

Fixes bug 2308625 "Support matrix palette skinning
in JSR239 and related APIs"

Also updated GLLogWraper to fix two bugs in GLLogWrapper that were
discovered while testing matrix palette skinning support:

a) Handle trying to print the contents of null-but-enabled buffers.
(It's not legal to draw with null-but-enabled buffers, and
in fact some OpenGL drivers will crash if you try to render in this
state, but there's no reason the GLLogWrapper should crash while trying
to debug this situation.

b) Don't read off the end of a vertex buffer with non-zero position when
printing the entire contents of the vertex buffer. Now we only print from
the current position to the end of the buffer.
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ava/android/opengl/GLES20.java
ava/android/opengl/GLLogWrapper.java
ava/com/google/android/gles_jni/GLImpl.java
ibs/GLES_CM/gl.cpp
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/GLES20Header.java-if
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
aa396b9610f339cf280159144fbea47506f060e7 27-Nov-2009 Jack Palevich <jackpal@google.com> Unhide the Android OpenGL ES 2.0 API

Add a Matrix.setLookAtM method for computing a look-at viewing transform.

Change GLU.lookAt to use Matrix.setLook.
ava/android/opengl/GLES20.java
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/GLU.java
ava/android/opengl/Matrix.java
0dce2dd26699e4dbfba8b8c5ea01f7fd03369e02 19-Nov-2009 Jack Palevich <jackpal@google.com> Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context

Provide a new method, GLSurfaceView.setEGLContextClientVersion. Clients
call this method to define which level of OpenGL ES support they want.

This method only affects the default behavior of GLSurfaceView. If clients
have supplied their own EGLContextFactory or EGLConfigChooser then they
are on their own if they want to create an OpenGL ES 2.0 context.

This API is currently hidden.

Update the gl2_java test to use this new API.

Update the gl2_java test's AndroidManifest.xml file to indicate that
it requires OpenGL ES 2.0.
ava/android/opengl/GLSurfaceView.java
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/src/com/android/gl2java/GL2JavaView.java
3608891b83af9fbd1af9b9a411f2a90e52353ff8 19-Nov-2009 Jack Palevich <jackpal@google.com> Add a Java API for OpenGL ES 2.0.

Currently this API is hidden.

Add a test program.
ava/android/opengl/GLES20.java
ests/gl2_java/Android.mk
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/res/values/strings.xml
ests/gl2_java/src/com/android/gl2java/GL2JavaActivity.java
ests/gl2_java/src/com/android/gl2java/GL2JavaView.java
ools/glgen/gen
ools/glgen/specs/gles11/GLES20.spec
ools/glgen/src/CType.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES20Header.java-if
ools/glgen/stubs/gles11/GLES20cHeader.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.java
ools/glgen/stubs/gles11/glGetProgramInfoLog.nativeReg
ools/glgen/stubs/gles11/glGetShaderInfoLog.cpp
ools/glgen/stubs/gles11/glGetShaderInfoLog.java
ools/glgen/stubs/gles11/glGetShaderInfoLog.nativeReg
ools/glgen/stubs/gles11/glShaderSource.cpp
ools/glgen/stubs/gles11/glShaderSource.java
ools/glgen/stubs/gles11/glShaderSource.nativeReg
5c47265a704cb0cc081b79e191442f99014726b0 09-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibe6eac82

* changes:
Implement Matrix Palette extension.
89fe245e0402db9b0101ad969af5698e1d6fe311 07-Dec-2009 Doug Kwan <dougkwan@google.com> Add misssing symbol type directives.
ibagl/fixed_asm.S
ibagl/iterators.S
be6eac828f5af8b608c3fa6749330f1dcd6b6206 08-Dec-2009 Jack Palevich <jackpal@google.com> Implement Matrix Palette extension.

Adds support for formerly-unimplemented methods:

glCurrentPaletteMatrixOES
glLoadPaletteFromModelViewMatrixOES
glMatrixIndexPointerOES
glWeightPointerOES

The bulk of the changes are related to implementing the two PointerOES
methods, which are implemented pretty much the same way as the existing
Pointer methods were implemented.

This change also changes the way glPointSizePointerOES is implemented,
making it act like all the other Pointer methods. (Previously it was
not handling non-direct-buffer arguments correctly.)

Fixes bug 2308625 "Support matrix palette skinning
in JSR239 and related APIs"

Also updated GLLogWraper to fix two bugs in GLLogWrapper that were
discovered while testing matrix palette skinning support:

a) Handle trying to print the contents of null-but-enabled buffers.
(It's not legal to draw with null-but-enabled buffers, and
in fact some OpenGL drivers will crash if you try to render in this
state, but there's no reason the GLLogWrapper should crash while trying
to debug this situation.

b) Don't read off the end of a vertex buffer with non-zero position when
printing the entire contents of the vertex buffer. Now we only print from
the current position to the end of the buffer.
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ava/android/opengl/GLES20.java
ava/android/opengl/GLLogWrapper.java
ava/com/google/android/gles_jni/GLImpl.java
ibs/GLES_CM/gl.cpp
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/GLES20Header.java-if
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
c373edbf1c7066668b8bf5fe90edd3fedd94c78b 07-Dec-2009 Jack Palevich <jackpal@google.com> am 9196034b: am 30d90523: Merge changes Id682ab72,I9bb4dbae into eclair-mr2

Merge commit '9196034b84c48844799a2904ef3ce31f18ee748e'

* commit '9196034b84c48844799a2904ef3ce31f18ee748e':
Improve error message thrown when eglCreateContext fails.
Improve error reporting by always returning the public
9196034b84c48844799a2904ef3ce31f18ee748e 05-Dec-2009 Jack Palevich <jackpal@google.com> am 30d90523: Merge changes Id682ab72,I9bb4dbae into eclair-mr2

Merge commit '30d905235074f343ebac6002408ab5c2b360ea14' into eclair-mr2-plus-aosp

* commit '30d905235074f343ebac6002408ab5c2b360ea14':
Improve error message thrown when eglCreateContext fails.
Improve error reporting by always returning the public
9bb4dbae91df0971038e955ef49c5d9a64d4a428 04-Dec-2009 Jack Palevich <jackpal@google.com> Improve error message thrown when eglCreateContext fails.
ava/android/opengl/GLSurfaceView.java
d682ab72c5b7781109b0f30ac16202441fb925d6 04-Dec-2009 Jack Palevich <jackpal@google.com> Improve error reporting by always returning the public
EGL10.EGL_NO_XXX objects for displays, surfaces, and contexts.

This allows clients to compare the returned object against
the public EGL10.EGL_NO_XXX object using a simple == operation.

This fixes bug 2303947 "Java layer EGL API makes it difficult
to tell when certain methods have failed"
ava/com/google/android/gles_jni/EGLImpl.java
51438c18f5af96c16ac33a85b3ebaacf200b7b5e 29-Jul-2009 Li Wenhao <gliwenhao@gmail.com> the vertex index should be "first + i".
ava/android/opengl/GLLogWrapper.java
cdc56516839aa179dd7708f870d2f3aa42c25628 02-Dec-2009 Mathias Agopian <mathias@google.com> am 7671c088: am 77f17095: am 533a2803: Merge change I18ffb549 into eclair

Merge commit '7671c088cd5e6ce938c89939f55ead6629bd6516'

* commit '7671c088cd5e6ce938c89939f55ead6629bd6516':
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
7671c088cd5e6ce938c89939f55ead6629bd6516 02-Dec-2009 Mathias Agopian <mathias@google.com> am 77f17095: am 533a2803: Merge change I18ffb549 into eclair

Merge commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2' into eclair-mr2-plus-aosp

* commit '77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2':
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
77f17095ed17a6ccc7fc1f1b3ddb31c63bbf66a2 02-Dec-2009 Mathias Agopian <mathias@google.com> am 533a2803: Merge change I18ffb549 into eclair

Merge commit '533a2803506cc4f196403fdfafd948bd4f8e60d9' into eclair-mr2

* commit '533a2803506cc4f196403fdfafd948bd4f8e60d9':
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
8e04833151166b7765affb95629b0fe0b73a8394 30-Nov-2009 Mathias Agopian <mathias@google.com> am 533a2803: Merge change I18ffb549 into eclair

Merge commit '533a2803506cc4f196403fdfafd948bd4f8e60d9' into eclair-plus-aosp

* commit '533a2803506cc4f196403fdfafd948bd4f8e60d9':
fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
18ffb5493b92e2ae22d8cb01f0b9db1a8617c3f2 30-Nov-2009 Mathias Agopian <mathias@google.com> fix [2069023] STOPSHIP: disable DEBUG_COPYBIT
ibagl/copybit.cpp
355c20cb9276148fd9b7074c5199aedeb497406e 27-Nov-2009 Jack Palevich <jackpal@google.com> Unhide the Android OpenGL ES 2.0 API

Add a Matrix.setLookAtM method for computing a look-at viewing transform.

Change GLU.lookAt to use Matrix.setLook.
ava/android/opengl/GLES20.java
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/GLU.java
ava/android/opengl/Matrix.java
6a9a87da47bcfb032d0585f41d77abb6300ea63c 25-Nov-2009 Jack Palevich <jackpal@google.com> am 85a9498a: am 9c0b39c4: am ca00dee2: Merge change I5aa3adcf into eclair

Merge commit '85a9498a2f33d62a4313a3561b5468456974696e'

* commit '85a9498a2f33d62a4313a3561b5468456974696e':
Improve the exception message text by including eglGetError().
85a9498a2f33d62a4313a3561b5468456974696e 25-Nov-2009 Jack Palevich <jackpal@google.com> am 9c0b39c4: am ca00dee2: Merge change I5aa3adcf into eclair

Merge commit '9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841' into eclair-mr2-plus-aosp

* commit '9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841':
Improve the exception message text by including eglGetError().
9c0b39c47efade5ee2303a8f8ffbd9cf87c2c841 25-Nov-2009 Jack Palevich <jackpal@google.com> am ca00dee2: Merge change I5aa3adcf into eclair

Merge commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5' into eclair-mr2

* commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5':
Improve the exception message text by including eglGetError().
ec2b40ade9aa9a130d21d1d87da1d3650d03d321 25-Nov-2009 Jack Palevich <jackpal@google.com> am ca00dee2: Merge change I5aa3adcf into eclair

Merge commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5' into eclair-plus-aosp

* commit 'ca00dee21425882619aef4ecbe3e0d08de0544e5':
Improve the exception message text by including eglGetError().
5aa3adcf304ec3767b3c22128acb23240d8d0bab 25-Nov-2009 Jack Palevich <jackpal@google.com> Improve the exception message text by including eglGetError().

Should help us track down the cause of bug 2285187
ava/android/opengl/GLSurfaceView.java
7e2609fdddbf21933eb078d3f30d95bbd4d6a147 20-Nov-2009 Mathias Agopian <mathias@google.com> am 8e9af2bd: am b439f561: am 13feccf5: Merge change I39f0003e into eclair

Merge commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e'

* commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e':
fix [2235414] libagl glDeleteBuffers() crashes
8e9af2bd1d600cd2c69c88c7d60c7d455921677e 20-Nov-2009 Mathias Agopian <mathias@google.com> am b439f561: am 13feccf5: Merge change I39f0003e into eclair

Merge commit 'b439f561a6aa3900f1850e71a4aa60618af13f90' into eclair-mr2-plus-aosp

* commit 'b439f561a6aa3900f1850e71a4aa60618af13f90':
fix [2235414] libagl glDeleteBuffers() crashes
b439f561a6aa3900f1850e71a4aa60618af13f90 20-Nov-2009 Mathias Agopian <mathias@google.com> am 13feccf5: Merge change I39f0003e into eclair

Merge commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae' into eclair-mr2

* commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae':
fix [2235414] libagl glDeleteBuffers() crashes
58c590ba6833d3b05935ee8b4cca35e25e320d50 20-Nov-2009 Mathias Agopian <mathias@google.com> am 13feccf5: Merge change I39f0003e into eclair

Merge commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae' into eclair-plus-aosp

* commit '13feccf592d6870b41b3b8a0a31d2abefad0d7ae':
fix [2235414] libagl glDeleteBuffers() crashes
39f0003e3ad0a9d9eb144d9e826f194d3533319a 20-Nov-2009 Mathias Agopian <mathias@google.com> fix [2235414] libagl glDeleteBuffers() crashes

don't dereference null pointers, would happen if one of the array wasn't bound.
ibagl/array.cpp
6ae4da75422bbb31c3e0a09f616cdaee1d465946 19-Nov-2009 Jack Palevich <jackpal@google.com> Extend GLSurfaceView to make it easy to create an OpenGL ES 2.0 context

Provide a new method, GLSurfaceView.setEGLContextClientVersion. Clients
call this method to define which level of OpenGL ES support they want.

This method only affects the default behavior of GLSurfaceView. If clients
have supplied their own EGLContextFactory or EGLConfigChooser then they
are on their own if they want to create an OpenGL ES 2.0 context.

This API is currently hidden.

Update the gl2_java test to use this new API.

Update the gl2_java test's AndroidManifest.xml file to indicate that
it requires OpenGL ES 2.0.
ava/android/opengl/GLSurfaceView.java
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/src/com/android/gl2java/GL2JavaView.java
560814f6b11abe83ff0c4ed18cac015c276b3181 19-Nov-2009 Jack Palevich <jackpal@google.com> Add a Java API for OpenGL ES 2.0.

Currently this API is hidden.

Add a test program.
ava/android/opengl/GLES20.java
ests/gl2_java/Android.mk
ests/gl2_java/AndroidManifest.xml
ests/gl2_java/res/values/strings.xml
ests/gl2_java/src/com/android/gl2java/GL2JavaActivity.java
ests/gl2_java/src/com/android/gl2java/GL2JavaView.java
ools/glgen/gen
ools/glgen/specs/gles11/GLES20.spec
ools/glgen/src/CType.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES20Header.java-if
ools/glgen/stubs/gles11/GLES20cHeader.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.cpp
ools/glgen/stubs/gles11/glGetProgramInfoLog.java
ools/glgen/stubs/gles11/glGetProgramInfoLog.nativeReg
ools/glgen/stubs/gles11/glGetShaderInfoLog.cpp
ools/glgen/stubs/gles11/glGetShaderInfoLog.java
ools/glgen/stubs/gles11/glGetShaderInfoLog.nativeReg
ools/glgen/stubs/gles11/glShaderSource.cpp
ools/glgen/stubs/gles11/glShaderSource.java
ools/glgen/stubs/gles11/glShaderSource.nativeReg
85d3f59ca0fcce0d405d9a024c1e5ff7352803a2 17-Nov-2009 Jack Palevich <jackpal@google.com> am 8d0e1472: am a822f02b: resolved conflicts for merge of dc49acb0 to eclair-mr2

Merge commit '8d0e14723312a9f8286ba95cc559ee000eab1b82'

* commit '8d0e14723312a9f8286ba95cc559ee000eab1b82':
More GLSurfaceView cleanup.
8d0e14723312a9f8286ba95cc559ee000eab1b82 17-Nov-2009 Jack Palevich <jackpal@google.com> am a822f02b: resolved conflicts for merge of dc49acb0 to eclair-mr2

Merge commit 'a822f02bb9c7f5bf2e3fa3cb63effc391be158c5' into eclair-mr2-plus-aosp

* commit 'a822f02bb9c7f5bf2e3fa3cb63effc391be158c5':
More GLSurfaceView cleanup.
a822f02bb9c7f5bf2e3fa3cb63effc391be158c5 17-Nov-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of dc49acb0 to eclair-mr2
755c7598079427766c3c83063f8e2f8df4043630 17-Nov-2009 Jack Palevich <jackpal@google.com> am dc49acb0: Merge change Ica8c305a into eclair

Merge commit 'dc49acb0289cab2a6e0d73e66b69516605893e28' into eclair-plus-aosp

* commit 'dc49acb0289cab2a6e0d73e66b69516605893e28':
More GLSurfaceView cleanup.
a08d46d8aaabb53eef4d5dc47272565d50f23c19 16-Nov-2009 Jack Palevich <jackpal@google.com> More GLSurfaceView cleanup.

+ The mDone flag is now a pair of flags: mShouldExit and mExited. The
problem with mDone was that it meant "had been asked to exit", but was
being used by some observers as "had exited". Using two variables means
that observers can observe either "had been asked to exit" or "had exited",
as they prefer.

+ Simplyify where we check for mShouldExit. We now check for it at the
top of our innermost guardedRun while loop.

+ requestExitAndWait now waits for mExited to be set to true to know
that a thread has exited, rather than using join(). This means we can use
wait() for the check, which releases the sGLThreadManager
monitor, avoiding a potential deadlock.

+ move the event queue into the sGLThreadManager monitor. This avoids
having to acquire two locks in order to enque/deque events, which also
avoids the potential for lock ordering deadlocks.

+ Simplify the event dequeueing code. We now deque one event each time
through the main GLSurfaceView loop. Events still have priority over
rendering, so there isn't any semantic change, it just cleans up the code.

+ Avoid trying to acquire an egl Surface if we're paused.

+ To simplify reasoning about the code, call sGLThreadManager.notifyAll()
in every case where we modify one of the variables that's protected by
the sGLThreadManager monitor. It would be slightly more efficient to only
notify when we change variables that could cause a thread to wait(), but
then we would have to redo our analysis every time we change any code.

+ Clean up the logic for creating the EGL surface and then calling the
renderer's onSurfaceCreated / onSurfaceChanged methods.

+ Implement work-around for bug 2263168 "Need to draw twice after
screen rotation..."
ava/android/opengl/GLSurfaceView.java
478de466ce0504b9af639c3338b883893670a8e8 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from eclair
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
nclude/EGL/eglext.h
nclude/EGL/eglnatives.h
nclude/EGL/eglplatform.h
nclude/GLES/glplatform.h
nclude/GLES2/gl2.h
nclude/GLES2/gl2ext.h
nclude/GLES2/gl2platform.h
ava/android/opengl/GLSurfaceView.java
ibagl/Android.mk
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/array.cpp
ibagl/copybit.cpp
ibagl/copybit.h
ibagl/egl.cpp
ibagl/light.cpp
ibagl/matrix.cpp
ibagl/primitives.cpp
ibagl/state.cpp
ibagl/texture.cpp
ibagl/texture.h
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
ibs/EGL/egl.cpp
ibs/EGL/egl_entries.in
ibs/EGL/gpu.cpp
ibs/EGL/hooks.cpp
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2_api.in
ibs/GLES2/gl2ext_api.in
ibs/GLES_CM/gl.cpp
ibs/egl_entries.in
ibs/egl_impl.h
ibs/entries.in
ibs/gl_entries.in
ibs/gl_enums.in
ibs/glext_entries.in
ibs/hooks.h
ibs/tools/enumextract.sh
ibs/tools/genfiles
ibs/tools/glapigen
ibs/tools/glentrygen
ests/angeles/Android.mk
ests/angeles/app-linux.c
ests/angeles/app-linux.cpp
ests/fillrate/Android.mk
ests/fillrate/fillrate.cpp
ests/filter/Android.mk
ests/filter/filter.c
ests/filter/filter.cpp
ests/finish/Android.mk
ests/finish/finish.c
ests/finish/finish.cpp
ests/gl2_basic/Android.mk
ests/gl2_basic/gl2_basic.cpp
ests/gl2_jni/Android.mk
ests/gl2_jni/AndroidManifest.xml
ests/gl2_jni/jni/gl_code.cpp
ests/gl2_jni/res/values/strings.xml
ests/gl2_jni/src/com/android/gl2jni/GL2JNIActivity.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNILib.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
ests/gl_basic/Android.mk
ests/gl_basic/gl_basic.cpp
ests/gl_jni/Android.mk
ests/gl_jni/AndroidManifest.xml
ests/gl_jni/jni/gl_code.cpp
ests/gl_jni/res/values/strings.xml
ests/gl_jni/src/com/android/gljni/GLJNIActivity.java
ests/gl_jni/src/com/android/gljni/GLJNILib.java
ests/gl_jni/src/com/android/gljni/GLJNIView.java
ests/gralloc/Android.mk
ests/gralloc/gralloc.cpp
ests/linetex/Android.mk
ests/linetex/linetex.cpp
ests/swapinterval/Android.mk
ests/swapinterval/swapinterval.cpp
ests/textures/Android.mk
ests/textures/textures.c
ests/textures/textures.cpp
ests/tritex/Android.mk
ests/tritex/tritex.c
ests/tritex/tritex.cpp
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/JniCodeEmitter.java
17c50b242790228fd311895dec01880798c21cfa 13-Nov-2009 Mathias Agopian <mathias@google.com> am da5e90be: am 66b5d902: am 27407208: Merge change Icf335098 into eclair

Merge commit 'da5e90bee443129511e231e9078a134626b87541'

* commit 'da5e90bee443129511e231e9078a134626b87541':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
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
66b5d902a29e08237f16be53a84f9c2472df8493 13-Nov-2009 Mathias Agopian <mathias@google.com> am 27407208: Merge change Icf335098 into eclair

Merge commit '274072089ceff6eacb9ccfb59290a18f43739c87' into eclair-mr2

* commit '274072089ceff6eacb9ccfb59290a18f43739c87':
fix [2236865] STOPSHIP: bump soft gl and egl minor version number
ef11d0c2e45b28ef2586e7c03690d6ada48180e8 13-Nov-2009 Mathias Agopian <mathias@google.com> am 27407208: Merge change Icf335098 into eclair

Merge commit '274072089ceff6eacb9ccfb59290a18f43739c87' into eclair-plus-aosp

* commit '274072089ceff6eacb9ccfb59290a18f43739c87':
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
ibagl/egl.cpp
ibagl/state.cpp
cbce240a0d64f4e3ae52aadf233c708a759a7ecb 11-Nov-2009 Jack Palevich <jackpal@google.com> am 99cf71b0: am 83536cee: Merge change I1179efbb into eclair-mr2

Merge commit '99cf71b0856e00c1ae9631db91702349cceb9bf8'

* commit '99cf71b0856e00c1ae9631db91702349cceb9bf8':
Fix multi-lock ordering issues in GLSurfaceView
99cf71b0856e00c1ae9631db91702349cceb9bf8 11-Nov-2009 Jack Palevich <jackpal@google.com> am 83536cee: Merge change I1179efbb into eclair-mr2

Merge commit '83536cee2b2b5445c5ba0b22531c23890b82da41' into eclair-mr2-plus-aosp

* commit '83536cee2b2b5445c5ba0b22531c23890b82da41':
Fix multi-lock ordering issues in GLSurfaceView
1179efbb3b8856eb8160e2dd67a300a5d64e8e98 11-Nov-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of ba56915a to eclair-mr2
0a0293b6995ec3142c4a5b35ade33fb21851bf5a 11-Nov-2009 Jack Palevich <jackpal@google.com> am ba56915a: Merge change Ie806ae6f into eclair

Merge commit 'ba56915a71cad672baff5594dbb7c9331bf01283' into eclair-plus-aosp

* commit 'ba56915a71cad672baff5594dbb7c9331bf01283':
Fix multi-lock ordering issues in GLSurfaceView
ba56915a71cad672baff5594dbb7c9331bf01283 11-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie806ae6f into eclair

* changes:
Fix multi-lock ordering issues in GLSurfaceView
67dcd6c2392caf3ff98f35a3d1ec550d229c167b 10-Nov-2009 Jack Palevich <jackpal@google.com> Fix multi-lock ordering issues in GLSurfaceView

There were potential deadlocks between the per-GLThread monitors and the
GLThreadManager monitor.

To avoid these deadlocks we now use a single monitor for
both the GLThreadManager state and the per-GLThread state.

Converted GLThreadManager's semaphore into the equivalent
synchronized-wait-notifyAll code. This enables us to wait for
either mDone, or user events, or the EGL surface with a single "wait()".

Simplified the logic used to acquire and release the EGL surface. The
EGL surface is now only requested while the surfaceFlinger surface
is acquired.

Removed the "egl surface stealing" policy we had recently inserted.
It's not needed now that we reliably quit when requested.

Pulled user event processing outside of the GLThreadManager monitor
so that we don't call any potentially-long-running code while
inside the monitor.

This should help with bug 2228262.
ava/android/opengl/GLSurfaceView.java
503604e6f32a832cc1bff916652b8a66a9a4dc68 10-Nov-2009 Mathias Agopian <mathias@google.com> am c6ed8100: am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair

Merge commit 'c6ed8100c2385596117a033e999519e31c5c1c0e'

* commit 'c6ed8100c2385596117a033e999519e31c5c1c0e':
fix [2071412] work around mdp 32-bits fade limitation
c6ed8100c2385596117a033e999519e31c5c1c0e 10-Nov-2009 Mathias Agopian <mathias@google.com> am 0b9d3ba2: am c421fc2a: Merge change Id09376d1 into eclair

Merge commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13' into eclair-mr2-plus-aosp

* commit '0b9d3ba2feab494e7bbd180b51a4311864d08e13':
fix [2071412] work around mdp 32-bits fade limitation
0b9d3ba2feab494e7bbd180b51a4311864d08e13 10-Nov-2009 Mathias Agopian <mathias@google.com> am c421fc2a: Merge change Id09376d1 into eclair

Merge commit 'c421fc2ada7c1bff104733b840bd640151bebbbb' into eclair-mr2

* commit 'c421fc2ada7c1bff104733b840bd640151bebbbb':
fix [2071412] work around mdp 32-bits fade limitation
d9bec297fd6cbb95a3d1f4492bc3e71d6192260e 10-Nov-2009 Mathias Agopian <mathias@google.com> am c421fc2a: Merge change Id09376d1 into eclair

Merge commit 'c421fc2ada7c1bff104733b840bd640151bebbbb' into eclair-plus-aosp

* commit 'c421fc2ada7c1bff104733b840bd640151bebbbb':
fix [2071412] work around mdp 32-bits fade limitation
d09376d1e2bce635adfb9e4c5439b6ae0991cf92 10-Nov-2009 Mathias Agopian <mathias@google.com> fix [2071412] work around mdp 32-bits fade limitation

make sure to always specify blits *inside* the source bitmap.
ibagl/copybit.cpp
2806a6b5ffd1003e217deebb6a9c3d3c6d9d4087 10-Nov-2009 Jack Palevich <jackpal@google.com> am 73ae27f0: am 8da3ac92: resolved conflicts for merge of 3f857b78 to eclair-mr2

Merge commit '73ae27f0c56fa705dcfb86d784a95b86f10e48ad'

* commit '73ae27f0c56fa705dcfb86d784a95b86f10e48ad':
Allow a GLThread to release and reacquire the EGL Surface as needed.
73ae27f0c56fa705dcfb86d784a95b86f10e48ad 10-Nov-2009 Jack Palevich <jackpal@google.com> am 8da3ac92: resolved conflicts for merge of 3f857b78 to eclair-mr2

Merge commit '8da3ac92a6a6247ef06de4d4b684f8635d8fc003' into eclair-mr2-plus-aosp

* commit '8da3ac92a6a6247ef06de4d4b684f8635d8fc003':
Allow a GLThread to release and reacquire the EGL Surface as needed.
8da3ac92a6a6247ef06de4d4b684f8635d8fc003 10-Nov-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of 3f857b78 to eclair-mr2
3c08b74155131dcf4241f0e521b1024988fb8b59 09-Nov-2009 Jean-Baptiste Queru <jbq@google.com> am ac94fbd0: merge from open-source master

Merge commit 'ac94fbd081450ae7f208e4525b23b36d90d382e0'

* commit 'ac94fbd081450ae7f208e4525b23b36d90d382e0':
Capture failure of copybit->stretch()
Fix obvious typo bug in egl.cpp
LocationManagerService: Fix race when removing LocationListener
Don't return when blocking is true.
Fix of compatibility with multifunction extUSB adapters.
Fix documentation example, per issue 895 on android.googlecode.com
55723d86bd3707f0ead21eb1e98997c0fafca282 09-Nov-2009 Jack Palevich <jackpal@google.com> am 3f857b78: Merge change I32d41651 into eclair

Merge commit '3f857b78fc68e5d700139bdc6078c5333b62a9bc' into eclair-plus-aosp

* commit '3f857b78fc68e5d700139bdc6078c5333b62a9bc':
Allow a GLThread to release and reacquire the EGL Surface as needed.
ac94fbd081450ae7f208e4525b23b36d90d382e0 09-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
bcd20496e0d976ac73c6949f931fc41577e9449c 09-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
32d416518473f3bf5323d660e5910ca5633ffed6 08-Nov-2009 Jack Palevich <jackpal@google.com> Allow a GLThread to release and reacquire the EGL Surface as needed.

We currently only allow one GLThread to have an active EGL Surface at a
time.(This may be lifted in the future, when EGL and GL are reentrant.)

Prior to this change we would enforce this rule by having older GLThreads
quit when a new GLThread started. That had the drawback of leaving the
older GLSurfaceViews in a zombie state -- their GLThreads would be
gone.

We now enforce this rule by just releasing and reacquiring the EGL surface
context as needed.

Specific changes to the code:

created private helper methods - startEgl and stopEgl to help manage
starting and stopping EGL.

Move the calls to sGLThreadManager start and end from the outermost run
method into the startEgl / stopEgl methods.

Reworked the wait loop to handle starting and stopping EGL as needed.

needToWait() gets simpler -- just looks at current status.

sGLThreadManager.shouldQuit was replaced by shouldHaveEgl.


This is another step in fixing bug 2228262.
ava/android/opengl/GLSurfaceView.java
6518c2bab4e336a08e703018accdf7d5e6a6a1ad 07-Nov-2009 Jack Palevich <jackpal@google.com> am e54f267f: am a3a351e5: resolved conflicts for merge of 4e3fadd0 to eclair-mr2

Merge commit 'e54f267f06e86f9c1248742fc56967355721a4e7'

* commit 'e54f267f06e86f9c1248742fc56967355721a4e7':
Fix stupid bug in GLThreadManager implementation.
e54f267f06e86f9c1248742fc56967355721a4e7 07-Nov-2009 Jack Palevich <jackpal@google.com> am a3a351e5: resolved conflicts for merge of 4e3fadd0 to eclair-mr2

Merge commit 'a3a351e5d164d0c8b461ae7af86edc0227654a76' into eclair-mr2-plus-aosp

* commit 'a3a351e5d164d0c8b461ae7af86edc0227654a76':
Fix stupid bug in GLThreadManager implementation.
a3a351e5d164d0c8b461ae7af86edc0227654a76 07-Nov-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of 4e3fadd0 to eclair-mr2
2a0bacffc1c1545a81f96d675e46bf859580f02b 07-Nov-2009 Jack Palevich <jackpal@google.com> am 4e3fadd0: Merge change Ia4424950 into eclair

Merge commit '4e3fadd0c99d2774709a067e017d8fd622440f0e' into eclair-plus-aosp

* commit '4e3fadd0c99d2774709a067e017d8fd622440f0e':
Fix stupid bug in GLThreadManager implementation.
a44249500f6c1c7a75b5c420fa2e81c2aa317a10 07-Nov-2009 Jack Palevich <jackpal@google.com> Fix stupid bug in GLThreadManager implementation.

The code intended to copy the old value of a field, before the
field was updated. However, what the code was actually doing was
copying the new value of the field, after the field was updated.

The fix was to move the copy to before the update.

This is work towards fixing bug 2228262
ava/android/opengl/GLSurfaceView.java
3f7b5a13ca6fdd31c934850ed802a74714e7b2cc 06-Nov-2009 Jack Palevich <jackpal@google.com> am a9e47546: am 79447b20: resolved conflicts for merge of 84872738 to eclair-mr2

Merge commit 'a9e47546a5132b30a2ed1e24d9193d4db09ef323'

* commit 'a9e47546a5132b30a2ed1e24d9193d4db09ef323':
Improve GLSurfaceView to avoid deadlocks and race conditions.
a9e47546a5132b30a2ed1e24d9193d4db09ef323 06-Nov-2009 Jack Palevich <jackpal@google.com> am 79447b20: resolved conflicts for merge of 84872738 to eclair-mr2

Merge commit '79447b2087c8c820d742185dda7305101f9656f0' into eclair-mr2-plus-aosp

* commit '79447b2087c8c820d742185dda7305101f9656f0':
Improve GLSurfaceView to avoid deadlocks and race conditions.
79447b2087c8c820d742185dda7305101f9656f0 06-Nov-2009 Jack Palevich <jackpal@google.com> resolved conflicts for merge of 84872738 to eclair-mr2
0f820d9bf4429e8f5d07c00295f75f8b259d7cc5 06-Nov-2009 Jack Palevich <jackpal@google.com> am 84872738: Merge change I971f6fd3 into eclair

Merge commit '84872738f291faf25ae07235cde382d38c796567' into eclair-plus-aosp

* commit '84872738f291faf25ae07235cde382d38c796567':
Improve GLSurfaceView to avoid deadlocks and race conditions.
8b2c9c9ecb08d25244fa97fb42c2c315ae3cf03d 06-Nov-2009 Jack Palevich <jackpal@google.com> Improve GLSurfaceView to avoid deadlocks and race conditions.

This is work towards fixing bug 2228262

Specific issues fixed by this change:

+ GLThread names now include the thread id, making it easier to tell one
GLThread from another.

+ A private final static boolean LOG_THREADS can be set to true at compile
time to print out thread-related trace information, helpful for debugging
GLSurfaceView behavior. This static defaults to "false".

+ Changed calls to "notify" to "notifyAll" to make the code more
robust in case more than two threads are blocked on the same monitor.

+ Add a GLThreadManager to help manage the transition to
a new GLThread. Currently only one GLThread can be active in an address
space. When the second thread starts up, the GLThreadManager helps the old
GLThread to shut down,

+ Make sure we stop waiting for dead GLThreads. This is done by adding
checks for a variable mDone being true to our monitor wait loops. And
we use a "finally" clause at the end of GLThread.run() method to set mDone
and notifyAll any wait loops.
ava/android/opengl/GLSurfaceView.java
9ac8e3c6099e09f937bbd6a7262f88d4fe5a3e3e 05-Nov-2009 Mathias Agopian <mathias@google.com> am ba37ea55: am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer

Merge commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f'

* commit 'ba37ea550d97b753fc74049d22f5e752d4b0185f':
part of fix [2186418] switch passion to 24-bits framebuffer
ba37ea550d97b753fc74049d22f5e752d4b0185f 05-Nov-2009 Mathias Agopian <mathias@google.com> am 6d9e0c7a: am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer

Merge commit '6d9e0c7aa797f4dae5f529560e9e7c31336624e3' into eclair-mr2-plus-aosp

* commit '6d9e0c7aa797f4dae5f529560e9e7c31336624e3':
part of fix [2186418] switch passion to 24-bits framebuffer
6d9e0c7aa797f4dae5f529560e9e7c31336624e3 04-Nov-2009 Mathias Agopian <mathias@google.com> am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer

Merge commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469' into eclair-mr2

* commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469':
part of fix [2186418] switch passion to 24-bits framebuffer
dc24cea38c003558427bf398cc51619c11a3dae7 04-Nov-2009 Mathias Agopian <mathias@google.com> am 36fe3eea: part of fix [2186418] switch passion to 24-bits framebuffer

Merge commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469' into eclair-plus-aosp

* commit '36fe3eeaa056ff13455c0df73b495b2bae8c1469':
part of fix [2186418] switch passion to 24-bits framebuffer
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)
ibagl/egl.cpp
c92ed49ba63209c2f1186106c2a7b98ce94e87cf 04-Nov-2009 Mathias Agopian <mathias@google.com> am 43606242: am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair

Merge commit '4360624241251035534a46449e23be38d9e6b03c'

* commit '4360624241251035534a46449e23be38d9e6b03c':
fix [2236832] software OpenGL ES driver doesn't work on sholes
4360624241251035534a46449e23be38d9e6b03c 04-Nov-2009 Mathias Agopian <mathias@google.com> am 8e5e44e9: am 9a54d7dd: Merge change Ibbf945f3 into eclair

Merge commit '8e5e44e9538fc327800414926651d46967ccc725' into eclair-mr2-plus-aosp

* commit '8e5e44e9538fc327800414926651d46967ccc725':
fix [2236832] software OpenGL ES driver doesn't work on sholes
8e5e44e9538fc327800414926651d46967ccc725 04-Nov-2009 Mathias Agopian <mathias@google.com> am 9a54d7dd: Merge change Ibbf945f3 into eclair

Merge commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb' into eclair-mr2

* commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb':
fix [2236832] software OpenGL ES driver doesn't work on sholes
e4fb484187fbe2fc333891871c1dab4cbed9e660 04-Nov-2009 Mathias Agopian <mathias@google.com> am 9a54d7dd: Merge change Ibbf945f3 into eclair

Merge commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb' into eclair-plus-aosp

* commit '9a54d7dddcbc982d644c627693dc39fb2cb5c0fb':
fix [2236832] software OpenGL ES driver doesn't work on sholes
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
ibagl/egl.cpp
bb1517ed8fd49e40096fb93741f4a9fd8fae1e5f 04-Nov-2009 Mathias Agopian <mathias@google.com> am 4e90c907: am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair

Merge commit '4e90c907f4fb222901f9db07a1f603c01211868d'

* commit '4e90c907f4fb222901f9db07a1f603c01211868d':
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
4e90c907f4fb222901f9db07a1f603c01211868d 04-Nov-2009 Mathias Agopian <mathias@google.com> am 65ab88c7: am 21977eb0: Merge change I56981989 into eclair

Merge commit '65ab88c78916d7e3a182125878b17c8f40d7cac5' into eclair-mr2-plus-aosp

* commit '65ab88c78916d7e3a182125878b17c8f40d7cac5':
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
71eba665af000b77062bcdd5b0ea4b56a7d07f81 04-Nov-2009 Mathias Agopian <mathias@google.com> am 21977eb0: Merge change I56981989 into eclair

Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-plus-aosp

* commit '21977eb0f1d22497d0beed0492e579f953a56552':
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
65ab88c78916d7e3a182125878b17c8f40d7cac5 04-Nov-2009 Mathias Agopian <mathias@google.com> am 21977eb0: Merge change I56981989 into eclair

Merge commit '21977eb0f1d22497d0beed0492e579f953a56552' into eclair-mr2

* commit '21977eb0f1d22497d0beed0492e579f953a56552':
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
21977eb0f1d22497d0beed0492e579f953a56552 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I56981989 into eclair

* changes:
fix [2231527] Compatibility with SpaceJunk game (OpenGL)
55ab1c002dde27bd31b9d878d967d295fac68cd7 03-Nov-2009 Mathias Agopian <mathias@google.com> am d1d744cd: am 07d38c66: am 8637759a: Merge change I36d0184e into eclair

Merge commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e'

* commit 'd1d744cdf4b08c8ef969790bae305c82ae783f4e':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
d1d744cdf4b08c8ef969790bae305c82ae783f4e 03-Nov-2009 Mathias Agopian <mathias@google.com> am 07d38c66: am 8637759a: Merge change I36d0184e into eclair

Merge commit '07d38c66692b7d87415667010c0658202b5a7f39' into eclair-mr2-plus-aosp

* commit '07d38c66692b7d87415667010c0658202b5a7f39':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
07d38c66692b7d87415667010c0658202b5a7f39 03-Nov-2009 Mathias Agopian <mathias@google.com> am 8637759a: Merge change I36d0184e into eclair

Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-mr2

* commit '8637759a1d34a4adda292579d5f8790587659235':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
b87e3eb933b4bd8556cd969a222881515b47a356 03-Nov-2009 Mathias Agopian <mathias@google.com> am 8637759a: Merge change I36d0184e into eclair

Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-plus-aosp

* commit '8637759a1d34a4adda292579d5f8790587659235':
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
569819896760f06e33af1fa261ab3614c3e1e5ff 03-Nov-2009 Mathias Agopian <mathias@google.com> fix [2231527] Compatibility with SpaceJunk game (OpenGL)

we treated all lights as local lights when transforming their
position back to object space.
ibagl/matrix.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.
ibagl/copybit.cpp
ibagl/egl.cpp
0c69d8d34aa6df453e6a8e7e42d1a1cc79233544 02-Nov-2009 Iliyan Malchev <malchev@google.com> am cb80b4f1: am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair

Merge commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42'

* commit 'cb80b4f18e63cd8ef065bd375c28d90c8356ae42':
libagl: silence a LOGD
ea9719ea77e958f7ad09f9aa8741016fd2c760f7 02-Nov-2009 Mathias Agopian <mathias@google.com> am 78383abf: am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair

Merge commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e'

* commit '78383abf76e7daf8c1968d2e9a29a1ba354edb2e':
Turns out the SGX driver is correct and the bug was in this test.
aee73dc45a2d281a28a0d011779be40e7d221ea7 02-Nov-2009 Mathias Agopian <mathias@google.com> am c64e9346: am d85545d0: am d01767f8: Merge change I56779290 into eclair

Merge commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc'

* commit 'c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc':
fix[2222341] Soft reset while going back from camcorder settings
8617d1a6f39b171f9c6be65de561e81e1a965067 02-Nov-2009 Mathias Agopian <mathias@google.com> am 5acbf81a: am 74d4640c: am f989c114: Merge change If007a2fa into eclair

Merge commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e'

* commit '5acbf81a20f5cd121c1eee81de5f9350b1a8c16e':
return proper error code from eglCreateImageKHR
cb80b4f18e63cd8ef065bd375c28d90c8356ae42 31-Oct-2009 Iliyan Malchev <malchev@google.com> am 8385baea: am 05cb5610: Merge change I8c0eb9a6 into eclair

Merge commit '8385baea4742734dd23843b6dcf89fd2e0490dd6' into eclair-mr2-plus-aosp

* commit '8385baea4742734dd23843b6dcf89fd2e0490dd6':
libagl: silence a LOGD
78383abf76e7daf8c1968d2e9a29a1ba354edb2e 31-Oct-2009 Mathias Agopian <mathias@google.com> am cbf583d7: am 77bd91f8: Merge change Ie3e80456 into eclair

Merge commit 'cbf583d7229aaff65734b4234e81db8ead864761' into eclair-mr2-plus-aosp

* commit 'cbf583d7229aaff65734b4234e81db8ead864761':
Turns out the SGX driver is correct and the bug was in this test.
78ac0f1b22f1625c3f1ffbefcdf5edcf128e4108 31-Oct-2009 Iliyan Malchev <malchev@google.com> am 05cb5610: Merge change I8c0eb9a6 into eclair

Merge commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219' into eclair-plus-aosp

* commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219':
libagl: silence a LOGD
8385baea4742734dd23843b6dcf89fd2e0490dd6 31-Oct-2009 Iliyan Malchev <malchev@google.com> am 05cb5610: Merge change I8c0eb9a6 into eclair

Merge commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219' into eclair-mr2

* commit '05cb5610fdfb7b69cf90a9230853e59b4ae5e219':
libagl: silence a LOGD
8c0eb9a6eb5bec699630aeeb1603e5449c45d8e1 31-Oct-2009 Iliyan Malchev <malchev@google.com> libagl: silence a LOGD

Signed-off-by: Iliyan Malchev <malchev@google.com>
ibagl/copybit.cpp
cbf583d7229aaff65734b4234e81db8ead864761 31-Oct-2009 Mathias Agopian <mathias@google.com> am 77bd91f8: Merge change Ie3e80456 into eclair

Merge commit '77bd91f8af44867935ea2df22f69fb244b009b94' into eclair-mr2

* commit '77bd91f8af44867935ea2df22f69fb244b009b94':
Turns out the SGX driver is correct and the bug was in this test.
0fc2131aa2a164288adcc6f3ec9e0fe88494fd93 31-Oct-2009 Mathias Agopian <mathias@google.com> am 77bd91f8: Merge change Ie3e80456 into eclair

Merge commit '77bd91f8af44867935ea2df22f69fb244b009b94' into eclair-plus-aosp

* commit '77bd91f8af44867935ea2df22f69fb244b009b94':
Turns out the SGX driver is correct and the bug was in this test.
77bd91f8af44867935ea2df22f69fb244b009b94 31-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie3e80456 into eclair

* changes:
Turns out the SGX driver is correct and the bug was in this test.
e3e80456fb4cc768890a12bdb8ddb9fac28f3f07 31-Oct-2009 Mathias Agopian <mathias@google.com> Turns out the SGX driver is correct and the bug was in this test.

make sure the 565 1-texel wide texture is specified with an alignment of 4
which is the OpenGL ES default.
ests/linetex/linetex.cpp
c64e9346785a1a4fc95ec6cf27da8a5193a2dfbc 30-Oct-2009 Mathias Agopian <mathias@google.com> am d85545d0: am d01767f8: Merge change I56779290 into eclair

Merge commit 'd85545d0b4c92cceafafce98f246483de5c4903e' into eclair-mr2-plus-aosp

* commit 'd85545d0b4c92cceafafce98f246483de5c4903e':
fix[2222341] Soft reset while going back from camcorder settings
5acbf81a20f5cd121c1eee81de5f9350b1a8c16e 30-Oct-2009 Mathias Agopian <mathias@google.com> am 74d4640c: am f989c114: Merge change If007a2fa into eclair

Merge commit '74d4640c0b362b40f507263627f5657396ff24f0' into eclair-mr2-plus-aosp

* commit '74d4640c0b362b40f507263627f5657396ff24f0':
return proper error code from eglCreateImageKHR
d85545d0b4c92cceafafce98f246483de5c4903e 30-Oct-2009 Mathias Agopian <mathias@google.com> am d01767f8: Merge change I56779290 into eclair

Merge commit 'd01767f8b7038108f9125cd2122b117db9919824' into eclair-mr2

* commit 'd01767f8b7038108f9125cd2122b117db9919824':
fix[2222341] Soft reset while going back from camcorder settings
bfb54c8684821b5f21f0a128a871ae064a4c334b 30-Oct-2009 Mathias Agopian <mathias@google.com> am d01767f8: Merge change I56779290 into eclair

Merge commit 'd01767f8b7038108f9125cd2122b117db9919824' into eclair-plus-aosp

* commit 'd01767f8b7038108f9125cd2122b117db9919824':
fix[2222341] Soft reset while going back from camcorder settings
74d4640c0b362b40f507263627f5657396ff24f0 30-Oct-2009 Mathias Agopian <mathias@google.com> am f989c114: Merge change If007a2fa into eclair

Merge commit 'f989c1140bbc84480498df38abec0fafff04e6ee' into eclair-mr2

* commit 'f989c1140bbc84480498df38abec0fafff04e6ee':
return proper error code from eglCreateImageKHR
3f2ac097d27a753c328330cdf409d022c0b88acc 30-Oct-2009 Mathias Agopian <mathias@google.com> am f989c114: Merge change If007a2fa into eclair

Merge commit 'f989c1140bbc84480498df38abec0fafff04e6ee' into eclair-plus-aosp

* commit 'f989c1140bbc84480498df38abec0fafff04e6ee':
return proper error code from eglCreateImageKHR
d01767f8b7038108f9125cd2122b117db9919824 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I56779290 into eclair

* changes:
fix[2222341] Soft reset while going back from camcorder settings
f989c1140bbc84480498df38abec0fafff04e6ee 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If007a2fa into eclair

* changes:
return proper error code from eglCreateImageKHR
0b0722f980f40e1ac0929a7f1a6e2df7af983478 30-Oct-2009 Mathias Agopian <mathias@google.com> fix[2222341] Soft reset while going back from camcorder settings

add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger, without including
gralloc_priv.h
ibs/EGL/egl.cpp
4c636d23e4497c935b86349b96deac8f5cbaaa06 30-Oct-2009 Mathias Agopian <mathias@google.com> am 894449ac: am af7d2dda: am 5dc7a21c: Merge change I4e036287 into eclair

Merge commit '894449ac461e69cd40f10e9d3644555357a5ed82'

* commit '894449ac461e69cd40f10e9d3644555357a5ed82':
update line test to expose some bug on SGX530 ed4
894449ac461e69cd40f10e9d3644555357a5ed82 30-Oct-2009 Mathias Agopian <mathias@google.com> am af7d2dda: am 5dc7a21c: Merge change I4e036287 into eclair

Merge commit 'af7d2dda809be2ce43b4b892509648857f09f5e3' into eclair-mr2-plus-aosp

* commit 'af7d2dda809be2ce43b4b892509648857f09f5e3':
update line test to expose some bug on SGX530 ed4
af7d2dda809be2ce43b4b892509648857f09f5e3 30-Oct-2009 Mathias Agopian <mathias@google.com> am 5dc7a21c: Merge change I4e036287 into eclair

Merge commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a' into eclair-mr2

* commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a':
update line test to expose some bug on SGX530 ed4
f007a2faa1d765e9b53553a8214179b253e3cbbd 29-Oct-2009 Mathias Agopian <mathias@google.com> return proper error code from eglCreateImageKHR
ibagl/copybit.cpp
ibs/EGL/egl.cpp
6f0ebae907f1c8935c04e3d422507dbe6d10eee9 29-Oct-2009 Mathias Agopian <mathias@google.com> am 5dc7a21c: Merge change I4e036287 into eclair

Merge commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a' into eclair-plus-aosp

* commit '5dc7a21cbbd4af908e39e55e5ca7ab14cda25d4a':
update line test to expose some bug on SGX530 ed4
4e036287fd64d936478f7168454ed5b8816e157f 29-Oct-2009 Mathias Agopian <mathias@google.com> update line test to expose some bug on SGX530 ed4
ests/linetex/linetex.cpp
82e62ef810ebaea23c3405f837b3b49ebd3a82ed 29-Oct-2009 Mathias Agopian <mathias@google.com> am 09976caf: am 2b770bbe: am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation

Merge commit '09976cafb14944f50ea4b3f7b5e8d5fc831f24ff'

* commit '09976cafb14944f50ea4b3f7b5e8d5fc831f24ff':
fix [2071412] work around mdp 32-bits fade limitation
09976cafb14944f50ea4b3f7b5e8d5fc831f24ff 29-Oct-2009 Mathias Agopian <mathias@google.com> am 2b770bbe: am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation

Merge commit '2b770bbe4697ebea040532f308d63478ee4b9454' into eclair-mr2-plus-aosp

* commit '2b770bbe4697ebea040532f308d63478ee4b9454':
fix [2071412] work around mdp 32-bits fade limitation
2b770bbe4697ebea040532f308d63478ee4b9454 29-Oct-2009 Mathias Agopian <mathias@google.com> am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation

Merge commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e' into eclair-mr2

* commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e':
fix [2071412] work around mdp 32-bits fade limitation
24e2cdcecee35098f4a8be936d186bfad18870b5 29-Oct-2009 Mathias Agopian <mathias@google.com> am 2eca23d6: am a2151b2b: am 7bde36e6: added GL test for textured lines

Merge commit '2eca23d690379911a102729eecd35412d0c8be63'

* commit '2eca23d690379911a102729eecd35412d0c8be63':
added GL test for textured lines
ea138a5f83f45dd6bc39c596e708307dc50adb85 29-Oct-2009 Mathias Agopian <mathias@google.com> am 64d3f44c: am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair

Merge commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5'

* commit '64d3f44c7bf5a6e80be419df5850ef60fec216b5':
fix [2143798] Need to figure out how to do video
2eca23d690379911a102729eecd35412d0c8be63 29-Oct-2009 Mathias Agopian <mathias@google.com> am a2151b2b: am 7bde36e6: added GL test for textured lines

Merge commit 'a2151b2b982cce5d424fdea2510ea9334a131475' into eclair-mr2-plus-aosp

* commit 'a2151b2b982cce5d424fdea2510ea9334a131475':
added GL test for textured lines
64d3f44c7bf5a6e80be419df5850ef60fec216b5 29-Oct-2009 Mathias Agopian <mathias@google.com> am 893cb4da: am 73e17015: Merge change I8d2de438 into eclair

Merge commit '893cb4da1034870a8814394a1c3bdac10ca6cadf' into eclair-mr2-plus-aosp

* commit '893cb4da1034870a8814394a1c3bdac10ca6cadf':
fix [2143798] Need to figure out how to do video
a2151b2b982cce5d424fdea2510ea9334a131475 29-Oct-2009 Mathias Agopian <mathias@google.com> am 7bde36e6: added GL test for textured lines

Merge commit '7bde36e64e66c81f0150d0372e1357a31f4ec704' into eclair-mr2

* commit '7bde36e64e66c81f0150d0372e1357a31f4ec704':
added GL test for textured lines
893cb4da1034870a8814394a1c3bdac10ca6cadf 29-Oct-2009 Mathias Agopian <mathias@google.com> am 73e17015: Merge change I8d2de438 into eclair

Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-mr2

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
fix [2143798] Need to figure out how to do video
134db3b2d6a042954e5f169f6123762f9020c2eb 28-Oct-2009 Mathias Agopian <mathias@google.com> am 85ade33e: fix [2071412] work around mdp 32-bits fade limitation

Merge commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e' into eclair-plus-aosp

* commit '85ade33edcc7d9be462ad7b8455d27f6654aca5e':
fix [2071412] work around mdp 32-bits fade limitation
85ade33edcc7d9be462ad7b8455d27f6654aca5e 28-Oct-2009 Mathias Agopian <mathias@google.com> fix [2071412] work around mdp 32-bits fade limitation

in the case where we fade a 32-bits surface (ie: GL_MODULATE w/ a,a,a,a + blending),
we first make a copy of the background into a RGB buffer, then we blend the 32-bits
surface as usual (without the alpha component), and finally blend the copy of
the background on top with 1-a. This uses a lot of bandwidth, but no CPU time.
ibagl/copybit.cpp
e36f5af3ad7afe69fffff6219fbd6def44b3e5ca 28-Oct-2009 Mathias Agopian <mathias@google.com> am 7bde36e6: added GL test for textured lines

Merge commit '7bde36e64e66c81f0150d0372e1357a31f4ec704' into eclair-plus-aosp

* commit '7bde36e64e66c81f0150d0372e1357a31f4ec704':
added GL test for textured lines
7bde36e64e66c81f0150d0372e1357a31f4ec704 28-Oct-2009 Mathias Agopian <mathias@google.com> added GL test for textured lines
ests/linetex/Android.mk
ests/linetex/linetex.cpp
59b2ee0dfd939ca92d95c73cb3d023b606aeaad1 28-Oct-2009 Mathias Agopian <mathias@google.com> am 73e17015: Merge change I8d2de438 into eclair

Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-plus-aosp

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
fix [2143798] Need to figure out how to do video
9042b4564de5477b18e680c7dce13b587a681dd9 27-Oct-2009 Mathias Agopian <mathias@google.com> fix [2143798] Need to figure out how to do video

Use EGLImageKHR instead of copybit directly.
We now have the basis to use streaming YUV textures (well, in fact
we already are). When/if we use the GPU instead of the MDP we'll
need to make sure it supports the appropriate YUV format.

Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
ibagl/Android.mk
ibagl/copybit.cpp
31f4c2d653324bd8cbe7470e2f8bdb36c2196194 24-Oct-2009 Jack Palevich <jackpal@google.com> am a9046729: am a2ec1f4c: am 8f89a1a3: Merge change Ic620a52b into eclair

Merge commit 'a904672996c60c4ec50439a8d2be04fd9bd6444c'

* commit 'a904672996c60c4ec50439a8d2be04fd9bd6444c':
Add size checks for glBufferData and glBufferSubData
a904672996c60c4ec50439a8d2be04fd9bd6444c 24-Oct-2009 Jack Palevich <jackpal@google.com> am a2ec1f4c: am 8f89a1a3: Merge change Ic620a52b into eclair

Merge commit 'a2ec1f4cea5531fb824b3fb2802ef4573a4916d9' into eclair-mr2-plus-aosp

* commit 'a2ec1f4cea5531fb824b3fb2802ef4573a4916d9':
Add size checks for glBufferData and glBufferSubData
a2ec1f4cea5531fb824b3fb2802ef4573a4916d9 24-Oct-2009 Jack Palevich <jackpal@google.com> am 8f89a1a3: Merge change Ic620a52b into eclair

Merge commit '8f89a1a360465e08e81ceca3cb3042606a98668b' into eclair-mr2

* commit '8f89a1a360465e08e81ceca3cb3042606a98668b':
Add size checks for glBufferData and glBufferSubData
4cf5d9bf13094a45789886dd424ed9e754a69797 24-Oct-2009 Jack Palevich <jackpal@google.com> am 8f89a1a3: Merge change Ic620a52b into eclair

Merge commit '8f89a1a360465e08e81ceca3cb3042606a98668b' into eclair-plus-aosp

* commit '8f89a1a360465e08e81ceca3cb3042606a98668b':
Add size checks for glBufferData and glBufferSubData
c620a52b69a5f29563e06497e30877809f5d67a5 21-Oct-2009 Jack Palevich <jackpal@google.com> Add size checks for glBufferData and glBufferSubData

Without the size checks it's possible for calls to glBufferData
and glBufferSubData to read off the end of the Buffer object's
data, which can cause page faults.

Fix end-of-line characters for the "spec" files. (That's why
every line of these files is changed.)

Enhance our code emitter to properly handle bounds checks for
possibly-null pointers.
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/JniCodeEmitter.java
cfd10e3b7fe08f473e7805317c70d8dfc0a3c85d 20-Oct-2009 Mathias Agopian <mathias@google.com> am 18dc8826: am 992f4802: am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

Merge commit '18dc8826a2c7244a7a61c9c53113516416db4714'

* commit '18dc8826a2c7244a7a61c9c53113516416db4714':
Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
18dc8826a2c7244a7a61c9c53113516416db4714 20-Oct-2009 Mathias Agopian <mathias@google.com> am 992f4802: am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

Merge commit '992f4802aefba9f4a8122cc5332f2bc726a3f3f6' into eclair-mr2-plus-aosp

* commit '992f4802aefba9f4a8122cc5332f2bc726a3f3f6':
Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
992f4802aefba9f4a8122cc5332f2bc726a3f3f6 20-Oct-2009 Mathias Agopian <mathias@google.com> am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

Merge commit 'b34d5d527596102ae7a040d787e4d8c336bf192b' into eclair-mr2

* commit 'b34d5d527596102ae7a040d787e4d8c336bf192b':
Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
f2d5fb6487f5484671da1fdb5661e5228dc43de8 20-Oct-2009 Mathias Agopian <mathias@google.com> am b34d5d52: Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

Merge commit 'b34d5d527596102ae7a040d787e4d8c336bf192b' into eclair-plus-aosp

* commit 'b34d5d527596102ae7a040d787e4d8c336bf192b':
Use the TLS register if HAVE_ARM_TLS_REGISTER is defined
b34d5d527596102ae7a040d787e4d8c336bf192b 14-Oct-2009 Mathias Agopian <mathias@google.com> Use the TLS register if HAVE_ARM_TLS_REGISTER is defined

this will be needed for SMP, but would improve dispatching GL calls a bit
on armv6 and above.
ibs/Android.mk
ibs/GLES2/gl2.cpp
ibs/GLES_CM/gl.cpp
03010fe1601cb605fec81c50b4b908ef00406108 20-Oct-2009 Mathias Agopian <mathias@google.com> am 5a4c7a61: am 60714539: am 62df88bc: Merge change I0953c1d5 into eclair

Merge commit '5a4c7a61da8f8586a535661c73ce4681cb9bf111'

* commit '5a4c7a61da8f8586a535661c73ce4681cb9bf111':
fix [2153873] EGL-1.4 software implementation misses surface attributes
5a4c7a61da8f8586a535661c73ce4681cb9bf111 20-Oct-2009 Mathias Agopian <mathias@google.com> am 60714539: am 62df88bc: Merge change I0953c1d5 into eclair

Merge commit '60714539ad896a548c4b0c0b42afc61447cb6e2b' into eclair-mr2-plus-aosp

* commit '60714539ad896a548c4b0c0b42afc61447cb6e2b':
fix [2153873] EGL-1.4 software implementation misses surface attributes
10e49891bccb391bb722061ca9b4834fc2e54ebe 20-Oct-2009 Mathias Agopian <mathias@google.com> am 62df88bc: Merge change I0953c1d5 into eclair

Merge commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b' into eclair-plus-aosp

* commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b':
fix [2153873] EGL-1.4 software implementation misses surface attributes
60714539ad896a548c4b0c0b42afc61447cb6e2b 20-Oct-2009 Mathias Agopian <mathias@google.com> am 62df88bc: Merge change I0953c1d5 into eclair

Merge commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b' into eclair-mr2

* commit '62df88bcc95a714c1d5035471dfe7fe0ddd9d50b':
fix [2153873] EGL-1.4 software implementation misses surface attributes
62df88bcc95a714c1d5035471dfe7fe0ddd9d50b 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0953c1d5 into eclair

* changes:
fix [2153873] EGL-1.4 software implementation misses surface attributes
5cfaaac5f55dee148b421ed2a201e65e020b11fb 20-Oct-2009 Mathias Agopian <mathias@google.com> am a4aa677d: am b263450f: am 3662f9ee: Merge change Ide4c8cbc into eclair

Merge commit 'a4aa677db36651e806f38e8aa7e8532da4f06b0d'

* commit 'a4aa677db36651e806f38e8aa7e8532da4f06b0d':
fix [2151588] glTexSubImage2D() allows pixel format conversion
1f15a12a2e98c5cca6b7aa5e8b9eb890dcfa4d8f 20-Oct-2009 Mathias Agopian <mathias@google.com> am 220f052f: am cf4ff740: am 639d69fe: Merge change I88d11cfb into eclair

Merge commit '220f052f6103655e08cba6cfb1dc542b81ffab11'

* commit '220f052f6103655e08cba6cfb1dc542b81ffab11':
one step towards fixing [2071412] work around mdp 32-bits fade limitation
a4aa677db36651e806f38e8aa7e8532da4f06b0d 19-Oct-2009 Mathias Agopian <mathias@google.com> am b263450f: am 3662f9ee: Merge change Ide4c8cbc into eclair

Merge commit 'b263450f7a5b6ff3c8be8cd4b16aa2f65978f657' into eclair-mr2-plus-aosp

* commit 'b263450f7a5b6ff3c8be8cd4b16aa2f65978f657':
fix [2151588] glTexSubImage2D() allows pixel format conversion
220f052f6103655e08cba6cfb1dc542b81ffab11 19-Oct-2009 Mathias Agopian <mathias@google.com> am cf4ff740: am 639d69fe: Merge change I88d11cfb into eclair

Merge commit 'cf4ff74017ec6b29646022ae5cbf667483b6137b' into eclair-mr2-plus-aosp

* commit 'cf4ff74017ec6b29646022ae5cbf667483b6137b':
one step towards fixing [2071412] work around mdp 32-bits fade limitation
0953c1d5e1c295c84fa02237bf70c779e45c83ae 19-Oct-2009 Mathias Agopian <mathias@google.com> fix [2153873] EGL-1.4 software implementation misses surface attributes
ibagl/egl.cpp
b263450f7a5b6ff3c8be8cd4b16aa2f65978f657 19-Oct-2009 Mathias Agopian <mathias@google.com> am 3662f9ee: Merge change Ide4c8cbc into eclair

Merge commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c' into eclair-mr2

* commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c':
fix [2151588] glTexSubImage2D() allows pixel format conversion
e9c394a5972b338129adccdc2b493cb731225f5b 19-Oct-2009 Mathias Agopian <mathias@google.com> am 3662f9ee: Merge change Ide4c8cbc into eclair

Merge commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c' into eclair-plus-aosp

* commit '3662f9ee5be3113b57693e1495fd83a2f5c7200c':
fix [2151588] glTexSubImage2D() allows pixel format conversion
cf4ff74017ec6b29646022ae5cbf667483b6137b 19-Oct-2009 Mathias Agopian <mathias@google.com> am 639d69fe: Merge change I88d11cfb into eclair

Merge commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4' into eclair-mr2

* commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4':
one step towards fixing [2071412] work around mdp 32-bits fade limitation
283cf1ce56ff3b32169988b884cc265dbc664ed2 19-Oct-2009 Mathias Agopian <mathias@google.com> am 639d69fe: Merge change I88d11cfb into eclair

Merge commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4' into eclair-plus-aosp

* commit '639d69fe8799ac2fa0bbf7560229531377ccc0f4':
one step towards fixing [2071412] work around mdp 32-bits fade limitation
3662f9ee5be3113b57693e1495fd83a2f5c7200c 19-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ide4c8cbc into eclair

* changes:
fix [2151588] glTexSubImage2D() allows pixel format conversion
78811906c3a8a99a155543eda73f51914143277a 17-Oct-2009 Mathias Agopian <mathias@google.com> fix [2151588] glTexSubImage2D() allows pixel format conversion
ibagl/texture.cpp
88d11cfbfcde32d3212600d4e96a0c04b556c4d0 17-Oct-2009 Mathias Agopian <mathias@google.com> one step towards fixing [2071412] work around mdp 32-bits fade limitation

simplify the GL_MODULATE case and allow blending disabled with RGBA texture
ibagl/copybit.cpp
01c723443404ff2be71da1613bf87a4ca28e2a27 17-Oct-2009 Mathias Agopian <mathias@google.com> am 1ed0e43d: am 93942a5b: am 69fba87a: Merge change I6fc56997 into eclair

Merge commit '1ed0e43dac155db048ccc9152dc9425506099957'

* commit '1ed0e43dac155db048ccc9152dc9425506099957':
fix [2187212] add support for GLESv2 dispatch based on TLS
1ed0e43dac155db048ccc9152dc9425506099957 16-Oct-2009 Mathias Agopian <mathias@google.com> am 93942a5b: am 69fba87a: Merge change I6fc56997 into eclair

Merge commit '93942a5bbc27fe569d370b57a0c3137f6c4171f7' into eclair-mr2-plus-aosp

* commit '93942a5bbc27fe569d370b57a0c3137f6c4171f7':
fix [2187212] add support for GLESv2 dispatch based on TLS
93942a5bbc27fe569d370b57a0c3137f6c4171f7 16-Oct-2009 Mathias Agopian <mathias@google.com> am 69fba87a: Merge change I6fc56997 into eclair

Merge commit '69fba87ac16d1c10da81fc3213ae169c755797f4' into eclair-mr2

* commit '69fba87ac16d1c10da81fc3213ae169c755797f4':
fix [2187212] add support for GLESv2 dispatch based on TLS
b0f33aa28080a7a587d2ec3ff0132fa2338048df 16-Oct-2009 Mathias Agopian <mathias@google.com> am 69fba87a: Merge change I6fc56997 into eclair

Merge commit '69fba87ac16d1c10da81fc3213ae169c755797f4' into eclair-plus-aosp

* commit '69fba87ac16d1c10da81fc3213ae169c755797f4':
fix [2187212] add support for GLESv2 dispatch based on TLS
6fc569971faa342b2e2da46c55fbfbba3a2a7814 14-Oct-2009 Mathias Agopian <mathias@google.com> fix [2187212] add support for GLESv2 dispatch based on TLS

Instead of using a different function pointer table for ES 1.x and ES 2.x,
we use a single one that is the union (sort|uniq) of both tables. Two
instances of this table are initialized with pointers to GL ES 1.x and GL ES 2.x
entry-points.
When a context is created, we store its version number and when it is bound to a
thread we set the approruiate table based on the stored version.

This introduce no penalty while dispatching gl calls to the right API version.

[Pending Dr No approval for MR1]
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
ibs/EGL/egl.cpp
ibs/EGL/hooks.cpp
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2_entries.in
ibs/GLES2/gl2ext_entries.in
ibs/GLES_CM/gl_entries.in
ibs/GLES_CM/glext_entries.in
ibs/egl_impl.h
ibs/entries.in
ibs/hooks.h
ibs/tools/genfiles
a0fb8eb138b946231113b1fbdd1059ea2346ef3a 14-Oct-2009 Jack Palevich <jackpal@google.com> am 09e7ef8a: am a5bfe52d: Merge change Ib3558f35 into eclair-mr2

Merge commit '09e7ef8aadb480349e9f63dcab155cb466296e92'

* commit '09e7ef8aadb480349e9f63dcab155cb466296e92':
Make our choice of surface explicit.
86a19b3d2c873113d6da49257cf720f90d1c2498 14-Oct-2009 Jack Palevich <jackpal@google.com> am 70d12dda: am 3743559d: Merge change I28023911 into eclair-mr2

Merge commit '70d12dda7c1e36850e1ed95d719bc1d6dadb6fef'

* commit '70d12dda7c1e36850e1ed95d719bc1d6dadb6fef':
Add additional error checking of EGL function calls.
09e7ef8aadb480349e9f63dcab155cb466296e92 14-Oct-2009 Jack Palevich <jackpal@google.com> am a5bfe52d: Merge change Ib3558f35 into eclair-mr2

Merge commit 'a5bfe52d9efb4d78edc48a64c2e85f8c4ecd4876' into eclair-mr2-plus-aosp

* commit 'a5bfe52d9efb4d78edc48a64c2e85f8c4ecd4876':
Make our choice of surface explicit.
70d12dda7c1e36850e1ed95d719bc1d6dadb6fef 14-Oct-2009 Jack Palevich <jackpal@google.com> am 3743559d: Merge change I28023911 into eclair-mr2

Merge commit '3743559db03645ef7d319c0344238c335a315b65' into eclair-mr2-plus-aosp

* commit '3743559db03645ef7d319c0344238c335a315b65':
Add additional error checking of EGL function calls.
b3558f3526fb2c2b34c17233bb49afc30ae052a0 14-Oct-2009 Jack Palevich <jackpal@google.com> Make our choice of surface explicit.
ests/gldual/src/com/android/gldual/GLDualActivity.java
28023911a4b572f0ca640e7a3e3f9a0dd6f535e9 14-Oct-2009 Jack Palevich <jackpal@google.com> Add additional error checking of EGL function calls.
ava/android/opengl/GLSurfaceView.java
ef79172c5501ea0110c24c24871d3b62be8997ed 14-Oct-2009 Jack Palevich <jackpal@google.com> am 98a51b86: am 3b7a1e6d: Merge change Ic52ba78c into eclair-mr2

Merge commit '98a51b86869e9cf2a1624f8540c4c126962a3a85'

* commit '98a51b86869e9cf2a1624f8540c4c126962a3a85':
Allow multiple OpenGL contexts on systems that support them.
98a51b86869e9cf2a1624f8540c4c126962a3a85 14-Oct-2009 Jack Palevich <jackpal@google.com> am 3b7a1e6d: Merge change Ic52ba78c into eclair-mr2

Merge commit '3b7a1e6d70fda4ce834034930847fe2cc75de515' into eclair-mr2-plus-aosp

* commit '3b7a1e6d70fda4ce834034930847fe2cc75de515':
Allow multiple OpenGL contexts on systems that support them.
c52ba78cab001ff68b4823f4769c129b8acfddee 14-Oct-2009 Jack Palevich <jackpal@google.com> Allow multiple OpenGL contexts on systems that support them.

Previously we always restricted the number of OpenGL contexts to 1.
ava/android/opengl/GLSurfaceView.java
2f37ac9677ab76d66e934b138ebca803fcbbe2ef 14-Oct-2009 Jack Palevich <jackpal@google.com> am 65cc9418: am 332c7934: Merge change I69e21f5f into eclair-mr2

Merge commit '65cc9418af489bd98f3417f165b6837656383a1c'

* commit '65cc9418af489bd98f3417f165b6837656383a1c':
GLDual test application.
3bf0a1bea85d3319a698b4d729be3b260959cd68 14-Oct-2009 Dima Zavin <dima@android.com> am 0b2dd95d: am 0c559a4b: am 98b3def2: Merge change I6261ab54 into eclair

Merge commit '0b2dd95d2ead61241688a121ae1c6a5092149ef6'

* commit '0b2dd95d2ead61241688a121ae1c6a5092149ef6':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
65cc9418af489bd98f3417f165b6837656383a1c 14-Oct-2009 Jack Palevich <jackpal@google.com> am 332c7934: Merge change I69e21f5f into eclair-mr2

Merge commit '332c793432be71d40473fed803123165c57197cd' into eclair-mr2-plus-aosp

* commit '332c793432be71d40473fed803123165c57197cd':
GLDual test application.
69e21f5f6e0d04539cd92848ea009dd615d88c2c 13-Oct-2009 Jack Palevich <jackpal@google.com> GLDual test application.

Draws two images at once, one GL based, one GL2 based.
ests/gldual/Android.mk
ests/gldual/AndroidManifest.xml
ests/gldual/jni/gl_code.cpp
ests/gldual/res/layout/gldual_activity.xml
ests/gldual/res/values/strings.xml
ests/gldual/src/com/android/gldual/GLDualActivity.java
ests/gldual/src/com/android/gldual/GLDualGL2View.java
ests/gldual/src/com/android/gldual/GLDualLib.java
ests/gldual/src/com/android/gldual/TriangleRenderer.java
945ff2024357bd4367cb437d3ebb32d6fb7e9438 13-Oct-2009 Eric Fischer <enf@google.com> am 94f3a363: Merge branch \'eclair-plus-aosp\' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp

Merge commit '94f3a36326ddecaa09787d795451b0a229fe111c'

* commit '94f3a36326ddecaa09787d795451b0a229fe111c':
Remove STOPSHIP BT logging.
BT API security audit: fix a couple of permission mistakes.
Fix issue #2175693: Add vmallocinfo to dumpstate
add a way to easily catch and log GL errors (compile time flag)
GPS: Fix problem with SUPL when SUPL APN is already active.
Import revised translations. DO NOT MERGE
Fix issue 2174002: After rejecting Call when device ringtone is mute and playing music, audio is not transfered to BT device.
Import revised translations. DO NOT MERGE
ff6caa102dc74edc6f34858885a840534c7db340 13-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id70213e7

* changes:
Implement GL11 and GL11Ext methods for GL Log and Error wrappers.
d70213e70ed4b2648d696a554a0ba7dac4c32757 13-Oct-2009 Jack Palevich <jackpal@google.com> Implement GL11 and GL11Ext methods for GL Log and Error wrappers.

Until now we had been throwing UnsupportedOperationException when
developers tried to use the GL11 or GL11Ext methods. Now we handle
these methods correctly, passing their arguments through to the
wrapped interface's methods.

Fixes bug 2167522 GLUtils debug wrapper doesn't support GL11 features
ava/android/opengl/GLErrorWrapper.java
ava/android/opengl/GLLogWrapper.java
ava/android/opengl/GLWrapperBase.java
0b2dd95d2ead61241688a121ae1c6a5092149ef6 12-Oct-2009 Dima Zavin <dima@android.com> am 0c559a4b: am 98b3def2: Merge change I6261ab54 into eclair

Merge commit '0c559a4b0f8918fe89921d7984001d00285f226f' into eclair-mr2-plus-aosp

* commit '0c559a4b0f8918fe89921d7984001d00285f226f':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
fd2f0a9425a4b2821bb4ca869df83e959f57ce11 12-Oct-2009 android-build SharedAccount <android-build@sekiwake.mtv.corp.google.com> merged d7c18d7672f3ecbbcb2f5bec92fe54dd990cb8dd, w/conflict in opengl/tests/copybits/Android.mk
0c559a4b0f8918fe89921d7984001d00285f226f 12-Oct-2009 Dima Zavin <dima@android.com> am 98b3def2: Merge change I6261ab54 into eclair

Merge commit '98b3def2983e78409002cf406574bbc8eeef8bfd' into eclair-mr2

* commit '98b3def2983e78409002cf406574bbc8eeef8bfd':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
aa8f0e52563e2bf159214cafdcdf177788f1e692 12-Oct-2009 Dima Zavin <dima@android.com> am 98b3def2: Merge change I6261ab54 into eclair

Merge commit '98b3def2983e78409002cf406574bbc8eeef8bfd' into eclair-plus-aosp

* commit '98b3def2983e78409002cf406574bbc8eeef8bfd':
Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"
e88cd11c338948b0d05ce2468789292a5bbffa68 12-Oct-2009 Mathias Agopian <mathias@google.com> am c5b09d8a: am 4ac45597: Merge change I15b0ebb9 into eclair

Merge commit 'c5b09d8a5f7bbf9545b1f2b2d69920fd115d3ecd'

* commit 'c5b09d8a5f7bbf9545b1f2b2d69920fd115d3ecd':
a simple test app for gralloc
39171561f055b2803d2b2c83cb5360522e09bdb0 12-Oct-2009 Jack Palevich <jackpal@google.com> am 7d638292: Merge change Ib4285d22 into eclair-mr2

Merge commit '7d638292969687ed4557d36e741e1275d2052fb0'

* commit '7d638292969687ed4557d36e741e1275d2052fb0':
Change way we choose EGL surfaces to be compatible with the native
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
ibagl/egl.cpp
6261ab542262d004d53b77abc11968ddb26eba52 10-Oct-2009 Dima Zavin <dima@android.com> Revert "egl: temporarily also include eglTerminate->eglInitialize hack for 8k"

This reverts commit ed5ecdba36648973be3033a045e2ece8bf039e4a.
ibs/Android.mk
94f3a36326ddecaa09787d795451b0a229fe111c 09-Oct-2009 Eric Fischer <enf@google.com> Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
75017f3c9ef7104244f7265693481c24274b69d2 09-Oct-2009 Mathias Agopian <mathias@google.com> am 846322a9: Merge change Ib96df854 into eclair

Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-mr2

* commit '846322a9ae5ef8155cca0059d3f64d718516ca13':
add a way to easily catch and log GL errors (compile time flag)
f3b37d1bce6c35298582621346c31548d57a993a 09-Oct-2009 Mathias Agopian <mathias@google.com> am 846322a9: Merge change Ib96df854 into eclair

Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-plus-aosp

* commit '846322a9ae5ef8155cca0059d3f64d718516ca13':
add a way to easily catch and log GL errors (compile time flag)
b96df8548ee80e581e6851d7d4529add769c8a8d 09-Oct-2009 Mathias Agopian <mathias@google.com> add a way to easily catch and log GL errors (compile time flag)
ibs/GLES_CM/gl.cpp
89663e6f4d479b25cf6a62c90699e7397ead6cd7 07-Oct-2009 Mathias Agopian <mathias@google.com> am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair

Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-plus-aosp

* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
b71eb676f4f0d2bc09291e8ee9b2c0576fd4e7fc 07-Oct-2009 Mathias Agopian <mathias@google.com> am 4ac45597: Merge change I15b0ebb9 into eclair

Merge commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d' into eclair-plus-aosp

* commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d':
a simple test app for gralloc
d7c18d7672f3ecbbcb2f5bec92fe54dd990cb8dd 07-Oct-2009 Mathias Agopian <mathias@google.com> am 0ef55540: am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair

Merge commit '0ef55540ab75660c58b284415ebae7ea66684706' into eclair-mr2-plus-aosp

* commit '0ef55540ab75660c58b284415ebae7ea66684706':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
0ef55540ab75660c58b284415ebae7ea66684706 07-Oct-2009 Mathias Agopian <mathias@google.com> am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair

Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-mr2

* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
6950e428feaccc8164b989ef64e771a99948797a 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2167050] glTexImage2D code path buggy in SurfaceFlinger

When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
ests/copybits/Android.mk
ests/copybits/copybits.cpp
ests/gralloc/Android.mk
ests/gralloc/Buffer.cpp
ests/gralloc/Buffer.h
ests/gralloc/BufferAllocator.cpp
ests/gralloc/BufferAllocator.h
ests/gralloc/gralloc.cpp
8e20e88ba664ff606cd7eb427dd05fd981355410 05-Oct-2009 Patrick Scott <phanna@android.com> Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
b1bb6cfe91c97fccd720de565fa69ed787ae1cbc 05-Oct-2009 Doug Kwan <dougkwan@google.com> Add back missing shared libraries used in executables in link commands. These
executables have calls to some shared libraries without explicitly linking
them. Currently it works as linker links these libraries via dependencies of
other libraries. This is fragile and not the right thing to do.
ests/copybits/Android.mk
ests/fillrate/Android.mk
ests/finish/Android.mk
ests/swapinterval/Android.mk
c5b09d8a5f7bbf9545b1f2b2d69920fd115d3ecd 05-Oct-2009 Mathias Agopian <mathias@google.com> am 4ac45597: Merge change I15b0ebb9 into eclair

Merge commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d' into eclair-mr2

* commit '4ac45597fb70ca4f268cb1920fcb2de61aff4a3d':
a simple test app for gralloc
b4285d222a3dfe0db37513a76b54c32897600ed5 02-Oct-2009 Jack Palevich <jackpal@google.com> Change way we choose EGL surfaces to be compatible with the native
window surface.
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
15b0ebb925d2d676052a0ef571b435c072b11280 02-Oct-2009 Mathias Agopian <mathias@google.com> a simple test app for gralloc
ests/gralloc/Android.mk
ests/gralloc/Buffer.cpp
ests/gralloc/Buffer.h
ests/gralloc/BufferAllocator.cpp
ests/gralloc/BufferAllocator.h
ests/gralloc/gralloc.cpp
ebed3c54baa40e8e35e08480ec73346898ff4be9 30-Sep-2009 Jack Palevich <jackpal@google.com> am bcbca57f: Merge change I5ffd6240 into eclair

Merge commit 'bcbca57f4c0da0cee3682c78aacfa081483f0020' into eclair-plus-aosp

* commit 'bcbca57f4c0da0cee3682c78aacfa081483f0020':
Add a simple test of OpenGL ES 1.x.
5ffd62405ae6a801308989368a2473e4baaf3170 30-Sep-2009 Jack Palevich <jackpal@google.com> Add a simple test of OpenGL ES 1.x.
ests/gl_basic/Android.mk
ests/gl_basic/gl_basic.cpp
bb8151294c020f52cda84d006ba55d9baa069229 30-Sep-2009 Jack Palevich <jackpal@google.com> am b386a86c: Merge change I8018f091 into eclair

Merge commit 'b386a86c1c131832c8f9955a5a57a2fa13609d15' into eclair-plus-aosp

* commit 'b386a86c1c131832c8f9955a5a57a2fa13609d15':
Add very simple input path. Fix end-of-line issues.
b386a86c1c131832c8f9955a5a57a2fa13609d15 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8018f091 into eclair

* changes:
Add very simple input path. Fix end-of-line issues.
8018f091b94f02eabc6538295fefe3546d9cfeb5 30-Sep-2009 Jack Palevich <jackpal@google.com> Add very simple input path. Fix end-of-line issues.
ests/gl_jni/jni/gl_code.cpp
ests/gl_jni/src/com/android/gljni/GLJNIActivity.java
ests/gl_jni/src/com/android/gljni/GLJNILib.java
ests/gl_jni/src/com/android/gljni/GLJNIView.java
019116ce202021e1b274516c9813aeff83b1b5ab 29-Sep-2009 Jack Palevich <jackpal@google.com> am 97702aac: Merge changes I82c78b83,I54f72d9d into eclair

Merge commit '97702aacfc7f84b473357ce102cc70da2a316032' into eclair-plus-aosp

* commit '97702aacfc7f84b473357ce102cc70da2a316032':
Don't ask for pbuffer support, because we don't use any pbuffers.
Print out EGL configuration info for the config we've chosen.
54f72d9df8d5a2e9f9cd0ae10a57ed56dbf6a020 29-Sep-2009 Jack Palevich <jackpal@google.com> Don't ask for pbuffer support, because we don't use any pbuffers.
ests/tritex/tritex.cpp
82c78b83e3950a26d51da33ffb91bc808ce036f6 29-Sep-2009 Jack Palevich <jackpal@google.com> Print out EGL configuration info for the config we've chosen.

Don't ask for PBuffer support, since we don't actually use pbuffers,
and some drivers might not support them.
ests/gl2_basic/gl2_basic.cpp
0d6d171af20e52b529c6f42885a2aca70e3a5cef 29-Sep-2009 Jack Palevich <jackpal@google.com> am ee25eb58: Merge change I669ce246 into eclair

Merge commit 'ee25eb58aac8fded3927c0343eaa367f66c8b79d' into eclair-plus-aosp

* commit 'ee25eb58aac8fded3927c0343eaa367f66c8b79d':
Print out all available EGL configurations.
669ce246a8a61b7a97837f4d9ea9b30ee5f4e1bf 29-Sep-2009 Jack Palevich <jackpal@google.com> Print out all available EGL configurations.
ests/gl2_basic/gl2_basic.cpp
8521fe4ef2e74bd7b38aaeb95d5380fc213d4b7f 28-Sep-2009 Mathias Agopian <mathias@google.com> am 1a3c8950: Merge change 27387 into eclair

Merge commit '1a3c8950394b98f6f354456830208d70e87b8bb6' into eclair-plus-aosp

* commit '1a3c8950394b98f6f354456830208d70e87b8bb6':
fix [2147737] Pixel Flinger needs to set EGL_RENDERABLE_TYPE to EGL_OPENGL_ES_BIT
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.
ibagl/egl.cpp
434462f0c95b5f828ee9ab5e2fd86a73dd2c6fe9 26-Sep-2009 Dima Zavin <dima@android.com> am ed5ecdba: egl: temporarily also include eglTerminate->eglInitialize hack for 8k

Merge commit 'ed5ecdba36648973be3033a045e2ece8bf039e4a' into eclair-plus-aosp

* commit 'ed5ecdba36648973be3033a045e2ece8bf039e4a':
egl: temporarily also include eglTerminate->eglInitialize hack for 8k
ed5ecdba36648973be3033a045e2ece8bf039e4a 26-Sep-2009 Dima Zavin <dima@android.com> egl: temporarily also include eglTerminate->eglInitialize hack for 8k

Change-Id: Id5c51e54e733b24e5d5d5de0dcca84ac53afd3a9
Signed-off-by: Dima Zavin <dima@android.com>
ibs/Android.mk
ee61acdc53ad5ae4e61a272ac66405be5c2b72a3 26-Sep-2009 Jack Palevich <jackpal@google.com> am 8b854e0d: Merge change 27211 into eclair

Merge commit '8b854e0d59512004028f96a93016e614c7df478a' into eclair-plus-aosp

* commit '8b854e0d59512004028f96a93016e614c7df478a':
Fix build.
d7de5ffb302e8178688f806766711b0036c13fac 26-Sep-2009 Jack Palevich <jackpal@google.com> Fix build.
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
b44d9e150a9578a1e35362119af308b674e6f5b7 26-Sep-2009 Jack Palevich <jackpal@google.com> am 056ade1b: Merge change 27203 into eclair

Merge commit '056ade1ba976eed5f9b3139ee96b9eb3a26f6283' into eclair-plus-aosp

* commit '056ade1ba976eed5f9b3139ee96b9eb3a26f6283':
Tighten up sample code.
a46c138ab37e141f195d449f453dda8bd1df0947 26-Sep-2009 Jack Palevich <jackpal@google.com> am 07e0dce4: Merge change 27202 into eclair

Merge commit '07e0dce441ea056710efd76d7df18b8833de772a' into eclair-plus-aosp

* commit '07e0dce441ea056710efd76d7df18b8833de772a':
Check for failure to create EGL surfaces and contexts.
aa3b0bee51e9e7c0d46f93bcdcfee62b004b3a78 26-Sep-2009 Jack Palevich <jackpal@google.com> Tighten up sample code.

- Still fails to work; don't know why.
ests/gl2_jni/Android.mk
ests/gl2_jni/jni/gl_code.cpp
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
2e26fc08aa1939c19e939d983bd608cdec050024 26-Sep-2009 Jack Palevich <jackpal@google.com> Check for failure to create EGL surfaces and contexts.
ava/android/opengl/GLSurfaceView.java
b1d9ee626694e06196b5fc7f7ea5eb99ea998eb0 26-Sep-2009 Jack Palevich <jackpal@google.com> am 2a5eea30: Merge change 27168 into eclair

Merge commit '2a5eea308fffed23ab96bedcddaf5e4cc91cec9e' into eclair-plus-aosp

* commit '2a5eea308fffed23ab96bedcddaf5e4cc91cec9e':
Use EGLUtils to simplify choosing a configuration.
66d2e25ae39307325c616a8f95d9594d4d295566 26-Sep-2009 Jack Palevich <jackpal@google.com> Use EGLUtils to simplify choosing a configuration.

Doesn't actually select anything, possibly due to device driver errors.
ests/gl2_basic/gl2_basic.cpp
a38ff0c2631e7a36f3bb01bd104758364d2ea90e 24-Sep-2009 Mathias Agopian <mathias@google.com> am 117f574e: Merge change 26911 into eclair

Merge commit '117f574e105c682ebff19ece7230fab86fea3d17' into eclair-plus-aosp

* commit '117f574e105c682ebff19ece7230fab86fea3d17':
OpenGL ES doesn't allow glColorPointer with a size parameter other than 4
117f574e105c682ebff19ece7230fab86fea3d17 24-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26911 into eclair

* changes:
OpenGL ES doesn't allow glColorPointer with a size parameter other than 4
2ddccd16496701370572e1ad3d83da056d9ad281 24-Sep-2009 Mathias Agopian <mathias@google.com> OpenGL ES doesn't allow glColorPointer with a size parameter other than 4
ibagl/array.cpp
bf0d9041202eb52b036a8a5854dd6fef55d87919 24-Sep-2009 Jack Palevich <jackpal@google.com> am b87f24a6: Merge change 26908 into eclair

Merge commit 'b87f24a6a88a994256ca97b69904af28824bc9ce' into eclair-plus-aosp

* commit 'b87f24a6a88a994256ca97b69904af28824bc9ce':
Fix broken Javadoc link for GLSurfaceView.EGLWindowSurfaceFactory.
d40dfbbbff81219258ca36b762a89ff503154345 24-Sep-2009 Jack Palevich <jackpal@google.com> Fix broken Javadoc link for GLSurfaceView.EGLWindowSurfaceFactory.
ava/android/opengl/GLSurfaceView.java
726d9074cf8f038d4ece89f60b008b343c68874e 24-Sep-2009 Jack Palevich <jackpal@google.com> am d0b58414: Merge change 26891 into eclair

Merge commit 'd0b584148bdcc219136d92e2034e316ae50c8151' into eclair-plus-aosp

* commit 'd0b584148bdcc219136d92e2034e316ae50c8151':
Make tritex test run with latest OpenGL driver.
87a7265ee10bac12195ea7c25fea45d61d1266a1 24-Sep-2009 Jack Palevich <jackpal@google.com> Make tritex test run with latest OpenGL driver.

Use EGLUtils::selectConfigForNativeWindow to select a legitimate
configuration. (Before now we had been selecting an incorrect
configuration, but the older drivers let us get away with it.)

Converted the source to C++ so we can call selectConfigForNativeWindow.
ests/tritex/Android.mk
ests/tritex/tritex.c
ests/tritex/tritex.cpp
c055f173c9211b27184c56ce385df5278db4011c 24-Sep-2009 Jack Palevich <jackpal@google.com> am 1267b0e1: Merge change 26882 into eclair

Merge commit '1267b0e1844ac802de92b203007513573e4886fd' into eclair-plus-aosp

* commit '1267b0e1844ac802de92b203007513573e4886fd':
Publish minor additions to GLSurfaceView API.
82cbaab450d3c5d9f3d52c49881212f250d7cd97 24-Sep-2009 Jack Palevich <jackpal@google.com> Publish minor additions to GLSurfaceView API.

Clients can now modify the way that the EGL context and the EGL window
surface are created and destroyed.
ava/android/opengl/GLSurfaceView.java
b09c63e24043a6ca03f04709a92f528d233fd8d7 24-Sep-2009 Jack Palevich <jackpal@google.com> am 311ed019: Merge change 26679 into eclair

Merge commit '311ed0191d6423e41b1cf5137a38e53504494818' into eclair-plus-aosp

* commit '311ed0191d6423e41b1cf5137a38e53504494818':
Create samples showing how to call OpenGL from JNI libraries.
a8fecb87c5eaaefc9ca6272e3b59ef88d293dd6d 23-Sep-2009 Jack Palevich <jackpal@google.com> Create samples showing how to call OpenGL from JNI libraries.
ava/android/opengl/GLSurfaceView.java
ests/gl2_basic/gl2_basic.cpp
ests/gl2_jni/Android.mk
ests/gl2_jni/AndroidManifest.xml
ests/gl2_jni/jni/gl_code.cpp
ests/gl2_jni/res/values/strings.xml
ests/gl2_jni/src/com/android/gl2jni/GL2JNIActivity.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNILib.java
ests/gl2_jni/src/com/android/gl2jni/GL2JNIView.java
ests/gl_jni/Android.mk
ests/gl_jni/AndroidManifest.xml
ests/gl_jni/jni/gl_code.cpp
ests/gl_jni/res/values/strings.xml
ests/gl_jni/src/com/android/gljni/GLJNIActivity.java
ests/gl_jni/src/com/android/gljni/GLJNILib.java
ests/gl_jni/src/com/android/gljni/GLJNIView.java
e2317438433d4f2f822fe0c3659e70c89f6a707f 22-Sep-2009 Jack Palevich <jackpal@google.com> am 1167b43c: Merge change 26317 into eclair

Merge commit '1167b43c3d1ca232c9b4e0a75343b6b3cb90f0df' into eclair-plus-aosp

* commit '1167b43c3d1ca232c9b4e0a75343b6b3cb90f0df':
Allow GLSurfaceView clients to customize EGL Surfaces and Contexts.
15e1c6dc7a778590068b1cad55beea2bc6159509 22-Sep-2009 Jack Palevich <jackpal@google.com> Allow GLSurfaceView clients to customize EGL Surfaces and Contexts.

This API is hidden for now, will expose once it's been tested more.
ava/android/opengl/GLSurfaceView.java
5ac5b68bf103036843deb2e489d07e46c49c4bbd 22-Sep-2009 Jack Palevich <jackpal@google.com> am 5222a957: Merge change 26270 into eclair

Merge commit '5222a9571ea2538c989608d376ac71eabe0f09d4' into eclair-plus-aosp

* commit '5222a9571ea2538c989608d376ac71eabe0f09d4':
Fix GLSurfaceView to sync surfaceDestroyed with GL rendering thread
1bd888ba2e0976a179258cfa65ef07be31602a0a 22-Sep-2009 Jack Palevich <jackpal@google.com> Fix GLSurfaceView to sync surfaceDestroyed with GL rendering thread

Until now we had a race condition where the GL rendering thread could
continue rendering a frame after we have returned from the
SurfaceHolder.Callback.surfaceDestroyed notification.
ava/android/opengl/GLSurfaceView.java
be4d7d2446c14ade485f58bbfa451bb969d3c3a4 21-Sep-2009 Mathias Agopian <mathias@google.com> am cc7f40a8: Merge change 26060 into eclair

Merge commit 'cc7f40a88d64cbb4e664e231668ae4e2862036c6' into eclair-plus-aosp

* commit 'cc7f40a88d64cbb4e664e231668ae4e2862036c6':
log an error when loading an existing GL driver fails
40621774ec648c7d0089f66b4e3aeb94e4232769 21-Sep-2009 Mathias Agopian <mathias@google.com> log an error when loading an existing GL driver fails
ibs/EGL/Loader.cpp
f44ddb6b4501906a34a05f9367333d870594798c 19-Sep-2009 Jack Palevich <jackpal@google.com> am cd0aceb7: Merge change 25883 into eclair

Merge commit 'cd0aceb710fc3b62a238992ceef628e359ee1e7d' into eclair-plus-aosp

* commit 'cd0aceb710fc3b62a238992ceef628e359ee1e7d':
Draw a green triangle using OpenGL 2.0 APIs.
953254b2f2c420d865b132b09bc682458b3e32dd 19-Sep-2009 Jack Palevich <jackpal@google.com> Draw a green triangle using OpenGL 2.0 APIs.
ests/gl2_basic/gl2_basic.cpp
6d3179332d2093f08995ac2299ef200e3137de5d 17-Sep-2009 Jack Palevich <jackpal@google.com> am 78059337: Merge change 25523 into eclair

Merge commit '7805933738de33b1961bd03553237a86d90792dd' into eclair-plus-aosp

* commit '7805933738de33b1961bd03553237a86d90792dd':
Add additional error checking, exit early if errors occur.
fc342cbbf71e29ed52996dee059655c83b95ab68 17-Sep-2009 Jack Palevich <jackpal@google.com> Add additional error checking, exit early if errors occur.
ests/gl2_basic/gl2_basic.cpp
c05a7f6216a286b5cb9dad026efaef0e3bc59f35 16-Sep-2009 Jack Palevich <jackpal@google.com> am fee6b69a: Merge change 25303 into eclair

Merge commit 'fee6b69a7ce38118423c114abb977fd1b053be3c' into eclair-plus-aosp

* commit 'fee6b69a7ce38118423c114abb977fd1b053be3c':
Add EGL call error checking.
113096d5d05c9c1739c9d427399f47a35cf6fd57 16-Sep-2009 Jack Palevich <jackpal@google.com> Add EGL call error checking.
ests/gl2_basic/gl2_basic.cpp
b734a268a061cfe3fa0071103eb6f8c31c25683d 11-Sep-2009 Jack Palevich <jackpal@google.com> am ebebf9c3: Merge change 24618 into eclair

Merge commit 'ebebf9c36c0112d99cb2e11953febdff8ba5ff23' into eclair-plus-aosp

* commit 'ebebf9c36c0112d99cb2e11953febdff8ba5ff23':
AGL's glCompressedTexImage2D now checks the imageSize parameter.
fb5ea2e579057739120d5a8663857bdf623b9ba6 11-Sep-2009 Jack Palevich <jackpal@google.com> AGL's glCompressedTexImage2D now checks the imageSize parameter.

This parameter indicates how many bytes of the image data are valid.

Previously this parameter was ignored.
ibagl/texture.cpp
8fb913661cb8088b3b4797374a9a912c41af276a 03-Sep-2009 Jason Sams <rjsams@android.com> am e00d660a: Merge change 23584 into eclair

Merge commit 'e00d660aba91a7a682f83b2e0216296b0f3cca64' into eclair-plus-aosp

* commit 'e00d660aba91a7a682f83b2e0216296b0f3cca64':
Simple app to create a gl2 context and dump the strings.
b22f5b3bb356ac747e8cd6c2f1c4e6f4a8539eeb 02-Sep-2009 Jason Sams <rjsams@android.com> Simple app to create a gl2 context and dump the strings.
ests/gl2_basic/Android.mk
ests/gl2_basic/gl2_basic.cpp
85a2c7f1cad8fd55ed72a8a3dbb2b36632ebbff3 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
c0dea964913268bd64009e657635e617f3e0c21c 11-Aug-2009 Martin Storsjo <martin@martin.st> Calculate specular lighting correctly

Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
ibagl/light.cpp
4f31af9346b818c8ef05a63e15e9170a7c6131e4 10-Aug-2009 Martin Storsjo <martin@martin.st> If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
ibagl/matrix.cpp
0648422f6721953cee30941b6798ded18e0ad2fb 25-Aug-2009 Android Code Review <code-review@android.com> Merge change 10840

* changes:
the vertex index should be "first + i".
46ba1c964f10fc9bd604134e5b20483daa0c86a9 25-Aug-2009 Android Code Review <code-review@android.com> Merge change 11093

* changes:
If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
94263d79234778277959c5ec0cc3f2182cc9df0b 25-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug recently introduced where EGL couldn't be initialized again after it had been terminated once
ibs/Android.mk
ibs/EGL/egl.cpp
4a34e888ae328256febbcd6caf603a9c5834b913 21-Aug-2009 Mathias Agopian <mathias@google.com> 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.
ibs/EGL/egl.cpp
82fd4fce16b9bbde25d044acc86ddf7306ebdd10 21-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug in ComponentSizeChooser where it could pick a software EGLConfig instead of a better h/w one.

We now just try to honor the stencil / depth buffer "at least", while doing a "shortest distance" on the colors.
ava/android/opengl/GLSurfaceView.java
ibs/EGL/Loader.cpp
ffbc864329d2659e9a75d2c80d66dc90c1072da1 20-Aug-2009 Mathias Agopian <mathias@google.com> better error handling in EGL
ibagl/egl.cpp
dcebf6f65a890083545a8c191fcdc2522bfd035d 18-Aug-2009 Mathias Agopian <mathias@google.com> fix bug [2021677] egl driver unloaded after eglTerminate() is called

refactored the code so that:
- EGL APIs that can be called before or after eglInitialize() will work by loading the drivers first
- make eglGetDisplay() a lot more efficient
- make sure that EGL drivers are loaded in a thread-safe way
- don't unload the drivers upon calling eglTerminate(), they're now never unloaded, since there is no safe way to do it (some thread could be running)
- updated our EGL version to 1.4
- return better error codes if errors happen during initialization
ibs/EGL/egl.cpp
ibs/egl_impl.h
ibs/hooks.h
317a6280cc109e873646e4652be1582d870eedfd 14-Aug-2009 Mathias Agopian <mathias@google.com> Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.

this also ripples into the window manager API by making some constant there deprecated as well.
ava/android/opengl/GLSurfaceView.java
88e3e6bd04dcf166ddd92ce3a84e1f9f54ac2f66 13-Aug-2009 Mathias Agopian <mathias@google.com> Better error handling in EGL extensions
ibs/EGL/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."
ibagl/egl.cpp
a1e03d4d7f0400b1ec20209892ab2999e9ed2676 12-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20893

* changes:
show that we need to glClear to be fast(er)
efefd5efb9e20fbcd94c3f4766ca2a64e511da77 12-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20892

* changes:
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."
a1d9388ea7fb7515db3bc7f9a9c876b76cac1c76 12-Aug-2009 Mathias Agopian <mathias@google.com> show that we need to glClear to be fast(er)
ests/filter/filter.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.
ibagl/egl.cpp
0d63f8163d4d50c4a80bfc2013e5edba4a465b1a 12-Aug-2009 Mathias Agopian <mathias@google.com> option to use drawtexture at compile time
ests/filter/filter.cpp
88caa97f9e4121043940e5bf4883cc3597ca0dd7 12-Aug-2009 Mathias Agopian <mathias@google.com> fix and extend the filter test a bit
ests/filter/filter.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.
ibagl/egl.cpp
79ad0e6623998ca2006aa0c17f902340132c3e1c 11-Aug-2009 Martin Storsjo <martin@martin.st> Calculate specular lighting correctly

Since the lighting calculations are done in object space, the vector
from the object to the viewer also needs to be transformed to object
space.
ibagl/light.cpp
e6f0f5c8fb4b6d249de5995545350fd95b2012f6 11-Aug-2009 Mathias Agopian <mathias@google.com> workaround a bug in the SGX driver that would prevent eglGetConfig to work properly
ests/angeles/app-linux.cpp
ests/copybits/copybits.cpp
ests/fillrate/fillrate.cpp
ests/filter/filter.cpp
ests/finish/finish.cpp
ests/swapinterval/swapinterval.cpp
ests/textures/textures.cpp
1ac3b5ff60def97b66d38ab5aa3e22efd17711c0 10-Aug-2009 Martin Storsjo <martin@martin.st> If FLAGS_2D_PROJECTION is set, the MVP matrices need updating when changing the viewport.
ibagl/matrix.cpp
f1e5b0d4e5d0d2a78c234cd0cbd3005a74a79429 08-Aug-2009 Mathias Agopian <mathias@google.com> add support for RGBX_8888
ibagl/copybit.cpp
9ca4dd6011e30cbb3bc40cf0bba7d11362b8bc38 08-Aug-2009 Mathias Agopian <mathias@google.com> minor code clean-up
ests/swapinterval/swapinterval.cpp
a1f6eff297a3e4870e22fdae926648bda3466805 07-Aug-2009 Mathias Agopian <mathias@google.com> update most gl tests to use EGLUtils
ests/angeles/Android.mk
ests/angeles/app-linux.c
ests/angeles/app-linux.cpp
ests/fillrate/fillrate.cpp
ests/filter/Android.mk
ests/filter/filter.c
ests/filter/filter.cpp
ests/finish/Android.mk
ests/finish/finish.c
ests/finish/finish.cpp
ests/textures/Android.mk
ests/textures/textures.c
ests/textures/textures.cpp
265d9c076a588cf4cd811fbafd999c7ffe36641b 07-Aug-2009 Mathias Agopian <mathias@google.com> added two EGL helpers for selecting a config matching a certain pixelformat or native window type
ests/swapinterval/swapinterval.cpp
bb99ffb4db008441e6ac4236d8a48b6e2b0c01d9 06-Aug-2009 Mathias Agopian <mathias@google.com> added a gl swapinterval test
ests/fillrate/fillrate.cpp
ests/swapinterval/Android.mk
ests/swapinterval/swapinterval.cpp
429c521b15112fdcc70dca602b432fae45ca3a22 04-Aug-2009 Mathias Agopian <mathias@google.com> opengl tests
ests/angeles/app-linux.c
ests/fillrate/Android.mk
ests/fillrate/fillrate.cpp
ests/textures/textures.c
997d1070788e312edb4c5e5212dc90ddde7ac963 01-Aug-2009 Mathias Agopian <mathias@google.com> log opengl-call-with-no-context only once per thread, instead of for each function call
ibs/EGL/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)
ibagl/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).
ibagl/egl.cpp
61e4248f8f6ae8a8f40550cc0800e5190cd1dc09 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ibagl/egl.cpp
ibs/EGL/egl.cpp
c902bf8f133e0a60a888fbc2e86f66fcbc0f0430 29-Jul-2009 Mathias Agopian <mathias@google.com> GLESv2 couldn't be loaded due to wrong path specification
ibs/EGL/Loader.cpp
219749df3ef8ad8efa4a1d4889403e179c268067 29-Jul-2009 Li Wenhao <gliwenhao@gmail.com> the vertex index should be "first + i".
ava/android/opengl/GLLogWrapper.java
2af1b3db3d4f687d008db74b150f149e956b4bc6 26-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge korg/donut into korg/master
f021077c465b2ff3f317fd64720107941cc94e9e 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 280436ac: Merge change 8261 into donut

Merge commit '280436accc45c1883766a98499148439fa044531'

* commit '280436accc45c1883766a98499148439fa044531':
Remove recently-added android.opengl.Version API
7e263332e0c68f67868cb3245bf42f41e847d816 23-Jul-2009 Jack Palevich <jackpal@google.com> Remove recently-added android.opengl.Version API

There's another already-existing way of obtaining this information,
the ConfigurationInfo.reqGlEsVersion field returned from
ActivityManager.getDeviceConfigurationInfo.
ava/android/opengl/Version.java
68ce000ed88c8df53c0ddb9a556a8cc8e5dcedb2 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ef6b66cb: Merge change 8222 into donut

Merge commit 'ef6b66cbbbe7ae8ee0450cbbaae4194b069679a1'

* commit 'ef6b66cbbbe7ae8ee0450cbbaae4194b069679a1':
Add a public API that reports the supported OpenGLES API level.
1baf11b116d4094ea1f7149bbf1348d6290a637e 22-Jul-2009 Jack Palevich <jackpal@google.com> Add a public API that reports the supported OpenGLES API level.
ava/android/opengl/Version.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ava/com/google/android/gles_jni/GLImpl.java
ibagl/array.cpp
ibagl/light.cpp
ibagl/matrix.cpp
ibagl/texture.cpp
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
ests/angeles/Android.mk
ests/filter/Android.mk
ests/finish/Android.mk
ests/lighting1709/Android.mk
ests/lighting1709/AndroidManifest.xml
ests/lighting1709/src/com/android/lightingtest/ClearActivity.java
ests/textures/Android.mk
ests/tritex/Android.mk
ools/glgen/gen
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
6a294263f78ce8177de48cb9480bbe39d9e442cd 16-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'goog/readonly-korg-master' into merge_korg_master

* commit 'goog/readonly-korg-master':
Fixed Android issue #400, where the Intent documentation was inaccurate in a number of places, undoubtedly causing untold grief to innumerable masses.
Bug Fixed for libagl.
a2fb72e08f41a67bbed534eb1035ba5bfc2df0e1 16-Jul-2009 Mathias Agopian <mathias@google.com> remove libagl's dependency on gralloc_priv.h
ibagl/Android.mk
ibagl/copybit.cpp
ibagl/egl.cpp
ibagl/texture.cpp
7cd8ced29848450dbd2568471c97690aaf719020 14-Jul-2009 Mathias Agopian <mathias@google.com> this header file is not needed anymore
nclude/EGL/eglnatives.h
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
ibagl/egl.cpp
ibs/EGL/egl.cpp
92a3ed43645150a79b5abdc3508ca7e4f64aba89 08-Jul-2009 Marco Nelissen <marcone@google.com> Make opengl loader use an absolute path.
ibs/EGL/Loader.cpp
26f6a823ca32b4c8e42bc02efb0ce74c3f281f55 07-Jul-2009 Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> Bug Fixed for libagl.
ibagl/primitives.cpp
0f53af13b783eafa566722eb118aabcb84d88da5 30-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug where gl didn't always fallback to software when copybit failed. minor optimizations to copybit codepath.
ibagl/copybit.cpp
68eeb80a54f411b9a8c928cc193de731adddb6c3 26-Jun-2009 Mathias Agopian <mathias@google.com> use copybit for eglSwapBuffers() copy-back operations
ibagl/egl.cpp
c6f36ed547e7f480ea2484cc378698d4205b3155 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5352 into donut

* changes:
fix [1942438] eglGetCurrentSurface() returns bogus value
c1e3ec555b79b1e45fccbdf0bbc8ac2d51902860 25-Jun-2009 Mathias Agopian <mathias@google.com> Add eglGetRenderBufferANDROID() extension, which returns the current render buffer as an android_native_buffer_t*
nclude/EGL/eglext.h
nclude/EGL/eglplatform.h
ibagl/TextureObjectManager.h
ibagl/egl.cpp
ibs/EGL/egl.cpp
ibs/EGL/egl_entries.in
3a7e1832ac940cf5b8f92d3c3e8e8e5303c3c34e 25-Jun-2009 Mathias Agopian <mathias@google.com> fix [1942438] eglGetCurrentSurface() returns bogus value
ibs/EGL/egl.cpp
a1254616d62d470b129a501193f15d50045cd3ae 25-Jun-2009 Mathias Agopian <mathias@google.com> fix [1942438] eglGetCurrentSurface() returns bogus value
ibs/EGL/egl.cpp
2eab9d8d7034ef05cead1ee26667a75061b5f0aa 25-Jun-2009 Mathias Agopian <mathias@google.com> copybit now uses a native_handle_t* instead of a fd/offset
ibagl/copybit.cpp
f31868e59fbf59a8d479587c80b648fb37a166fc 25-Jun-2009 Mathias Agopian <mathias@google.com> merge master in master_gl
f6c2a1ae60a190951b1c9e93f64f62a000cb51fd 24-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug where copybit would be rejected in landscape mode
ibagl/copybit.cpp
e8f7c682d2a083742c293a7de59f2282e6fa7a53 23-Jun-2009 Mathias Agopian <mathias@google.com> Android now has its own EGL extension block (yay) 0x3140-0x314F. EGL_NATIVE_BUFFER_ANDROID now maps to 0x3140 instead of using the staging range
nclude/EGL/eglplatform.h
1b28d26ae9e49ec3c66777737c92b26c893ae629 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 4fb69770: Merge change 5024 into donut

Merge commit '4fb69770e70352c987cc79414db7a03b52296ca7'

* commit '4fb69770e70352c987cc79414db7a03b52296ca7':
Remove opengl tests from tests build
ffa5a5a3dbef79dc6958c629080b1a6438a7b637 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5277103d: Merge change 5035 into donut

Merge commit '5277103db9033226814edc8fcba6f4ba4e846678'

* commit '5277103db9033226814edc8fcba6f4ba4e846678':
add glTexParameteri() and fix glTexParameteriv()
4fb69770e70352c987cc79414db7a03b52296ca7 23-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5024 into donut

* changes:
Remove opengl tests from tests build
aaf4b6b3315fc546396a4b82c8c5cab0c2d2cb85 23-Jun-2009 Mathias Agopian <mathias@google.com> add glTexParameteri() and fix glTexParameteriv()
ibagl/texture.cpp
1562f872a366c55daa54c002eddcf040b433950e 23-Jun-2009 Sriram Raman <sriramkraman@google.com> Remove opengl tests from tests build
ests/angeles/Android.mk
ests/filter/Android.mk
ests/finish/Android.mk
ests/textures/Android.mk
ests/tritex/Android.mk
09cf0ac2e9ec9e18c7099312265f9d51cdbb0f37 19-Jun-2009 Mathias Agopian <mathias@google.com> we were not fetching the texture coords in the copybit case, so we were using garbage
ibagl/copybit.cpp
42bf621e801183028066e6947fdd22eae8693a02 18-Jun-2009 Mathias Agopian <mathias@google.com> fix/add some comments
ibagl/copybit.cpp
03a1b0116b115c214c16fa1a02a46999312fd0f2 18-Jun-2009 Mathias Agopian <mathias@google.com> s/w OpenGL no detects and handles all any combinations of triangle fans corresponding to a rectangle

this allows fallback to faster copybit code in almost all cases.
ibagl/array.cpp
ibagl/copybit.cpp
ibagl/copybit.h
4d63fb113b542f0474c16d8f2c8a1240b44f0ca2 17-Jun-2009 Mathias Agopian <mathias@google.com> fix a scissor bug in the GLES-on-top-of copybit code
ibagl/copybit.cpp
69f066c8fc42b9f0acc5c41f8ffd972f8d6d0584 16-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
ed776592e18369d02be9c263056d3c2c2dd969ba 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b4f7592b: Merge change 4299 into donut

Merge commit 'b4f7592b03c8424302c10e61474b0e2d0a71a630'

* commit 'b4f7592b03c8424302c10e61474b0e2d0a71a630':
Allow pre-Donut apps to use indirect Buffers in GL11 Pointer methods.
Fix IntentFilter constructor to properly process the action parameter.
91a27ae2fec23b420244258636d2370117e86f5e 16-Jun-2009 Jack Palevich <jackpal@google.com> Allow pre-Donut apps to use indirect Buffers in GL11 Pointer methods.

Apps targeting Donut and newer will throw an exception.

We use a heuristic to determine whether an app is pre-Donut or not:
We take the address space's __progname, and use that as the application's
package name. For simple applications this is correct.
ava/com/google/android/gles_jni/GLImpl.java
ools/glgen/gen
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
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
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/copybit.cpp
ibagl/copybit.h
ibagl/egl.cpp
ibagl/state.cpp
ibagl/texture.cpp
ests/copybits/copybits.cpp
07fcf4c3a91e421dc6f3d17f28264d18e8b2bfdb 10-Jun-2009 Mathias Agopian <mathias@google.com> revive the copybit test.
ests/copybits/Android.mk
ests/copybits/copybits.cpp
51c8a3e00e6cffe42d25d1ac87d417e925d8a84d 06-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
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
ibagl/egl.cpp
4098d78b3507bfecce9f7a8a4b5d334c7842ff88 04-Jun-2009 Mathias Agopian <mathias@google.com> remove some spurious debuging LOGD
ibs/EGL/Loader.cpp
b4b4c11f82e88f9a1cecd97460a9fcc192b37612 04-Jun-2009 Mathias Agopian <mathias@google.com> fix/clean these Android.mk following dbort and joeo's comments
ibagl/Android.mk
ibs/Android.mk
ibs/EGL/Loader.cpp
3b2c69d3b50508fe26e5142bcd00c3ea47109950 04-Jun-2009 Mathias Agopian <mathias@google.com> am cede1ed3: fix [1610840] Positional light doesn\'t work correctly on emulator

Merge commit 'cede1ed3e1721dc4a697a540388ef0f4b51c60eb'

* commit 'cede1ed3e1721dc4a697a540388ef0f4b51c60eb':
fix [1610840] Positional light doesn't work correctly on emulator
411c77df9e0ef419df8a3fdb18c9ef331aad9335 04-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5de674e1: Merge change 3013 into donut

Merge commit '5de674e1cbd6e43b6d7954ccacf5cd709b30265d'

* commit '5de674e1cbd6e43b6d7954ccacf5cd709b30265d':
Adding missing callback onJsConfirm to dismiss any confirmation dialogs
fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.
cede1ed3e1721dc4a697a540388ef0f4b51c60eb 03-Jun-2009 Mathias Agopian <mathias@google.com> fix [1610840] Positional light doesn't work correctly on emulator

This bug was introduced when lighting computations was changed from eye-space to object-space.
The light position need to be transformed back to object-space each time the modelview matrix changes which requires us to compute the inverse of the modelview matrix. This computation was done with the assumption that normals where transformed (which was the case when the computation was made in eye-space), however, normals only require the inverse of the upper 3x3 matrix while transforming positions requires the inverse of the whole matrix.
This caused the interesting behavior that lights were more-or-less transformed properly, but not translated at all, which caused improper lighting with directional lights in particular.

There was also another smaller bug affecting directional lights: when vertices are read, only the active component are read, the other ones are ignored, later, the transformation operations are set up to ignore the unset values, howver, in the case of lighting, we use the vertex in object space (that is, before it is transformed), and therefore were using uninitalized values; in particular w.
ibagl/array.cpp
ibagl/light.cpp
ibagl/matrix.cpp
5de674e1cbd6e43b6d7954ccacf5cd709b30265d 04-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3013 into donut

* changes:
fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.
9081cd577889ea96075a3034611c0762f3e3d27e 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5f784df5: Merge change 3011 into donut

Merge commit '5f784df5680e07f6cbc5d929560dfadc0e22db3b'

* commit '5f784df5680e07f6cbc5d929560dfadc0e22db3b':
simplify this test
7c7dface993a66778c506179ae11cadd6a88f7b1 03-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug in GL lighting where the specular component could be ommited when vertex material was disabled.

the specular enable flag wasn't computed in that case.
ibagl/light.cpp
de15ddc86ce4d3c3acdff297c75ef56f65e10457 03-Jun-2009 Mathias Agopian <mathias@google.com> simplify this test
ests/lighting1709/src/com/android/lightingtest/ClearActivity.java
1727e34757f6f407d0f2fa5e1cb2f6be3e2eda30 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7728be03: Merge change 2896 into donut

Merge commit '7728be035f5b3b814ef4455d1742d069dbcffb61'

* commit '7728be035f5b3b814ef4455d1742d069dbcffb61':
added a test that exhibits some lighting issues in the software renderer. see external bug 1709
46d7ccb403f416fbebf22c8ea2669a9d00fc74f7 02-Jun-2009 Mathias Agopian <mathias@google.com> added a test that exhibits some lighting issues in the software renderer. see external bug 1709
ests/lighting1709/Android.mk
ests/lighting1709/AndroidManifest.xml
ests/lighting1709/src/com/android/lightingtest/ClearActivity.java
9d17c057bdb9da5fa991a2c3efebe453106ca0a7 29-May-2009 Mathias Agopian <mathias@google.com> implement a real loader for EGL drivers

we now look for a config file in /system/lib/egl/egl.cfg that describes the association of a display to a driver.
these drivers are named: /system/lib/egl/lib{[EGL|GLESv1_CM|GLESv2] | GLES}_$TAG.so
ibagl/Android.mk
ibs/Android.mk
ibs/EGL/Loader.cpp
ibs/EGL/Loader.h
ibs/EGL/egl.cpp
ibs/EGL/hooks.cpp
ibs/egl_impl.h
ibs/hooks.h
2820bd4eda4c75457007f11eb9d98da9bff24a27 28-May-2009 Mathias Agopian <mathias@google.com> Added most of the support needed for GLES 2.x
nclude/GLES2/gl2platform.h
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/egl_entries.in
ibs/GLES2/gl2.cpp
ibs/GLES2/gl2_api.in
ibs/GLES2/gl2_entries.in
ibs/GLES2/gl2ext_api.in
ibs/GLES2/gl2ext_entries.in
ibs/GLES_CM/gl_entries.in
ibs/GLES_CM/glext_entries.in
ibs/egl_entries.in
ibs/gl_entries.in
ibs/gl_enums.in
ibs/glext_entries.in
ibs/hooks.h
ibs/tools/enumextract.sh
ibs/tools/genfiles
ibs/tools/glapigen
ibs/tools/glentrygen
f5fbc7983a85f42ec891decbae3581185c8428ab 28-May-2009 Mathias Agopian <mathias@google.com> minor modifications to the official GLES 2.x headers

- changed glTexImage2D() declaration so it matches that of GLES 1.x; otherwise we can't include both headers (!!!)
- added parameter names to the declaration of some extensions (this is needed by glapigen and glentrygen)
nclude/GLES2/gl2.h
nclude/GLES2/gl2ext.h
d53c8ee26b9e6703633033ea51f4f7c21b253dd1 28-May-2009 Mathias Agopian <mathias@google.com> add GLES 2.x headers
nclude/GLES2/gl2.h
nclude/GLES2/gl2ext.h
947f4f4d384ea26eb2145cc070a3eed42c59534a 22-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
931eb395528ab2c392d4316071dea5c7fd4b3f60 21-May-2009 Android (Google) Code Review <android-gerrit@google.com> am bb7b7b31: Merge change 2152 into donut

Merge commit 'bb7b7b316a6a15f4df6af3c62a293920c68c7b00'

* commit 'bb7b7b316a6a15f4df6af3c62a293920c68c7b00':
make sure to fail to software when the h/w renderer cannot be initialized
16da7959a072da0d5fdc3a774fa01fb4d811d46f 21-May-2009 Mathias Agopian <mathias@google.com> make sure to fail to software when the h/w renderer cannot be initialized
ibs/EGL/gpu.cpp
0795272aa226f4e965968a03daddc53ce30b7cda 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
ibs/EGL/gpu.cpp
25ba5b6564224dceefa086b5c439ef28dad530ca 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder
ibs/Android.mk
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
nclude/GLES/glext.h
nclude/KHR/khrplatform.h
ava/android/opengl/GLES10.java
ava/android/opengl/GLES10Ext.java
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ava/android/opengl/GLU.java
ava/com/google/android/gles_jni/GLImpl.java
ibagl/Android.mk
ibagl/egl.cpp
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/gl_logger.cpp
ibs/GLES_CM/glext_api.in
ibs/egl_entries.in
ibs/egl_impl.h
ibs/gl_entries.in
ibs/gl_logger.h
ibs/glext_entries.in
ibs/hooks.h
ibs/tools/genfiles
ibs/tools/glapigen
ibs/tools/glentrygen
ools/glgen/.gitignore
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/specs/gles11/GLES10.spec
ools/glgen/specs/gles11/GLES10Ext.spec
ools/glgen/specs/gles11/GLES11.spec
ools/glgen/specs/gles11/GLES11Ext.spec
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-1.0
ools/glgen/specs/jsr239/glspec-1.0ext
ools/glgen/specs/jsr239/glspec-1.1
ools/glgen/specs/jsr239/glspec-1.1ext
ools/glgen/specs/jsr239/glspec-1.1extpack
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/.gitignore
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GLESCodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
ools/glgen/stubs/gles11/GLES10ExtHeader.java-if
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10Header.java-if
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/glGetString.cpp
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glGetString.nativeReg
ools/glgen/stubs/jsr239/GL10ExtHeader.java-if
ools/glgen/stubs/jsr239/GL10Header.java-if
ools/glgen/stubs/jsr239/GL11ExtHeader.java-if
ools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/jsr239/GL11Header.java-if
ools/glgen/stubs/jsr239/GL11ImplHeader.java-impl
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLHeader.java-if
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ools/glgen/stubs/jsr239/glGetString.cpp
ools/glgen/stubs/jsr239/glGetString.java-10-if
ools/glgen/stubs/jsr239/glGetString.java-if
ools/glgen/stubs/jsr239/glGetString.java-impl
ools/glgen/stubs/jsr239/glGetString.nativeReg
b7b648f367e76e6f0bf5f6e01ad6af112e6ec5fc 18-May-2009 Mathias Agopian <mathias@google.com> libGLESv1_CM.so doesn't need to depend on libutils or libui
ibs/Android.mk
11be99de5f3901c32130ea4c5fd52e62e1845e73 18-May-2009 Mathias Agopian <mathias@google.com> remove libEGL and libGLESv1_CM dependencies on libutils and libui
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
16e7972f0d986eebf846ea8feb50f4435a9c6970 16-May-2009 Jack Palevich <jackpal@google.com> Fix bug 1856713 gl Pointer functions should use Buffer position

JSR239 and android.opengl gl Pointer functions (glColorPointer, etc.)
now respect the current setting of the Buffer position.

This fixes a regression introduced when we started requiring the
Buffers passed to the Pointer functions to be direct Buffers.
ools/glgen/src/JniCodeEmitter.java
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/jsr239/GLCHeader.cpp
11abc8a36d639775b05a0471c9ea45d83fa19e56 15-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
3cc68d28c7636fc8d0524155fc062991e7f85f63 13-May-2009 Mathias Agopian <mathias@google.com> should help fix the Simulator build.
ibs/EGL/egl.cpp
8331f72078051cdf5a26230ee819f7ef7f9fcc24 09-May-2009 Mathias Agopian <mathias@google.com> remove the gl{Vertex|Color|TexCoord|Normal}PointerBounds() "extension" fro eglext.h
nclude/GLES/glext.h
ibs/GLES_CM/gl.cpp
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/jsr239/GLCHeader.cpp
778fb15a010bdac0a3721193ff125fcec8e7312c 09-May-2009 Mathias Agopian <mathias@google.com> should fix the build.
ibs/EGL/gpu.cpp
cb29e6237d7f471a28f8e73116e131f257d9842f 09-May-2009 Mathias Agopian <mathias@google.com> only export the GL entry-points, hide everything else.

Conflicts:

opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
nclude/GLES/glext.h
nclude/KHR/khrplatform.h
ibagl/Android.mk
ibs/Android.mk
ibs/egl_impl.h
6ec72e3fa9cdf9e896f3042fb1b1b4f3f6cea541 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
e20ea783a12f1031482c3aa01938efe39dcbf0a2 08-May-2009 Jack Palevich <jackpal@google.com> Require native-order direct buffers for glXXXPointer APIs.

This was always a documented restriction, but was not enforced by the runtime until now.

Until now, if you passed in some other kind of buffer, it would sometimes work, and
sometimes fail. The failures happened when the Java VM moved the buffer data while
OpenGL was still holding a pointer to it.

Now we throw an exception rather than leaving the system in a potentially bad state.
ava/android/opengl/GLES10.java
ava/com/google/android/gles_jni/GLImpl.java
ools/glgen/src/JniCodeEmitter.java
927d37cb788670b91af0f1a7a93c68046a838d23 07-May-2009 Mathias Agopian <mathias@google.com> fix EGL extension string names
ibagl/egl.cpp
ibs/EGL/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.
nclude/EGL/eglext.h
ibagl/egl.cpp
ibs/EGL/egl.cpp
ibs/egl_entries.in
be509c9c7de5929d014dfe6d45e71cc8454ede0f 07-May-2009 Jack Palevich <jackpal@google.com> Fix automatically generated code for glGet

Remove include of an internal agl header file. We should not depend on any implementation details
of our software renderer, since they may not be correct if another renderer is used.
Fix glGet number-of-elements logic for GL_FOG_COLOR GL_LIGHT_MODEL_AMBIENT,
and GL_COMPRESSED_TEXTURE_FORMATS.
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/jsr239/GLCHeader.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.
ibagl/TextureObjectManager.cpp
ibagl/egl.cpp
ibagl/texture.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
nclude/EGL/android_natives.h
nclude/EGL/eglplatform.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/egl.cpp
ibagl/texture.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.
nclude/EGL/android_natives.h
ibagl/egl.cpp
ibagl/texture.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.
nclude/EGL/android_natives.h
ibagl/egl.cpp
ibagl/texture.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
nclude/EGL/android_natives.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/array.cpp
ibagl/egl.cpp
ibagl/texture.cpp
ibagl/texture.h
ests/copybits/Android.mk
fa6eda01a9f3df0102ce6a65302c8674cc9c7e50 30-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
libs/surfaceflinger/Layer.cpp
libs/surfaceflinger/SurfaceFlinger.cpp
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/GLES_CM/gl.cpp
opengl/libs/GLES_CM/gl_api.in
opengl/libs/gl_entries.in
opengl/libs/tools/glapigen
799af8dd1dd7e01c9ded23bed30749e20f68c8e5 25-Apr-2009 Mathias Agopian <mathias@google.com> oops forgot to remove a LOGD when loading an opengl driver
ibs/EGL/egl.cpp
9e8ca9a19c8625b22f37c2f8c0ac841d1f10d25a 24-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 551 into donut

* changes:
Enable static Java APIs for OpenGL ES 1.1 extensions.
a379585e6e3ff41db6d71a5cd0a0403931bc525d 24-Apr-2009 Jack Palevich <jackpal@google.com> Enable static Java APIs for OpenGL ES 1.1 extensions.

This is just plumbing. The Java APIs existed already, but there were no C APIs to hook the Java APIs
up to. Now there are C APIs, so we can call them.

Of course, whether or not the C APIs actually work when you call them depend upon the
capabilities of the active OpenGL driver, which must be checked at run time.

Also, while we're here, make the glGetString method static. It was always supposed to be static,
but was accidentally implemented as non-static, because the code was copied from the non-static
OpenGL ES classes.
ava/android/opengl/GLES10.java
ools/glgen/specs/gles11/checks.spec
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glGetString.nativeReg
04ae634a5ab8398c5d10dcac94da25101a141300 24-Apr-2009 Mathias Agopian <mathias@google.com> Make sure to map undefined OES functions to their non-OES counterpart if it exists.
ibs/EGL/egl.cpp
1feecd831003e693df95521a2baae4b9aec28843 24-Apr-2009 Mathias Agopian <mathias@google.com> use gl.h to generate the *.in files. we are now supporting the full gl.h and glext.h apis.
ibs/EGL/egl.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/glext_api.in
ibs/gl_entries.in
ibs/gl_logger.h
ibs/glext_entries.in
ibs/hooks.h
ibs/tools/genfiles
ibs/tools/glapigen
ibs/tools/glentrygen
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.
ibagl/egl.cpp
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/gl_logger.cpp
ibs/egl_entries.in
ibs/gl_entries.in
ibs/hooks.h
ibs/tools/glapigen
13b3b5c9b2594fe2a42e479ae4f3f733fce911dc 17-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
1c4907ee77392afb768c2f088e0dedbe4239f6fb 14-Apr-2009 Jack Palevich <jackpal@google.com> Manually merge 129, 174, and 233 from donut

This adds a static OpenGL ES API.

Here are the three commit messages for the original changes:

Clean up trivial Eclipse warnings and fix whitespace.

Added @Override to overridden methods.
Removed unused imports.
Converted tabs to spaces.
Removed \r characters from end-of-lines.
Add .gitignore file to ignore the .class files that are
generated when the "gen" script is run.

This is the 2nd commit message:

Improve glgen

+ gen script is really a bash script rather than a sh script,
so declare that to be true. (For example, it uses pushd,
which is a part of bash, but not a part of sh. Not sure
how this worked until now. Possibly gen was only run in
environments where /bin/sh was really bash.

+ Check the results of the java compile of the code generator,
and abort the script if the compile fails.

+ Turn on the bash shell option that guards against using
uninitialized variables in the script.

+ Remove the generated class files.

Refactor JniCodeEmitter into two classes: a general-purpose
JniCodeEmitter and a specific Jsr239CodeEmitter. The hope is
to use JniCodeEmitter as a base for emitting static OpenGL ES
bindings.

This is the 3rd commit message:

Add an Android-specific static OpenGL ES 1.1 Java API.

This change adds four new public classes that expose a static OpenGL ES 1.1 API:

android.opengl.GLES10
android.opengl.GLES10Ext
android.opengl.GLES11
android.opengl.GLES11Ext

Benefits:

+ The static API is slightly faster (1% to 4%) than the existing Interface based JSR239 API.
+ The static API is similar to the C API, which should make it easier to import C-based
example code.
+ The static API provides a clear path for adding new OpenGL ES 1.1 extensions
and OpenGL ES 2.0 APIs, neither of which currently have a JSR standard.

Example:

import static android.opengl.GLES10.*;

...

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

Note that it is possible to mix-and-match calls to both the static and JSR239 APIs.
This works because neither API maintains state. They both call through to the same underlying
C OpenGL ES APIs.

Implementation details:

This change enhances the "glgen" "gen" script to generate both the original JSR239 and
new static OpenGL ES APIs. The contents of the generated JSR239 classes remained the same as before,
so there is no need to check in new versions of the generated JSR239 classes.

As part of this work the gen script was updated to be somewhat more robust, and to
work with git instead of perforce. The script prints out commands to git add the generated files,
but leaves it up to the script runner to actually execute those commands.
ava/android/opengl/GLES10.java
ava/android/opengl/GLES10Ext.java
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ools/glgen/.gitignore
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/specs/gles11/GLES10.spec
ools/glgen/specs/gles11/GLES10Ext.spec
ools/glgen/specs/gles11/GLES11.spec
ools/glgen/specs/gles11/GLES11Ext.spec
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-1.0
ools/glgen/specs/jsr239/glspec-1.0ext
ools/glgen/specs/jsr239/glspec-1.1
ools/glgen/specs/jsr239/glspec-1.1ext
ools/glgen/specs/jsr239/glspec-1.1extpack
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/.gitignore
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GLESCodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
ools/glgen/stubs/gles11/GLES10ExtHeader.java-if
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10Header.java-if
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/glGetString.cpp
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glGetString.nativeReg
ools/glgen/stubs/jsr239/GL10ExtHeader.java-if
ools/glgen/stubs/jsr239/GL10Header.java-if
ools/glgen/stubs/jsr239/GL11ExtHeader.java-if
ools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/jsr239/GL11Header.java-if
ools/glgen/stubs/jsr239/GL11ImplHeader.java-impl
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLHeader.java-if
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ools/glgen/stubs/jsr239/glGetString.cpp
ools/glgen/stubs/jsr239/glGetString.java-10-if
ools/glgen/stubs/jsr239/glGetString.java-if
ools/glgen/stubs/jsr239/glGetString.java-impl
ools/glgen/stubs/jsr239/glGetString.nativeReg
27f8002e591b5c579f75b2580183b5d1c4219cd4 16-Apr-2009 Jack Palevich <jackpal@google.com> Add an Android-specific static OpenGL ES 1.1 Java API.

This change adds four new public classes that expose a static OpenGL ES 1.1 API:

android.opengl.GLES10
android.opengl.GLES10Ext
android.opengl.GLES11
android.opengl.GLES11Ext

Benefits:

+ The static API is slightly faster (1% to 4%) than the existing Interface based JSR239 API.
+ The static API is similar to the C API, which should make it easier to import C-based
example code.
+ The static API provides a clear path for adding new OpenGL ES 1.1 extensions
and OpenGL ES 2.0 APIs, neither of which currently have a JSR standard.

Example:

import static android.opengl.GLES10.*;

...

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

Note that it is possible to mix-and-match calls to both the static and JSR239 APIs.
This works because neither API maintains state. They both call through to the same underlying
C OpenGL ES APIs.

Implementation details:

This change enhances the "glgen" "gen" script to generate both the original JSR239 and
new static OpenGL ES APIs. The contents of the generated JSR239 classes remained the same as before,
so there is no need to check in new versions of the generated JSR239 classes.

As part of this work the gen script was updated to be somewhat more robust, and to
work with git instead of perforce. The script prints out commands to git add the generated files,
but leaves it up to the script runner to actually execute those commands.
ava/android/opengl/GLES10.java
ava/android/opengl/GLES10Ext.java
ava/android/opengl/GLES11.java
ava/android/opengl/GLES11Ext.java
ools/glgen/.gitignore
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/specs/gles11/GLES10.spec
ools/glgen/specs/gles11/GLES10Ext.spec
ools/glgen/specs/gles11/GLES11.spec
ools/glgen/specs/gles11/GLES11Ext.spec
ools/glgen/specs/gles11/checks.spec
ools/glgen/specs/jsr239/glspec-1.0
ools/glgen/specs/jsr239/glspec-1.0ext
ools/glgen/specs/jsr239/glspec-1.1
ools/glgen/specs/jsr239/glspec-1.1ext
ools/glgen/specs/jsr239/glspec-1.1extpack
ools/glgen/specs/jsr239/glspec-checks
ools/glgen/src/GLESCodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/GenerateGLES.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
ools/glgen/stubs/gles11/GLES10ExtHeader.java-if
ools/glgen/stubs/gles11/GLES10ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES10Header.java-if
ools/glgen/stubs/gles11/GLES10cHeader.cpp
ools/glgen/stubs/gles11/GLES11ExtHeader.java-if
ools/glgen/stubs/gles11/GLES11ExtcHeader.cpp
ools/glgen/stubs/gles11/GLES11Header.java-if
ools/glgen/stubs/gles11/GLES11cHeader.cpp
ools/glgen/stubs/gles11/glGetString.cpp
ools/glgen/stubs/gles11/glGetString.java
ools/glgen/stubs/gles11/glGetString.nativeReg
ools/glgen/stubs/jsr239/GL10ExtHeader.java-if
ools/glgen/stubs/jsr239/GL10Header.java-if
ools/glgen/stubs/jsr239/GL11ExtHeader.java-if
ools/glgen/stubs/jsr239/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/jsr239/GL11Header.java-if
ools/glgen/stubs/jsr239/GL11ImplHeader.java-impl
ools/glgen/stubs/jsr239/GLCHeader.cpp
ools/glgen/stubs/jsr239/GLHeader.java-if
ools/glgen/stubs/jsr239/GLImplHeader.java-impl
ools/glgen/stubs/jsr239/glGetString.cpp
ools/glgen/stubs/jsr239/glGetString.java-10-if
ools/glgen/stubs/jsr239/glGetString.java-if
ools/glgen/stubs/jsr239/glGetString.java-impl
ools/glgen/stubs/jsr239/glGetString.nativeReg
4e70a9e4627f42671d0671f2fda2ade7a19879bb 15-Apr-2009 Jack Palevich <jackpal@google.com> Improve glgen

+ gen script is really a bash script rather than a sh script,
so declare that to be true. (For example, it uses pushd,
which is a part of bash, but not a part of sh. Not sure
how this worked until now. Possibly gen was only run in
environments where /bin/sh was really bash.

+ Check the results of the java compile of the code generator,
and abort the script if the compile fails.

+ Turn on the bash shell option that guards against using
uninitialized variables in the script.

+ Remove the generated class files.

Refactor JniCodeEmitter into two classes: a general-purpose
JniCodeEmitter and a specific Jsr239CodeEmitter. The hope is
to use JniCodeEmitter as a base for emitting static OpenGL ES
bindings.
ools/glgen/gen
ools/glgen/src/GenerateGL.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/Jsr239CodeEmitter.java
e909ae55e3dc4e14e926df7548bb7407530d09ad 14-Apr-2009 Jack Palevich <jackpal@google.com> Add clarifying comment.

(Primarily as a test of the master_gl branch.)
ests/copybits/copybits.cpp
3cae8fede973a66c10ee07446e8dd8d7c2ead2c1 14-Apr-2009 Jack Palevich <jackpal@google.com> Clean up trivial Eclipse warnings and fix whitespace.

Added @Override to overridden methods.
Removed unused imports.
Converted tabs to spaces.
Removed \r characters from end-of-lines.
Add .gitignore file to ignore the .class files that are
generated when the "gen" script is run.
ools/glgen/src/.gitignore
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
af9a515299b24031c7aa77bf163d0985cc862069 11-Apr-2009 Mathias Agopian <mathias@google.com> more debugging tools around BufferMapper
ibagl/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.
nclude/EGL/android_natives.h
nclude/EGL/eglplatform.h
nclude/GLES/glplatform.h
ibagl/Android.mk
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/array.cpp
ibagl/copybit.cpp
ibagl/copybit.h
ibagl/egl.cpp
ibagl/state.cpp
ibagl/texture.cpp
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/egl_entries.in
ibs/egl_impl.h
ibs/gl_entries.in
ibs/hooks.h
ibs/tools/glapigen
ests/copybits/Android.mk
ests/copybits/copybits.cpp
3e832dbe966c2ca0fde2f4bd87ad9c974a93a7cf 10-Apr-2009 Jack Palevich <> AI 145534: am: CL 145526 am: CL 145249 Correct misspelling of constant RENDERMODE_CONTUOUSLY --> RENDERMODE_CONTINUOUSLY
Original author: jackpal
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145534
ava/android/opengl/GLSurfaceView.java
b1970201ecedde4cee25ded12efd5b09e976a6f1 10-Apr-2009 Jack Palevich <> AI 145526: am: CL 145249 Correct misspelling of constant RENDERMODE_CONTUOUSLY --> RENDERMODE_CONTINUOUSLY
Original author: jackpal
Merged from: //branches/cupcake/...

Automated import of CL 145526
ava/android/opengl/GLSurfaceView.java
b47c641fe8330fc68dbed91163ff07015068d0ce 09-Apr-2009 Jack Palevich <> AI 145531: am: CL 145523 am: CL 145244 Fully document GLSurfaceView and related classes.
Original author: jackpal
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145531
ava/android/opengl/GLSurfaceView.java
23cda69aaa82718ad9cd29220b5b11b0de205493 09-Apr-2009 Jack Palevich <> AI 145523: am: CL 145244 Fully document GLSurfaceView and related classes.
Original author: jackpal
Merged from: //branches/cupcake/...

Automated import of CL 145523
ava/android/opengl/GLSurfaceView.java
93f411386a570082f25996cb373bc338c6beee7a 09-Apr-2009 Jack Palevich <> AI 145249: Correct misspelling of constant RENDERMODE_CONTUOUSLY --> RENDERMODE_CONTINUOUSLY
BUG=1766678

Automated import of CL 145249
ava/android/opengl/GLSurfaceView.java
722a96cbb4236fa8b4d84f7b1e1b64b30e656cd0 09-Apr-2009 Jack Palevich <> AI 145244: Fully document GLSurfaceView and related classes.
BUG=1766685

Automated import of CL 145244
ava/android/opengl/GLSurfaceView.java
5cb6f988b2423f4c2ce4445132fd7f3295f6efb7 03-Apr-2009 Jack Palevich <> AI 144401: am: CL 144282 Tweak this tool to work with the current directory structure.
Also leave the "generated" directory around if it contains files that
need to be checked in.
Original author: jackpal

Automated import of CL 144401
ools/glgen/gen
c005f8b8ba22c204f32fa032ab7211f51bf4d677 02-Apr-2009 Jack Palevich <> AI 144282: Tweak this tool to work with the current directory structure.
Also leave the "generated" directory around if it contains files that
need to be checked in.

Automated import of CL 144282
ools/glgen/gen
b2e0cf3553ee5789e604dcb5483aa1d7e9ef2885 25-Mar-2009 Jack Palevich <> Automated import from //branches/master/...@142688,142688
ava/android/opengl/GLU.java
b8488808899d27ea3d2c9d0091745012e13e3554 25-Mar-2009 Jack Palevich <> Automated import from //branches/donutburger/...@142687,142687
ava/android/opengl/GLU.java
a605a51e63de2e7dc99ed085639a6f12b7f85af7 25-Mar-2009 Jack Palevich <> Automated import from //branches/master/...@142658,142658
ava/android/opengl/GLSurfaceView.java
1badb712b94f5d4a14ca8c3bdb55c215a4915000 25-Mar-2009 Jack Palevich <> Automated import from //branches/master/...@142578,142578
ibagl/egl.cpp
ibs/EGL/egl.cpp
c2310f32b0a1373012fd4a2db8cebdb46507b901 25-Mar-2009 Jack Palevich <> Automated import from //branches/donutburger/...@142486,142486
ava/android/opengl/GLSurfaceView.java
4c7533cfc81a0dda4c25355e86558199accab3ea 25-Mar-2009 Jack Palevich <> Automated import from //branches/donutburger/...@142484,142484
ibagl/egl.cpp
ibs/EGL/egl.cpp
708c17b4168404042852e480f25a91a02cf14247 25-Mar-2009 Jack Palevich <> Automated import from //branches/master/...@141860,141860
ava/android/opengl/GLUtils.java
0577b26b7fc0a0dba4445c7965e05e98d4253211 25-Mar-2009 Jack Palevich <> Automated import from //branches/donutburger/...@141859,141859
ava/android/opengl/GLUtils.java
50fd2b9ef212e604e6821f751f40838d27b1f88f 25-Mar-2009 Jack Palevich <> Automated import from //branches/cupcake/...@142485,142485
ava/android/opengl/GLSurfaceView.java
71b8a66f99ebfe60e90cb4710d5a001ff1c4b203 25-Mar-2009 Jack Palevich <> Automated import from //branches/cupcake/...@142481,142481
ibagl/egl.cpp
ibs/EGL/egl.cpp
c8405b6d02306d4cba4a169a4c24d7791dbaa0b4 25-Mar-2009 Jack Palevich <> Automated import from //branches/cupcake/...@141857,141857
ava/android/opengl/GLUtils.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
nclude/EGL/egl.h
nclude/EGL/eglext.h
nclude/EGL/eglnatives.h
nclude/EGL/eglplatform.h
nclude/GLES/egl.h
nclude/GLES/gl.h
nclude/GLES/glext.h
nclude/GLES/glplatform.h
nclude/KHR/khrplatform.h
ava/android/opengl/EGLLogWrapper.java
ava/android/opengl/GLDebugHelper.java
ava/android/opengl/GLErrorWrapper.java
ava/android/opengl/GLException.java
ava/android/opengl/GLLogWrapper.java
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/GLU.java
ava/android/opengl/GLUtils.java
ava/android/opengl/GLWrapperBase.java
ava/android/opengl/Group.java
ava/android/opengl/Material.java
ava/android/opengl/Matrix.java
ava/android/opengl/Object3D.java
ava/android/opengl/Texture.java
ava/android/opengl/Visibility.java
ava/android/opengl/package.html
ava/com/google/android/gles_jni/EGLConfigImpl.java
ava/com/google/android/gles_jni/EGLContextImpl.java
ava/com/google/android/gles_jni/EGLDisplayImpl.java
ava/com/google/android/gles_jni/EGLImpl.java
ava/com/google/android/gles_jni/EGLSurfaceImpl.java
ava/com/google/android/gles_jni/GLImpl.java
ava/javax/microedition/khronos/egl/EGL.java
ava/javax/microedition/khronos/egl/EGL10.java
ava/javax/microedition/khronos/egl/EGL11.java
ava/javax/microedition/khronos/egl/EGLConfig.java
ava/javax/microedition/khronos/egl/EGLContext.java
ava/javax/microedition/khronos/egl/EGLDisplay.java
ava/javax/microedition/khronos/egl/EGLSurface.java
ava/javax/microedition/khronos/opengles/GL.java
ava/javax/microedition/khronos/opengles/GL10.java
ava/javax/microedition/khronos/opengles/GL10Ext.java
ava/javax/microedition/khronos/opengles/GL11.java
ava/javax/microedition/khronos/opengles/GL11Ext.java
ava/javax/microedition/khronos/opengles/GL11ExtensionPack.java
ibagl/Android.mk
ibagl/BufferObjectManager.cpp
ibagl/BufferObjectManager.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/TokenManager.cpp
ibagl/TokenManager.h
ibagl/Tokenizer.cpp
ibagl/Tokenizer.h
ibagl/array.cpp
ibagl/array.h
ibagl/context.h
ibagl/dxt.cpp
ibagl/dxt.h
ibagl/egl.cpp
ibagl/fixed_asm.S
ibagl/fp.cpp
ibagl/fp.h
ibagl/iterators.S
ibagl/light.cpp
ibagl/light.h
ibagl/matrix.cpp
ibagl/matrix.h
ibagl/mipmap.cpp
ibagl/primitives.cpp
ibagl/primitives.h
ibagl/state.cpp
ibagl/state.h
ibagl/texture.cpp
ibagl/texture.h
ibagl/vertex.cpp
ibagl/vertex.h
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/gl_logger.cpp
ibs/egl_entries.in
ibs/egl_impl.h
ibs/gl_entries.in
ibs/gl_enums.in
ibs/gl_logger.h
ibs/hooks.h
ibs/tools/enumextract.sh
ests/Android.mk
ests/angeles/Android.mk
ests/angeles/MODULE_LICENSE_BSD_OR_LGPL
ests/angeles/README.txt
ests/angeles/app-linux.c
ests/angeles/app.h
ests/angeles/cams.h
ests/angeles/demo.c
ests/angeles/gpustate.c
ests/angeles/include/GLES/egl.h
ests/angeles/include/GLES/egltypes.h
ests/angeles/include/GLES/gl.h
ests/angeles/license-BSD.txt
ests/angeles/license-LGPL.txt
ests/angeles/license.txt
ests/angeles/shapes.h
ests/filter/Android.mk
ests/filter/filter.c
ests/finish/Android.mk
ests/finish/finish.c
ests/textures/Android.mk
ests/textures/textures.c
ests/tritex/Android.mk
ests/tritex/tritex.c
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/ParameterChecker.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
nclude/EGL/egl.h
nclude/EGL/eglext.h
nclude/EGL/eglnatives.h
nclude/EGL/eglplatform.h
nclude/GLES/egl.h
nclude/GLES/gl.h
nclude/GLES/glext.h
nclude/GLES/glplatform.h
nclude/KHR/khrplatform.h
ava/android/opengl/EGLLogWrapper.java
ava/android/opengl/GLDebugHelper.java
ava/android/opengl/GLErrorWrapper.java
ava/android/opengl/GLException.java
ava/android/opengl/GLLogWrapper.java
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/GLU.java
ava/android/opengl/GLUtils.java
ava/android/opengl/GLWrapperBase.java
ava/android/opengl/Group.java
ava/android/opengl/Material.java
ava/android/opengl/Matrix.java
ava/android/opengl/Object3D.java
ava/android/opengl/Texture.java
ava/android/opengl/Visibility.java
ava/android/opengl/package.html
ava/com/google/android/gles_jni/EGLConfigImpl.java
ava/com/google/android/gles_jni/EGLContextImpl.java
ava/com/google/android/gles_jni/EGLDisplayImpl.java
ava/com/google/android/gles_jni/EGLImpl.java
ava/com/google/android/gles_jni/EGLSurfaceImpl.java
ava/com/google/android/gles_jni/GLImpl.java
ava/javax/microedition/khronos/egl/EGL.java
ava/javax/microedition/khronos/egl/EGL10.java
ava/javax/microedition/khronos/egl/EGL11.java
ava/javax/microedition/khronos/egl/EGLConfig.java
ava/javax/microedition/khronos/egl/EGLContext.java
ava/javax/microedition/khronos/egl/EGLDisplay.java
ava/javax/microedition/khronos/egl/EGLSurface.java
ava/javax/microedition/khronos/opengles/GL.java
ava/javax/microedition/khronos/opengles/GL10.java
ava/javax/microedition/khronos/opengles/GL10Ext.java
ava/javax/microedition/khronos/opengles/GL11.java
ava/javax/microedition/khronos/opengles/GL11Ext.java
ava/javax/microedition/khronos/opengles/GL11ExtensionPack.java
ibagl/Android.mk
ibagl/BufferObjectManager.cpp
ibagl/BufferObjectManager.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/TokenManager.cpp
ibagl/TokenManager.h
ibagl/Tokenizer.cpp
ibagl/Tokenizer.h
ibagl/array.cpp
ibagl/array.h
ibagl/context.h
ibagl/dxt.cpp
ibagl/dxt.h
ibagl/egl.cpp
ibagl/fixed_asm.S
ibagl/fp.cpp
ibagl/fp.h
ibagl/iterators.S
ibagl/light.cpp
ibagl/light.h
ibagl/matrix.cpp
ibagl/matrix.h
ibagl/mipmap.cpp
ibagl/primitives.cpp
ibagl/primitives.h
ibagl/state.cpp
ibagl/state.h
ibagl/texture.cpp
ibagl/texture.h
ibagl/vertex.cpp
ibagl/vertex.h
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/gl_logger.cpp
ibs/egl_entries.in
ibs/egl_impl.h
ibs/gl_entries.in
ibs/gl_enums.in
ibs/gl_logger.h
ibs/hooks.h
ibs/tools/enumextract.sh
ests/Android.mk
ests/angeles/Android.mk
ests/angeles/MODULE_LICENSE_BSD_OR_LGPL
ests/angeles/README.txt
ests/angeles/app-linux.c
ests/angeles/app.h
ests/angeles/cams.h
ests/angeles/demo.c
ests/angeles/gpustate.c
ests/angeles/include/GLES/egl.h
ests/angeles/include/GLES/egltypes.h
ests/angeles/include/GLES/gl.h
ests/angeles/license-BSD.txt
ests/angeles/license-LGPL.txt
ests/angeles/license.txt
ests/angeles/shapes.h
ests/filter/Android.mk
ests/filter/filter.c
ests/finish/Android.mk
ests/finish/finish.c
ests/textures/Android.mk
ests/textures/textures.c
ests/tritex/Android.mk
ests/tritex/tritex.c
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/ParameterChecker.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ava/android/opengl/Matrix.java
ava/android/opengl/Visibility.java
ibagl/egl.cpp
ibs/EGL/egl.cpp
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
ava/android/opengl/Matrix.java
ava/android/opengl/Visibility.java
ibagl/egl.cpp
ibs/EGL/egl.cpp
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
ibs/EGL/egl.cpp
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
nclude/EGL/egl.h
nclude/EGL/eglext.h
nclude/EGL/eglnatives.h
nclude/EGL/eglplatform.h
nclude/GLES/egl.h
nclude/GLES/gl.h
nclude/GLES/glext.h
nclude/GLES/glplatform.h
nclude/KHR/khrplatform.h
ibGLES_CM/Android.mk
ibGLES_CM/egl_entries.cpp
ibGLES_CM/enumextract.sh
ibGLES_CM/gl_api.cpp
ibGLES_CM/gl_entries.cpp
ibGLES_CM/gl_enums.in
ibGLES_CM/gl_logger.cpp
ibGLES_CM/gl_logger.h
ibGLES_CM/gl_wrapper.cpp
ibagl/egl.cpp
ibagl/state.cpp
ibagl/texture.cpp
ibs/Android.mk
ibs/EGL/egl.cpp
ibs/EGL/gpu.cpp
ibs/GLES_CM/gl.cpp
ibs/GLES_CM/gl_api.in
ibs/GLES_CM/gl_logger.cpp
ibs/egl_entries.in
ibs/egl_impl.h
ibs/gl_entries.in
ibs/gl_enums.in
ibs/gl_logger.h
ibs/hooks.h
ibs/tools/enumextract.sh
ests/angeles/Android.mk
ests/angeles/app-linux.c
ests/filter/Android.mk
ests/filter/filter.c
ests/finish/Android.mk
ests/finish/finish.c
ests/sfsim/Android.mk
ests/sfsim/egl_surface.cpp
ests/sfsim/egl_surface.h
ests/sfsim/sfsim.c
ests/textures/Android.mk
ests/textures/textures.c
ests/tritex/Android.mk
ests/tritex/tritex.c
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
ibGLES_CM/Android.mk
ibGLES_CM/gl_wrapper.cpp
ibagl/Android.mk
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ava/android/opengl/GLDebugHelper.java
ava/android/opengl/GLSurfaceView.java
ava/android/opengl/GLU.java
ibGLES_CM/gl_wrapper.cpp
ibagl/TextureObjectManager.cpp
ibagl/array.cpp
ibagl/egl.cpp
ibagl/light.cpp
ibagl/matrix.cpp
ibagl/primitives.cpp
ibagl/vertex.cpp
ests/Android.mk
ests/angeles/Android.mk
ests/angeles/MODULE_LICENSE_BSD_OR_LGPL
ests/angeles/README.txt
ests/angeles/app-linux.c
ests/angeles/app.h
ests/angeles/cams.h
ests/angeles/demo.c
ests/angeles/gpustate.c
ests/angeles/include/GLES/egl.h
ests/angeles/include/GLES/egltypes.h
ests/angeles/include/GLES/gl.h
ests/angeles/license-BSD.txt
ests/angeles/license-LGPL.txt
ests/angeles/license.txt
ests/angeles/shapes.h
ests/filter/Android.mk
ests/filter/filter.c
ests/finish/Android.mk
ests/finish/finish.c
ests/sfsim/Android.mk
ests/sfsim/egl_surface.cpp
ests/sfsim/egl_surface.h
ests/sfsim/sfsim.c
ests/textures/Android.mk
ests/textures/textures.c
ests/tritex/Android.mk
ests/tritex/tritex.c
ools/glgen/gen
ools/glgen/glspec-1.0
ools/glgen/glspec-1.0ext
ools/glgen/glspec-1.1
ools/glgen/glspec-1.1ext
ools/glgen/glspec-1.1extpack
ools/glgen/glspec-checks
ools/glgen/src/CFunc.java
ools/glgen/src/CType.java
ools/glgen/src/CodeEmitter.java
ools/glgen/src/GenerateGL.java
ools/glgen/src/JFunc.java
ools/glgen/src/JType.java
ools/glgen/src/JniCodeEmitter.java
ools/glgen/src/ParameterChecker.java
ools/glgen/stubs/GL10ExtHeader.java-if
ools/glgen/stubs/GL10Header.java-if
ools/glgen/stubs/GL11ExtHeader.java-if
ools/glgen/stubs/GL11ExtensionPackHeader.java-if
ools/glgen/stubs/GL11Header.java-if
ools/glgen/stubs/GL11ImplHeader.java-impl
ools/glgen/stubs/GLCHeader.cpp
ools/glgen/stubs/GLHeader.java-if
ools/glgen/stubs/GLImplHeader.java-impl
ools/glgen/stubs/glGetString.cpp
ools/glgen/stubs/glGetString.java-10-if
ools/glgen/stubs/glGetString.java-if
ools/glgen/stubs/glGetString.java-impl
ools/glgen/stubs/glGetString.nativeReg
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ava/android/opengl/EGLLogWrapper.java
ava/android/opengl/GLDebugHelper.java
ava/android/opengl/GLErrorWrapper.java
ava/android/opengl/GLException.java
ava/android/opengl/GLLogWrapper.java
ava/android/opengl/GLU.java
ava/android/opengl/GLUtils.java
ava/android/opengl/GLWrapperBase.java
ava/android/opengl/Group.java
ava/android/opengl/Material.java
ava/android/opengl/Matrix.java
ava/android/opengl/Object3D.java
ava/android/opengl/Texture.java
ava/android/opengl/Visibility.java
ava/android/opengl/package.html
ava/com/google/android/gles_jni/EGLConfigImpl.java
ava/com/google/android/gles_jni/EGLContextImpl.java
ava/com/google/android/gles_jni/EGLDisplayImpl.java
ava/com/google/android/gles_jni/EGLImpl.java
ava/com/google/android/gles_jni/EGLSurfaceImpl.java
ava/com/google/android/gles_jni/GLImpl.java
ava/javax/microedition/khronos/egl/EGL.java
ava/javax/microedition/khronos/egl/EGL10.java
ava/javax/microedition/khronos/egl/EGL11.java
ava/javax/microedition/khronos/egl/EGLConfig.java
ava/javax/microedition/khronos/egl/EGLContext.java
ava/javax/microedition/khronos/egl/EGLDisplay.java
ava/javax/microedition/khronos/egl/EGLSurface.java
ava/javax/microedition/khronos/opengles/GL.java
ava/javax/microedition/khronos/opengles/GL10.java
ava/javax/microedition/khronos/opengles/GL10Ext.java
ava/javax/microedition/khronos/opengles/GL11.java
ava/javax/microedition/khronos/opengles/GL11Ext.java
ava/javax/microedition/khronos/opengles/GL11ExtensionPack.java
ibGLES_CM/Android.mk
ibGLES_CM/egl_entries.cpp
ibGLES_CM/enumextract.sh
ibGLES_CM/gl_api.cpp
ibGLES_CM/gl_entries.cpp
ibGLES_CM/gl_enums.in
ibGLES_CM/gl_logger.cpp
ibGLES_CM/gl_logger.h
ibGLES_CM/gl_wrapper.cpp
ibagl/Android.mk
ibagl/BufferObjectManager.cpp
ibagl/BufferObjectManager.h
ibagl/TextureObjectManager.cpp
ibagl/TextureObjectManager.h
ibagl/TokenManager.cpp
ibagl/TokenManager.h
ibagl/Tokenizer.cpp
ibagl/Tokenizer.h
ibagl/array.cpp
ibagl/array.h
ibagl/context.h
ibagl/dxt.cpp
ibagl/dxt.h
ibagl/egl.cpp
ibagl/fixed_asm.S
ibagl/fp.cpp
ibagl/fp.h
ibagl/iterators.S
ibagl/light.cpp
ibagl/light.h
ibagl/matrix.cpp
ibagl/matrix.h
ibagl/mipmap.cpp
ibagl/primitives.cpp
ibagl/primitives.h
ibagl/state.cpp
ibagl/state.h
ibagl/texture.cpp
ibagl/texture.h
ibagl/vertex.cpp
ibagl/vertex.h