com_google_android_gles_jni_GLImpl.cpp revision 17045a16575ece34cfadb63da4791f115625df78
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* //device/libs/android_runtime/com_google_android_gles_jni_GLImpl.cpp 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Copyright 2006, The Android Open Source Project 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Licensed under the Apache License, Version 2.0 (the "License"); 624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** you may not use this file except in compliance with the License. 724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** You may obtain a copy of the License at 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** http://www.apache.org/licenses/LICENSE-2.0 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** 1124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Unless required by applicable law or agreed to in writing, software 1224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** distributed under the License is distributed on an "AS IS" BASIS, 1324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** See the License for the specific language governing permissions and 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** limitations under the License. 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/ 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// This source file is automatically generated 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes#include "jni.h" 2124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes#include "JNIHelp.h" 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <android_runtime/AndroidRuntime.h> 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <utils/misc.h> 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <assert.h> 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <GLES/gl.h> 27be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#include <GLES/glext.h> 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich// Work around differences between the generated name and the actual name. 308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glBlendEquation glBlendEquationOES 328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glBlendEquationSeparate glBlendEquationSeparateOES 338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glBlendFuncSeparate glBlendFuncSeparateOES 348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glGetTexGenfv glGetTexGenfvOES 358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glGetTexGeniv glGetTexGenivOES 368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glGetTexGenxv glGetTexGenxvOES 378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGenf glTexGenfOES 388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGenfv glTexGenfvOES 398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGeni glTexGeniOES 408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGeniv glTexGenivOES 418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGenx glTexGenxOES 428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich#define glTexGenxv glTexGenxvOES 438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 468331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian/* special calls implemented in Android's GLES wrapper used to more 478331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian * efficiently bound-check passed arrays */ 488331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopianextern "C" { 498331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, 508331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian const GLvoid *ptr, GLsizei count); 518331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, 528331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian const GLvoid *pointer, GLsizei count); 538331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, 548331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 558331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, 568331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 57be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, 58be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLsizei stride, const GLvoid *pointer, GLsizei count); 59be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, 60be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLsizei stride, const GLvoid *pointer, GLsizei count); 61be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, 62be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLsizei stride, const GLvoid *pointer, GLsizei count); 638331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian} 648331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic int initialized = 0; 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass nioAccessClass; 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass bufferClass; 6991a27ae2fec23b420244258636d2370117e86f5eJack Palevichstatic jclass G11ImplClass; 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBasePointerID; 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBaseArrayID; 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBaseArrayOffsetID; 7391a27ae2fec23b420244258636d2370117e86f5eJack Palevichstatic jmethodID allowIndirectBuffersID; 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID positionID; 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID limitID; 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID elementSizeShiftID; 778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic jfieldID haveCheckedExtensionsID; 788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic jfieldID have_OES_blend_equation_separateID; 798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic jfieldID have_OES_blend_subtractID; 808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic jfieldID have_OES_framebuffer_objectID; 818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic jfieldID have_OES_texture_cube_mapID; 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Cache method IDs each time the class is loaded. */ 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 8624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott HughesnativeClassInit(JNIEnv *_env, jclass glImplClass) 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9491a27ae2fec23b420244258636d2370117e86f5eJack Palevich jclass g11impClassLocal = _env->FindClass("com/google/android/gles_jni/GLImpl"); 9591a27ae2fec23b420244258636d2370117e86f5eJack Palevich G11ImplClass = (jclass) _env->NewGlobalRef(g11impClassLocal); 968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich haveCheckedExtensionsID = _env->GetFieldID(G11ImplClass, "haveCheckedExtensions", "Z"); 978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich have_OES_blend_equation_separateID = _env->GetFieldID(G11ImplClass, "have_OES_blend_equation_separate", "Z"); 988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich have_OES_blend_subtractID = _env->GetFieldID(G11ImplClass, "have_OES_blend_subtract", "Z"); 998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich have_OES_framebuffer_objectID = _env->GetFieldID(G11ImplClass, "have_OES_framebuffer_object", "Z"); 1008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich have_OES_texture_cube_mapID = _env->GetFieldID(G11ImplClass, "have_OES_texture_cube_map", "Z"); 10191a27ae2fec23b420244258636d2370117e86f5eJack Palevich 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "getBasePointer", "(Ljava/nio/Buffer;)J"); 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 10891a27ae2fec23b420244258636d2370117e86f5eJack Palevich allowIndirectBuffersID = _env->GetStaticMethodID(g11impClassLocal, 10991a27ae2fec23b420244258636d2370117e86f5eJack Palevich "allowIndirectBuffers", "(Ljava/lang/String;)Z"); 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project positionID = _env->GetFieldID(bufferClass, "position", "I"); 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project limitID = _env->GetFieldID(bufferClass, "limit", "I"); 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project elementSizeShiftID = 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void * 11717045a16575ece34cfadb63da4791f115625df78Thomas TafertshofergetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset) 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint position; 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint limit; 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint elementSizeShift; 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jlong pointer; 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project position = _env->GetIntField(buffer, positionID); 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project limit = _env->GetIntField(buffer, limitID); 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *remaining = (limit - position) << elementSizeShift; 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pointer = _env->CallStaticLongMethod(nioAccessClass, 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBasePointerID, buffer); 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pointer != 0L) { 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *array = NULL; 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (void *) (jint) pointer; 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 13424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayID, buffer); 13791a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (*array == NULL) { 13891a27ae2fec23b420244258636d2370117e86f5eJack Palevich return (void*) NULL; 13991a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 14017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer *offset = _env->CallStaticIntMethod(nioAccessClass, 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayOffsetID, buffer); 14224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 14317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer return NULL; 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(array, data, 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project commit ? 0 : JNI_ABORT); 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 15391a27ae2fec23b420244258636d2370117e86f5eJack Palevichextern "C" { 15491a27ae2fec23b420244258636d2370117e86f5eJack Palevichextern char* __progname; 15591a27ae2fec23b420244258636d2370117e86f5eJack Palevich} 15691a27ae2fec23b420244258636d2370117e86f5eJack Palevich 15791a27ae2fec23b420244258636d2370117e86f5eJack Palevichstatic bool 15891a27ae2fec23b420244258636d2370117e86f5eJack PalevichallowIndirectBuffers(JNIEnv *_env) { 15991a27ae2fec23b420244258636d2370117e86f5eJack Palevich static jint sIndirectBufferCompatability; 16091a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (sIndirectBufferCompatability == 0) { 16191a27ae2fec23b420244258636d2370117e86f5eJack Palevich jobject appName = _env->NewStringUTF(::__progname); 16291a27ae2fec23b420244258636d2370117e86f5eJack Palevich sIndirectBufferCompatability = _env->CallStaticBooleanMethod(G11ImplClass, allowIndirectBuffersID, appName) ? 2 : 1; 16391a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 16491a27ae2fec23b420244258636d2370117e86f5eJack Palevich return sIndirectBufferCompatability == 2; 16591a27ae2fec23b420244258636d2370117e86f5eJack Palevich} 16691a27ae2fec23b420244258636d2370117e86f5eJack Palevich 16716e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevichstatic void * 16816e7972f0d986eebf846ea8feb50f4435a9c6970Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) { 16991a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (!buffer) { 17091a27ae2fec23b420244258636d2370117e86f5eJack Palevich return NULL; 17191a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 17291a27ae2fec23b420244258636d2370117e86f5eJack Palevich void* buf = _env->GetDirectBufferAddress(buffer); 17316e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich if (buf) { 17416e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint position = _env->GetIntField(buffer, positionID); 17516e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 17691a27ae2fec23b420244258636d2370117e86f5eJack Palevich buf = ((char*) buf) + (position << elementSizeShift); 17716e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } else { 17891a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (allowIndirectBuffers(_env)) { 17991a27ae2fec23b420244258636d2370117e86f5eJack Palevich jarray array = 0; 18091a27ae2fec23b420244258636d2370117e86f5eJack Palevich jint remaining; 18117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint offset; 18217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buf = getPointer(_env, buffer, &array, &remaining, &offset); 18391a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (array) { 18491a27ae2fec23b420244258636d2370117e86f5eJack Palevich releasePointer(_env, array, buf, 0); 18591a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 18617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buf = buf + offset; 18791a27ae2fec23b420244258636d2370117e86f5eJack Palevich } else { 18824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", 18924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes "Must use a native order direct Buffer"); 19091a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 19116e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } 19291a27ae2fec23b420244258636d2370117e86f5eJack Palevich return buf; 19316e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich} 19416e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich 195be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevichstatic int 196be509c9c7de5929d014dfe6d45e71cc8454ede0fJack PalevichgetNumCompressedTextureFormats() { 197be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich int numCompressedTextureFormats = 0; 198be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 199be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich return numCompressedTextureFormats; 200be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich} 201be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich 2028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich// Check if the extension at the head of pExtensions is pExtension. Note that pExtensions is 2038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich// terminated by either 0 or space, while pExtension is terminated by 0. 2048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2068a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichextensionEqual(const GLubyte* pExtensions, const GLubyte* pExtension) { 2078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich while (true) { 2088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char a = *pExtensions++; 2098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char b = *pExtension++; 2108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich bool aEnd = a == '\0' || a == ' '; 2118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich bool bEnd = b == '\0'; 2128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( aEnd || bEnd) { 2138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return aEnd == bEnd; 2148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( a != b ) { 2168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return false; 2178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic const GLubyte* 2228a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichnextExtension(const GLubyte* pExtensions) { 2238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich while (true) { 2248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char a = *pExtensions++; 2258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( a == '\0') { 2268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return pExtensions-1; 2278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } else if ( a == ' ') { 2288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return pExtensions; 2298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 23224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 2338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2348a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichcheckForExtension(const GLubyte* pExtensions, const GLubyte* pExtension) { 2358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich for (;*pExtensions != '\0'; pExtensions = nextExtension(pExtensions)) { 2368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (extensionEqual(pExtensions, pExtension)) { 2378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return true; 2388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return false; 2418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2448a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichsupportsExtension(JNIEnv *_env, jobject impl, jfieldID fieldId) { 2458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!_env->GetBooleanField(impl, haveCheckedExtensionsID)) { 2468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, haveCheckedExtensionsID, true); 2478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich const GLubyte* sExtensions = glGetString(GL_EXTENSIONS); 2488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_blend_equation_separateID, 2498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_equation_separate")); 2508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_blend_subtractID, 2518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_subtract")); 2528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_framebuffer_objectID, 2538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_framebuffer_object")); 2548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_texture_cube_mapID, 2558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_texture_cube_map")); 2568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _env->GetBooleanField(impl, fieldId); 2588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// -------------------------------------------------------------------------- 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glActiveTexture ( GLenum texture ) */ 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glActiveTexture__I 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glActiveTexture( 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)texture 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFunc__IF 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glAlphaFunc( 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)ref 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFuncx__II 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jint ref) { 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glAlphaFuncx( 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)ref 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindTexture ( GLenum target, GLuint texture ) */ 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindTexture__II 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint texture) { 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBindTexture( 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)texture 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFunc__II 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBlendFunc( 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)sfactor, 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)dfactor 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClear ( GLbitfield mask ) */ 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClear__I 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mask) { 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClear( 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLbitfield)mask 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColor__FFFF 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearColor( 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)red, 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)green, 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)blue, 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)alpha 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColorx__IIII 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearColorx( 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)red, 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)green, 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)blue, 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)alpha 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthf ( GLclampf depth ) */ 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthf__F 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat depth) { 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearDepthf( 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)depth 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthx ( GLclampx depth ) */ 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthx__I 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint depth) { 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearDepthx( 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)depth 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearStencil ( GLint s ) */ 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearStencil__I 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint s) { 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearStencil( 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)s 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClientActiveTexture ( GLenum texture ) */ 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClientActiveTexture__I 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClientActiveTexture( 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)texture 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4f__FFFF 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4f( 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)red, 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)green, 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)blue, 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)alpha 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4x__IIII 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4x( 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)red, 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)green, 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)blue, 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)alpha 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorMask__ZZZZ 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColorMask( 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)red, 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)green, 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)blue, 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)alpha 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointerBounds__IIILjava_nio_Buffer_2I 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 42017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 424e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 42516e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 426e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 427e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 428e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 429e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColorPointerBounds( 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 44417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); 44917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (data == NULL) { 45017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 45117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *) (_dataBase + _bufferOffset); 45217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCompressedTexImage2D( 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)internalformat, 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border, 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)imageSize, 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 47317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); 47817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (data == NULL) { 47917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 48017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *) (_dataBase + _bufferOffset); 48117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCompressedTexSubImage2D( 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)imageSize, 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexImage2D__IIIIIIII 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCopyTexImage2D( 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)internalformat, 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexSubImage2D__IIIIIIII 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCopyTexSubImage2D( 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCullFace ( GLenum mode ) */ 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCullFace__I 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCullFace( 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__I_3II 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 5432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 5442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 5452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures_base = (GLuint *) 0; 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!textures_ref) { 5512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "textures == null"; 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 5572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(textures_ref) - offset; 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 5642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures_base = (GLuint *) 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = textures_base + offset; 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteTextures( 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (textures_base) { 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 5842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 5852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__ILjava_nio_IntBuffer_2 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 5922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 5932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 5942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 59617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset); 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 6022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (textures == NULL) { 60817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 60917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer textures = (GLuint *) (_texturesBase + _bufferOffset); 61017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteTextures( 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, textures, JNI_FALSE); 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 6212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 6222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthFunc ( GLenum func ) */ 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthFunc__I 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func) { 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthFunc( 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthMask ( GLboolean flag ) */ 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthMask__Z 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jboolean flag) { 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthMask( 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)flag 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangef__FF 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthRangef( 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)zNear, 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)zFar 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangex__II 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthRangex( 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)zNear, 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)zFar 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisable ( GLenum cap ) */ 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisable__I 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDisable( 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisableClientState ( GLenum array ) */ 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisableClientState__I 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint array) { 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDisableClientState( 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)array 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawArrays__III 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawArrays( 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)first, 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIILjava_nio_Buffer_2 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 6962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 6972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 6982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 70017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *indices = (GLvoid *) 0; 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset); 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < count) { 7062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; 7082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < count < needed"; 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 71117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (indices == NULL) { 71217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 71317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer indices = (GLvoid *) (_indicesBase + _bufferOffset); 71417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawElements( 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count, 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)indices 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, indices, JNI_FALSE); 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 7272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 7282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnable ( GLenum cap ) */ 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnable__I 7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glEnable( 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnableClientState ( GLenum array ) */ 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnableClientState__I 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint array) { 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glEnableClientState( 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)array 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFinish ( void ) */ 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFinish__ 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFinish(); 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFlush ( void ) */ 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFlush__ 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFlush(); 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogf ( GLenum pname, GLfloat param ) */ 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogf__IF 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogf( 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__I_3FI 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 7772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 7782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 7792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 7852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 7912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 8232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 8242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 8252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogfv( 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 8432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 8442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__ILjava_nio_FloatBuffer_2 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 8512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 8522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 8532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 85517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 85917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 8669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 8679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 8829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 8839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 8862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 8872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 8882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 89117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 89217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 89317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 89417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogfv( 8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 9052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 9062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogx ( GLenum pname, GLfixed param ) */ 9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogx__II 9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 9139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogx( 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__I_3II 9229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 9232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 9242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 9252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 9312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 9322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 9332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 9372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 9382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 9392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 9489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 9509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 9559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 9589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 9639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 9659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 9692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 9702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 9712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogxv( 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 9879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 9892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 9902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 9919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 9949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__ILjava_nio_IntBuffer_2 9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 9972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 9982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 9992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 10009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 100117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 100517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 10079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 10149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 10322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 10332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 10342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 103717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 103817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 103917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 104017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogxv( 10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 10439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 10449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 10479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 10512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 10522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrontFace ( GLenum mode ) */ 10569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrontFace__I 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrontFace( 10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumf__FFFFFF 10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrustumf( 10699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)left, 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)right, 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)bottom, 10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)top, 10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zNear, 10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zFar 10759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 10799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumx__IIIIII 10819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 10829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrustumx( 10839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)left, 10849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)right, 10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)bottom, 10869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)top, 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zNear, 10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zFar 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__I_3II 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 10972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 10982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 10999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures_base = (GLuint *) 0; 11009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 11019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 11029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!textures_ref) { 11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 11052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "textures == null"; 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 11109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 11112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 11139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(textures_ref) - offset; 11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 11182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 11219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures_base = (GLuint *) 11239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 11249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = textures_base + offset; 11259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenTextures( 11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 11299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (textures_base) { 11339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 11349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 11359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 11372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 11382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 11399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__ILjava_nio_IntBuffer_2 11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 11459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 11462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 11472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 11489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 114917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 11509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 115317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset); 11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 11559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 11562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 11589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 11599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 116017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (textures == NULL) { 116117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 116217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer textures = (GLuint *) (_texturesBase + _bufferOffset); 116317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 11649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenTextures( 11659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 11669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 11679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 11689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 11709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 11719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 11729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 11742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 11752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 11769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 11779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLenum glGetError ( void ) */ 11799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 11809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetError__ 11819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 11829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLenum _returnValue; 11839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glGetError(); 11849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 11859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 11869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 11889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 11899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__I_3II 11909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 11919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 11922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 11932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 11949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 11959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 11969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 11979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 11999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 12002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 12029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 12039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 12049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 12059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 12062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 12089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 12099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 12109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 12119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 12129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 12139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS) 12149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_BITS: 12159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS) 12169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC) 12179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_FUNC: 12189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC) 12199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF) 12209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_REF: 12219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF) 12229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST) 12239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLEND_DST: 12249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST) 12259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS) 12269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLUE_BITS: 12279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS) 12289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 12299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_BUFFER_BINDING: 12309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 12319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE) 12329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_SIZE: 12339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE) 12349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE) 12359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_STRIDE: 12369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE) 12379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE) 12389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_TYPE: 12399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE) 12409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE) 12419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CULL_FACE: 12429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE) 12439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS) 12449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_BITS: 12459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS) 12469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE) 12479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_CLEAR_VALUE: 12489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE) 12499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC) 12509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_FUNC: 12519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC) 12529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK) 12539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_WRITEMASK: 12549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK) 12559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 12569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 12579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 12589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 12599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 12609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 12619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 12629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 12639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 12649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 12659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 12669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 12679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE) 12689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FRONT_FACE: 12699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE) 12709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS) 12719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_GREEN_BITS: 12729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS) 12739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 12749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 12759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 12769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 12779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 12789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1279be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1280be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1281be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1282be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1283be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1284be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 12859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 12869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 12879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 12889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT) 12899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_SMOOTH_HINT: 12909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT) 12919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH) 12929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_WIDTH: 12939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH) 12949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE) 12959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LOGIC_OP_MODE: 12969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE) 12979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 12989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 12999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 13009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 13019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 13029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 13039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 13049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 13059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 13069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 13079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 13089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 13099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE) 13109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_MODE: 13119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE) 13129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES) 13139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_CLIP_PLANES: 13149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES) 13159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES) 13169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_INDICES: 13179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES) 13189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES) 13199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_VERTICES: 13209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES) 13219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS) 13229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_LIGHTS: 13239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS) 13249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 13259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_MODELVIEW_STACK_DEPTH: 13269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 13279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES) 13289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PALETTE_MATRICES_OES: 13299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 13309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 13319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PROJECTION_STACK_DEPTH: 13329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 13339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE) 13349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_SIZE: 13359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE) 13369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 13379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_STACK_DEPTH: 13389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 13399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS) 13409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_UNITS: 13419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS) 13429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES) 13439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VERTEX_UNITS_OES: 13449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES) 13459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH) 13469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_STACK_DEPTH: 13479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH) 13489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 13499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_BUFFER_BINDING: 13509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 13519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE) 13529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_STRIDE: 13539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE) 13549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE) 13559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_TYPE: 13569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE) 13579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 13589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 13599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 13609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT) 13619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PACK_ALIGNMENT: 13629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT) 13639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 13649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PERSPECTIVE_CORRECTION_HINT: 13659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 13669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE) 13679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE: 13689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE) 13699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 13709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 13719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 13729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 13739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_STRIDE_OES: 13749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 13759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 13769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_TYPE_OES: 13779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 13789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT) 13799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SMOOTH_HINT: 13809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT) 13819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR) 13829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_FACTOR: 13839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR) 13849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS) 13859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_UNITS: 13869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS) 13879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH) 13889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_STACK_DEPTH: 13899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH) 13909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS) 13919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_RED_BITS: 13929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS) 13939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL) 13949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHADE_MODEL: 13959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL) 13969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS) 13979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_BITS: 13989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS) 13999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE) 14009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_CLEAR_VALUE: 14019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE) 14029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL) 14039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FAIL: 14049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL) 14059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC) 14069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FUNC: 14079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC) 14089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 14099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_FAIL: 14109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 14119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS) 14129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_PASS: 14139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 14149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF) 14159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_REF: 14169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF) 14179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK) 14189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_VALUE_MASK: 14199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK) 14209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK) 14219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_WRITEMASK: 14229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK) 14239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS) 14249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SUBPIXEL_BITS: 14259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS) 14269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D) 14279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_BINDING_2D: 14289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D) 14299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 14309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 14319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 14329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 14339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_SIZE: 14349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 14359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 14369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_STRIDE: 14379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 14389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 14399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_TYPE: 14409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 14419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH) 14429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_STACK_DEPTH: 14439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH) 14449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT) 14459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_UNPACK_ALIGNMENT: 14469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT) 14479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 14489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_BUFFER_BINDING: 14499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 14509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE) 14519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_SIZE: 14529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE) 14539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE) 14549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_STRIDE: 14559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE) 14569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE) 14579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_TYPE: 14589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE) 14599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 14609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 14619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 14629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 14639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_SIZE_OES: 14649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 14659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 14669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_STRIDE_OES: 14679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 14689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 14699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_TYPE_OES: 14709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 14719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 14729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 14739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE) 14749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_POINT_SIZE_RANGE: 14759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 14769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 14779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_LINE_WIDTH_RANGE: 14789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 14799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE) 14809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_RANGE: 14819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE) 14829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS) 14839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VIEWPORT_DIMS: 14849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS) 14859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 14869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_LINE_WIDTH_RANGE: 14879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 14889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 14899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_POINT_SIZE_RANGE: 14909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 14919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 2; 14929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 14939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE) 14949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_CLEAR_VALUE: 14959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE) 14969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK) 14979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_WRITEMASK: 14989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK) 1499be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1500be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1501be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1502be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1503be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1504be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 15059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX) 15069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SCISSOR_BOX: 15079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX) 15089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT) 15099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VIEWPORT: 15109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT) 15119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 15129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 15139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX) 15149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX: 15159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX) 15169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 15179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 15189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 15199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX) 15209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX: 15219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX) 15229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 15239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 15249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 15259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX) 15269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX: 15279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX) 15289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 15299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 15309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 15319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 16; 15329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 15339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 15349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMPRESSED_TEXTURE_FORMATS: 15359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1536be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 15379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 15389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 15399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 15409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 15419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 15429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 15439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 15442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 15452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 15469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 15479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 15489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 15499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 15509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 15519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 15529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetIntegerv( 15539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 15549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 15559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 15569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 15579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 15589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 15599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 15609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 15619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 15622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 15632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 15642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 15659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 15669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 15679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 15689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 15699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__ILjava_nio_IntBuffer_2 15709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 15719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 15722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 15732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 15749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 157517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 15769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 15779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 15789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 157917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 15809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 15819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 15829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS) 15839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_BITS: 15849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS) 15859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC) 15869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_FUNC: 15879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC) 15889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF) 15899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_REF: 15909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF) 15919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST) 15929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLEND_DST: 15939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST) 15949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS) 15959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLUE_BITS: 15969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS) 15979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 15989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_BUFFER_BINDING: 15999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 16009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE) 16019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_SIZE: 16029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE) 16039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE) 16049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_STRIDE: 16059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE) 16069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE) 16079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_TYPE: 16089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE) 16099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE) 16109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CULL_FACE: 16119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE) 16129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS) 16139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_BITS: 16149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS) 16159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE) 16169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_CLEAR_VALUE: 16179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE) 16189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC) 16199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_FUNC: 16209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC) 16219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK) 16229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_WRITEMASK: 16239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK) 16249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 16259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 16269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 16279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 16289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 16299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 16309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 16319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 16329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 16339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 16349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 16359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 16369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE) 16379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FRONT_FACE: 16389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE) 16399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS) 16409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_GREEN_BITS: 16419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS) 16429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 16439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 16449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 16459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 16469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 16479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1648be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1649be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1650be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1651be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1652be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1653be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 16549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 16559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 16569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 16579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT) 16589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_SMOOTH_HINT: 16599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT) 16609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH) 16619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_WIDTH: 16629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH) 16639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE) 16649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LOGIC_OP_MODE: 16659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE) 16669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 16679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 16689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 16699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 16709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 16719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 16729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 16739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 16749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 16759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 16769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 16779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 16789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE) 16799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_MODE: 16809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE) 16819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES) 16829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_CLIP_PLANES: 16839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES) 16849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES) 16859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_INDICES: 16869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES) 16879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES) 16889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_VERTICES: 16899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES) 16909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS) 16919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_LIGHTS: 16929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS) 16939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 16949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_MODELVIEW_STACK_DEPTH: 16959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 16969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES) 16979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PALETTE_MATRICES_OES: 16989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 16999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 17009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PROJECTION_STACK_DEPTH: 17019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 17029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE) 17039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_SIZE: 17049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE) 17059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 17069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_STACK_DEPTH: 17079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 17089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS) 17099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_UNITS: 17109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS) 17119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES) 17129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VERTEX_UNITS_OES: 17139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES) 17149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH) 17159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_STACK_DEPTH: 17169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH) 17179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 17189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_BUFFER_BINDING: 17199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 17209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE) 17219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_STRIDE: 17229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE) 17239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE) 17249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_TYPE: 17259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE) 17269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 17279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 17289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 17299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT) 17309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PACK_ALIGNMENT: 17319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT) 17329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 17339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PERSPECTIVE_CORRECTION_HINT: 17349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 17359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE) 17369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE: 17379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE) 17389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 17399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 17409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 17419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 17429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_STRIDE_OES: 17439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 17449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 17459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_TYPE_OES: 17469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 17479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT) 17489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SMOOTH_HINT: 17499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT) 17509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR) 17519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_FACTOR: 17529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR) 17539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS) 17549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_UNITS: 17559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS) 17569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH) 17579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_STACK_DEPTH: 17589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH) 17599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS) 17609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_RED_BITS: 17619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS) 17629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL) 17639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHADE_MODEL: 17649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL) 17659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS) 17669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_BITS: 17679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS) 17689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE) 17699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_CLEAR_VALUE: 17709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE) 17719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL) 17729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FAIL: 17739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL) 17749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC) 17759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FUNC: 17769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC) 17779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 17789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_FAIL: 17799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 17809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS) 17819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_PASS: 17829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 17839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF) 17849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_REF: 17859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF) 17869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK) 17879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_VALUE_MASK: 17889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK) 17899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK) 17909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_WRITEMASK: 17919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK) 17929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS) 17939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SUBPIXEL_BITS: 17949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS) 17959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D) 17969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_BINDING_2D: 17979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D) 17989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 17999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 18009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 18019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 18029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_SIZE: 18039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 18049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 18059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_STRIDE: 18069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 18079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 18089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_TYPE: 18099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 18109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH) 18119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_STACK_DEPTH: 18129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH) 18139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT) 18149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_UNPACK_ALIGNMENT: 18159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT) 18169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 18179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_BUFFER_BINDING: 18189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 18199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE) 18209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_SIZE: 18219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE) 18229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE) 18239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_STRIDE: 18249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE) 18259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE) 18269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_TYPE: 18279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE) 18289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 18299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 18309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 18319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 18329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_SIZE_OES: 18339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 18349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 18359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_STRIDE_OES: 18369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 18379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 18389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_TYPE_OES: 18399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 18409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 18419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE) 18439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_POINT_SIZE_RANGE: 18449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 18459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 18469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_LINE_WIDTH_RANGE: 18479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 18489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE) 18499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_RANGE: 18509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE) 18519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS) 18529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VIEWPORT_DIMS: 18539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS) 18549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 18559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_LINE_WIDTH_RANGE: 18569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 18579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 18589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_POINT_SIZE_RANGE: 18599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 18609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 2; 18619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE) 18639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_CLEAR_VALUE: 18649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE) 18659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK) 18669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_WRITEMASK: 18679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK) 1868be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1869be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1870be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1871be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1872be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1873be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 18749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX) 18759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SCISSOR_BOX: 18769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX) 18779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT) 18789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VIEWPORT: 18799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT) 18809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 18819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX) 18839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX: 18849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX) 18859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 18869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 18879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 18889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX) 18899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX: 18909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX) 18919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 18929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 18939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 18949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX) 18959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX: 18969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX) 18979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 18989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 18999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 19009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 16; 19019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 19039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMPRESSED_TEXTURE_FORMATS: 19049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1905be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 19069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 19089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 19099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 19129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 19132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 19142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 19159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 191717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 191817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 191917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 192017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 19219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetIntegerv( 19229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 19239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 19249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 19279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 19289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 19299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 19312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 19322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 19339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* const GLubyte * glGetString ( GLenum name ) */ 193624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughesstatic jstring android_glGetString(JNIEnv *_env, jobject, jint name) { 193724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes const char* chars = (const char*) glGetString((GLenum) name); 193824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes return _env->NewStringUTF(chars); 19399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glHint ( GLenum target, GLenum mode ) */ 19419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glHint__II 19439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint mode) { 19449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glHint( 19459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 19469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 19479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelf ( GLenum pname, GLfloat param ) */ 19519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelf__IF 19539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 19549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelf( 19559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 19569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 19579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 19619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__I_3FI 19639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 19642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 19652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 19662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 19679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 19689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 19699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 19709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 19722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 19732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 19742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 19759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 19782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 19792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 19802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 19819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 19849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 19859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 19869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 19879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 19889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 19899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 19909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 19929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 19939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 19949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 19959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 19979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 19989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 20012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 20022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 20032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 20049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 20079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 20089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 20099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelfv( 20119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 20129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 20139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 20149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 20169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 20179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 20189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 20199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 20212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 20222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 20239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 20249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 20269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 20279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__ILjava_nio_FloatBuffer_2 20289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 20292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 20302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 20312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 20329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 203317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 20349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 20359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 20369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 203717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 20389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 20399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 20409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 20419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 20429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 20439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 20449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 20469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 20479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 20489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 20499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 20519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 20529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 20552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 20562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 20572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 20589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 206017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 206117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 206217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 206317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 20649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelfv( 20659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 20669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 20679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 20689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 20709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 20719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 20729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 20742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 20752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 20769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 20779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelx ( GLenum pname, GLfixed param ) */ 20799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 20809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelx__II 20819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 20829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelx( 20839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 20849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 20859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 20869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 20879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 20899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 20909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__I_3II 20919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 20922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 20932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 20942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 20959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 20969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 20979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 20989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 21002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 21039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 21049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 21062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 21099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 21109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 21129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 21139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 21149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 21159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 21169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 21179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 21189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 21209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 21219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 21229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 21239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 21259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 21269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 21292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 21329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 21339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 21359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 21369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 21379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelxv( 21399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 21409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 21419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 21429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 21449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 21459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 21469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 21479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 21492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 21502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 21519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 21529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 21549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 21559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__ILjava_nio_IntBuffer_2 21569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 21572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 21582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 21592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 21609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 216117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 21629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 21639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 21649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 216517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 21669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 21679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 21689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 21699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 21709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 21719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 21729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 21749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 21759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 21769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 21779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 21799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 21809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 21832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 21869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 21879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 218817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 218917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 219017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 219117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 21929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelxv( 21939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 21949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 21959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 21969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 21989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 21999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 22009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 22022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 22032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 22049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 22059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ 22079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 22089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightf__IIF 22099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { 22109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightf( 22119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 22129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 22139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 22149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 22159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 22169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 22189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 22199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__II_3FI 22209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 22212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 22222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 22232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 22249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 22259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 22269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 22279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 22292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 22329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 22352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 22389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 22419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 22429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 22439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 22449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 22459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 22469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 22479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 22489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 22499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 22509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 22519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 22529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 22539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 22549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 22559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 22569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 22579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 22589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 22599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 22619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 22629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 22639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 22649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 22669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 22679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 22689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 22699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 22709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 22719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 22729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 22739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 22749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 22759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 22769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 22779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 22789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 22809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 22819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 22842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 22879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 22909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 22919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 22929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightfv( 22949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 22959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 22969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 22979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 22989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 23009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 23019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 23029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 23039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 23052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 23062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 23079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 23109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__IILjava_nio_FloatBuffer_2 23129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 23132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 23142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 23152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 23169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 231717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 23189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 23199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 23209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 232117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 23229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 23239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 23249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 23259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 23269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 23279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 23289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 23299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 23309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 23319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 23329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 23339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 23349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 23359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 23369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 23379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 23389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 23399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 23409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 23429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 23439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 23449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 23459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 23479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 23489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 23499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 23509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 23519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 23529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 23539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 23549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 23559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 23569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 23579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 23589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 23599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 23619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 23629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 23652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 23662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 23672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 23689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 23699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 237017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 237117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 237217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 237317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 23749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightfv( 23759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 23769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 23779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 23789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 23819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 23829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 23839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 23852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 23862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 23879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ 23909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightx__III 23929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 23939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightx( 23949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 23959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 23969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 23979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 24019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__II_3II 24039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 24042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 24052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 24062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 24079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 24089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 24099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 24109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 24122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 24132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 24159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 24182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 24192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 24219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 24249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 24259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 24269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 24279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 24289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 24299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 24309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 24319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 24329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 24339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 24349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 24359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 24369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 24379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 24389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 24399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 24409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 24419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 24429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 24439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 24449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 24459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 24469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 24479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 24489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 24499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 24509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 24519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 24529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 24539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 24549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 24559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 24569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 24579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 24589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 24599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 24609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 24619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 24629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 24639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 24649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 24659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 24672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 24682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 24709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 24739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 24749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 24759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightxv( 24779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 24789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 24799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 24809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 24839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 24849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 24859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 24869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 24882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 24892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 24909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 24939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__IILjava_nio_IntBuffer_2 24959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 24962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 24972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 24982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 24999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 250017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 25019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 25029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 25039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 250417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 25059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 25069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 25079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 25089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 25099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 25109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 25119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 25129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 25139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 25149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 25159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 25169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 25179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 25189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 25199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 25209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 25219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 25229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 25239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 25259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 25269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 25279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 25289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 25309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 25319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 25329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 25339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 25349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 25359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 25369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 25379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 25389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 25399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 25409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 25419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 25429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 25449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 25459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 25482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 25492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 25502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 25519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 25529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 255317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 255417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 255517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 255617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 25579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightxv( 25589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 25599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 25609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 25619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 25629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 25649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 25659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 25669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 25682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 25692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 25709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidth ( GLfloat width ) */ 25739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 25749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidth__F 25759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat width) { 25769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLineWidth( 25779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)width 25789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 25799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidthx ( GLfixed width ) */ 25829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 25839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidthx__I 25849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint width) { 25859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLineWidthx( 25869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)width 25879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 25889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadIdentity ( void ) */ 25919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 25929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadIdentity__ 25939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 25949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadIdentity(); 25959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */ 25989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 25999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf___3FI 26009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 26012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 26022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 26032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 26049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m_base = (GLfloat *) 0; 26059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 26069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 26079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 26092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 26102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 26129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 26152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 26162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 26189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 26219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfloat *) 26229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 26239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 26249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixf( 26269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 26279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 26289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 26309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 26319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 26329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 26339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 26352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 26362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 26379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 26389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */ 26409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 26419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf__Ljava_nio_FloatBuffer_2 26429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 26439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 264417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 26459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 26469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 26479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 264817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); 264917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 265017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 265117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfloat *) (_mBase + _bufferOffset); 265217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 26539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixf( 26549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 26559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 26569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 26579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 26589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 26609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */ 26629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 26639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx___3II 26649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 26652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 26662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 26672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 26689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m_base = (GLfixed *) 0; 26699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 26709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 26719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 26732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 26742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 26769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 26792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 26802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 26829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 26859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfixed *) 26869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 26879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 26889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixx( 26909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 26919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 26929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 26949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 26959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 26969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 26979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 26992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 27002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 27019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */ 27049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx__Ljava_nio_IntBuffer_2 27069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 27079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 270817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 27099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 27109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 27119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 271217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); 271317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 271417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 271517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *) (_mBase + _bufferOffset); 271617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 27179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixx( 27189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 27199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 27219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 27229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLogicOp ( GLenum opcode ) */ 27269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLogicOp__I 27289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint opcode) { 27299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLogicOp( 27309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)opcode 27319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ 27359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialf__IIF 27379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { 27389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialf( 27399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 27409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 27419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 27429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 27469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__II_3FI 27489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 27492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 27502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 27512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 27529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 27539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 27549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 27559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 27572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 27582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 27609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 27632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 27642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 27669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 27699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 27709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 27719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 27729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 27739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 27749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 27759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 27769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 27779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 27789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 27799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 27809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 27819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 27829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 27839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 27849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 27859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 27869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 27879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 27889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 27899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 27909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 27919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 27929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 27939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 27949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 27959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 27969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 27982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 27992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 28002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 28019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 28029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 28049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 28059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 28069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialfv( 28089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 28099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 28109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 28119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 28149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 28159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 28169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 28179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 28192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 28202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 28219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 28249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__IILjava_nio_FloatBuffer_2 28269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 28272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 28282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 28292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 28309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 283117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 28329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 28339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 28349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 283517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 28369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 28379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 28389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 28399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 28409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 28419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 28429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 28439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 28449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 28459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 28469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 28479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 28489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 28499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 28509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 28519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 28529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 28539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 28549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 28559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 28569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 28579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 28589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 28599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 28609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 28619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 28629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 28639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 28652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 28662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 28672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 28689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 28699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 287017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 287117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 287217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 287317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 28749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialfv( 28759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 28769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 28779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 28789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 28819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 28829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 28839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 28852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 28862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 28879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ 28909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialx__III 28929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 28939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialx( 28949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 28959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 28969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 28979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 29019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__II_3II 29039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 29042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 29052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 29062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 29079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 29089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 29099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 29109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 29122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 29132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 29142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 29159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 29169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 29179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 29182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 29192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 29202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 29219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 29229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 29239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 29249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 29259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 29269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 29279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 29289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 29299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 29309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 29319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 29329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 29339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 29349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 29359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 29369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 29379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 29389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 29399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 29409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 29419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 29429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 29439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 29449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 29459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 29469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 29479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 29489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 29499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 29509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 29519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 29529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 29532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 29542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 29552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 29569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 29579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 29589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 29599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 29609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 29619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialxv( 29639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 29649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 29659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 29669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 29699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 29709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 29719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 29729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 29732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 29742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 29752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 29769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 29799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__IILjava_nio_IntBuffer_2 29819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 29822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 29832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 29842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 29859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 298617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 29879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 29889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 29899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 299017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 29919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 29929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 29939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 29949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 29959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 29969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 29979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 29989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 29999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 30009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 30019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 30029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 30039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 30049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 30059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 30069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 30079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 30089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 30099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 30109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 30119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 30129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 30139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 30149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 30159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 30169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 30179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 30189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 30202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 30212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 30239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 30249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 302517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 302617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 302717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 302817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 30299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialxv( 30309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 30319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 30329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 30339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 30369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 30379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 30389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 30402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 30412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 30429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixMode ( GLenum mode ) */ 30459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixMode__I 30479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 30489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMatrixMode( 30499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 30509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */ 30549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf___3FI 30569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 30572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 30582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 30592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 30609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m_base = (GLfloat *) 0; 30619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 30629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 30639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 30652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 30662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 30689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 30699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 30712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 30722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 30749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 30759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 30779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfloat *) 30789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 30799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 30809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixf( 30829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 30839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 30869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 30879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 30889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 30899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 30912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 30922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 30939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */ 30969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf__Ljava_nio_FloatBuffer_2 30989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 30999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 310017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 31019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 31029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 31039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 310417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); 310517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 310617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 310717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfloat *) (_mBase + _bufferOffset); 310817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 31099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixf( 31109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 31119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 31139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 31149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */ 31189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx___3II 31209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 31212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 31222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 31232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 31249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m_base = (GLfixed *) 0; 31259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 31269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 31279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 31292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 31302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 31312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 31329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 31339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 31352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 31362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 31372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 31389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 31399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 31419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfixed *) 31429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 31439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 31449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixx( 31469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 31479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 31509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 31519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 31529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 31539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 31552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 31562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 31579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */ 31609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx__Ljava_nio_IntBuffer_2 31629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 31639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 316417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 31659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 31669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 31679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 316817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); 316917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 317017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 317117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *) (_mBase + _bufferOffset); 317217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 31739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixx( 31749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 31759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 31779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 31789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ 31829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4f__IFFFF 31849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { 31859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultiTexCoord4f( 31869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 31879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)s, 31889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)t, 31899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)r, 31909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)q 31919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 31959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4x__IIIII 31979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 31989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultiTexCoord4x( 31999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 32009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)s, 32019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)t, 32029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)r, 32039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)q 32049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ 32089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3f__FFF 32109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { 32119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormal3f( 32129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)nx, 32139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)ny, 32149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)nz 32159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 32199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3x__III 32219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 32229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormal3x( 32239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)nx, 32249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)ny, 32259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)nz 32269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 32309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointerBounds__IILjava_nio_Buffer_2I 32329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 32339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 323417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 32359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 32369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 32379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3238e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 323916e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3240e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3241e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3242e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3243e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 32449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormalPointerBounds( 32459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 32469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 32479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 32489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 32499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 32539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthof__FFFFFF 32559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 32569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glOrthof( 32579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)left, 32589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)right, 32599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)bottom, 32609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)top, 32619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zNear, 32629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zFar 32639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 32679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthox__IIIIII 32699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 32709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glOrthox( 32719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)left, 32729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)right, 32739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)bottom, 32749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)top, 32759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zNear, 32769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zFar 32779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPixelStorei ( GLenum pname, GLint param ) */ 32819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPixelStorei__II 32839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 32849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPixelStorei( 32859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 32869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 32879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSize ( GLfloat size ) */ 32919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSize__F 32939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat size) { 32949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointSize( 32959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)size 32969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizex ( GLfixed size ) */ 33009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSizex__I 33029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size) { 33039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointSizex( 33049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)size 33059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 33099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffset__FF 33119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 33129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPolygonOffset( 33139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)factor, 33149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)units 33159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 33199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffsetx__II 33219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint factor, jint units) { 33229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPolygonOffsetx( 33239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)factor, 33249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)units 33259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPopMatrix ( void ) */ 33299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPopMatrix__ 33319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 33329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPopMatrix(); 33339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPushMatrix ( void ) */ 33369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPushMatrix__ 33389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 33399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPushMatrix(); 33409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 33439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glReadPixels__IIIIIILjava_nio_Buffer_2 33459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 33469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 334717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 33489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 33499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 33509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 335117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); 335217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (pixels == NULL) { 335317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 335417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *) (_pixelsBase + _bufferOffset); 335517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 33569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glReadPixels( 33579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 33589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 33599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 33609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 33619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 33629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 33639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 33649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 33662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, pixels, JNI_TRUE); 33679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 33719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatef__FFFF 33739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 33749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glRotatef( 33759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)angle, 33769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 33779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 33789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 33799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 33839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatex__IIII 33859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 33869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glRotatex( 33879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)angle, 33889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 33899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 33909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 33919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 33959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoverage__FZ 33979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 33989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glSampleCoverage( 33999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)value, 34009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)invert 34019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 34059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoveragex__IZ 34079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 34089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glSampleCoveragex( 34099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)value, 34109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)invert 34119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 34159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalef__FFF 34179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 34189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScalef( 34199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 34209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 34219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 34229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 34269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalex__III 34289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 34299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScalex( 34309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 34319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 34329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 34339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 34379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScissor__IIII 34399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 34409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScissor( 34419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 34429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 34439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 34449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 34459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glShadeModel ( GLenum mode ) */ 34499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glShadeModel__I 34519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 34529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glShadeModel( 34539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 34549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 34589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilFunc__III 34609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 34619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilFunc( 34629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 34639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)ref, 34649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)mask 34659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilMask ( GLuint mask ) */ 34699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilMask__I 34719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mask) { 34729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilMask( 34739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)mask 34749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 34789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilOp__III 34809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 34819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilOp( 34829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)fail, 34839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)zfail, 34849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)zpass 34859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 34899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 34919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 34929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 349317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 34949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 34959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 34969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3497e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 349816e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3499e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3500e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3501e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3502e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 35039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexCoordPointerBounds( 35049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 35059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 35069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 35079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 35089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 35099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 35139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 35149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvf__IIF 35159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 35169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvf( 35179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 35189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 35199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 35209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 35249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 35259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__II_3FI 35269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 35272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 35282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 35292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 35309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 35319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 35329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 35339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 35352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 35362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 35372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 35389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 35412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 35422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 35432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 35449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 35479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 35489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 35499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 35509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 35519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 35529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 35539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 35549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 35559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 35569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 35579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 35589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 35599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 35609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 35619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 35629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 35639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 35649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 35659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 35669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 35679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 35689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 35702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 35712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 35722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 35739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 35769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 35779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 35789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvfv( 35809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 35819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 35829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 35839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 35869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 35879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 35889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 35899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 35912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 35922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 35939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 35969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 35979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__IILjava_nio_FloatBuffer_2 35989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 35992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 36002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 36012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 36029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 360317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 36049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 36059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 36069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 360717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 36089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 36099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 36109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 36119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 36129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 36139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 36149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 36159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 36169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 36179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 36189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 36199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 36209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 36219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 36229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 36239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 36249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 36259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 36269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 36279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 36289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 36299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 36312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 36322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 36332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 36349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 36359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 363617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 363717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 363817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 363917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 36409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvfv( 36419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 36429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 36439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 36449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 36459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 36479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 36489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 36499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 36512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 36522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 36539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 36549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 36569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 36579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvx__III 36589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 36599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvx( 36609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 36619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 36629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 36639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 36649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 36659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 36679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 36689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__II_3II 36699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 36702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 36712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 36722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 36739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 36749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 36759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 36769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 36782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 36792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 36802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 36819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 36829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 36842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 36852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 36862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 36879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 36889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 36909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 36919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 36929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 36939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 36949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 36959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 36969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 36979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 36989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 36999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 37009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 37019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 37029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 37049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 37059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 37069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 37079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 37099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 37109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 37132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 37142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 37152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 37169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 37199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 37209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 37219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvxv( 37239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 37249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 37259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 37269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 37279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 37299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 37309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 37319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 37329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 37342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 37352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 37369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 37379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 37399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 37409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__IILjava_nio_IntBuffer_2 37419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 37422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 37432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 37442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 37459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 374617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 37479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 37489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 37499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 375017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 37519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 37529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 37539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 37549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 37559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 37569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 37579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 37589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 37599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 37609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 37619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 37629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 37639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 37659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 37669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 37679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 37689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 37709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 37719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 37729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 37742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 37752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 37762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 37779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 377917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 378017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 378117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 378217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 37839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvxv( 37849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 37859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 37869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 37879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 37889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 37909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 37919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 37929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 37942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 37952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 37969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 37979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 37999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 38019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 38029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 380317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 38049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 38059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 38069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pixels_buf) { 380817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); 380917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 381017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (pixels == NULL) { 381117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 381217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *) (_pixelsBase + _bufferOffset); 38139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexImage2D( 38159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 38169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 38179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)internalformat, 38189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 38199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 38209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border, 38219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 38229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 38239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 38249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 38269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, pixels, JNI_FALSE); 38279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 38319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterf__IIF 38339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 38349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterf( 38359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 38369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 38379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 38389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 38429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterx__III 38449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 38459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterx( 38469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 38479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 38489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 38499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 38539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 38559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 38569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 385717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 38589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 38599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 38609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pixels_buf) { 386217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); 386317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 386417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (pixels == NULL) { 386517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 386617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer pixels = (GLvoid *) (_pixelsBase + _bufferOffset); 38679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexSubImage2D( 38699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 38709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 38719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 38729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 38739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 38749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 38759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 38769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 38779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 38789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 38809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, pixels, JNI_FALSE); 38819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 38859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatef__FFF 38879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 38889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTranslatef( 38899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 38909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 38919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 38929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 38969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatex__III 38989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 38999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTranslatex( 39009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 39019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 39029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 39039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 39079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointerBounds__IIILjava_nio_Buffer_2I 39099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 39109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 391117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 39129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 39139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 39149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3915e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 391616e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3917e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3918e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3919e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3920e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 39219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glVertexPointerBounds( 39229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 39239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 39249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 39259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 39269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 39279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 39319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glViewport__IIII 39339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 39349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glViewport( 39359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 39369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 39379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 39389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 39399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 39439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 39449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES___3II_3II 39459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray mantissa_ref, jint mantissaOffset, jintArray exponent_ref, jint exponentOffset) { 39469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 39472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 39482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 39499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLbitfield _returnValue = -1; 39509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa_base = (GLfixed *) 0; 39519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _mantissaRemaining; 39529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa = (GLfixed *) 0; 39539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent_base = (GLint *) 0; 39549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exponentRemaining; 39559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent = (GLint *) 0; 39569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!mantissa_ref) { 39589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "mantissa == null"; 39619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mantissaOffset < 0) { 39649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "mantissaOffset < 0"; 39679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _mantissaRemaining = _env->GetArrayLength(mantissa_ref) - mantissaOffset; 39709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_mantissaRemaining < 16) { 39719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - mantissaOffset < 16 < needed"; 39749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mantissa_base = (GLfixed *) 39779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(mantissa_ref, (jboolean *)0); 39789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mantissa = mantissa_base + mantissaOffset; 39799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!exponent_ref) { 39819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "exponent == null"; 39849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (exponentOffset < 0) { 39879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "exponentOffset < 0"; 39909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exponentRemaining = _env->GetArrayLength(exponent_ref) - exponentOffset; 39939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentRemaining < 16) { 39949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 39952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 39962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - exponentOffset < 16 < needed"; 39979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project exponent_base = (GLint *) 40009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(exponent_ref, (jboolean *)0); 40019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project exponent = exponent_base + exponentOffset; 40029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glQueryMatrixxOES( 40049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)mantissa, 40059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)exponent 40069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 40099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (exponent_base) { 40109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(exponent_ref, exponent_base, 40119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 40129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mantissa_base) { 40149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(mantissa_ref, mantissa_base, 40159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 40169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 40182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 40192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 40209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 40219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 40249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 40259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 40269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject mantissa_buf, jobject exponent_buf) { 40279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 40282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 40292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 40309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _mantissaArray = (jarray) 0; 403117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _mantissaBufferOffset = (jint) 0; 40329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _exponentArray = (jarray) 0; 403317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _exponentBufferOffset = (jint) 0; 40349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLbitfield _returnValue = -1; 40359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _mantissaRemaining; 40369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa = (GLfixed *) 0; 40379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exponentRemaining; 40389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent = (GLint *) 0; 40399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 404017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer mantissa = (GLfixed *)getPointer(_env, mantissa_buf, &_mantissaArray, &_mantissaRemaining, &_mantissaBufferOffset); 40419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_mantissaRemaining < 16) { 40429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 40432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 40442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 16 < needed"; 40459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 404717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer exponent = (GLint *)getPointer(_env, exponent_buf, &_exponentArray, &_exponentRemaining, &_exponentBufferOffset); 40489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentRemaining < 16) { 40499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 40502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 40512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 16 < needed"; 40529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 405417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (mantissa == NULL) { 405517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _mantissaBase = (char *)_env->GetPrimitiveArrayCritical(_mantissaArray, (jboolean *) 0); 405617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer mantissa = (GLfixed *) (_mantissaBase + _mantissaBufferOffset); 405717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 405817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (exponent == NULL) { 405917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _exponentBase = (char *)_env->GetPrimitiveArrayCritical(_exponentArray, (jboolean *) 0); 406017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer exponent = (GLint *) (_exponentBase + _exponentBufferOffset); 406117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 40629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glQueryMatrixxOES( 40639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)mantissa, 40649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)exponent 40659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 40689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentArray) { 406917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer releasePointer(_env, _exponentArray, exponent, _exception ? JNI_FALSE : JNI_TRUE); 407017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 407117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (_mantissaArray) { 407217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer releasePointer(_env, _mantissaArray, mantissa, _exception ? JNI_FALSE : JNI_TRUE); 40739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 40752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 40762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 40779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 40789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindBuffer ( GLenum target, GLuint buffer ) */ 40819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindBuffer__II 40839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint buffer) { 40849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBindBuffer( 40859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 40869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)buffer 40879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 40919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferData__IILjava_nio_Buffer_2I 40939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 40942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 40952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 40962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 40979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 409817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 40999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 41019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (data_buf) { 410317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); 4104c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich if (_remaining < size) { 41052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 41062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 41072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < size < needed"; 4108c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich goto exit; 4109c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich } 41109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 411117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (data == NULL) { 411217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 411317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *) (_dataBase + _bufferOffset); 411417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 41159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBufferData( 41169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 41179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizeiptr)size, 41189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data, 41199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)usage 41209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4121c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich 4122c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevichexit: 41239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 41249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 41259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 41272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 41282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 41299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 41309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 41329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 41339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferSubData__IIILjava_nio_Buffer_2 41349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 41352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 41362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 41372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 41389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 413917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 41409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 41429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 414317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); 4144c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich if (_remaining < size) { 41452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 41462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 41472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < size < needed"; 4148c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich goto exit; 4149c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich } 415017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (data == NULL) { 415117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 415217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer data = (GLvoid *) (_dataBase + _bufferOffset); 415317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 41549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBufferSubData( 41559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 41569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLintptr)offset, 41579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizeiptr)size, 41589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 41599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4160c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich 4161c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevichexit: 41629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 41639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 41649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 41662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 41672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 41689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 41699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 41719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 41729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__I_3FI 41739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { 41742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 41752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 41762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 41779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation_base = (GLfloat *) 0; 41789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation = (GLfloat *) 0; 41809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!equation_ref) { 41822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 41832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 41842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "equation == null"; 41859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 41882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 41892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 41902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 41919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(equation_ref) - offset; 41949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 41952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 41962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 41972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 4 < needed"; 41989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation_base = (GLfloat *) 42019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 42029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = equation_base + offset; 42039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanef( 42059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 42069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)equation 42079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 42109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (equation_base) { 42119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 42129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 42139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 42152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 42162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 42179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 42209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__ILjava_nio_FloatBuffer_2 42229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 42232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 42242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 42252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 42269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 422717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 42289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation = (GLfloat *) 0; 42309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 423117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset); 42329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 42332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 42342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 42352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 4 < needed"; 42369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 423817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (equation == NULL) { 423917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 424017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfloat *) (_equationBase + _bufferOffset); 424117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 42429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanef( 42439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 42449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)equation 42459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 42489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 42499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, equation, JNI_FALSE); 42509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 42522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 42532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 42549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 42579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__I_3II 42599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { 42602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 42612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 42622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 42639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation_base = (GLfixed *) 0; 42649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation = (GLfixed *) 0; 42669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!equation_ref) { 42682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 42692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 42702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "equation == null"; 42719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 42742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 42752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 42762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 42779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(equation_ref) - offset; 42809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 42812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 42822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 42832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 4 < needed"; 42849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation_base = (GLfixed *) 42879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 42889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = equation_base + offset; 42899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanex( 42919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 42929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)equation 42939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 42969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (equation_base) { 42979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 42989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 42999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 43012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 43022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 43039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 43049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 43069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 43079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__ILjava_nio_IntBuffer_2 43089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 43092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 43102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 43112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 43129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 431317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 43149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 43159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation = (GLfixed *) 0; 43169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 431717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset); 43189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 43192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 43202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 43212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 4 < needed"; 43229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 43239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 432417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (equation == NULL) { 432517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 432617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfixed *) (_equationBase + _bufferOffset); 432717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 43289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanex( 43299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 43309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)equation 43319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 43329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 43349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 43359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, equation, JNI_FALSE); 43369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 43382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 43392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 43409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 43419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */ 43439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 43449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4ub__BBBB 43459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) { 43469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4ub( 43479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)red, 43489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)green, 43499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)blue, 43509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)alpha 43519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 43529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 43539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 43559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 43569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointer__IIII 43579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 43589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColorPointer( 43599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 43609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 43619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 43629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 43639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 43649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 43659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 43679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 43689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__I_3II 43699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 43702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 43712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 43722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 43739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers_base = (GLuint *) 0; 43749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 43759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 43769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!buffers_ref) { 43782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 43792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 43802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "buffers == null"; 43819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 43829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 43842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 43852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 43862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 43879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 43889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(buffers_ref) - offset; 43909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 43912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 43922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 43932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 43949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 43959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers_base = (GLuint *) 43979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 43989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = buffers_base + offset; 43999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteBuffers( 44019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 44029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 44039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 44049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 44069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (buffers_base) { 44079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 44089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 44099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 44112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 44122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 44139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 44149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 44169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 44179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__ILjava_nio_IntBuffer_2 44189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 44192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 44202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 44212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 44229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 442317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 44249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 44259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 44269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 442717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset); 44289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 44292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 44302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 44312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 44329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 443417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (buffers == NULL) { 443517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 443617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buffers = (GLuint *) (_buffersBase + _bufferOffset); 443717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 44389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteBuffers( 44399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 44409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 44419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 44429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 44449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 44459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, buffers, JNI_FALSE); 44469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 44482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 44492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 44509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 44519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 44539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 44549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIII 44559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 44562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 44572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 44582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 44599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawElements( 44609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 44619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count, 44629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 44639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 44649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 44652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 44662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 44672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 44689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 44699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 44719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 44729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__I_3II 44739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 44749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 44752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 44762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 44779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers_base = (GLuint *) 0; 44789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 44799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 44809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!buffers_ref) { 44829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 44832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 44842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "buffers == null"; 44859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 44889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 44892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 44902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 44919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(buffers_ref) - offset; 44949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 44959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 44962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 44972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 44989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers_base = (GLuint *) 45019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 45029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = buffers_base + offset; 45039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenBuffers( 45059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 45069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 45079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 45089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 45109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (buffers_base) { 45119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 45129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 45139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 45152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 45162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 45179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 45189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 45209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 45219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__ILjava_nio_IntBuffer_2 45229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 45239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 45242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 45252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 45269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 452717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 45289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 45299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 45309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 453117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset); 45329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 45339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 45342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 45352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 45369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 45379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 453817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (buffers == NULL) { 453917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 454017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer buffers = (GLuint *) (_buffersBase + _bufferOffset); 454117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 45429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenBuffers( 45439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 45449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 45459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 45469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 45489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 45499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 45509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 45522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 45532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 45549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 45559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 45579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 45589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__I_3ZI 45599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 45609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 45612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 45622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 45639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params_base = (GLboolean *) 0; 45649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 45659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params = (GLboolean *) 0; 45669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 45689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 45692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 45702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 45719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 45729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 45749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 45752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 45762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 45779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 45789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 45809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLboolean *) 45819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 45829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 45839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetBooleanv( 45859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 45869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean *)params 45879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 45889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 45909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 45919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 45929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 45939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 45952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 45962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 45979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 45989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 46009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__ILjava_nio_IntBuffer_2 46029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 46039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 460417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 46059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 46069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params = (GLboolean *) 0; 46079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 460817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 460917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 461017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 461117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLboolean *) (_paramsBase + _bufferOffset); 461217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 46139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetBooleanv( 46149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 46159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean *)params 46169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 46179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 46182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 46199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 46219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 46239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__II_3II 46259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 462624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 46279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "glGetBufferParameteriv"); 46289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 46299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 46319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 46339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 463424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 46359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "glGetBufferParameteriv"); 46369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 46379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 46399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__I_3FI 46419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { 46429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 46432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 46442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 46459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn_base = (GLfloat *) 0; 46469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 46479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn = (GLfloat *) 0; 46489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!eqn_ref) { 46509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 46512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 46522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "eqn == null"; 46539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 46549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 46569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 46572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 46582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 46599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 46609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(eqn_ref) - offset; 46629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn_base = (GLfloat *) 46639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 46649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = eqn_base + offset; 46659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanef( 46679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 46689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)eqn 46699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 46709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 46729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (eqn_base) { 46739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 46749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 46759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 46772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 46782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 46799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 46809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 46829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__ILjava_nio_FloatBuffer_2 46849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 46859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 468617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 46879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 46889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn = (GLfloat *) 0; 46899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset); 469117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (eqn == NULL) { 469217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 469317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfloat *) (_eqnBase + _bufferOffset); 469417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 46959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanef( 46969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 46979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)eqn 46989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 46999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 47002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, eqn, JNI_TRUE); 47019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 47039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 47059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 47069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__I_3II 47079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { 47089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 47092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 47102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 47119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn_base = (GLfixed *) 0; 47129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 47139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn = (GLfixed *) 0; 47149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!eqn_ref) { 47169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 47172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 47182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "eqn == null"; 47199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 47229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 47232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 47242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 47259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(eqn_ref) - offset; 47289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn_base = (GLfixed *) 47299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 47309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = eqn_base + offset; 47319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanex( 47339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 47349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)eqn 47359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 47369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 47389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (eqn_base) { 47399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 47409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 47419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 47432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 47442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 47459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 47469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 47489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 47499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__ILjava_nio_IntBuffer_2 47509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 47519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 475217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 47539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 47549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn = (GLfixed *) 0; 47559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 475617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset); 475717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (eqn == NULL) { 475817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 475917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfixed *) (_eqnBase + _bufferOffset); 476017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 47619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanex( 47629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 47639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)eqn 47649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 47659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 47662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, eqn, JNI_TRUE); 47679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 47699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 47719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 47729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__I_3II 47739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 47749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 47752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 47762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 47779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 47789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 47799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 47809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 47829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 47832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 47842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 47859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 47889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 47892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 47902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 47919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 47949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 47959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 47969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 47979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFixedv( 47999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 48019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 48049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 48059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 48069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 48079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 48092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 48102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 48119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 48129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 48149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 48159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__ILjava_nio_IntBuffer_2 48169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 48179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 481817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 48199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 48209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 48219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 482217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 482317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 482417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 482517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 482617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 48279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFixedv( 48289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 48309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 48322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 48339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 48359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 48379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 48389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__I_3FI 48399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 48409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 48412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 48422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 48439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 48449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 48459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 48469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 48489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 48492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 48502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 48519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 48549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 48552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 48562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 48579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 48609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 48619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 48629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 48639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFloatv( 48659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 48679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 48709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 48719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 48729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 48739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 48752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 48762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 48779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 48789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 48809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 48819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__ILjava_nio_FloatBuffer_2 48829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 48839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 488417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 48859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 48869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 48879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 488817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 488917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 489017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 489117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 489217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 48939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFloatv( 48949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 48969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 48982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 48999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 49019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 49039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 49049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__II_3FI 49059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 49069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 49072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 49082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 49099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 49109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 49119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 49129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 49149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 49152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 49162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 49179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 49209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 49212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 49222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 49239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 49269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 49279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 49289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 49299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 49309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 49319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 49329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 49339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 49349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 49359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 49369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 49379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 49389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 49399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 49409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 49419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 49429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 49439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 49449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 49469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 49479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 49489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 49499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 49519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 49529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 49539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 49549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 49559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 49569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 49579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 49589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 49599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 49609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 49619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 49629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 49639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 49659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 49669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 49699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 49702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 49712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 49729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 49759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 49769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 49779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightfv( 49799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 49809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 49819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 49829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 49839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 49859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 49869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 49879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 49889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 49902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 49912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 49929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 49939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 49959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 49969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__IILjava_nio_FloatBuffer_2 49979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 49989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 49992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 50002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 50019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 500217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 50039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 50049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 50059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 500617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 50079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 50089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 50099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 50109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 50119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 50129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 50139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 50149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 50159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 50169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 50179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 50189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 50199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 50209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 50219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 50229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 50239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 50249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 50259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 50279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 50289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 50299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 50309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 50329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 50339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 50349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 50359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 50369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 50379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 50389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 50399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 50409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 50419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 50429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 50439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 50449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 50469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 50479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 50509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 50512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 50522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 50539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 505517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 505617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 505717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 505817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 50599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightfv( 50609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 50619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 50629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 50639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 50649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 50669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 50679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 50689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 50702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 50712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 50729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 50739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 50759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 50769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__II_3II 50779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 50789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 50792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 50802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 50819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 50829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 50839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 50849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 50869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 50872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 50882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 50899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 50929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 50932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 50942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 50959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 50989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 50999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 51009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 51019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 51029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 51039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 51049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 51059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 51069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 51079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 51089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 51099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 51109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 51119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 51129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 51139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 51149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 51159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 51169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 51179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 51189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 51199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 51209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 51219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 51229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 51239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 51249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 51259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 51269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 51279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 51289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 51299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 51309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 51319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 51329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 51339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 51349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 51359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 51369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 51379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 51389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 51399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 51419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 51422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 51432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 51449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 51479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 51489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 51499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightxv( 51519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 51529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 51539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 51549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 51559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 51579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 51589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 51599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 51609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 51622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 51632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 51649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 51659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 51679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 51689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__IILjava_nio_IntBuffer_2 51699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 51709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 51712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 51722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 51739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 517417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 51759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 51769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 51779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 517817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 51799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 51809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 51819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 51829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 51839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 51849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 51859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 51869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 51879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 51889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 51899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 51909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 51919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 51929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 51939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 51949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 51959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 51969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 51979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 51989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 51999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 52009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 52019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 52029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 52049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 52059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 52069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 52079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 52089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 52099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 52109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 52119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 52129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 52139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 52149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 52159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 52169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 52189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 52199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 52229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 52232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 52242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 52259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 522717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 522817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 522917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 523017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 52319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightxv( 52329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 52339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 52349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 52359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 52389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 52399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 52409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 52422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 52432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 52449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 52459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 52479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 52489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__II_3FI 52499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 52509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 52512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 52522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 52539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 52549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 52559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 52569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 52589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 52592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 52602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 52619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 52649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 52652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 52662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 52679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 52709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 52719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 52729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 52739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 52749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 52759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 52769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 52789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 52799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 52809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 52819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 52829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 52839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 52849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 52859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 52869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 52879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 52889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 52899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 52909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 52919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 52929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 52939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 52959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 52969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 52979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 52999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 53002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 53012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 53029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 53059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 53069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 53079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialfv( 53099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 53109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 53129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 53159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 53169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 53179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 53189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 53202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 53212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 53229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 53259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__IILjava_nio_FloatBuffer_2 53279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 53289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 53292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 53302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 53319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 533217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 53339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 53349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 53359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 533617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 53379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 53389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 53399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 53409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 53419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 53429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 53439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 53449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 53459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 53469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 53479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 53489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 53499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 53509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 53519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 53529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 53539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 53549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 53559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 53569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 53579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 53589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 53599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 53609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 53619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 53629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 53639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 53649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 53669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 53672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 53682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 53699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 537117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 537217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 537317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 537417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 53759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialfv( 53769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 53779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 53799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 53829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 53839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 53849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 53862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 53872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 53889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 53919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__II_3II 53939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 53949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 53952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 53962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 53979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 53989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 53999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 54009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 54029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 54032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 54042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 54059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 54089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 54092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 54102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 54119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 54149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 54159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 54169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 54179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 54189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 54199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 54209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 54219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 54229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 54239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 54249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 54259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 54269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 54279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 54289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 54299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 54309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 54319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 54329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 54339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 54349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 54359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 54369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 54379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 54389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 54399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 54409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 54419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 54439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 54442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 54452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 54469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 54499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 54509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 54519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialxv( 54539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 54549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 54559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 54569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 54599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 54609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 54619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 54629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 54642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 54652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 54669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 54699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 54709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__IILjava_nio_IntBuffer_2 54719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 54729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 54732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 54742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 54759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 547617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 54779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 54789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 54799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 548017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 54819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 54829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 54839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 54849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 54859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 54869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 54879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 54889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 54899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 54909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 54919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 54929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 54939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 54949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 54959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 54969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 54979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 54989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 54999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 55009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 55019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 55029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 55039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 55049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 55069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 55079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 55109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 55112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 55122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 55139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 551517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 551617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 551717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 551817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 55199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialxv( 55209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 55219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 55229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 55239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 55249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 55269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 55279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 55289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 55302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 55312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 55329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 55339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 55359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 55369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__II_3II 55379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 55389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 55392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 55402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 55419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 55429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 55439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 55449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 55469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 55472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 55482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 55499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 55529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 55532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 55542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 55559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 55589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 55599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 55609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 55619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 55629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 55639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 55649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 55659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 55669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 55679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 55689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 55699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 55709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 55729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 55739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 55749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 55759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 55779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 55789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 55819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 55822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 55832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 55849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 55879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 55889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 55899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnviv( 55919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 55929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 55939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 55949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 55959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 55979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 55989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 55999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 56009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 56022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 56032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 56049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 56079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__IILjava_nio_IntBuffer_2 56099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 56109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 56112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 56122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 56139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 561417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 56159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 56169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 56179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 561817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 56199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 56209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 56219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 56229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 56239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 56249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 56259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 56269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 56279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 56289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 56299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 56309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 56319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 56329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 56339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 56349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 56359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 56369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 56379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 56389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 56399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 56409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 56429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 56432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 56442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 56459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 564717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 564817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 564917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 565017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 56519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnviv( 56529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 56539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 56549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 56559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 56569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 56589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 56599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 56609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 56622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 56632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 56649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 56679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__II_3II 56699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 56709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 56712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 56722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 56739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 56749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 56759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 56769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 56789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 56792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 56802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 56819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 56849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 56852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 56862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 56879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 56909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 56919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 56929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 56939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 56949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 56959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 56969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 56979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 56989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 56999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 57009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 57019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 57029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 57049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 57059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 57069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 57079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 57099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 57109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 57139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 57142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 57152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 57169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 57199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 57209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 57219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnvxv( 57239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 57249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 57269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 57279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 57299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 57309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 57319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 57329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 57342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 57352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 57369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 57399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 57409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__IILjava_nio_IntBuffer_2 57419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 57429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 57432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 57442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 57459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 574617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 57479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 57489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 57499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 575017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 57519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 57529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 57539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 57549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 57559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 57569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 57579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 57589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 57599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 57609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 57619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 57629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 57639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 57659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 57669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 57679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 57689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 57709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 57719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 57729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 57749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 57752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 57762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 57779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 577917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 578017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 578117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 578217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 57839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnvxv( 57849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 57859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 57879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 57889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 57909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 57919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 57929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 57942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 57952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 57969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 57999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__II_3FI 58019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 58029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 58032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 58042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 58059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 58069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 58079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 58089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 58109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 58112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 58122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 58139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 58169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 58172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 58182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 58199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 58229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 58239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 58242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 58252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 58269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 58299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 58309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 58319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterfv( 58339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 58349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 58359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 58369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 58399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 58409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 58419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 58429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 58442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 58452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 58469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 58499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 58519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 58529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 58532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 58542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 58559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 585617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 58579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 58589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 58599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 586017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 58619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 58629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 58632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 58642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 58659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 586717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 586817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 586917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 587017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 58719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterfv( 58729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 58739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 58749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 58759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 58789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 58799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 58809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 58822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 58832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 58849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 58879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__II_3II 58899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 58909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 58912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 58922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 58939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 58949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 58959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 58969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 58989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 58992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 59019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 59049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 59052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 59079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 59109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 59119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 59122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 59149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 59179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 59189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 59199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameteriv( 59219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 59229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 59239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 59249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 59279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 59289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 59299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 59309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 59322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 59332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 59349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 59379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__IILjava_nio_IntBuffer_2 59399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 59409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 59412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 59422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 59439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 594417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 59459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 59469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 59479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 594817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 59499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 59509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 59512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 59539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 595517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 595617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 595717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 595817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 59599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameteriv( 59609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 59619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 59629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 59639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 59669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 59679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 59689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 59702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 59712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 59729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 59759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__II_3II 59779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 59789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 59792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 59802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 59819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 59829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 59839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 59849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 59869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 59872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 59899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 59929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 59932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 59942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 59959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 59989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 59999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 60002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 60012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 60029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 60059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 60069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 60079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterxv( 60099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 60109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 60119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 60129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 60159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 60169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 60179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 60189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 60202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 60212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 60229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 60259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__IILjava_nio_IntBuffer_2 60279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 60289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 60292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 60302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 60319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 603217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 60339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 60349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 60359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 603617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 60379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 60389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 60392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 60402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 60419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 604317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 604417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 604517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 604617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 60479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterxv( 60489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 60499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 60509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 60519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 60549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 60559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 60569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 60582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 60592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 60609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsBuffer ( GLuint buffer ) */ 60639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 60649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsBuffer__I 60659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint buffer) { 60669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 60679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsBuffer( 60689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)buffer 60699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 60719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsEnabled ( GLenum cap ) */ 60749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 60759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsEnabled__I 60769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 60779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 60789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsEnabled( 60799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 60809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 60829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsTexture ( GLuint texture ) */ 60859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 60869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsTexture__I 60879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 60889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 60899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsTexture( 60909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)texture 60919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 60939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */ 60969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointer__III 60989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) { 60999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormalPointer( 61009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 61019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 61029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 61039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 61049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterf ( GLenum pname, GLfloat param ) */ 61079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterf__IF 61099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 61109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterf( 61119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 61129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 61139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 61149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 61179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__I_3FI 61199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 61202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 61212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 61222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 61239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 61249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 61259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 61269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 61282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 61292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 61302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 61319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 61329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 61342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 61352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 61362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 61379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 61389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 61409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 61412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 61422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 61432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 61449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 61459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 61479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 61489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 61499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterfv( 61519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 61529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 61539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 61549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 61569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 61579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 61589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 61599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 61612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 61622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 61639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 61669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__ILjava_nio_FloatBuffer_2 61689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 61692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 61702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 61712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 61729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 617317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 61749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 61759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 61769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 617717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 61789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 61792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 61802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 61812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 61829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 61839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 618417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 618517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 618617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 618717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 61889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterfv( 61899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 61909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 61919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 61929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 61949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 61959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 61969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 61982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 61992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 62009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterx ( GLenum pname, GLfixed param ) */ 62039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterx__II 62059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 62069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterx( 62079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 62089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 62099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 62109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 62139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__I_3II 62159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 62162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 62172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 62182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 62199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 62209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 62219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 62229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 62242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 62252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 62262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 62279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 62289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 62299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 62302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 62312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 62322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 62339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 62349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 62359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 62369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 62372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 62382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 62392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 62409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 62419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 62429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 62439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 62449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 62459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterxv( 62479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 62489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 62499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 62509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 62529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 62539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 62549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 62559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 62562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 62572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 62582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 62599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 62629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__ILjava_nio_IntBuffer_2 62649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 62652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 62662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 62672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 62689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 626917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 62709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 62719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 62729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 627317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 62749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 62752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 62762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 62772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 62789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 62799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 628017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 628117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 628217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 628317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 62849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterxv( 62859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 62869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 62879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 62889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 62909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 62919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 62929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 62932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 62942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 62952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 62969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 62999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6300be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I 6301be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 63029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 630317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 63049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 63059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 63069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6307be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 6308be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 6309be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 6310be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 6311be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6312be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6313be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glPointSizePointerOESBounds( 63149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 63159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 6316be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 6317be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 63189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 63199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 63209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 63229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 63239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointer__IIII 63249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 63259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexCoordPointer( 63269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 63279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 63289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 63299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 63309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 63319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 63329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */ 63349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 63359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvi__III 63369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 63379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvi( 63389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 63399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 63409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 63419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 63429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 63439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 63459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 63469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__II_3II 63479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 63482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 63492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 63502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 63519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 63529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 63539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 63549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 63562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 63572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 63582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 63599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 63609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 63619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 63622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 63632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 63642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 63659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 63669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 63679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 63689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 63699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 63709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 63719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 63729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 63739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 63749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 63759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 63769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 63779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 63789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 63799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 63809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 63819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 63829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 63839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 63849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 63859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 63869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 63879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 63889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 63899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 63909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 63912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 63922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 63932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < needed"; 63949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 63959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 63969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 63979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 63989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 63999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnviv( 64019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 64029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 64039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 64049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 64059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 64079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 64089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 64099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 64109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 64112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 64122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 64132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 64149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 64179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__IILjava_nio_IntBuffer_2 64199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 64202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 64212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 64222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 64239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 642417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 64259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 64269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 64279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 642817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 64299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 64309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 64319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 64329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 64339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 64349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 64359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 64369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 64379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 64389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 64399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 64409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 64419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 64429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 64439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 64449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 64459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 64469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 64479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 64489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 64499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 64509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 64519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 64522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 64532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 64542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < needed"; 64559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 64569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 645717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 645817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 645917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 646017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 64619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnviv( 64629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 64639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 64649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 64659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 64669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 64689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 64699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 64709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 64712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 64722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 64732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 64749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 64779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__II_3FI 64799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 64802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 64812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 64822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 64839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 64849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 64859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 64869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 64882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 64892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 64902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 64919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 64929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 64939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 64942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 64952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 64962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 64979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 64989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 64999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 65009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 65012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 65022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 65032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 65049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 65059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 65069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 65079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 65089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 65099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterfv( 65119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 65129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 65139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 65149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 65159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 65179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 65189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 65199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 65209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 65212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 65222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 65232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 65249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 65259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 65279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 65289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__IILjava_nio_FloatBuffer_2 65299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 65302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 65312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 65322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 65339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 653417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 65359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 65369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 65379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 653817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 65399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 65402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 65412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 65422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 65439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 65449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 654517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 654617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 654717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 654817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 65499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterfv( 65509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 65519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 65529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 65539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 65549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 65569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 65579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 65589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 65592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 65602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 65612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 65629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 65639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 65659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 65669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteri__III 65679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 65689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteri( 65699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 65709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 65719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 65729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 65739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 65749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 65769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 65779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__II_3II 65789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 65792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 65802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 65812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 65829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 65839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 65849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 65859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 65872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 65882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 65892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 65909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 65919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 65929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 65932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 65942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 65952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 65969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 65979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 65989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 65999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 66002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 66012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 66022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 66039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 66049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 66069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 66079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 66089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteriv( 66109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 66119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 66129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 66139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 66149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 66169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 66179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 66189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 66199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 66212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 66222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 66239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 66249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 66269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 66279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__IILjava_nio_IntBuffer_2 66289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 66292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 66302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 66312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 66329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 663317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 66349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 66359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 66369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 663717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 66389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 66392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 66402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 66412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 66429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 66439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 664417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 664517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 664617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 664717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 66489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteriv( 66499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 66509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 66519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 66529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 66539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 66559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 66569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 66579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 66592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 66602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 66619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 66629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 66649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 66659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__II_3II 66669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 66672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 66682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 66692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 66709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 66719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 66729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 66739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 66752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 66762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 66772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 66789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 66799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 66812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 66822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 66832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 66849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 66859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 66879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 66882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 66892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 66902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 66919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 66929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 66939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 66949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 66959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 66969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterxv( 66989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 66999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 67009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 67019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 67029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 67049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 67059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 67069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 67079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 67082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 67092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 67102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 67119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 67149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__IILjava_nio_IntBuffer_2 67169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 67172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 67182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 67192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 67209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 672117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 67229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 67239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 67249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 672517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 67269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 67272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 67282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 67292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 67309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 67319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 673217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 673317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 673417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 673517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 67369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterxv( 67379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 67389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 67399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 67409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 67419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 67439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 67449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 67459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 67462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 67472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 67482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 67499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 67529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointer__IIII 67549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 67559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glVertexPointer( 67569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 67579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 67589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 67599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 67609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 67619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */ 67649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCurrentPaletteMatrixOES__I 67669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint matrixpaletteindex) { 6767be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glCurrentPaletteMatrixOES( 6768be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLuint)matrixpaletteindex 6769be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 67709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */ 67739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfOES__FFFFF 67759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) { 67769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfOES( 67779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 67789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 67799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z, 67809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)width, 67819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)height 67829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 67839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */ 67869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES___3FI 67889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) { 67892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 67902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 67912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 67929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords_base = (GLfloat *) 0; 67939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 67949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords = (GLfloat *) 0; 67959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 67972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 67982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 67992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 68009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 68019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 68032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 68042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 68052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 68069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 68079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 68099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 68102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 68112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 68122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 68139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 68149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLfloat *) 68169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 68179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 68189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfvOES( 68209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)coords 68219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 68229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 68249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 68259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 68269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 68279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 68292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 68302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 68319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */ 68349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 68369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 68372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 68382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 68392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 68409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 684117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 68429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 68439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords = (GLfloat *) 0; 68449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 684517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset); 68469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 68472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 68482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 68492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 68509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 68519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 685217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 685317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 685417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfloat *) (_coordsBase + _bufferOffset); 685517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 68569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfvOES( 68579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)coords 68589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 68599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 68619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 68629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 68639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 68652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 68662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 68679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */ 68709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexiOES__IIIII 68729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 68739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexiOES( 68749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 68759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 68769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)z, 68779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)width, 68789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)height 68799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 68809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */ 68839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES___3II 68859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 68862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 68872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 68882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 68899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords_base = (GLint *) 0; 68909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 68919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords = (GLint *) 0; 68929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 68942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 68952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 68962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 68979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 68989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 68999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 69002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 69012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 69022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 69039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 69049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 69059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 69069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 69072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 69082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 69092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 69109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 69119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 69129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLint *) 69139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 69149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 69159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexivOES( 69179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)coords 69189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 69199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 69219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 69229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 69239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 69249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 69252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 69262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 69272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 69289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */ 69319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 69329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2 69339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 69342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 69352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 69362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 69379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 693817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 69399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 69409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords = (GLint *) 0; 69419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 694217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset); 69439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 69442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 69452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 69462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 69479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 69489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 694917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 695017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 695117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLint *) (_coordsBase + _bufferOffset); 695217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 69539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexivOES( 69549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)coords 69559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 69569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 69589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 69599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 69609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 69612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 69622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 69632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 69649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */ 69679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 69689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsOES__SSSSS 69699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) { 69709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsOES( 69719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)x, 69729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)y, 69739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)z, 69749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)width, 69759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)height 69769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 69779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */ 69809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 69819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES___3SI 69829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) { 69832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 69842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 69852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 69869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords_base = (GLshort *) 0; 69879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 69889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords = (GLshort *) 0; 69899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 69912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 69922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 69932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 69949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 69959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 69969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 69972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 69982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 69992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 70009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 70019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 70039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 70042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 70052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 70062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 70079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 70089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLshort *) 70109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 70119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 70129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsvOES( 70149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort *)coords 70159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 70169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 70189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 70199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 70209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 70219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 70232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 70242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 70259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */ 70289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 70309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 70312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 70322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 70332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 70349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 703517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 70369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 70379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords = (GLshort *) 0; 70389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 703917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset); 70409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 70412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 70422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 70432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 70449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 70459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 704617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 704717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 704817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLshort *) (_coordsBase + _bufferOffset); 704917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 70509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsvOES( 70519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort *)coords 70529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 70539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 70559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 70569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 70579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 70592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 70602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 70619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */ 70649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxOES__IIIII 70669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 70679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxOES( 70689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 70699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 70709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z, 70719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)width, 70729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)height 70739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 70749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */ 70779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES___3II 70799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 70802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 70812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 70822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 70839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords_base = (GLfixed *) 0; 70849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 70859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords = (GLfixed *) 0; 70869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 70882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 70892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 70902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 70919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 70929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 70942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 70952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 70962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 70979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 70989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 70999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 71009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 71012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 71022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 71032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 71049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 71059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 71069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLfixed *) 71079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 71089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 71099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxvOES( 71119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)coords 71129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 71139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 71159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 71169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 71179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 71189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 71192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 71202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 71212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 71229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */ 71259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2 71279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 71282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 71292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 71302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 71319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 713217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 71339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 71349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords = (GLfixed *) 0; 71359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 713617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset); 71379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 71382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 71392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 71402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 71419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 71429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 714317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 714417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 714517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfixed *) (_coordsBase + _bufferOffset); 714617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 71479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxvOES( 71489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)coords 71499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 71509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 71529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 71539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 71549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 71552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 71562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 71572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 71589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadPaletteFromModelViewMatrixOES ( void ) */ 71619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadPaletteFromModelViewMatrixOES__ 71639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 7164be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glLoadPaletteFromModelViewMatrixOES(); 71659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 71689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7169be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I 7170be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 7171be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 717217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 7173be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 7174be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 7175be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 7176be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 7177be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 7178be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 7179be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 7180be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 7181be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 7182be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glMatrixIndexPointerOESBounds( 7183be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 7184be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 7185be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 7186be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 7187be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 7188be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 71899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 71929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixIndexPointerOES__IIII 71949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 7195be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glMatrixIndexPointerOES( 7196be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 7197be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 7198be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 7199be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (const GLvoid *)offset 7200be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 72019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 72049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7205be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I 7206be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 7207be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 720817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 7209be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 7210be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 7211be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 7212be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 7213be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 7214be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 7215be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 7216be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 7217be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 7218be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glWeightPointerOESBounds( 7219be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 7220be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 7221be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 7222be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 7223be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 7224be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 72259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 72289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glWeightPointerOES__IIII 72309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 7231be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glWeightPointerOES( 7232be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 7233be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 7234be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 7235be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (const GLvoid *)offset 7236be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 72379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindFramebufferOES ( GLint target, GLint framebuffer ) */ 72409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindFramebufferOES__II 72429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 72438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 724424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBindFramebufferOES"); 72468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBindFramebufferOES( 72498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 72508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)framebuffer 72518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindRenderbufferOES ( GLint target, GLint renderbuffer ) */ 72559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindRenderbufferOES__II 72579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 72588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 725924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBindRenderbufferOES"); 72618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBindRenderbufferOES( 72648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 72658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 72668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquation ( GLint mode ) */ 72709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquation__I 72729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 72738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_subtractID)) { 727424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendEquation"); 72768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendEquation( 72798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)mode 72808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquationSeparate ( GLint modeRGB, GLint modeAlpha ) */ 72849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquationSeparate__II 72869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 72878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 728824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendEquationSeparate"); 72908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendEquationSeparate( 72938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)modeRGB, 72948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)modeAlpha 72958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFuncSeparate ( GLint srcRGB, GLint dstRGB, GLint srcAlpha, GLint dstAlpha ) */ 72999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 73009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFuncSeparate__IIII 73019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 73028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 730324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 73048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendFuncSeparate"); 73058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 73068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendFuncSeparate( 73088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)srcRGB, 73098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)dstRGB, 73108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)srcAlpha, 73118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)dstAlpha 73128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 73139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 73149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 73159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLint glCheckFramebufferStatusOES ( GLint target ) */ 73169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 73179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCheckFramebufferStatusOES__I 73189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target) { 73198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 732024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 73218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glCheckFramebufferStatusOES"); 73222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer return 0; 73238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint _returnValue = 0; 73258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glCheckFramebufferStatusOES( 73268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target 73278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 73288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 73299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 73309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 73318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 73329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 73339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__I_3II 73349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 73358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 733624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 73378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteFramebuffersOES"); 73388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 73398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 73412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 73422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 73438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers_base = (GLuint *) 0; 73448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 73458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 73468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 73478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!framebuffers_ref) { 73488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 73492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 73502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "framebuffers == null"; 73518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 73528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 73548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 73552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 73562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 73578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 73588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 73608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 73618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 73622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 73632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 73648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 73658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers_base = (GLuint *) 73678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 73688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = framebuffers_base + offset; 73698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 73708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteFramebuffersOES( 73718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 73728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 73738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 73748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 73758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 73768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (framebuffers_base) { 73778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 73788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 73798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 73812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 73822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 73839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 73849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 73858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 73869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 73879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 73889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 73898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 739024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 73918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteFramebuffersOES"); 73928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 73938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 73948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 73952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 73962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 73978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 739817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 73998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 74008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 74018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 740217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset); 74038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 74048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 74052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 74062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 74078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 74088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 740917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (framebuffers == NULL) { 741017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 741117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset); 741217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 74138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteFramebuffersOES( 74148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 74158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 74168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 74178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 74188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 74198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 74208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 74218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 74232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 74242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 74259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 74269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 74278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 74289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 74299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__I_3II 74309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 74318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 743224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 74338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteRenderbuffersOES"); 74348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 74358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 74372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 74382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 74398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 74408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 74418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 74428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 74438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!renderbuffers_ref) { 74448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 74452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 74462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "renderbuffers == null"; 74478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 74488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 74508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 74512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 74522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 74538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 74548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 74568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 74578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 74582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 74592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 74608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 74618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers_base = (GLuint *) 74638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 74648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = renderbuffers_base + offset; 74658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 74668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteRenderbuffersOES( 74678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 74688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 74698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 74708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 74718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 74728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (renderbuffers_base) { 74738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 74748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 74758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 74772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 74782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 74799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 74809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 74818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 74829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 74839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 74849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 74858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 748624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 74878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteRenderbuffersOES"); 74888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 74898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 74908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 74912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 74922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 74938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 749417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 74958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 74968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 74978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 749817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset); 74998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 75008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 75012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 75022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 75038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 75048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 750517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (renderbuffers == NULL) { 750617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 750717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset); 750817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 75098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteRenderbuffersOES( 75108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 75118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 75128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 75138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 75148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 75158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 75168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 75178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 75192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 75202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 75219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 75229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferRenderbufferOES ( GLint target, GLint attachment, GLint renderbuffertarget, GLint renderbuffer ) */ 75249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 75259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferRenderbufferOES__IIII 75269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 75278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 752824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 75298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glFramebufferRenderbufferOES"); 75308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 75318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glFramebufferRenderbufferOES( 75338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 75348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 75358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffertarget, 75368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 75378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 75389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 75399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferTexture2DOES ( GLint target, GLint attachment, GLint textarget, GLint texture, GLint level ) */ 75419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 75429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferTexture2DOES__IIIII 75439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 75448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 754524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 75468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glFramebufferTexture2DOES"); 75478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 75488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glFramebufferTexture2DOES( 75508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 75518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 75528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)textarget, 75538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)texture, 75548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)level 75558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 75569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 75579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenerateMipmapOES ( GLint target ) */ 75599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 75609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenerateMipmapOES__I 75619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target) { 75628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 756324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 75648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenerateMipmapOES"); 75658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 75668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenerateMipmapOES( 75688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target 75698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 75709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 75719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 75739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 75749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__I_3II 75759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 75768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 757724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 75788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenFramebuffersOES"); 75798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 75808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 75822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 75832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 75848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers_base = (GLuint *) 0; 75858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 75868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 75878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 75888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!framebuffers_ref) { 75898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 75902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 75912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "framebuffers == null"; 75928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 75938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 75948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 75958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 75962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 75972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 75988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 75998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 76018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 76028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 76032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 76042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 76058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 76068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers_base = (GLuint *) 76088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 76098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = framebuffers_base + offset; 76108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 76118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenFramebuffersOES( 76128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 76138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 76148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 76158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 76168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 76178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (framebuffers_base) { 76188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 76198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 76208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 76222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 76232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 76249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 76259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 76268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 76279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 76289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 76299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 76308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 763124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 76328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenFramebuffersOES"); 76338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 76348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 76362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 76372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 76388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 763917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 76408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 76418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 76428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 764317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset); 76448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 76458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 76462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 76472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 76488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 76498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 765017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (framebuffers == NULL) { 765117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 765217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset); 765317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 76548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenFramebuffersOES( 76558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 76568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 76578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 76588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 76598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 76608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 76618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 76628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 76642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 76652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 76669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 76679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 76688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 76699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 76709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__I_3II 76719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 76728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 767324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 76748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenRenderbuffersOES"); 76758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 76768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 76782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 76792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 76808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 76818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 76828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 76838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 76848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!renderbuffers_ref) { 76858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 76862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 76872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "renderbuffers == null"; 76888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 76898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 76918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 76922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 76932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 76948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 76958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 76968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 76978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 76988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 76992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 77002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 77018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 77028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers_base = (GLuint *) 77048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 77058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = renderbuffers_base + offset; 77068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 77078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenRenderbuffersOES( 77088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 77098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 77108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 77118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 77128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 77138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (renderbuffers_base) { 77148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 77158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 77168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 77182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 77192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 77209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 77219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 77228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 77239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 77249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 77259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 77268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 772724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 77288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenRenderbuffersOES"); 77298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 77308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 77322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 77332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 77348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 773517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 77368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 77378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 77388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 773917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset); 77408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 77418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 77422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 77432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 77448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 77458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 774617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (renderbuffers == NULL) { 774717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 774817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset); 774917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 77508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenRenderbuffersOES( 77518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 77528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 77538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 77548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 77558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 77568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 77578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 77588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 77602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 77612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 77629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 77639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 77649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 77659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 77669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFramebufferAttachmentParameterivOES__III_3II 77679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 77688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 776924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 77708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetFramebufferAttachmentParameterivOES"); 77718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 77728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 77742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 77752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 77768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 77778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 77788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 77799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 77808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 77818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 77822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 77832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 77848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 77858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 77878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 77882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 77892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 77908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 77918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 77928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 77938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 77948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 77958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 77969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 77978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetFramebufferAttachmentParameterivOES( 77988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 77998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 78008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 78018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 78028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 78038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 78058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 78068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 78078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 78088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 78102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 78112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 78128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 78138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 78158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic void 78168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 78178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 78188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 781924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 78208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetFramebufferAttachmentParameterivOES"); 78218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 78228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 782417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 78258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 78268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 78278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 782817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 782917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 783017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 783117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 783217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 78338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetFramebufferAttachmentParameterivOES( 78348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 78358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 78368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 78378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 78388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 78398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 78402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 78418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 78438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 78459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 78469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__II_3II 78479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 78488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 784924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 78508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetRenderbufferParameterivOES"); 78518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 78528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 78542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 78552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 78568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 78578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 78588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 78598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 78618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 78622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 78632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 78648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 78658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 78678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 78682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 78692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 78708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 78718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 78738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 78748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 78758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 78768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetRenderbufferParameterivOES( 78788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 78798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 78808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 78818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 78828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 78838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 78848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 78858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 78868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 78878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 78882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 78892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 78902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 78919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 78929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 78939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 78949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 78959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 78969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 78978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 789824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 78998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetRenderbufferParameterivOES"); 79008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 79018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 790317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 79048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 79058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 79068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 790717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 790817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 790917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 791017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 791117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 79128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetRenderbufferParameterivOES( 79138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 79148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 79158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 79168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 79178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 79182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 79198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 79219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 79229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 79239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 79249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__II_3FI 79259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 79268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 792724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 79288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenfv"); 79298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 79308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 79322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 79332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 79348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params_base = (GLfloat *) 0; 79358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 79368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 79378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 79388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 79398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 79402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 79412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 79428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 79438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 79458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 79462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 79472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 79488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 79498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 79518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLfloat *) 79528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 79538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 79548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 79558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenfv( 79568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 79578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 79588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 79598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 79608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 79618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 79628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 79638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 79648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 79658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 79672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 79682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 79699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 79709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 79719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 79729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 79739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__IILjava_nio_FloatBuffer_2 79749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 79758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 797624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 79778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenfv"); 79788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 79798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 798117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 79828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 79838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 79848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 798517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 798617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 798717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 798817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 798917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 79908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenfv( 79918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 79928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 79938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 79948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 79958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 79962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 79978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 79989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 79999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 80009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 80019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 80029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__II_3II 80039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 80048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 800524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 80068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGeniv"); 80078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 80088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 80102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 80112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 80128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 80138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 80148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 80158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 80168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 80178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 80182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 80192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 80208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 80218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 80238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 80242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 80252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 80268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 80278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 80298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 80308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 80318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 80328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 80338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGeniv( 80348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 80358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 80368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 80378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 80388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 80398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 80408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 80418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 80428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 80438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 80452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 80462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 80479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 80489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 80499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 80509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 80519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__IILjava_nio_IntBuffer_2 80529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 80538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 805424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 80558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGeniv"); 80568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 80578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 805917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 80608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 80618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 80628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 806317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 806417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 806517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 806617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 806717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 80688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGeniv( 80698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 80708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 80718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 80728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 80738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 80742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 80758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 80779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 80789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 80799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 80809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__II_3II 80819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 80828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 808324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 80848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenxv"); 80858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 80868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 80878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 80882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 80892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 80908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 80918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 80928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 80938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 80948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 80958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 80962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 80972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 80988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 80998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 81018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 81022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 81032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 81048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 81058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 81078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 81088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 81098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 81108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 81118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenxv( 81128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 81138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 81148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 81158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 81168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 81178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 81188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 81198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 81208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 81218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 81232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 81242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 81259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 81269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 81279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 81289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 81299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__IILjava_nio_IntBuffer_2 81309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 81318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 813224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 81338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenxv"); 81348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 81358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 813717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 81388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 81398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 81408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 814117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 814217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 814317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 814417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 814517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 81468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenxv( 81478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 81488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 81498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 81508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 81518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 81522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 81538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 81559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 81569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsFramebufferOES ( GLint framebuffer ) */ 81579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 81589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsFramebufferOES__I 81599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint framebuffer) { 81608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 816124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 81628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glIsFramebufferOES"); 81632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer return JNI_FALSE; 81648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLboolean _returnValue = JNI_FALSE; 81668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glIsFramebufferOES( 81678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)framebuffer 81688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 81698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 81709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 81719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 81729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsRenderbufferOES ( GLint renderbuffer ) */ 81739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 81749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsRenderbufferOES__I 81759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint renderbuffer) { 81768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 817724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 81788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glIsRenderbufferOES"); 81792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer return JNI_FALSE; 81808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLboolean _returnValue = JNI_FALSE; 81828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glIsRenderbufferOES( 81838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 81848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 81858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 81869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 81879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 81889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRenderbufferStorageOES ( GLint target, GLint internalformat, GLint width, GLint height ) */ 81899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 81909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRenderbufferStorageOES__IIII 81919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 81928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 819324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 81948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glRenderbufferStorageOES"); 81958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 81968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 81978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glRenderbufferStorageOES( 81988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 81998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)internalformat, 82008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)width, 82018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)height 82028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 82039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 82049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 82059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenf ( GLint coord, GLint pname, GLfloat param ) */ 82069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 82079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenf__IIF 82089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) { 82098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 821024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 82118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenf"); 82128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 82138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenf( 82158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 82168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 82178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat)param 82188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 82199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 82209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 82219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 82229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 82239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__II_3FI 82249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 82258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 822624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 82278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenfv"); 82288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 82298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 82312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 82322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 82338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params_base = (GLfloat *) 0; 82348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 82358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 82368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 82378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 82388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 82392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 82402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 82418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 82428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 82448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 82452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 82462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 82478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 82488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 82508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLfloat *) 82518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 82528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 82538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 82548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenfv( 82558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 82568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 82578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 82588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 82598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 82608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 82618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 82628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 82638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 82648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 82662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 82672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 82689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 82699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 82709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 82719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 82729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__IILjava_nio_FloatBuffer_2 82739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 82748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 827524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 82768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenfv"); 82778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 82788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 828017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 82818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 82828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 82838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 828417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 828517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 828617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 828717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 828817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 82898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenfv( 82908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 82918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 82928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 82938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 82948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 82952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 82968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 82979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 82989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 82999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeni ( GLint coord, GLint pname, GLint param ) */ 83009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 83019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeni__III 83029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 83038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 830424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 83058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeni"); 83068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 83078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeni( 83098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 83108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 83118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)param 83128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 83139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 83149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 83159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 83169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 83179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__II_3II 83189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 83198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 832024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 83218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeniv"); 83228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 83238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 83252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 83262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 83278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 83288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 83298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 83308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 83318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 83328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 83332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 83342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 83358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 83368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 83388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 83392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 83402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 83418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 83428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 83448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 83458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 83468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 83478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 83488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeniv( 83498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 83508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 83518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 83528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 83538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 83548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 83558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 83568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 83578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 83588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 83602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 83612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 83629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 83639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 83649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 83659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 83669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__IILjava_nio_IntBuffer_2 83679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 83688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 836924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 83708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeniv"); 83718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 83728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 837417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 83758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 83768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 83778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 837817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 837917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 838017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 838117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 838217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 83838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeniv( 83848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 83858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 83868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 83878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 83888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 83892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 83908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 83919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 83929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 83939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenx ( GLint coord, GLint pname, GLint param ) */ 83949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 83959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenx__III 83969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 83978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 839824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 83998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenx"); 84008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 84018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenx( 84038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 84048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 84058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)param 84068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 84079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 84089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 84099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 84109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 84119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__II_3II 84129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 84138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 841424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 84158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenxv"); 84168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 84178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 84192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionType; 84202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer const char * _exceptionMessage; 84218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 84228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 84238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 84248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 84258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 84268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 84272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 84282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 84298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 84308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 84328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 84332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 84342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 84358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 84368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 84388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 84398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 84408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 84418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 84428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenxv( 84438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 84448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 84458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 84468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 84478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 84488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 84498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 84508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 84518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 84528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 84542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 84552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 84569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 84579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 84589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 84599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 84609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__IILjava_nio_IntBuffer_2 84619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 84628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 846324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 84648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenxv"); 84658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 84668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 846817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 84698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 84708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 84718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 847217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); 847317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 847417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 847517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 847617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 84778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenxv( 84788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 84798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 84808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 84818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 84828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 84832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, params, JNI_TRUE); 84848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 84859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 84869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 84879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic const char *classPathName = "com/google/android/gles_jni/GLImpl"; 84889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 84899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic JNINativeMethod methods[] = { 84909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_nativeClassInit", "()V", (void*)nativeClassInit }, 84919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 84929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 84939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 84949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 84959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 84969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClear", "(I)V", (void *) android_glClear__I }, 84979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 84989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 84999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 85009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 85019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 85029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 85039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 85049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 85059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 85069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 85079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 85089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 85099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 85109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 85119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 85129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 85139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 85149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 85159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 85169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 85179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 85189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisable", "(I)V", (void *) android_glDisable__I }, 85199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 85209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 85219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 85229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnable", "(I)V", (void *) android_glEnable__I }, 85239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 85249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFinish", "()V", (void *) android_glFinish__ }, 85259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFlush", "()V", (void *) android_glFlush__ }, 85269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 85279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 85289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 85299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogx", "(II)V", (void *) android_glFogx__II }, 85309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 85319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 85329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 85339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 85349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 85359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 85369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 85379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetError", "()I", (void *) android_glGetError__ }, 85389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 85399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 85409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 85419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glHint", "(II)V", (void *) android_glHint__II }, 85429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 85439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 85449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 85459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 85469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 85479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 85489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 85499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 85509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 85519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightx", "(III)V", (void *) android_glLightx__III }, 85529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 85539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 85549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 85559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 85569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 85579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 85589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 85599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 85609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 85619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 85629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 85639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 85649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 85659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 85669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 85679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 85689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 85699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 85709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 85719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 85729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 85739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 85749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 85759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 85769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 85779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 85789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 85799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 85809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 85819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 85829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 85839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 85849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 85859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 85869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 85879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 85889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 85899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 85909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 85919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 85929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 85939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalex", "(III)V", (void *) android_glScalex__III }, 85949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 85959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 85969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 85979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 85989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 85999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 86009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 86019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 86029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 86039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 86049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 86059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 86069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 86079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 86089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 86099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 86109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 86119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 86129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 86139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 86149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "([II[II)I", (void *) android_glQueryMatrixxOES___3II_3II }, 86159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I", (void *) android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 86169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 86179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 86189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 86199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI }, 86209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 }, 86219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II }, 86229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 }, 86239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB }, 86249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII }, 86259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 86269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 86279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 86289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 86299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 86309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 86319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 86329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 86339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 86349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI }, 86359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 }, 86369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II }, 86379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 }, 86389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II }, 86399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 }, 86409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 86419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 86429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI }, 86439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 }, 86449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II }, 86459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 }, 86469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI }, 86479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 }, 86489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II }, 86499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 }, 86509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II }, 86519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 }, 86529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II }, 86539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 }, 86549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 86559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 86569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 86579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 86589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II }, 86599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 }, 86609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 86619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 86629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 86639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III }, 86649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF }, 86659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI }, 86669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 }, 86679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II }, 86689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II }, 86699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 }, 8670be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I }, 86719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII }, 86729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III }, 86739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II }, 86749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 }, 86759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 86769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 86779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 86789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 86799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 86809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II }, 86819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 }, 86829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII }, 86839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I }, 86849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF }, 86859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI }, 86869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 }, 86879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII }, 86889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II }, 86899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 }, 86909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS }, 86919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI }, 86929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 }, 86939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII }, 86949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II }, 86959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 }, 86969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ }, 8697be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I }, 86989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixIndexPointerOES", "(IIII)V", (void *) android_glMatrixIndexPointerOES__IIII }, 8699be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I }, 87009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glWeightPointerOES", "(IIII)V", (void *) android_glWeightPointerOES__IIII }, 87019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II }, 87029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II }, 87039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I }, 87049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II }, 87059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII }, 87069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I }, 87079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II }, 87089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 }, 87099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II }, 87109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 87119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII }, 87129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII }, 87139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I }, 87149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II }, 87159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 }, 87169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II }, 87179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 87189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II }, 87199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 }, 87209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II }, 87219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 }, 87229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(II[FI)V", (void *) android_glGetTexGenfv__II_3FI }, 87239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 }, 87249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(II[II)V", (void *) android_glGetTexGeniv__II_3II }, 87259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGeniv__IILjava_nio_IntBuffer_2 }, 87269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(II[II)V", (void *) android_glGetTexGenxv__II_3II }, 87279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxv__IILjava_nio_IntBuffer_2 }, 87289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I }, 87299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I }, 87309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII }, 87319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenf", "(IIF)V", (void *) android_glTexGenf__IIF }, 87329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(II[FI)V", (void *) android_glTexGenfv__II_3FI }, 87339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfv__IILjava_nio_FloatBuffer_2 }, 87349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeni", "(III)V", (void *) android_glTexGeni__III }, 87359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(II[II)V", (void *) android_glTexGeniv__II_3II }, 87369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGeniv__IILjava_nio_IntBuffer_2 }, 87379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenx", "(III)V", (void *) android_glTexGenx__III }, 87389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(II[II)V", (void *) android_glTexGenxv__II_3II }, 87399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxv__IILjava_nio_IntBuffer_2 }, 87409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}; 87419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 87429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_com_google_android_gles_jni_GLImpl(JNIEnv *_env) 87439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 87449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int err; 87459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 87469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return err; 87479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 8748