com_google_android_gles_jni_GLImpl.cpp revision 24ce5fb2cc09d0a14406e7b935f8648c5720d27e
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 * 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectgetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 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 jint offset; 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void *data; 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project position = _env->GetIntField(buffer, positionID); 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project limit = _env->GetIntField(buffer, limitID); 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *remaining = (limit - position) << elementSizeShift; 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pointer = _env->CallStaticLongMethod(nioAccessClass, 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBasePointerID, buffer); 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pointer != 0L) { 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *array = NULL; 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (void *) (jint) pointer; 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 13624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayID, buffer); 13991a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (*array == NULL) { 14091a27ae2fec23b420244258636d2370117e86f5eJack Palevich return (void*) NULL; 14191a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project offset = _env->CallStaticIntMethod(nioAccessClass, 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project getBaseArrayOffsetID, buffer); 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 14524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (void *) ((char *) data + offset); 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(array, data, 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project commit ? 0 : JNI_ABORT); 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 15691a27ae2fec23b420244258636d2370117e86f5eJack Palevichextern "C" { 15791a27ae2fec23b420244258636d2370117e86f5eJack Palevichextern char* __progname; 15891a27ae2fec23b420244258636d2370117e86f5eJack Palevich} 15991a27ae2fec23b420244258636d2370117e86f5eJack Palevich 16091a27ae2fec23b420244258636d2370117e86f5eJack Palevichstatic bool 16191a27ae2fec23b420244258636d2370117e86f5eJack PalevichallowIndirectBuffers(JNIEnv *_env) { 16291a27ae2fec23b420244258636d2370117e86f5eJack Palevich static jint sIndirectBufferCompatability; 16391a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (sIndirectBufferCompatability == 0) { 16491a27ae2fec23b420244258636d2370117e86f5eJack Palevich jobject appName = _env->NewStringUTF(::__progname); 16591a27ae2fec23b420244258636d2370117e86f5eJack Palevich sIndirectBufferCompatability = _env->CallStaticBooleanMethod(G11ImplClass, allowIndirectBuffersID, appName) ? 2 : 1; 16691a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 16791a27ae2fec23b420244258636d2370117e86f5eJack Palevich return sIndirectBufferCompatability == 2; 16891a27ae2fec23b420244258636d2370117e86f5eJack Palevich} 16991a27ae2fec23b420244258636d2370117e86f5eJack Palevich 17016e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevichstatic void * 17116e7972f0d986eebf846ea8feb50f4435a9c6970Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) { 17291a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (!buffer) { 17391a27ae2fec23b420244258636d2370117e86f5eJack Palevich return NULL; 17491a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 17591a27ae2fec23b420244258636d2370117e86f5eJack Palevich void* buf = _env->GetDirectBufferAddress(buffer); 17616e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich if (buf) { 17716e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint position = _env->GetIntField(buffer, positionID); 17816e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 17991a27ae2fec23b420244258636d2370117e86f5eJack Palevich buf = ((char*) buf) + (position << elementSizeShift); 18016e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } else { 18191a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (allowIndirectBuffers(_env)) { 18291a27ae2fec23b420244258636d2370117e86f5eJack Palevich jarray array = 0; 18391a27ae2fec23b420244258636d2370117e86f5eJack Palevich jint remaining; 18491a27ae2fec23b420244258636d2370117e86f5eJack Palevich buf = getPointer(_env, buffer, &array, &remaining); 18591a27ae2fec23b420244258636d2370117e86f5eJack Palevich if (array) { 18691a27ae2fec23b420244258636d2370117e86f5eJack Palevich releasePointer(_env, array, buf, 0); 18791a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 18891a27ae2fec23b420244258636d2370117e86f5eJack Palevich } else { 18924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", 19024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes "Must use a native order direct Buffer"); 19191a27ae2fec23b420244258636d2370117e86f5eJack Palevich } 19216e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } 19391a27ae2fec23b420244258636d2370117e86f5eJack Palevich return buf; 19416e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich} 19516e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich 196be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevichstatic int 197be509c9c7de5929d014dfe6d45e71cc8454ede0fJack PalevichgetNumCompressedTextureFormats() { 198be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich int numCompressedTextureFormats = 0; 199be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 200be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich return numCompressedTextureFormats; 201be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich} 202be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich 2038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich// Check if the extension at the head of pExtensions is pExtension. Note that pExtensions is 2048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich// terminated by either 0 or space, while pExtension is terminated by 0. 2058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2078a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichextensionEqual(const GLubyte* pExtensions, const GLubyte* pExtension) { 2088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich while (true) { 2098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char a = *pExtensions++; 2108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char b = *pExtension++; 2118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich bool aEnd = a == '\0' || a == ' '; 2128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich bool bEnd = b == '\0'; 2138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( aEnd || bEnd) { 2148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return aEnd == bEnd; 2158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( a != b ) { 2178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return false; 2188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic const GLubyte* 2238a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichnextExtension(const GLubyte* pExtensions) { 2248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich while (true) { 2258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich char a = *pExtensions++; 2268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if ( a == '\0') { 2278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return pExtensions-1; 2288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } else if ( a == ' ') { 2298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return pExtensions; 2308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 23324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 2348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2358a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichcheckForExtension(const GLubyte* pExtensions, const GLubyte* pExtension) { 2368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich for (;*pExtensions != '\0'; pExtensions = nextExtension(pExtensions)) { 2378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (extensionEqual(pExtensions, pExtension)) { 2388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return true; 2398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return false; 2428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic bool 2458a4de4be9ed522c704a45a44a265669e10a8f2ebJack PalevichsupportsExtension(JNIEnv *_env, jobject impl, jfieldID fieldId) { 2468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!_env->GetBooleanField(impl, haveCheckedExtensionsID)) { 2478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, haveCheckedExtensionsID, true); 2488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich const GLubyte* sExtensions = glGetString(GL_EXTENSIONS); 2498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_blend_equation_separateID, 2508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_equation_separate")); 2518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_blend_subtractID, 2528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_subtract")); 2538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_framebuffer_objectID, 2548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_framebuffer_object")); 2558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->SetBooleanField(impl, have_OES_texture_cube_mapID, 2568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich checkForExtension(sExtensions, (const GLubyte*) "GL_OES_texture_cube_map")); 2578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 2588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _env->GetBooleanField(impl, fieldId); 2598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 2608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// -------------------------------------------------------------------------- 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glActiveTexture ( GLenum texture ) */ 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glActiveTexture__I 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glActiveTexture( 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)texture 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFunc__IF 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glAlphaFunc( 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)ref 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFuncx__II 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jint ref) { 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glAlphaFuncx( 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)ref 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindTexture ( GLenum target, GLuint texture ) */ 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindTexture__II 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint texture) { 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBindTexture( 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)texture 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFunc__II 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBlendFunc( 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)sfactor, 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)dfactor 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClear ( GLbitfield mask ) */ 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClear__I 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mask) { 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClear( 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLbitfield)mask 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColor__FFFF 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearColor( 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)red, 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)green, 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)blue, 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)alpha 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColorx__IIII 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearColorx( 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)red, 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)green, 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)blue, 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)alpha 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthf ( GLclampf depth ) */ 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthf__F 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat depth) { 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearDepthf( 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)depth 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthx ( GLclampx depth ) */ 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthx__I 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint depth) { 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearDepthx( 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)depth 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearStencil ( GLint s ) */ 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearStencil__I 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint s) { 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClearStencil( 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)s 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClientActiveTexture ( GLenum texture ) */ 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClientActiveTexture__I 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClientActiveTexture( 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)texture 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4f__FFFF 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4f( 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)red, 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)green, 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)blue, 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)alpha 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4x__IIII 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4x( 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)red, 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)green, 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)blue, 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)alpha 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorMask__ZZZZ 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColorMask( 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)red, 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)green, 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)blue, 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)alpha 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointerBounds__IIILjava_nio_Buffer_2I 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 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; 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCompressedTexImage2D( 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)internalformat, 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border, 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)imageSize, 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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 ) */ 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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) { 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCompressedTexSubImage2D( 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)imageSize, 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexImage2D__IIIIIIII 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCopyTexImage2D( 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)internalformat, 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexSubImage2D__IIIIIIII 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCopyTexSubImage2D( 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCullFace ( GLenum mode ) */ 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCullFace__I 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glCullFace( 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__I_3II 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures_base = (GLuint *) 0; 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!textures_ref) { 53824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 54224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(textures_ref) - offset; 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 54724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures_base = (GLuint *) 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = textures_base + offset; 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteTextures( 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (textures_base) { 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__ILjava_nio_IntBuffer_2 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 57624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteTextures( 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, textures, JNI_FALSE); 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthFunc ( GLenum func ) */ 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthFunc__I 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func) { 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthFunc( 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthMask ( GLboolean flag ) */ 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthMask__Z 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jboolean flag) { 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthMask( 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)flag 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangef__FF 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthRangef( 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)zNear, 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)zFar 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangex__II 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDepthRangex( 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)zNear, 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)zFar 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisable ( GLenum cap ) */ 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisable__I 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDisable( 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisableClientState ( GLenum array ) */ 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisableClientState__I 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint array) { 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDisableClientState( 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)array 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawArrays__III 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawArrays( 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)first, 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIILjava_nio_Buffer_2 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *indices = (GLvoid *) 0; 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < count) { 66724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/ArrayIndexOutOfBoundsException", "remaining() < count"); 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawElements( 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count, 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)indices 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, indices, JNI_FALSE); 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnable ( GLenum cap ) */ 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnable__I 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glEnable( 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnableClientState ( GLenum array ) */ 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnableClientState__I 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint array) { 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glEnableClientState( 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)array 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFinish ( void ) */ 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFinish__ 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFinish(); 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFlush ( void ) */ 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFlush__ 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFlush(); 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogf ( GLenum pname, GLfloat param ) */ 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogf__IF 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogf( 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__I_3FI 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 73424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 73824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 76824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogfv( 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__ILjava_nio_FloatBuffer_2 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 82224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogfv( 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogx ( GLenum pname, GLfixed param ) */ 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogx__II 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogx( 8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__I_3II 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 85524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 85924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 8669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 8679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 8829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 8839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 8869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 88924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 8939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 8949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogxv( 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__ILjava_nio_IntBuffer_2 9119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 9139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 9179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 9189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 9219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 9229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 9239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 9249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 9259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR) 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_COLOR: 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR) 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 94324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFogxv( 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 9489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrontFace ( GLenum mode ) */ 9589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrontFace__I 9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrontFace( 9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 9639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumf__FFFFFF 9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrustumf( 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)left, 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)right, 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)bottom, 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)top, 9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zNear, 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zFar 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumx__IIIIII 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glFrustumx( 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)left, 9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)right, 9879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)bottom, 9889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)top, 9899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zNear, 9909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zFar 9919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 9929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 9939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 9959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__I_3II 9979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 9989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 9999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures_base = (GLuint *) 0; 10009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 10019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!textures_ref) { 10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 100524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 101024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(textures_ref) - offset; 10149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 101624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures_base = (GLuint *) 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = textures_base + offset; 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenTextures( 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (textures_base) { 10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 10329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 10369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__ILjava_nio_IntBuffer_2 10389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 10399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 10409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *textures = (GLuint *) 0; 10439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 10469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 104724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenTextures( 10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 10529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)textures 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 10569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLenum glGetError ( void ) */ 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetError__ 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLenum _returnValue; 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glGetError(); 10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 10699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__I_3II 10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 10759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 10789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 108124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 10829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 108624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS) 10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_BITS: 10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS) 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC) 10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_FUNC: 10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC) 10989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF) 10999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_REF: 11009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF) 11019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST) 11029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLEND_DST: 11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST) 11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS) 11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLUE_BITS: 11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS) 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_BUFFER_BINDING: 11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 11109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE) 11119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_SIZE: 11129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE) 11139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE) 11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_STRIDE: 11159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE) 11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE) 11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_TYPE: 11189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE) 11199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE) 11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CULL_FACE: 11219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE) 11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS) 11239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_BITS: 11249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS) 11259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE) 11269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_CLEAR_VALUE: 11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE) 11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC) 11299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_FUNC: 11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC) 11319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK) 11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_WRITEMASK: 11339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK) 11349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 11359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 11369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 11379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 11389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 11399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 11419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 11459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 11469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE) 11479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FRONT_FACE: 11489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE) 11499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS) 11509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_GREEN_BITS: 11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS) 11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 11539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 11559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 11569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 11579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1158be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1159be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1160be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1161be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1162be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1163be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 11649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 11659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 11669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 11679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT) 11689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_SMOOTH_HINT: 11699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT) 11709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH) 11719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_WIDTH: 11729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH) 11739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE) 11749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LOGIC_OP_MODE: 11759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE) 11769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 11779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 11789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 11799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 11809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 11819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 11829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 11839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 11849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 11859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 11869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 11879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 11889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE) 11899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_MODE: 11909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE) 11919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES) 11929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_CLIP_PLANES: 11939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES) 11949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES) 11959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_INDICES: 11969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES) 11979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES) 11989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_VERTICES: 11999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES) 12009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS) 12019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_LIGHTS: 12029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS) 12039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 12049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_MODELVIEW_STACK_DEPTH: 12059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 12069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES) 12079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PALETTE_MATRICES_OES: 12089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 12099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 12109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PROJECTION_STACK_DEPTH: 12119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 12129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE) 12139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_SIZE: 12149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE) 12159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 12169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_STACK_DEPTH: 12179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 12189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS) 12199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_UNITS: 12209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS) 12219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES) 12229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VERTEX_UNITS_OES: 12239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES) 12249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH) 12259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_STACK_DEPTH: 12269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH) 12279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 12289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_BUFFER_BINDING: 12299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 12309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE) 12319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_STRIDE: 12329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE) 12339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE) 12349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_TYPE: 12359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE) 12369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 12379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 12389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 12399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT) 12409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PACK_ALIGNMENT: 12419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT) 12429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 12439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PERSPECTIVE_CORRECTION_HINT: 12449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 12459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE) 12469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE: 12479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE) 12489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 12499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 12509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 12519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 12529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_STRIDE_OES: 12539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 12549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 12559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_TYPE_OES: 12569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 12579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT) 12589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SMOOTH_HINT: 12599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT) 12609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR) 12619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_FACTOR: 12629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR) 12639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS) 12649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_UNITS: 12659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS) 12669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH) 12679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_STACK_DEPTH: 12689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH) 12699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS) 12709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_RED_BITS: 12719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS) 12729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL) 12739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHADE_MODEL: 12749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL) 12759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS) 12769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_BITS: 12779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS) 12789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE) 12799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_CLEAR_VALUE: 12809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE) 12819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL) 12829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FAIL: 12839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL) 12849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC) 12859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FUNC: 12869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC) 12879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 12889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_FAIL: 12899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 12909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS) 12919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_PASS: 12929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 12939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF) 12949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_REF: 12959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF) 12969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK) 12979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_VALUE_MASK: 12989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK) 12999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK) 13009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_WRITEMASK: 13019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK) 13029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS) 13039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SUBPIXEL_BITS: 13049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS) 13059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D) 13069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_BINDING_2D: 13079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D) 13089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 13099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 13109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 13119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 13129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_SIZE: 13139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 13149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 13159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_STRIDE: 13169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 13179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 13189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_TYPE: 13199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 13209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH) 13219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_STACK_DEPTH: 13229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH) 13239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT) 13249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_UNPACK_ALIGNMENT: 13259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT) 13269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 13279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_BUFFER_BINDING: 13289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 13299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE) 13309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_SIZE: 13319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE) 13329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE) 13339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_STRIDE: 13349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE) 13359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE) 13369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_TYPE: 13379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE) 13389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 13399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 13409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 13419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 13429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_SIZE_OES: 13439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 13449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 13459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_STRIDE_OES: 13469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 13479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 13489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_TYPE_OES: 13499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 13509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 13519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 13529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE) 13539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_POINT_SIZE_RANGE: 13549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 13559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 13569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_LINE_WIDTH_RANGE: 13579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 13589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE) 13599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_RANGE: 13609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE) 13619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS) 13629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VIEWPORT_DIMS: 13639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS) 13649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 13659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_LINE_WIDTH_RANGE: 13669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 13679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 13689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_POINT_SIZE_RANGE: 13699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 13709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 2; 13719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 13729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE) 13739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_CLEAR_VALUE: 13749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE) 13759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK) 13769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_WRITEMASK: 13779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK) 1378be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1379be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1380be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1381be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1382be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1383be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 13849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX) 13859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SCISSOR_BOX: 13869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX) 13879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT) 13889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VIEWPORT: 13899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT) 13909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 13919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 13929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX) 13939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX: 13949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX) 13959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 13969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 13979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 13989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX) 13999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX: 14009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX) 14019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 14029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 14039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 14049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX) 14059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX: 14069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX) 14079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 14089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 14099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 14109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 16; 14119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 14129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 14139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMPRESSED_TEXTURE_FORMATS: 14149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1415be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 14169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 14179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 14189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 14199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 14209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 14219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 14229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 142324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 14249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 14259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 14269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 14279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 14289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 14299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 14309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetIntegerv( 14319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 14329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 14339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 14349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 14359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 14369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 14379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 14389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 14399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 14409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 14419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 14429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 14439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 14449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__ILjava_nio_IntBuffer_2 14459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 14469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 14479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 14489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 14499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 14509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 14519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 14529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 14539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 14549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS) 14559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_BITS: 14569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS) 14579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC) 14589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_FUNC: 14599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC) 14609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF) 14619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALPHA_TEST_REF: 14629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF) 14639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST) 14649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLEND_DST: 14659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST) 14669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS) 14679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_BLUE_BITS: 14689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS) 14699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 14709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_BUFFER_BINDING: 14719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 14729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE) 14739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_SIZE: 14749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE) 14759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE) 14769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_STRIDE: 14779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE) 14789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE) 14799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_ARRAY_TYPE: 14809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE) 14819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE) 14829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CULL_FACE: 14839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE) 14849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS) 14859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_BITS: 14869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS) 14879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE) 14889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_CLEAR_VALUE: 14899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE) 14909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC) 14919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_FUNC: 14929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC) 14939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK) 14949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_WRITEMASK: 14959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK) 14969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY) 14979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_DENSITY: 14989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY) 14999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END) 15009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_END: 15019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END) 15029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE) 15039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_MODE: 15049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE) 15059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START) 15069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FOG_START: 15079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START) 15089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE) 15099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_FRONT_FACE: 15109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE) 15119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS) 15129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_GREEN_BITS: 15139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS) 15149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 15159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 15169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 15179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 15189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 15199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1520be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1521be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1522be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1523be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1524be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1525be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 15269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 15279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 15289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 15299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT) 15309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_SMOOTH_HINT: 15319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT) 15329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH) 15339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINE_WIDTH: 15349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH) 15359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE) 15369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LOGIC_OP_MODE: 15379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE) 15389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 15399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 15409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 15419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 15429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 15439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 15449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 15459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 15469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 15479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 15489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 15499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 15509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE) 15519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MATRIX_MODE: 15529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE) 15539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES) 15549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_CLIP_PLANES: 15559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES) 15569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES) 15579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_INDICES: 15589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES) 15599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES) 15609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_ELEMENTS_VERTICES: 15619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES) 15629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS) 15639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_LIGHTS: 15649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS) 15659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 15669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_MODELVIEW_STACK_DEPTH: 15679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 15689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES) 15699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PALETTE_MATRICES_OES: 15709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 15719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 15729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_PROJECTION_STACK_DEPTH: 15739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 15749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE) 15759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_SIZE: 15769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE) 15779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 15789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_STACK_DEPTH: 15799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 15809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS) 15819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_TEXTURE_UNITS: 15829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS) 15839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES) 15849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VERTEX_UNITS_OES: 15859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES) 15869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH) 15879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_STACK_DEPTH: 15889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH) 15899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 15909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_BUFFER_BINDING: 15919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 15929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE) 15939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_STRIDE: 15949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE) 15959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE) 15969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NORMAL_ARRAY_TYPE: 15979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE) 15989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 15999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 16009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 16019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT) 16029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PACK_ALIGNMENT: 16039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT) 16049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 16059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PERSPECTIVE_CORRECTION_HINT: 16069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 16079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE) 16089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE: 16099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE) 16109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 16119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 16129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 16139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 16149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_STRIDE_OES: 16159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 16169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 16179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SIZE_ARRAY_TYPE_OES: 16189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 16199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT) 16209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POINT_SMOOTH_HINT: 16219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT) 16229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR) 16239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_FACTOR: 16249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR) 16259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS) 16269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_POLYGON_OFFSET_UNITS: 16279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS) 16289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH) 16299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_STACK_DEPTH: 16309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH) 16319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS) 16329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_RED_BITS: 16339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS) 16349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL) 16359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHADE_MODEL: 16369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL) 16379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS) 16389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_BITS: 16399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS) 16409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE) 16419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_CLEAR_VALUE: 16429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE) 16439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL) 16449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FAIL: 16459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL) 16469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC) 16479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_FUNC: 16489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC) 16499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 16509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_FAIL: 16519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 16529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS) 16539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_PASS_DEPTH_PASS: 16549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 16559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF) 16569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_REF: 16579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF) 16589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK) 16599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_VALUE_MASK: 16609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK) 16619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK) 16629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_STENCIL_WRITEMASK: 16639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK) 16649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS) 16659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SUBPIXEL_BITS: 16669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS) 16679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D) 16689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_BINDING_2D: 16699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D) 16709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 16719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 16729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 16739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 16749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_SIZE: 16759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 16769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 16779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_STRIDE: 16789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 16799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 16809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_COORD_ARRAY_TYPE: 16819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 16829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH) 16839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_STACK_DEPTH: 16849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH) 16859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT) 16869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_UNPACK_ALIGNMENT: 16879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT) 16889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 16899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_BUFFER_BINDING: 16909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 16919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE) 16929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_SIZE: 16939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE) 16949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE) 16959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_STRIDE: 16969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE) 16979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE) 16989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VERTEX_ARRAY_TYPE: 16999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE) 17009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 17019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 17029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 17039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 17049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_SIZE_OES: 17059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 17069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 17079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_STRIDE_OES: 17089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 17099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 17109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_WEIGHT_ARRAY_TYPE_OES: 17119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 17129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 17139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE) 17159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_POINT_SIZE_RANGE: 17169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 17179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 17189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_ALIASED_LINE_WIDTH_RANGE: 17199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 17209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE) 17219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DEPTH_RANGE: 17229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE) 17239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS) 17249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MAX_VIEWPORT_DIMS: 17259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS) 17269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 17279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_LINE_WIDTH_RANGE: 17289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 17299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 17309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SMOOTH_POINT_SIZE_RANGE: 17319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 17329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 2; 17339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE) 17359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_CLEAR_VALUE: 17369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE) 17379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK) 17389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COLOR_WRITEMASK: 17399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK) 1740be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1741be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1742be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1743be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1744be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1745be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 17469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX) 17479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SCISSOR_BOX: 17489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX) 17499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT) 17509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_VIEWPORT: 17519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT) 17529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 17539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX) 17559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX: 17569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX) 17579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 17589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 17599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 17609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX) 17619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX: 17629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX) 17639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 17649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 17659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 17669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX) 17679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX: 17689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX) 17699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 17709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 17719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 17729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 16; 17739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 17759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMPRESSED_TEXTURE_FORMATS: 17769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1777be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 17789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 17809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 17819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 17829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 17839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 17849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 178524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 17869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 17879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 17889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetIntegerv( 17899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 17909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 17919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 17929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 17939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 17949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 17959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 17969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 17979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 17989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 17999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* const GLubyte * glGetString ( GLenum name ) */ 180024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughesstatic jstring android_glGetString(JNIEnv *_env, jobject, jint name) { 180124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes const char* chars = (const char*) glGetString((GLenum) name); 180224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes return _env->NewStringUTF(chars); 18039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 18049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glHint ( GLenum target, GLenum mode ) */ 18059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 18069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glHint__II 18079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint mode) { 18089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glHint( 18099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 18109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 18119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 18129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 18139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelf ( GLenum pname, GLfloat param ) */ 18159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 18169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelf__IF 18179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 18189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelf( 18199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 18209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 18219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 18229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 18239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 18259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 18269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__I_3FI 18279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 18289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 18299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 18309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 18319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 183324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 18349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 18359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 18369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 183724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 18389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 18399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 18409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 18419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 18429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 18439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 18449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 18459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 18469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 18479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 18499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 18509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 18519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 18529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 18549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 18559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 18579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 185824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 18599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 18609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 18619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 18629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 18639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 18649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelfv( 18669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 18679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 18689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 18699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 18719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 18729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 18739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 18749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 18759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 18769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 18789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 18799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__ILjava_nio_FloatBuffer_2 18809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 18819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 18829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 18839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 18849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 18859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 18869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 18879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 18889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 18899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 18909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 18919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 18929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 18949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 18959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 18969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 18979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 18989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 18999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 19009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 190324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 19049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelfv( 19079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 19089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 19099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 19129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 19139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 19149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelx ( GLenum pname, GLfixed param ) */ 19189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelx__II 19209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 19219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelx( 19229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 19239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 19249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 19289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__I_3II 19309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 19319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 19329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 19339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 19349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 193624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 19379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 194024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 19419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 19449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 19459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 19469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 19479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 19489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 19499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 19509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 19529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 19539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 19549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 19559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 19579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 19589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 196124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 19629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 19639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 19659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 19669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 19679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelxv( 19699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 19709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 19719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 19729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 19749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 19759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 19769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 19779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 19789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 19799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 19819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 19829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__ILjava_nio_IntBuffer_2 19839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 19849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 19859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 19869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 19879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 19899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 19909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 19919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE) 19929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_TWO_SIDE: 19939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 19949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 19959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 19969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT) 19979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LIGHT_MODEL_AMBIENT: 19989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT) 19999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 20009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 20029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 20039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 200624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 20079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightModelxv( 20109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 20119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 20129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 20139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 20159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 20169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 20179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 20199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ 20219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 20229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightf__IIF 20239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { 20249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightf( 20259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 20269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 20279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 20289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 20299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 20309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 20329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 20339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__II_3FI 20349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 20359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 20369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 20379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 20389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 204024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 20419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 204424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 20459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 20489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 20499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 20509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 20519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 20529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 20539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 20549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 20559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 20569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 20579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 20589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 20599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 20609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 20619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 20629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 20639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 20649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 20659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 20669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 20689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 20699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 20709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 20719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 20739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 20749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 20759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 20769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 20779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 20789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 20799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 20809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 20819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 20829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 20839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 20849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 20859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 20879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 20889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 20899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 209124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 20929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 20939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 20949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 20959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 20969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 20979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 20989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightfv( 20999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 21009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 21019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 21029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 21039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 21059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 21069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 21079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 21089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 21109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 21129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 21139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__IILjava_nio_FloatBuffer_2 21149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 21159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 21169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 21179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 21189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 21209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 21219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 21229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 21239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 21249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 21259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 21269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 21279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 21289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 21299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 21309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 21319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 21329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 21339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 21349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 21359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 21369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 21379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 21389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 21409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 21419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 21429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 21439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 21459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 21469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 21479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 21489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 21499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 21509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 21519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 21529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 21539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 21549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 21559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 21569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 21579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 21599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 21609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 21619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 216324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 21649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 21659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightfv( 21679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 21689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 21699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 21709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 21719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 21739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 21749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 21759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 21769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 21779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ 21799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 21809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightx__III 21819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 21829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightx( 21839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 21849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 21859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 21869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 21879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 21889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 21909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 21919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__II_3II 21929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 21939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 21949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 21959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 21969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 219824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 21999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 220224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 22039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 22069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 22079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 22089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 22099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 22109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 22119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 22129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 22139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 22149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 22159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 22169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 22179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 22189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 22199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 22209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 22219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 22229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 22239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 22249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 22269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 22279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 22289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 22299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 22319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 22329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 22339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 22349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 22359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 22369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 22379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 22389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 22399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 22409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 22419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 22429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 22439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 22459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 22469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 224924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 22509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 22519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 22539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 22549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 22559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightxv( 22579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 22589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 22599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 22609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 22619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 22639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 22649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 22659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 22669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 22679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 22689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 22709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 22719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__IILjava_nio_IntBuffer_2 22729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 22739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 22749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 22759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 22769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 22779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 22789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 22799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 22809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 22819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 22829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 22839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 22849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 22859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 22869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 22879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 22889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 22899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 22909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 22919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 22929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 22939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 22949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 22959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 22969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 22979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 22989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 22999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 23009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 23019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 23039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 23049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 23059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 23069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 23079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 23089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 23099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 23109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 23119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 23129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 23139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 23149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 23159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 23179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 23189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 23199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 232124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 23229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 23239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLightxv( 23259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 23269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 23279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 23289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 23319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 23329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 23339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidth ( GLfloat width ) */ 23379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidth__F 23399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat width) { 23409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLineWidth( 23419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)width 23429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidthx ( GLfixed width ) */ 23469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidthx__I 23489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint width) { 23499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLineWidthx( 23509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)width 23519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadIdentity ( void ) */ 23559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadIdentity__ 23579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 23589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadIdentity(); 23599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */ 23629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf___3FI 23649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 23659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m_base = (GLfloat *) 0; 23669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 23679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 23689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 237024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 23719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 23729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 237424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 23759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 23769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 23789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfloat *) 23799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 23809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 23819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixf( 23839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 23849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 23859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 23879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 23889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 23899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 23909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 23919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 23929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 23939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */ 23949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 23959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf__Ljava_nio_FloatBuffer_2 23969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 23979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 23989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 23999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 24009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 24029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixf( 24039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 24049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 24069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 24079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */ 24119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx___3II 24139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 24149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m_base = (GLfixed *) 0; 24159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 24169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 24179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 241924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 24209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 242324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 24249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 24279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfixed *) 24289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 24299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 24309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixx( 24329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 24339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 24369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 24379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 24389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 24399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */ 24439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx__Ljava_nio_IntBuffer_2 24459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 24469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 24479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 24489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 24499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 24519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLoadMatrixx( 24529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 24539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 24559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 24569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLogicOp ( GLenum opcode ) */ 24609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLogicOp__I 24629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint opcode) { 24639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glLogicOp( 24649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)opcode 24659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ 24699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialf__IIF 24719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { 24729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialf( 24739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 24749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 24759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 24769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 24779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 24789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 24809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 24819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__II_3FI 24829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 24839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 24849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 24859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 24869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 248824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 24899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 249224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 24939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 24949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 24959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 24969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 24979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 24989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 24999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 25009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 25019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 25029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 25049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 25059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 25069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 25079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 25089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 25099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 25109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 25119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 25129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 25139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 25149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 25159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 25169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 25179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 25189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 25199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 25219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 25229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 252524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 25269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 25279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 25299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 25309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 25319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialfv( 25339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 25349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 25359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 25369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 25379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 25399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 25409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 25419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 25429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 25469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 25479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__IILjava_nio_FloatBuffer_2 25489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 25499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 25509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 25519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 25529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 25549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 25559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 25569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 25579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 25589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 25599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 25609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 25629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 25639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 25649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 25659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 25669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 25679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 25689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 25699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 25709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 25719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 25729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 25739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 25749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 25759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 25769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 25779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 25799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 25809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 25819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 258324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 25849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 25859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialfv( 25879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 25889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 25899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 25909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 25919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 25939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 25949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 25959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 25969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 25979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 25989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ 25999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 26009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialx__III 26019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 26029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialx( 26039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 26049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 26059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 26069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 26079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 26089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 26109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 26119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__II_3II 26129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 26139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 26149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 26159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 26169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 261824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 26199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 262224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 26239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 26269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 26279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 26289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 26299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 26309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 26319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 26329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 26339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 26349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 26359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 26369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 26379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 26389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 26399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 26409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 26419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 26429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 26439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 26449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 26459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 26469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 26479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 26489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 26499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 26509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 26519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 26529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 26539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 265524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 26569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 26579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 26599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 26609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 26619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialxv( 26639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 26649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 26659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 26669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 26679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 26699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 26709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 26719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 26729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 26739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 26749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 26769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 26779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__IILjava_nio_IntBuffer_2 26789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 26799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 26809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 26819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 26829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 26849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 26859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 26869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 26879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 26889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 26899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 26909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 26919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 26929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 26939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 26949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 26959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 26969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 26979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 26989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 26999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 27009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 27019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 27029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 27039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 27049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 27059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 27069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 27079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 27089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 27099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 27109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 27119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 271324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 27149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMaterialxv( 27179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 27189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 27199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 27209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 27239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 27249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 27259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixMode ( GLenum mode ) */ 27299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixMode__I 27319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 27329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMatrixMode( 27339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 27349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */ 27389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf___3FI 27409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 27419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m_base = (GLfloat *) 0; 27429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 27439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 27449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 274624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 27479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 275024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 27519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 27549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfloat *) 27559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 27569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 27579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixf( 27599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 27609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 27639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 27649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 27659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 27669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */ 27709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf__Ljava_nio_FloatBuffer_2 27729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 27739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 27749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 27759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *m = (GLfloat *) 0; 27769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 27789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixf( 27799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)m 27809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 27819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 27829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 27839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 27859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */ 27879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 27889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx___3II 27899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 27909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m_base = (GLfixed *) 0; 27919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 27929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 27939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 27949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!m_ref) { 279524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 27969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 27979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 27989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 279924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 28009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 28019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(m_ref) - offset; 28039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m_base = (GLfixed *) 28049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 28059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = m_base + offset; 28069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixx( 28089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 28099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 28129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (m_base) { 28139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 28149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 28159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */ 28199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx__Ljava_nio_IntBuffer_2 28219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject m_buf) { 28229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 28239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 28249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *m = (GLfixed *) 0; 28259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 28279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultMatrixx( 28289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)m 28299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 28319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, m, JNI_FALSE); 28329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 28339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ 28369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4f__IFFFF 28389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { 28399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultiTexCoord4f( 28409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 28419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)s, 28429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)t, 28439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)r, 28449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)q 28459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 28499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4x__IIIII 28519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 28529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glMultiTexCoord4x( 28539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 28549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)s, 28559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)t, 28569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)r, 28579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)q 28589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ 28629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3f__FFF 28649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { 28659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormal3f( 28669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)nx, 28679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)ny, 28689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)nz 28699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 28739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3x__III 28759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 28769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormal3x( 28779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)nx, 28789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)ny, 28799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)nz 28809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 28819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 28829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 28839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 28849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 28859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointerBounds__IILjava_nio_Buffer_2I 28869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 28879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 28889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 28899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 28909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2891e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 289216e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2893e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 2894e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 2895e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 2896e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 28979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormalPointerBounds( 28989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 28999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 29009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 29019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 29029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 29069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthof__FFFFFF 29089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 29099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glOrthof( 29109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)left, 29119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)right, 29129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)bottom, 29139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)top, 29149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zNear, 29159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)zFar 29169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 29209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthox__IIIIII 29229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 29239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glOrthox( 29249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)left, 29259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)right, 29269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)bottom, 29279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)top, 29289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zNear, 29299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)zFar 29309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPixelStorei ( GLenum pname, GLint param ) */ 29349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPixelStorei__II 29369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 29379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPixelStorei( 29389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 29399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 29409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSize ( GLfloat size ) */ 29449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSize__F 29469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat size) { 29479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointSize( 29489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)size 29499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizex ( GLfixed size ) */ 29539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSizex__I 29559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size) { 29569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointSizex( 29579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)size 29589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 29629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffset__FF 29649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 29659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPolygonOffset( 29669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)factor, 29679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)units 29689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 29729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffsetx__II 29749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint factor, jint units) { 29759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPolygonOffsetx( 29769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)factor, 29779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)units 29789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 29799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPopMatrix ( void ) */ 29829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPopMatrix__ 29849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 29859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPopMatrix(); 29869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPushMatrix ( void ) */ 29899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPushMatrix__ 29919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 29929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPushMatrix(); 29939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 29949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 29969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 29979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glReadPixels__IIIIIILjava_nio_Buffer_2 29989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 29999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 30009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 30019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 30029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 30039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 30059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glReadPixels( 30069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 30079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 30089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 30099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 30109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 30119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 30129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 30139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 30159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 30169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 30209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatef__FFFF 30229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 30239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glRotatef( 30249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)angle, 30259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 30269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 30279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 30289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 30329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatex__IIII 30349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 30359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glRotatex( 30369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)angle, 30379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 30389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 30399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 30409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 30449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoverage__FZ 30469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 30479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glSampleCoverage( 30489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampf)value, 30499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)invert 30509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 30549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoveragex__IZ 30569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 30579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glSampleCoveragex( 30589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLclampx)value, 30599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean)invert 30609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 30649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalef__FFF 30669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 30679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScalef( 30689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 30699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 30709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 30719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 30759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalex__III 30779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 30789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScalex( 30799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 30809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 30819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 30829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 30869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScissor__IIII 30889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 30899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glScissor( 30909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 30919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 30929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 30939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 30949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 30959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 30969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 30979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glShadeModel ( GLenum mode ) */ 30989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 30999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glShadeModel__I 31009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 31019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glShadeModel( 31029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode 31039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 31079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilFunc__III 31099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 31109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilFunc( 31119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)func, 31129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)ref, 31139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)mask 31149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilMask ( GLuint mask ) */ 31189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilMask__I 31209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mask) { 31219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilMask( 31229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)mask 31239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 31279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilOp__III 31299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 31309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glStencilOp( 31319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)fail, 31329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)zfail, 31339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)zpass 31349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 31389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 31409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 31419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 31429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 31439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 31449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3145e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 314616e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3147e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3148e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3149e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3150e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 31519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexCoordPointerBounds( 31529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 31539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 31549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 31559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 31569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 31579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 31619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvf__IIF 31639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 31649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvf( 31659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 31669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 31679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 31689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 31699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 31709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 31729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 31739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__II_3FI 31749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 31759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 31769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 31779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 31789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 318024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 31819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 31829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 318424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 31859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 31869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 31879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 31889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 31899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 31909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 31919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 31929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 31939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 31949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 31959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 31969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 31979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 31989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 31999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 32009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 32029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 32039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 32049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 32059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 32079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 32089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 321124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 32129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 32139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 32159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 32169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 32179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvfv( 32199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 32209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 32219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 32229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 32259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 32269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 32279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 32289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 32329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__IILjava_nio_FloatBuffer_2 32349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 32359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 32369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 32379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 32389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 32409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 32419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 32429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 32439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 32449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 32459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 32469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 32479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 32489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 32499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 32509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 32519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 32529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 32549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 32559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 32569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 32579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 32599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 32609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 32619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 326324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 32649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 32659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvfv( 32679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 32689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 32699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 32709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 32739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 32749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 32759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 32769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 32799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvx__III 32819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 32829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvx( 32839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 32849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 32859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 32869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 32879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 32889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 32909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 32919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__II_3II 32929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 32939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 32949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 32959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 32969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 32979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 329824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 32999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 33009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 330224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 33039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 33049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 33069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 33079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 33089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 33099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 33109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 33119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 33129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 33139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 33149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 33159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 33169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 33179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 33189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 33209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 33219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 33229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 33239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 33259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 33269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 332924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 33309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 33319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 33339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 33349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 33359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvxv( 33379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 33389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 33399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 33409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 33439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 33449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 33459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 33469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 33509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__IILjava_nio_IntBuffer_2 33529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 33539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 33549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 33559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 33569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 33589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 33599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 33609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 33619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 33629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 33639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 33649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 33659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 33669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 33679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 33689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 33699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 33709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 33729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 33739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 33749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 33759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 33779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 33789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 33799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 338124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 33829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 33839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvxv( 33859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 33869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 33879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 33889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 33899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 33919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 33929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 33939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 33949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 33959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33969066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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 ) */ 33979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 33989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 33999066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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) { 34009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 34019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 34029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 34039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pixels_buf) { 34059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 34069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 34079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexImage2D( 34089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 34099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 34109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)internalformat, 34119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 34129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 34139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)border, 34149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 34159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 34169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 34179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 34199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, pixels, JNI_FALSE); 34209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 34219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 34249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterf__IIF 34269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 34279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterf( 34289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 34299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 34309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 34319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 34359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterx__III 34379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 34389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterx( 34399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 34409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 34419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 34429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34459066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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 ) */ 34469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 34489066cfe9886ac131c34d59ed0e2d287b0e3c0087The 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) { 34499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 34509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 34519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pixels = (GLvoid *) 0; 34529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (pixels_buf) { 34549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 34559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 34569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexSubImage2D( 34579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 34589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)level, 34599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)xoffset, 34609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)yoffset, 34619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 34629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height, 34639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)format, 34649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 34659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pixels 34669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 34689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, pixels, JNI_FALSE); 34699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 34709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 34739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatef__FFF 34759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 34769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTranslatef( 34779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 34789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 34799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z 34809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 34849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatex__III 34869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 34879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTranslatex( 34889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 34899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 34909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z 34919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 34929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 34939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 34949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 34959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 34969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointerBounds__IIILjava_nio_Buffer_2I 34979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 34989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 34999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 35009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 35019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3502e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 350316e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3504e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3505e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3506e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3507e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 35089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glVertexPointerBounds( 35099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 35109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 35119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 35129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)pointer, 35139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)remaining 35149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 35189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 35199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glViewport__IIII 35209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 35219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glViewport( 35229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 35239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 35249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)width, 35259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)height 35269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 35309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 35319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES___3II_3II 35329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray mantissa_ref, jint mantissaOffset, jintArray exponent_ref, jint exponentOffset) { 35339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 35349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLbitfield _returnValue = -1; 35359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa_base = (GLfixed *) 0; 35369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _mantissaRemaining; 35379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa = (GLfixed *) 0; 35389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent_base = (GLint *) 0; 35399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exponentRemaining; 35409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent = (GLint *) 0; 35419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!mantissa_ref) { 35439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 354424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "mantissa == null"); 35459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mantissaOffset < 0) { 35489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 354924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "mantissaOffset < 0"); 35509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _mantissaRemaining = _env->GetArrayLength(mantissa_ref) - mantissaOffset; 35539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_mantissaRemaining < 16) { 35549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 355524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - mantissaOffset < 16"); 35569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mantissa_base = (GLfixed *) 35599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(mantissa_ref, (jboolean *)0); 35609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mantissa = mantissa_base + mantissaOffset; 35619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!exponent_ref) { 35639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 356424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "exponent == null"); 35659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (exponentOffset < 0) { 35689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 356924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "exponentOffset < 0"); 35709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exponentRemaining = _env->GetArrayLength(exponent_ref) - exponentOffset; 35739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentRemaining < 16) { 35749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 357524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - exponentOffset < 16"); 35769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 35779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project exponent_base = (GLint *) 35799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(exponent_ref, (jboolean *)0); 35809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project exponent = exponent_base + exponentOffset; 35819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glQueryMatrixxOES( 35839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)mantissa, 35849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)exponent 35859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 35869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 35889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (exponent_base) { 35899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(exponent_ref, exponent_base, 35909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 35919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mantissa_base) { 35939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(mantissa_ref, mantissa_base, 35949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 35959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 35969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 35979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 35989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 35999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 36009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 36019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 36029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject mantissa_buf, jobject exponent_buf) { 36039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 36049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _mantissaArray = (jarray) 0; 36059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _exponentArray = (jarray) 0; 36069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLbitfield _returnValue = -1; 36079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _mantissaRemaining; 36089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *mantissa = (GLfixed *) 0; 36099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exponentRemaining; 36109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *exponent = (GLint *) 0; 36119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mantissa = (GLfixed *)getPointer(_env, mantissa_buf, &_mantissaArray, &_mantissaRemaining); 36139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_mantissaRemaining < 16) { 36149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 361524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 16"); 36169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 36179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project exponent = (GLint *)getPointer(_env, exponent_buf, &_exponentArray, &_exponentRemaining); 36199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentRemaining < 16) { 36209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 362124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 16"); 36229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 36239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glQueryMatrixxOES( 36259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)mantissa, 36269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)exponent 36279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 36289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 36309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_mantissaArray) { 36319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _mantissaArray, exponent, _exception ? JNI_FALSE : JNI_TRUE); 36329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_exponentArray) { 36349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _exponentArray, mantissa, _exception ? JNI_FALSE : JNI_TRUE); 36359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 36379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 36389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindBuffer ( GLenum target, GLuint buffer ) */ 36409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 36419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindBuffer__II 36429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint buffer) { 36439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBindBuffer( 36449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 36459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)buffer 36469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 36479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 36489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 36509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 36519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferData__IILjava_nio_Buffer_2I 36529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 36539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 36549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 36559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 36569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (data_buf) { 36589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 3659c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich if (_remaining < size) { 366024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 3661c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich goto exit; 3662c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich } 36639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBufferData( 36659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 36669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizeiptr)size, 36679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data, 36689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)usage 36699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3670c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich 3671c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevichexit: 36729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 36739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 36749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 36759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 36769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 36789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 36799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferSubData__IIILjava_nio_Buffer_2 36809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 36819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 36829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 36839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *data = (GLvoid *) 0; 36849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 36859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 3686c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich if (_remaining < size) { 368724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 3688c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich goto exit; 3689c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich } 36909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glBufferSubData( 36919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 36929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLintptr)offset, 36939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizeiptr)size, 36949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLvoid *)data 36959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 3696c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevich 3697c620a52b69a5f29563e06497e30877809f5d67a5Jack Palevichexit: 36989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 36999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, data, JNI_FALSE); 37009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 37029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 37049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 37059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__I_3FI 37069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { 37079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation_base = (GLfloat *) 0; 37089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 37099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation = (GLfloat *) 0; 37109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!equation_ref) { 371224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "equation == null"); 37139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 371624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 37179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(equation_ref) - offset; 37209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 372124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 4"); 37229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation_base = (GLfloat *) 37259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 37269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = equation_base + offset; 37279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanef( 37299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 37309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)equation 37319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 37329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 37349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (equation_base) { 37359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 37369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 37379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 37399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 37419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 37429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__ILjava_nio_FloatBuffer_2 37439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 37449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 37459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 37469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *equation = (GLfloat *) 0; 37479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining); 37499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 375024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 4"); 37519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanef( 37549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 37559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)equation 37569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 37579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 37599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 37609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, equation, JNI_FALSE); 37619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 37639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 37659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 37669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__I_3II 37679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { 37689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation_base = (GLfixed *) 0; 37699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 37709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation = (GLfixed *) 0; 37719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!equation_ref) { 377324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "equation == null"); 37749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 377724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 37789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(equation_ref) - offset; 37819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 378224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 4"); 37839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 37849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation_base = (GLfixed *) 37869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 37879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = equation_base + offset; 37889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanex( 37909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 37919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)equation 37929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 37939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 37959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (equation_base) { 37969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 37979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 37989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 37999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 38029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__ILjava_nio_IntBuffer_2 38049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 38059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 38069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 38079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *equation = (GLfixed *) 0; 38089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining); 38109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 4) { 381124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 4"); 38129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 38139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glClipPlanex( 38159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)plane, 38169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)equation 38179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 38209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 38219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, equation, JNI_FALSE); 38229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */ 38269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4ub__BBBB 38289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) { 38299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColor4ub( 38309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)red, 38319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)green, 38329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)blue, 38339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLubyte)alpha 38349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 38389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointer__IIII 38409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 38419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glColorPointer( 38429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 38439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 38449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 38459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 38469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 38509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__I_3II 38529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 38539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers_base = (GLuint *) 0; 38549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 38559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 38569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!buffers_ref) { 385824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 38599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 38609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 386224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 38639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 38649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(buffers_ref) - offset; 38669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 386724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 38689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 38699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers_base = (GLuint *) 38719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 38729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = buffers_base + offset; 38739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteBuffers( 38759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 38769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 38779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 38789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 38809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (buffers_base) { 38819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 38829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 38839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 38859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 38879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 38889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__ILjava_nio_IntBuffer_2 38899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 38909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 38919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 38929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 38939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 38949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 38959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 389624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 38979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 38989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 38999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDeleteBuffers( 39009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 39019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 39029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 39059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 39069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, buffers, JNI_FALSE); 39079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 39119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIII 39139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 39149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawElements( 39159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)mode, 39169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)count, 39179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 39189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 39199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 39239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__I_3II 39259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 39269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 39279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers_base = (GLuint *) 0; 39289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 39299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 39309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!buffers_ref) { 39329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 393324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 39349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 39379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 393824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 39399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(buffers_ref) - offset; 39429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 39439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 394424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 39459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers_base = (GLuint *) 39489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 39499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = buffers_base + offset; 39509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenBuffers( 39529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 39539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 39549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 39579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (buffers_base) { 39589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 39599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 39609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 39649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__ILjava_nio_IntBuffer_2 39669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 39679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 39689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 39699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 39709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLuint *buffers = (GLuint *) 0; 39719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 39739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < n) { 39749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 397524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 39769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 39779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGenBuffers( 39799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)n, 39809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint *)buffers 39819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 39829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 39849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 39859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 39869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 39879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 39889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 39909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 39919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__I_3ZI 39929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 39939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 39949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params_base = (GLboolean *) 0; 39959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 39969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params = (GLboolean *) 0; 39979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 39989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 39999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 400024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 40019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 40049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 400524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 40069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 40099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLboolean *) 40109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 40119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 40129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetBooleanv( 40149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 40159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean *)params 40169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 40199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 40209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 40219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 40229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 40269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__ILjava_nio_IntBuffer_2 40289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 40299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 40309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 40319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 40329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean *params = (GLboolean *) 0; 40339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining); 40359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetBooleanv( 40369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 40379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLboolean *)params 40389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 40409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 40419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 40459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__II_3II 40479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 404824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 40499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "glGetBufferParameteriv"); 40509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 40539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 40559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 405624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 40579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "glGetBufferParameteriv"); 40589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 40619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__I_3FI 40639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { 40649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 40659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn_base = (GLfloat *) 0; 40669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 40679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn = (GLfloat *) 0; 40689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!eqn_ref) { 40709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 407124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "eqn == null"); 40729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 40759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 407624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 40779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 40789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(eqn_ref) - offset; 40809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn_base = (GLfloat *) 40819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 40829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = eqn_base + offset; 40839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanef( 40859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 40869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)eqn 40879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 40889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 40909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (eqn_base) { 40919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 40929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 40939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 40949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 40959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 40969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 40979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 40989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__ILjava_nio_FloatBuffer_2 40999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 41009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 41019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 41029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *eqn = (GLfloat *) 0; 41049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining); 41069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanef( 41079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 41089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)eqn 41099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 41109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 41119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 41129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 41149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 41169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 41179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__I_3II 41189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { 41199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 41209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn_base = (GLfixed *) 0; 41219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn = (GLfixed *) 0; 41239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!eqn_ref) { 41259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 412624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "eqn == null"); 41279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 41309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 413124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 41329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(eqn_ref) - offset; 41359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn_base = (GLfixed *) 41369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 41379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = eqn_base + offset; 41389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanex( 41409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 41419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)eqn 41429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 41439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 41459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (eqn_base) { 41469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 41479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 41489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 41509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 41529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 41539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__ILjava_nio_IntBuffer_2 41549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 41559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 41569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 41579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *eqn = (GLfixed *) 0; 41599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining); 41619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetClipPlanex( 41629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 41639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)eqn 41649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 41659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 41669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 41679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 41699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 41719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 41729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__I_3II 41739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 41749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 41759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 41769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 41779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 41789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 41809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 418124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 41829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 41859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 418624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 41879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 41889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 41899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 41909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 41919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 41929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 41939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFixedv( 41959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 41969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 41979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 41989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 41999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 42009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 42019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 42029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 42039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 42079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__ILjava_nio_IntBuffer_2 42099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 42109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 42119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 42129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 42149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 42169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFixedv( 42179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 42189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 42199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 42219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 42229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 42269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__I_3FI 42289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 42299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 42309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 42319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 42339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 42359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 423624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 42379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 42409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 424124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 42429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 42459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 42469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 42479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 42489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFloatv( 42509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 42519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 42529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 42559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 42569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 42579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 42589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 42629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__ILjava_nio_FloatBuffer_2 42649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 42659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 42669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 42679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 42699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 42719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetFloatv( 42729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 42739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 42749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 42759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 42769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 42779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 42799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 42819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 42829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__II_3FI 42839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 42849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 42859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 42869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 42879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 42889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 42899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 42909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 429124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 42929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 42959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 429624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 42979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 42989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 42999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 43009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 43019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 43029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 43039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 43049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 43059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 43069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 43079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 43089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 43099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 43109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 43119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 43129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 43139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 43149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 43159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 43169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 43179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 43189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 43209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 43219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 43229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 43239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 43259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 43269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 43279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 43289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 43299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 43309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 43319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 43329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 43339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 43349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 43359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 43369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 43379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 43399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 43409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 43439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 434424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 43459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 43469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 43489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 43499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 43509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightfv( 43529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 43539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 43549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 43559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 43569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 43589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 43599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 43609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 43619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 43629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 43639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 43659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 43669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__IILjava_nio_FloatBuffer_2 43679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 43689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 43699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 43709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 43719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 43729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 43739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 43749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 43759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 43769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 43779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 43789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 43799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 43809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 43819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 43829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 43839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 43849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 43859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 43869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 43879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 43889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 43899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 43909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 43919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 43929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 43949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 43959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 43969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 43979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 43989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 43999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 44009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 44019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 44029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 44039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 44049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 44059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 44069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 44079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 44089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 44099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 44109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 44119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 44139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 44149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 44179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 441824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 44199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightfv( 44229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 44239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 44249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 44259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 44269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 44289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 44299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 44309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 44329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 44349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 44359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__II_3II 44369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 44379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 44389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 44399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 44409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 44419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 44439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 444424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 44459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 44489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 444924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 44509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 44539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 44549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 44559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 44569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 44579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 44589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 44599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 44609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 44619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 44629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 44639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 44649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 44659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 44669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 44679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 44689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 44699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 44709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 44719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 44739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 44749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 44759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 44769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 44789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 44799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 44809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 44819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 44829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 44839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 44849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 44859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 44869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 44879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 44889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 44899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 44909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 44929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 44939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 44949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 44959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 44969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 449724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 44989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 44999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 45019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 45029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 45039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightxv( 45059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 45069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 45079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 45089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 45099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 45119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 45129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 45139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 45149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 45169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 45189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 45199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__IILjava_nio_IntBuffer_2 45209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 45219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 45229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 45239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 45249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 45259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 45279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 45289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 45299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT) 45309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_EXPONENT: 45319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT) 45329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF) 45339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_CUTOFF: 45349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF) 45359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION) 45369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_CONSTANT_ATTENUATION: 45379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION) 45389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION) 45399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_LINEAR_ATTENUATION: 45409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION) 45419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION) 45429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_QUADRATIC_ATTENUATION: 45439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION) 45449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 45459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 45469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION) 45479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPOT_DIRECTION: 45489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION) 45499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 3; 45509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 45519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 45529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 45539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 45549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 45559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 45569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 45579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 45589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 45599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 45609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 45619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 45629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 45639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 45649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 45659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 45669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 45679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 45689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 45709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 457124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 45729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 45739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetLightxv( 45759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)light, 45769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 45779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 45789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 45799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 45819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 45829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 45839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 45849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 45859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 45879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 45889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__II_3FI 45899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 45909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 45919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 45929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 45939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 45949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 45959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 45969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 459724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 45989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 45999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 46019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 460224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 46039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 46049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 46069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 46079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 46089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 46099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 46109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 46119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 46129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 46149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 46159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 46169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 46179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 46189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 46199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 46209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 46219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 46229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 46239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 46249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 46259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 46269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 46279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 46289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 46299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 46319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 46329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 46359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 463624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 46379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 46389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 46409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 46419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 46429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialfv( 46449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 46459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 46469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 46479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 46489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 46509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 46519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 46529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 46539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 46559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 46579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 46589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__IILjava_nio_FloatBuffer_2 46599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 46609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 46619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 46629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 46639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 46649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 46659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 46669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 46679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 46689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 46699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 46709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 46719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 46729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 46749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 46759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 46769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 46779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 46789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 46799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 46809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 46819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 46829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 46839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 46849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 46859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 46869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 46879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 46889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 46899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 46919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 46929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 46939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 46959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 469624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 46979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 46989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 46999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialfv( 47009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 47019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 47029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 47039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 47049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 47069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 47079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 47089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 47109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 47129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 47139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__II_3II 47149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 47159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 47169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 47179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 47189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 47199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 47219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 472224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 47239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 47269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 472724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 47289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 47319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 47329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 47339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 47349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 47359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 47369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 47379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 47389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 47399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 47409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 47419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 47429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 47439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 47449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 47459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 47469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 47479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 47489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 47499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 47509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 47519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 47529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 47539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 47549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 47559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 47569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 47579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 47589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 47609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 476124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 47629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 47639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 47659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 47669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 47679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialxv( 47699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 47709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 47719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 47729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 47739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 47759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 47769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 47779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 47789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 47799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 47809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 47829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 47839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__IILjava_nio_IntBuffer_2 47849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 47859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 47869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 47879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 47889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 47899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 47919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 47929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 47939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS) 47949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SHININESS: 47959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS) 47969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 47979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 47989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT) 47999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT: 48009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT) 48019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE) 48029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_DIFFUSE: 48039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE) 48049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR) 48059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_SPECULAR: 48069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR) 48079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION) 48089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_EMISSION: 48099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION) 48109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE) 48119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_AMBIENT_AND_DIFFUSE: 48129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE) 48139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 48149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 48159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 48169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 48179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 48189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 48209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 482124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 48229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetMaterialxv( 48259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)face, 48269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 48289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 48319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 48329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 48339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 48359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 48379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 48389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__II_3II 48399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 48409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 48419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 48429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 48439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 48449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 48469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 484724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 48489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 48519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 485224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 48539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 48569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 48579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 48589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 48599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 48609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 48619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 48629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 48639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 48649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 48659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 48669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 48679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 48689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 48699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 48709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 48719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 48729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 48739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 48749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 48759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 48769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 48779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 48799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 488024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 48819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 48829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 48849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 48859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 48869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnviv( 48889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 48899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 48909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 48919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 48929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 48949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 48959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 48969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 48979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 48989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 48999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 49019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 49029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__IILjava_nio_IntBuffer_2 49039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 49049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 49059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 49069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 49079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 49089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 49109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 49119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 49129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 49139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 49149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 49159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 49169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 49179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 49189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 49199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 49209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 49219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 49229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 49249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 49259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 49269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 49279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 49299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 49309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 49339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 493424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 49359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnviv( 49389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 49399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 49409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 49419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 49429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 49449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 49459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 49469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 49489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 49509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 49519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__II_3II 49529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 49539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 49549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 49559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 49569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 49579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 49589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 49599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 496024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 49619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 49649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 496524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 49669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 49699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 49709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 49719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 49729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 49739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 49749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 49759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 49769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 49779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 49789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 49799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 49809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 49819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 49839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 49849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 49859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 49869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 49889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 49899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 49909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 49929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 499324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 49949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 49959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 49969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 49979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 49989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 49999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnvxv( 50019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 50029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 50039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 50049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 50059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 50079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 50089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 50099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 50109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 50129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 50149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 50159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__IILjava_nio_IntBuffer_2 50169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 50179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 50189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 50199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 50209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 50219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 50239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 50249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 50259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 50269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 50279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 50289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 50299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 50309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 50319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 50329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 50339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 50349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 50359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 50379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 50389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 50399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 50409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 50429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 50439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 50449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 50469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 504724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 50489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexEnvxv( 50519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)env, 50529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 50539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 50549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 50559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 50579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 50589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 50599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 50619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 50639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 50649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__II_3FI 50659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 50669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 50679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 50689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 50699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 50709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 50729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 507324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 50749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 50779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 507824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 50799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 50829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 50839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 508424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 50859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 50869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 50879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 50889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 50899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 50909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterfv( 50929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 50939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 50949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 50959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 50969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 50979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 50989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 50999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 51009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 51019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 51039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 51059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 51069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 51079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 51089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 51099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 51109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 51119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 51129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 51149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 51159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 511624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 51179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterfv( 51209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 51219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 51229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 51239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 51249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 51269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 51279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 51289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 51309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 51329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 51339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__II_3II 51349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 51359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 51369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 51379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 51389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 51399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 51419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 514224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 51439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 51469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 514724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 51489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 51519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 51529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 515324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 51549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 51579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 51589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 51599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameteriv( 51619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 51629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 51639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 51649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 51659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 51679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 51689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 51699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 51709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 51729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 51749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 51759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__IILjava_nio_IntBuffer_2 51769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 51779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 51789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 51799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 51809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 51819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 51839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 51849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 518524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 51869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 51879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameteriv( 51899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 51909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 51919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 51929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 51939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 51949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 51959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 51969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 51979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 51989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 51999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 52019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 52029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__II_3II 52039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 52049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 52059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 52069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 52079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 52089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 52109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 521124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 52129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 52159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 521624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 52179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 52209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 52219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 522224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 52239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 52269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 52279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 52289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterxv( 52309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 52319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 52329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 52339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 52369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 52379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 52389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception ? JNI_ABORT: 0); 52399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 52419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 52439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 52449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__IILjava_nio_IntBuffer_2 52459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 52469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _exception = 0; 52479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 52489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 52499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 52509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 52529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 52539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _exception = 1; 525424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 52559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 52569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glGetTexParameterxv( 52589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 52599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 52609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 52619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 52649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 52659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 52669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 52679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 52689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsBuffer ( GLuint buffer ) */ 52709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 52719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsBuffer__I 52729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint buffer) { 52739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 52749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsBuffer( 52759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)buffer 52769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 52789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 52799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsEnabled ( GLenum cap ) */ 52819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 52829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsEnabled__I 52839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint cap) { 52849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 52859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsEnabled( 52869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)cap 52879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 52899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 52909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 52919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsTexture ( GLuint texture ) */ 52929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 52939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsTexture__I 52949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint texture) { 52959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLboolean _returnValue; 52969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _returnValue = glIsTexture( 52979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLuint)texture 52989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 52999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return _returnValue; 53009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */ 53039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointer__III 53059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) { 53069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glNormalPointer( 53079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 53089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 53099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 53109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterf ( GLenum pname, GLfloat param ) */ 53149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterf__IF 53169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 53179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterf( 53189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)param 53209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 53249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__I_3FI 53269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 53279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 53289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 53299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 53309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 533224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 53339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 533624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 53379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 53409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 534124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 53429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 53459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 53469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 53479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterfv( 53499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 53519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 53549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 53559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 53569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 53579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 53619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__ILjava_nio_FloatBuffer_2 53639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 53649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 53659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 53669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 53679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 53699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 537024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 53719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 53729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterfv( 53749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 53769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 53799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 53809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 53819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 53829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterx ( GLenum pname, GLfixed param ) */ 53859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterx__II 53879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jint param) { 53889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterx( 53899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 53909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)param 53919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 53929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 53939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 53949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 53959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 53969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__I_3II 53979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 53989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 53999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 54009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 54019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 540324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 54049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 540724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 54089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 54119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 541224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 54139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 54169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 54179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 54189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterxv( 54209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 54219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 54229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 54259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 54269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 54279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 54289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 54329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 54339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__ILjava_nio_IntBuffer_2 54349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 54359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 54369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 54379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 54389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 54409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 544124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 54429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 54439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glPointParameterxv( 54459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 54469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 54479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 54509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 54519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 54529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 54539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 54569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 5457be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I 5458be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 54599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 54609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 54619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLvoid *pointer = (GLvoid *) 0; 54629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5463be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 5464be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 5465be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 5466be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 5467be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 5468be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 5469be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glPointSizePointerOESBounds( 54709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 54719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 5472be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 5473be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 54749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 54789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 54799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointer__IIII 54809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 54819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexCoordPointer( 54829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 54839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 54849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 54859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 54869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 54899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */ 54909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 54919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvi__III 54929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 54939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnvi( 54949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 54959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 54969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 54979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 54989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 55019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 55029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__II_3II 55039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 55049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 55059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 55069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 55079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 550924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 55109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 551324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 55149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 55179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 55189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 55199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 55209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 55219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 55229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 55239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 55249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 55259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 55269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 55279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 55289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 55299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 55319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 55329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 55339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 55349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 55369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 55379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 554024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 55419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 55449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 55459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 55469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnviv( 55489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 55499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 55509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 55519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 55529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 55549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 55559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 55569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 55579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 55599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 55619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 55629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__IILjava_nio_IntBuffer_2 55639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 55649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 55659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 55669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 55679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 55689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 55699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int _needed; 55709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project switch (pname) { 55719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE) 55729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_MODE: 55739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE) 55749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB) 55759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_RGB: 55769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB) 55779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA) 55789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_COMBINE_ALPHA: 55799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA) 55809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 1; 55819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR) 55839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project case GL_TEXTURE_ENV_COLOR: 55849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR) 55859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 4; 55869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project default: 55889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _needed = 0; 55899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 55909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < _needed) { 559224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 55939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 55949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 55959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexEnviv( 55969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 55979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 55989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 55999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 56009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 56029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 56039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 56049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 56089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__II_3FI 56109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 56119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params_base = (GLfloat *) 0; 56129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 56139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 56149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 561624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 56179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 562024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 56219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 56249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 562524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 56269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfloat *) 56299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 56309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 56319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterfv( 56339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 56349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 56359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 56369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 56379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 56399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 56409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 56419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 56429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 56469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__IILjava_nio_FloatBuffer_2 56489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 56499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 56509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 56519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *params = (GLfloat *) 0; 56529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 56549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 565524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 56569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterfv( 56599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 56609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 56619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)params 56629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 56639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 56659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 56669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 56679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 56719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteri__III 56739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 56749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteri( 56759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 56769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 56779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)param 56789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 56799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 56809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 56829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 56839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__II_3II 56849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 56859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params_base = (GLint *) 0; 56869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 56879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 56889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 56899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 569024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 56919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 569424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 56959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 56969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 56979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 56989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 569924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 57009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLint *) 57039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 57049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 57059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteriv( 57079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 57089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 57109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 57119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 57139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 57149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 57159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 57169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 57209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 57219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__IILjava_nio_IntBuffer_2 57229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 57239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 57249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 57259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *params = (GLint *) 0; 57269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 57289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 572924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 57309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameteriv( 57339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 57349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)params 57369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 57379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 57399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 57409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 57419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 57459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 57469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__II_3II 57479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 57489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params_base = (GLfixed *) 0; 57499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 57509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 57519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!params_ref) { 575324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 57549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 575724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 57589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(params_ref) - offset; 57619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 576224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 57639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params_base = (GLfixed *) 57669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 57679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = params_base + offset; 57689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterxv( 57709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 57719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 57739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 57749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 57769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (params_base) { 57779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 57789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 57799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 57839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 57849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__IILjava_nio_IntBuffer_2 57859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 57869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 57879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 57889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *params = (GLfixed *) 0; 57899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 57909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 57919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 1) { 579224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 57939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 57949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 57959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glTexParameterxv( 57969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)target, 57979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)pname, 57989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)params 57999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 58029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 58039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, params, JNI_FALSE); 58049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 58089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointer__IIII 58109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 58119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glVertexPointer( 58129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)size, 58139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLenum)type, 58149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLsizei)stride, 58159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (const GLvoid *)offset 58169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */ 58209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCurrentPaletteMatrixOES__I 58229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint matrixpaletteindex) { 5823be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glCurrentPaletteMatrixOES( 5824be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLuint)matrixpaletteindex 5825be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 58269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */ 58299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfOES__FFFFF 58319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) { 58329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfOES( 58339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)x, 58349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)y, 58359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)z, 58369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)width, 58379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat)height 58389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */ 58429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES___3FI 58449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) { 58459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords_base = (GLfloat *) 0; 58469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 58479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords = (GLfloat *) 0; 58489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 585024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "coords == null"); 58519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 585424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 58559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 58589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 585924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 5"); 58609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLfloat *) 58639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 58649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 58659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfvOES( 58679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)coords 58689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 58719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 58729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 58739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 58749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */ 58789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 58799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 58809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 58819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 58829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 58839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfloat *coords = (GLfloat *) 0; 58849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining); 58869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 588724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 5"); 58889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 58899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexfvOES( 58919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfloat *)coords 58929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 58939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 58959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 58969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 58979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 58989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 58999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */ 59019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexiOES__IIIII 59039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 59049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexiOES( 59059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)x, 59069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)y, 59079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)z, 59089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)width, 59099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint)height 59109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */ 59149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES___3II 59169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 59179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords_base = (GLint *) 0; 59189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 59199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords = (GLint *) 0; 59209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 592224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "coords == null"); 59239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 592624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 59279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 59309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 593124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 5"); 59329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLint *) 59359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 59369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 59379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexivOES( 59399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)coords 59409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 59439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 59449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 59459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 59469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */ 59509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2 59529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 59539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 59549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 59559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLint *coords = (GLint *) 0; 59569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining); 59589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 595924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 5"); 59609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexivOES( 59639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLint *)coords 59649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 59679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 59689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 59699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */ 59739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsOES__SSSSS 59759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) { 59769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsOES( 59779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)x, 59789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)y, 59799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)z, 59809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)width, 59819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort)height 59829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 59839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 59849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */ 59869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 59879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES___3SI 59889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) { 59899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords_base = (GLshort *) 0; 59909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 59919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords = (GLshort *) 0; 59929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 599424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "coords == null"); 59959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 59969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 59979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 599824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 59999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 60029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 600324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 5"); 60049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLshort *) 60079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 60089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 60099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsvOES( 60119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort *)coords 60129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 60159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 60169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 60179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 60189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */ 60229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 60249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 60259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 60269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 60279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLshort *coords = (GLshort *) 0; 60289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining); 60309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 603124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 5"); 60329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexsvOES( 60359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLshort *)coords 60369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 60399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 60409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 60419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */ 60459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxOES__IIIII 60479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 60489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxOES( 60499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)x, 60509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)y, 60519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)z, 60529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)width, 60539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed)height 60549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */ 60589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES___3II 60609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 60619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords_base = (GLfixed *) 0; 60629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 60639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords = (GLfixed *) 0; 60649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!coords_ref) { 606624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "coords == null"); 60679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (offset < 0) { 607024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 60719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _remaining = _env->GetArrayLength(coords_ref) - offset; 60749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 607524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 5"); 60769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 60779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords_base = (GLfixed *) 60799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 60809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = coords_base + offset; 60819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxvOES( 60839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)coords 60849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 60859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 60879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (coords_base) { 60889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 60899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JNI_ABORT); 60909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 60919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 60929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 60939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */ 60949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 60959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2 60969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jobject coords_buf) { 60979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jarray _array = (jarray) 0; 60989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project jint _remaining; 60999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GLfixed *coords = (GLfixed *) 0; 61009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining); 61029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_remaining < 5) { 610324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 5"); 61049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project goto exit; 61059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project glDrawTexxvOES( 61079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (GLfixed *)coords 61089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ); 61099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit: 61119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (_array) { 61129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project releasePointer(_env, _array, coords, JNI_FALSE); 61139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 61149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadPaletteFromModelViewMatrixOES ( void ) */ 61179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadPaletteFromModelViewMatrixOES__ 61199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this) { 6120be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glLoadPaletteFromModelViewMatrixOES(); 61219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 61249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6125be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I 6126be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 6127be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 6128be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 6129be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 6130be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 6131be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 6132be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 6133be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 6134be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 6135be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6136be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6137be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glMatrixIndexPointerOESBounds( 6138be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 6139be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 6140be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 6141be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 6142be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 6143be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 61449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 61479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixIndexPointerOES__IIII 61499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 6150be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glMatrixIndexPointerOES( 6151be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 6152be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 6153be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 6154be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (const GLvoid *)offset 6155be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 61569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 61599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 6160be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I 6161be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 6162be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 6163be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 6164be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 6165be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 6166be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 6167be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 6168be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 6169be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 6170be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6171be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 6172be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glWeightPointerOESBounds( 6173be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 6174be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 6175be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 6176be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 6177be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 6178be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 61799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 61829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glWeightPointerOES__IIII 61849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 6185be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glWeightPointerOES( 6186be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 6187be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 6188be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 6189be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (const GLvoid *)offset 6190be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 61919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 61929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 61939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindFramebufferOES ( GLint target, GLint framebuffer ) */ 61949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 61959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindFramebufferOES__II 61969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 61978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 619824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 61998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBindFramebufferOES"); 62008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBindFramebufferOES( 62038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 62048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)framebuffer 62058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindRenderbufferOES ( GLint target, GLint renderbuffer ) */ 62099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindRenderbufferOES__II 62119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 62128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 621324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBindRenderbufferOES"); 62158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBindRenderbufferOES( 62188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 62198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 62208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquation ( GLint mode ) */ 62249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquation__I 62269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint mode) { 62278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_subtractID)) { 622824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendEquation"); 62308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendEquation( 62338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)mode 62348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquationSeparate ( GLint modeRGB, GLint modeAlpha ) */ 62389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquationSeparate__II 62409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 62418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 624224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendEquationSeparate"); 62448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendEquationSeparate( 62478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)modeRGB, 62488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)modeAlpha 62498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFuncSeparate ( GLint srcRGB, GLint dstRGB, GLint srcAlpha, GLint dstAlpha ) */ 62539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFuncSeparate__IIII 62559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 62568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 625724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glBlendFuncSeparate"); 62598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glBlendFuncSeparate( 62628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)srcRGB, 62638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)dstRGB, 62648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)srcAlpha, 62658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)dstAlpha 62668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLint glCheckFramebufferStatusOES ( GLint target ) */ 62709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint 62719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCheckFramebufferStatusOES__I 62729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target) { 62738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 627424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glCheckFramebufferStatusOES"); 62768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return 0; 62778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint _returnValue = 0; 62798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glCheckFramebufferStatusOES( 62808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target 62818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 62828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 62839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 62849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 62858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 62869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 62879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__I_3II 62889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 62898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 629024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 62918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteFramebuffersOES"); 62928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 62938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 62948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 62958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers_base = (GLuint *) 0; 62968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 62978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 62988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 62998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!framebuffers_ref) { 63008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 630124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "framebuffers == null"); 63028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 63058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 630624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 63078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 63108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 63118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 631224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 63138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers_base = (GLuint *) 63168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 63178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = framebuffers_base + offset; 63188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteFramebuffersOES( 63208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 63218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 63228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 63238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 63258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (framebuffers_base) { 63268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 63278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 63288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 63309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 63329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 63339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 63349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 63358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 633624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 63378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteFramebuffersOES"); 63388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 63398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 63418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 63428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 63438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 63448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 63468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 63478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 634824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 63498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteFramebuffersOES( 63528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 63538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 63548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 63558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 63578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 63588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 63598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 63619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 63628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 63639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 63649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__I_3II 63659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 63668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 636724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 63688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteRenderbuffersOES"); 63698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 63708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 63728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 63738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 63748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 63758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!renderbuffers_ref) { 63778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 637824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "renderbuffers == null"); 63798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 63828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 638324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 63848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 63878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 63888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 638924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 63908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 63918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 63928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers_base = (GLuint *) 63938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 63948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = renderbuffers_base + offset; 63958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 63968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteRenderbuffersOES( 63978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 63988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 63998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 64008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 64018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 64028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (renderbuffers_base) { 64038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 64048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 64058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 64099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 64119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 64128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 641324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 64148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glDeleteRenderbuffersOES"); 64158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 64168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 64188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 64198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 64208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 64218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 64228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 64238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 64248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 642524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 64268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 64278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glDeleteRenderbuffersOES( 64298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 64308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 64318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 64328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 64338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 64348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 64358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 64368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferRenderbufferOES ( GLint target, GLint attachment, GLint renderbuffertarget, GLint renderbuffer ) */ 64409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferRenderbufferOES__IIII 64429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 64438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 644424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 64458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glFramebufferRenderbufferOES"); 64468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 64478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glFramebufferRenderbufferOES( 64498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 64508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 64518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffertarget, 64528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 64538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 64549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferTexture2DOES ( GLint target, GLint attachment, GLint textarget, GLint texture, GLint level ) */ 64579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferTexture2DOES__IIIII 64599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 64608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 646124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 64628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glFramebufferTexture2DOES"); 64638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 64648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glFramebufferTexture2DOES( 64668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 64678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 64688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)textarget, 64698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)texture, 64708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)level 64718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 64729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenerateMipmapOES ( GLint target ) */ 64759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenerateMipmapOES__I 64779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target) { 64788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 647924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 64808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenerateMipmapOES"); 64818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 64828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenerateMipmapOES( 64848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target 64858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 64869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 64879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 64888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 64899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 64909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__I_3II 64919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 64928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 649324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 64948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenFramebuffersOES"); 64958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 64968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 64978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 64988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers_base = (GLuint *) 0; 64998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 65008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 65018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!framebuffers_ref) { 65038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 650424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "framebuffers == null"); 65058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 65088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 650924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 65108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 65138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 65148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 651524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 65168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers_base = (GLuint *) 65198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 65208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = framebuffers_base + offset; 65218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenFramebuffersOES( 65238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 65248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 65258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 65268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 65288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (framebuffers_base) { 65298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 65308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 65318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 65339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 65359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 65369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 65379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 65388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 653924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 65408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenFramebuffersOES"); 65418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 65428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 65448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 65458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 65468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *framebuffers = (GLuint *) 0; 65478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 65498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 65508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 655124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 65528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenFramebuffersOES( 65558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 65568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)framebuffers 65578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 65588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 65608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 65618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 65628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 65649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 65658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 65669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 65679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__I_3II 65689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 65698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 657024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 65718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenRenderbuffersOES"); 65728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 65738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 65758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 65768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 65778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 65788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!renderbuffers_ref) { 65808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 658124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "renderbuffers == null"); 65828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 65858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 658624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 65878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 65908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 65918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 659224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 65938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 65948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 65958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers_base = (GLuint *) 65968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 65978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = renderbuffers_base + offset; 65988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 65998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenRenderbuffersOES( 66008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 66018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 66028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 66038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 66058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (renderbuffers_base) { 66068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 66078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 66088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 66109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 66129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 66139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 66149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 66158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 661624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 66178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGenRenderbuffersOES"); 66188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 66198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 66218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 66228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 66238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLuint *renderbuffers = (GLuint *) 0; 66248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 66268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_remaining < n) { 66278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 662824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 66298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 66308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGenRenderbuffersOES( 66328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)n, 66338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLuint *)renderbuffers 66348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 66358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 66378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 66388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 66398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 66419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 66439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 66449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFramebufferAttachmentParameterivOES__III_3II 66459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 66468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 664724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 66488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetFramebufferAttachmentParameterivOES"); 66498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 66508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 66528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 66538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 66548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 66559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 66578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 665824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 66598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 66608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 66628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 666324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 66648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 66658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 66678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 66688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 66698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 66709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetFramebufferAttachmentParameterivOES( 66728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 66738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 66748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 66758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 66768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 66778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 66798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 66808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 66818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 66828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 66848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 66868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichstatic void 66878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 66888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 66898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 669024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 66918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetFramebufferAttachmentParameterivOES"); 66928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 66938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 66948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 66958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 66968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 66978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 66988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 66998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 67008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetFramebufferAttachmentParameterivOES( 67018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 67028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)attachment, 67038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 67048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 67058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 67068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 67078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 67088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich} 67108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 67129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__II_3II 67149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 67158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 671624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 67178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetRenderbufferParameterivOES"); 67188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 67198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 67218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 67228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 67238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 67248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 67268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 672724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 67288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 67298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 67318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 673224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 67338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 67348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 67368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 67378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 67388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 67398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetRenderbufferParameterivOES( 67418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 67428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 67438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 67448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 67458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 67478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 67488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 67498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 67508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 67549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 67569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 67578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 675824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 67598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetRenderbufferParameterivOES"); 67608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 67618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 67638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 67648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 67658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 67668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 67688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetRenderbufferParameterivOES( 67698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 67708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 67718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 67728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 67738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 67748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 67758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 67779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 67789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 67799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 67809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__II_3FI 67819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 67828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 678324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 67848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenfv"); 67858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 67868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 67888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params_base = (GLfloat *) 0; 67898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 67908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 67918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 67928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 67938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 679424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 67958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 67968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 67978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 67988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 679924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 68008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 68018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 68038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLfloat *) 68048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 68058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 68068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenfv( 68088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 68098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 68108a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 68118a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 68128a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68138a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 68148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 68158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 68168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 68178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 68219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__IILjava_nio_FloatBuffer_2 68239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 68248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 682524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 68268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenfv"); 68278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 68288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 68308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 68318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 68328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 68338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 68358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenfv( 68368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 68378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 68388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 68398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 68408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 68418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 68428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 68469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__II_3II 68489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 68498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 685024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 68518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGeniv"); 68528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 68538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 68558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 68568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 68578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 68588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 68608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 686124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 68628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 68638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 68658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 686624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 68678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 68688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 68708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 68718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 68728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 68738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGeniv( 68758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 68768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 68778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 68788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 68798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 68808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 68818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 68828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 68838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 68848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 68869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 68879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 68889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 68899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__IILjava_nio_IntBuffer_2 68909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 68918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 689224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 68938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGeniv"); 68948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 68958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 68968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 68978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 68988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 68998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 69008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 69018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 69028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGeniv( 69038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 69048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 69058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 69068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 69078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 69088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 69098a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 69139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 69149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__II_3II 69159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 69168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 691724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 69188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenxv"); 69198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 69208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 69228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 69238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 69248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 69258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 69268a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 69278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 692824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 69298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 69308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 69328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 693324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 69348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 69358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 69378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 69388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 69398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 69408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 69418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenxv( 69428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 69438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 69448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 69458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 69468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 69478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 69488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 69498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 69508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 69518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 69559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 69569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__IILjava_nio_IntBuffer_2 69579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 69588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 695924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 69608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glGetTexGenxv"); 69618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 69628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 69648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 69658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 69668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 69678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 69688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 69698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glGetTexGenxv( 69708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 69718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 69728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 69738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 69748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 69758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 69768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsFramebufferOES ( GLint framebuffer ) */ 69809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 69819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsFramebufferOES__I 69829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint framebuffer) { 69838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 698424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 69858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glIsFramebufferOES"); 69868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return JNI_FALSE; 69878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 69888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLboolean _returnValue = JNI_FALSE; 69898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glIsFramebufferOES( 69908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)framebuffer 69918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 69928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 69939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 69949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsRenderbufferOES ( GLint renderbuffer ) */ 69969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean 69979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsRenderbufferOES__I 69989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint renderbuffer) { 69998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 700024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 70018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glIsRenderbufferOES"); 70028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return JNI_FALSE; 70038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLboolean _returnValue = JNI_FALSE; 70058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _returnValue = glIsRenderbufferOES( 70068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)renderbuffer 70078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 70088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return _returnValue; 70099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRenderbufferStorageOES ( GLint target, GLint internalformat, GLint width, GLint height ) */ 70129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRenderbufferStorageOES__IIII 70149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 70158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 701624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 70178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glRenderbufferStorageOES"); 70188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 70198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glRenderbufferStorageOES( 70218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)target, 70228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)internalformat, 70238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)width, 70248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)height 70258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 70269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenf ( GLint coord, GLint pname, GLfloat param ) */ 70299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenf__IIF 70319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) { 70328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 703324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 70348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenf"); 70358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 70368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenf( 70388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 70398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 70408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat)param 70418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 70429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 70459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__II_3FI 70479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 70488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 704924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 70508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenfv"); 70518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 70528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 70548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params_base = (GLfloat *) 0; 70558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 70568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 70578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 70588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 70598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 706024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 70618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 70628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 70648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 706524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 70668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 70678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 70698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLfloat *) 70708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 70718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 70728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 70738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenfv( 70748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 70758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 70768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 70778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 70788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 70798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 70808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 70818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 70828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 70838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 70859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 70869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 70879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 70889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__IILjava_nio_FloatBuffer_2 70899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 70908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 709124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 70928a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenfv"); 70938a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 70948a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 70958a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 70968a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 70978a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 70988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLfloat *params = (GLfloat *) 0; 70998a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 71008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 71018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenfv( 71028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 71038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 71048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLfloat *)params 71058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 71068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 71078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 71088a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeni ( GLint coord, GLint pname, GLint param ) */ 71129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeni__III 71149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 71158a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 711624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 71178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeni"); 71188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 71198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeni( 71218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 71228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 71238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)param 71248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 71259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 71289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__II_3II 71309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 71318a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 713224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 71338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeniv"); 71348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 71358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 71378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 71388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 71398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 71408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 71418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 71428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 714324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 71448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 71458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 71478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 714824ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 71498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 71508a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71518a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 71528a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 71538a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 71548a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 71558a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 71568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeniv( 71578a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 71588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 71598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 71608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 71618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 71628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 71638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 71648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 71658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 71668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 71709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__IILjava_nio_IntBuffer_2 71729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 71738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 717424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 71758a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGeniv"); 71768a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 71778a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71788a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 71798a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 71808a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 71818a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 71828a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 71838a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 71848a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGeniv( 71858a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 71868a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 71878a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 71888a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 71898a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 71908a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 71918a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 71929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 71939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 71949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenx ( GLint coord, GLint pname, GLint param ) */ 71959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 71969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenx__III 71979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 71988a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 719924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72008a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenx"); 72018a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72028a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72038a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenx( 72048a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 72058a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 72068a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)param 72078a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 72119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__II_3II 72139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 72148a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 721524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72168a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenxv"); 72178a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72188a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72198a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 72208a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params_base = (GLint *) 0; 72218a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 72228a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 72238a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 72248a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (!params_ref) { 72258a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 722624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 72278a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 72288a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72298a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (offset < 0) { 72308a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception = 1; 723124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 72328a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich goto exit; 72338a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72348a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 72358a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params_base = (GLint *) 72368a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 72378a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = params_base + offset; 72388a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 72398a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenxv( 72408a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 72418a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 72428a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 72438a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72448a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 72458a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevichexit: 72468a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (params_base) { 72478a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 72488a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich _exception ? JNI_ABORT: 0); 72498a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 72539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void 72549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__IILjava_nio_IntBuffer_2 72559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 72568a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 725724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/UnsupportedOperationException", 72588a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich "glTexGenxv"); 72598a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich return; 72608a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72618a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _exception = 0; 72628a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jarray _array = (jarray) 0; 72638a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich jint _remaining; 72648a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich GLint *params = (GLint *) 0; 72658a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich 72668a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 72678a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich glTexGenxv( 72688a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)coord, 72698a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint)pname, 72708a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich (GLint *)params 72718a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich ); 72728a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich if (_array) { 72738a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 72748a4de4be9ed522c704a45a44a265669e10a8f2ebJack Palevich } 72759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 72769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic const char *classPathName = "com/google/android/gles_jni/GLImpl"; 72789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 72799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic JNINativeMethod methods[] = { 72809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_nativeClassInit", "()V", (void*)nativeClassInit }, 72819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 72829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 72839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 72849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 72859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 72869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClear", "(I)V", (void *) android_glClear__I }, 72879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 72889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 72899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 72909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 72919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 72929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 72939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 72949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 72959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 72969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 72979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 72989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 72999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 73009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 73019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 73029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 73039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 73049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 73059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 73069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 73079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 73089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisable", "(I)V", (void *) android_glDisable__I }, 73099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 73109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 73119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 73129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnable", "(I)V", (void *) android_glEnable__I }, 73139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 73149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFinish", "()V", (void *) android_glFinish__ }, 73159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFlush", "()V", (void *) android_glFlush__ }, 73169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 73179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 73189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 73199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogx", "(II)V", (void *) android_glFogx__II }, 73209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 73219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 73229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 73239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 73249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 73259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 73269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 73279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetError", "()I", (void *) android_glGetError__ }, 73289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 73299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 73309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 73319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glHint", "(II)V", (void *) android_glHint__II }, 73329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 73339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 73349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 73359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 73369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 73379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 73389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 73399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 73409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 73419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightx", "(III)V", (void *) android_glLightx__III }, 73429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 73439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 73449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 73459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 73469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 73479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 73489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 73499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 73509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 73519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 73529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 73539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 73549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 73559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 73569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 73579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 73589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 73599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 73609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 73619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 73629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 73639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 73649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 73659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 73669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 73679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 73689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 73699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 73709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 73719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 73729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 73739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 73749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 73759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 73769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 73779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 73789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 73799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 73809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 73819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 73829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 73839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalex", "(III)V", (void *) android_glScalex__III }, 73849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 73859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 73869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 73879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 73889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 73899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 73909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 73919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 73929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 73939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 73949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 73959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 73969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 73979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 73989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 73999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 74009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 74019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 74029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 74039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 74049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "([II[II)I", (void *) android_glQueryMatrixxOES___3II_3II }, 74059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I", (void *) android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 74069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 74079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 74089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 74099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI }, 74109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 }, 74119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II }, 74129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 }, 74139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB }, 74149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII }, 74159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 74169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 74179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 74189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 74199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 74209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 74219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 74229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 74239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 74249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI }, 74259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 }, 74269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II }, 74279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 }, 74289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II }, 74299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 }, 74309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 74319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 74329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI }, 74339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 }, 74349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II }, 74359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 }, 74369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI }, 74379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 }, 74389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II }, 74399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 }, 74409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II }, 74419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 }, 74429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II }, 74439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 }, 74449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 74459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 74469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 74479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 74489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II }, 74499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 }, 74509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 74519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 74529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 74539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III }, 74549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF }, 74559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI }, 74569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 }, 74579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II }, 74589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II }, 74599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 }, 7460be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I }, 74619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII }, 74629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III }, 74639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II }, 74649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 }, 74659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 74669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 74679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 74689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 74699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 74709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II }, 74719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 }, 74729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII }, 74739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I }, 74749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF }, 74759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI }, 74769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 }, 74779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII }, 74789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II }, 74799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 }, 74809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS }, 74819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI }, 74829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 }, 74839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII }, 74849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II }, 74859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 }, 74869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ }, 7487be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I }, 74889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixIndexPointerOES", "(IIII)V", (void *) android_glMatrixIndexPointerOES__IIII }, 7489be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I }, 74909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glWeightPointerOES", "(IIII)V", (void *) android_glWeightPointerOES__IIII }, 74919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II }, 74929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II }, 74939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I }, 74949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II }, 74959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII }, 74969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I }, 74979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II }, 74989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 }, 74999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II }, 75009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 75019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII }, 75029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII }, 75039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I }, 75049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II }, 75059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 }, 75069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II }, 75079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 75089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II }, 75099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 }, 75109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II }, 75119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 }, 75129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(II[FI)V", (void *) android_glGetTexGenfv__II_3FI }, 75139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 }, 75149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(II[II)V", (void *) android_glGetTexGeniv__II_3II }, 75159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGeniv__IILjava_nio_IntBuffer_2 }, 75169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(II[II)V", (void *) android_glGetTexGenxv__II_3II }, 75179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxv__IILjava_nio_IntBuffer_2 }, 75189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I }, 75199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I }, 75209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII }, 75219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenf", "(IIF)V", (void *) android_glTexGenf__IIF }, 75229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(II[FI)V", (void *) android_glTexGenfv__II_3FI }, 75239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfv__IILjava_nio_FloatBuffer_2 }, 75249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeni", "(III)V", (void *) android_glTexGeni__III }, 75259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(II[II)V", (void *) android_glTexGeniv__II_3II }, 75269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGeniv__IILjava_nio_IntBuffer_2 }, 75279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenx", "(III)V", (void *) android_glTexGenx__III }, 75289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(II[II)V", (void *) android_glTexGenxv__II_3II }, 75299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxv__IILjava_nio_IntBuffer_2 }, 75309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}; 75319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 75329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_com_google_android_gles_jni_GLImpl(JNIEnv *_env) 75339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 75349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int err; 75359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 75369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return err; 75379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 7538