diff options
author | Jack Palevich <jackpal@google.com> | 2009-05-15 18:13:34 -0700 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2009-05-15 18:13:34 -0700 |
commit | 6eedc8d3b598163f797a2f75d05fdc20809a4364 (patch) | |
tree | d636adb4fdda5973e9ae3acef536ab7a8c08d2e7 /opengl/tools/glgen/stubs/gles11 | |
parent | cc38f9745e5c5f4c04294f940663035c181d7cca (diff) | |
download | frameworks_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.cpp | 13 |
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; |