History log of /frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
01c26ea89d4bbea3cf550e9328742302dd9a2b25 24-Feb-2014 Ashok Bhat <ashok.bhat@arm.com> Use reinterpret_cast when an integer is cast to a pointer

Note that files changed in this patch have been generated
by running frameworks/native/opengl/tools/glgen/gen script.

Change-Id: Iff3ac2e804af41b9a6ec073fd65019c6806fe821
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
01994c79f4e39db08a343fc9db23e771e670ef39 14-Oct-2013 synergydev <synergye@codefi.re> core: fix arithmetic on a pointer to void

Use char* instead of void* for this
pointer arithmetic. Fixes the following:

error: arithmetic on a pointer to void
buf = buf + offset;
~~~ ^

Change-Id: I6cfc92c9240fda66a52e780cda7820fdba76914a
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
428d3fcbe3596b18549cdada9fc68a29f159a946 25-Sep-2013 Elliott Hughes <enh@google.com> Regenerate all the OpenGL stubs.

Bug: https://code.google.com/p/android/issues/detail?id=60390
Change-Id: I2e6f210178f656a5f08a1fcd4239581d680329a6
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
15284dee8efe6b4d1441ab040962077614b5061a 23-Feb-2013 Mathias Agopian <mathias@google.com> regenerate GLES java bindings

- added most missing validation checks
- glGet* validation reimplement from khronos documentation

Bug: 7402895

Change-Id: I92a805bb1aba1600d3372dc2db22eab08c975d7f
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
37c9b49ab5eb5a676370fd7081db0967c38e97a6 24-Jul-2012 Thomas Tafertshofer <tafertth@google.com> New bindings generated by glgen

Fixes crash of methods when NULL was used as a
(valid) parameter for a nio.buffer argument.

Bug: 6845189
Change-Id: Iae379d607bbca15d6d23e74e852f94c7f68637f9
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
17045a16575ece34cfadb63da4791f115625df78 12-Jul-2012 Thomas Tafertshofer <tafertth@google.com> Updated OpenGL bindings to fix nio buffer crash

Contains the updated OpenGL bindings generated by glgen.
Fixes a bug with methods that have more then one nio buffer argument.

Bug: 6772416
Change-Id: I6d50ce79669edd43dbe414e499660cdd55eb4893
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
2545b32ced69100fe70685b95315c6adf411083b 28-Jun-2012 Thomas Tafertshofer <tafertth@google.com> Fixed exception caused crash in GL bindings

Bug: 6709865
Change-Id: Iab55a9eda2ec686710872abf0ff2ebbdf382f77c
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
8a4de4be9ed522c704a45a44a265669e10a8f2eb 28-Jan-2010 Jack Palevich <jackpal@google.com> Implement the GL11ExtensionPack APIs.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
8331f72078051cdf5a26230ee819f7ef7f9fcc24 09-May-2009 Mathias Agopian <mathias@google.com> remove the gl{Vertex|Color|TexCoord|Normal}PointerBounds() "extension" fro eglext.h
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
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.
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/jni/com_google_android_gles_jni_GLImpl.cpp