summaryrefslogtreecommitdiffstats
path: root/opengl/tools/glgen/stubs/gles11
diff options
context:
space:
mode:
authorJack Palevich <jackpal@google.com>2009-05-15 18:13:34 -0700
committerJack Palevich <jackpal@google.com>2009-05-15 18:13:34 -0700
commit6eedc8d3b598163f797a2f75d05fdc20809a4364 (patch)
treed636adb4fdda5973e9ae3acef536ab7a8c08d2e7 /opengl/tools/glgen/stubs/gles11
parentcc38f9745e5c5f4c04294f940663035c181d7cca (diff)
downloadframeworks_native-6eedc8d3b598163f797a2f75d05fdc20809a4364.zip
frameworks_native-6eedc8d3b598163f797a2f75d05fdc20809a4364.tar.gz
frameworks_native-6eedc8d3b598163f797a2f75d05fdc20809a4364.tar.bz2
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.
Diffstat (limited to 'opengl/tools/glgen/stubs/gles11')
-rw-r--r--opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp b/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp
index 3948fd3..e1c09f4 100644
--- a/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp
+++ b/opengl/tools/glgen/stubs/gles11/GLES10cHeader.cpp
@@ -132,6 +132,19 @@ releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
commit ? 0 : JNI_ABORT);
}
+static void *
+getDirectBufferPointer(JNIEnv *_env, jobject buffer) {
+ char* buf = (char*) _env->GetDirectBufferAddress(buffer);
+ if (buf) {
+ jint position = _env->GetIntField(buffer, positionID);
+ jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
+ buf += position << elementSizeShift;
+ } else {
+ _env->ThrowNew(IAEClass, "Must use a native order direct Buffer");
+ }
+ return (void*) buf;
+}
+
static int
getNumCompressedTextureFormats() {
int numCompressedTextureFormats = 0;