/* ** ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ // This source file is automatically generated #pragma GCC diagnostic ignored "-Wunused-variable" #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #pragma GCC diagnostic ignored "-Wunused-function" #include #include #include #include #include #include #include static int initialized = 0; static jclass nioAccessClass; static jclass bufferClass; static jmethodID getBasePointerID; static jmethodID getBaseArrayID; static jmethodID getBaseArrayOffsetID; static jfieldID positionID; static jfieldID limitID; static jfieldID elementSizeShiftID; /* special calls implemented in Android's GLES wrapper used to more * efficiently bound-check passed arrays */ extern "C" { #ifdef GL_VERSION_ES_CM_1_1 GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLsizei count); GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); #endif #ifdef GL_ES_VERSION_2_0 static void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) { glVertexAttribPointer(indx, size, type, normalized, stride, pointer); } #endif #ifdef GL_ES_VERSION_3_0 static void glVertexAttribIPointerBounds(GLuint indx, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count) { glVertexAttribIPointer(indx, size, type, stride, pointer); } #endif } /* Cache method IDs each time the class is loaded. */ static void nativeClassInit(JNIEnv *_env, jclass glImplClass) { jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); getBasePointerID = _env->GetStaticMethodID(nioAccessClass, "getBasePointer", "(Ljava/nio/Buffer;)J"); getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); positionID = _env->GetFieldID(bufferClass, "position", "I"); limitID = _env->GetFieldID(bufferClass, "limit", "I"); elementSizeShiftID = _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); } static void * getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset) { jint position; jint limit; jint elementSizeShift; jlong pointer; position = _env->GetIntField(buffer, positionID); limit = _env->GetIntField(buffer, limitID); elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); *remaining = (limit - position) << elementSizeShift; pointer = _env->CallStaticLongMethod(nioAccessClass, getBasePointerID, buffer); if (pointer != 0L) { *array = NULL; return reinterpret_cast(pointer); } *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, getBaseArrayID, buffer); *offset = _env->CallStaticIntMethod(nioAccessClass, getBaseArrayOffsetID, buffer); return NULL; } static void releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) { _env->ReleasePrimitiveArrayCritical(array, data, commit ? 0 : JNI_ABORT); } static void * getDirectBufferPointer(JNIEnv *_env, jobject buffer) { char* buf = (char*) _env->GetDirectBufferAddress(buffer); if (buf) { jint position = _env->GetIntField(buffer, positionID); jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); buf += position << elementSizeShift; } else { jniThrowException(_env, "java/lang/IllegalArgumentException", "Must use a native order direct Buffer"); } return (void*) buf; } // -------------------------------------------------------------------------- /* * returns the number of values glGet returns for a given pname. * * The code below is written such that pnames requiring only one values * are the default (and are not explicitely tested for). This makes the * checking code much shorter/readable/efficient. * * This means that unknown pnames (e.g.: extensions) will default to 1. If * that unknown pname needs more than 1 value, then the validation check * is incomplete and the app may crash if it passed the wrong number params. */ static int getNeededCount(GLint pname) { int needed = 1; #ifdef GL_ES_VERSION_2_0 // GLES 2.x pnames switch (pname) { case GL_ALIASED_LINE_WIDTH_RANGE: case GL_ALIASED_POINT_SIZE_RANGE: needed = 2; break; case GL_BLEND_COLOR: case GL_COLOR_CLEAR_VALUE: case GL_COLOR_WRITEMASK: case GL_SCISSOR_BOX: case GL_VIEWPORT: needed = 4; break; case GL_COMPRESSED_TEXTURE_FORMATS: glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); break; case GL_SHADER_BINARY_FORMATS: glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &needed); break; } #endif #ifdef GL_VERSION_ES_CM_1_1 // GLES 1.x pnames switch (pname) { case GL_ALIASED_LINE_WIDTH_RANGE: case GL_ALIASED_POINT_SIZE_RANGE: case GL_DEPTH_RANGE: case GL_SMOOTH_LINE_WIDTH_RANGE: case GL_SMOOTH_POINT_SIZE_RANGE: needed = 2; break; case GL_CURRENT_NORMAL: case GL_POINT_DISTANCE_ATTENUATION: needed = 3; break; case GL_COLOR_CLEAR_VALUE: case GL_COLOR_WRITEMASK: case GL_CURRENT_COLOR: case GL_CURRENT_TEXTURE_COORDS: case GL_FOG_COLOR: case GL_LIGHT_MODEL_AMBIENT: case GL_SCISSOR_BOX: case GL_VIEWPORT: needed = 4; break; case GL_MODELVIEW_MATRIX: case GL_PROJECTION_MATRIX: case GL_TEXTURE_MATRIX: needed = 16; break; case GL_COMPRESSED_TEXTURE_FORMATS: glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); break; } #endif return needed; } template static void get (JNIEnv *_env, jobject _this, jint pname, JTYPEARRAY params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; CTYPE *params_base = (CTYPE *) 0; jint _remaining; CTYPE *params = (CTYPE *) 0; int _needed = 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; _needed = getNeededCount(pname); // if we didn't find this pname, we just assume the user passed // an array of the right size -- this might happen with extensions // or if we forget an enum here. if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (CTYPE *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; GET( (GLenum)pname, (CTYPE *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } template static void getarray (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; CTYPE *params = (CTYPE *) 0; int _needed = 0; params = (CTYPE *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); _remaining /= sizeof(CTYPE); // convert from bytes to item count _needed = getNeededCount(pname); // if we didn't find this pname, we just assume the user passed // an array of the right size -- this might happen with extensions // or if we forget an enum here. if (_needed>0 && _remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (CTYPE *) (_paramsBase + _bufferOffset); } GET( (GLenum)pname, (CTYPE *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } // -------------------------------------------------------------------------- /* void glBindBuffer ( GLenum target, GLuint buffer ) */ static void android_glBindBuffer__II (JNIEnv *_env, jobject _this, jint target, jint buffer) { glBindBuffer( (GLenum)target, (GLuint)buffer ); } /* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ static void android_glBufferData__IILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *data = (GLvoid *) 0; if (data_buf) { data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < size) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < size < needed"; goto exit; } } if (data_buf && data == NULL) { char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); data = (GLvoid *) (_dataBase + _bufferOffset); } glBufferData( (GLenum)target, (GLsizeiptr)size, (GLvoid *)data, (GLenum)usage ); exit: if (_array) { releasePointer(_env, _array, data, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ static void android_glBufferSubData__IIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *data = (GLvoid *) 0; data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < size) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < size < needed"; goto exit; } if (data == NULL) { char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); data = (GLvoid *) (_dataBase + _bufferOffset); } glBufferSubData( (GLenum)target, (GLintptr)offset, (GLsizeiptr)size, (GLvoid *)data ); exit: if (_array) { releasePointer(_env, _array, data, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ static void android_glClipPlanef__I_3FI (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *equation_base = (GLfloat *) 0; jint _remaining; GLfloat *equation = (GLfloat *) 0; if (!equation_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "equation == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(equation_ref) - offset; equation_base = (GLfloat *) _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); equation = equation_base + offset; glClipPlanef( (GLenum)plane, (GLfloat *)equation ); exit: if (equation_base) { _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ static void android_glClipPlanef__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *equation = (GLfloat *) 0; equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset); if (equation == NULL) { char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); equation = (GLfloat *) (_equationBase + _bufferOffset); } glClipPlanef( (GLenum)plane, (GLfloat *)equation ); if (_array) { releasePointer(_env, _array, equation, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ static void android_glClipPlanex__I_3II (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *equation_base = (GLfixed *) 0; jint _remaining; GLfixed *equation = (GLfixed *) 0; if (!equation_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "equation == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(equation_ref) - offset; equation_base = (GLfixed *) _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); equation = equation_base + offset; glClipPlanex( (GLenum)plane, (GLfixed *)equation ); exit: if (equation_base) { _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ static void android_glClipPlanex__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *equation = (GLfixed *) 0; equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset); if (equation == NULL) { char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); equation = (GLfixed *) (_equationBase + _bufferOffset); } glClipPlanex( (GLenum)plane, (GLfixed *)equation ); if (_array) { releasePointer(_env, _array, equation, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */ static void android_glColor4ub__BBBB (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) { glColor4ub( (GLubyte)red, (GLubyte)green, (GLubyte)blue, (GLubyte)alpha ); } /* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ static void android_glColorPointer__IIII (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { glColorPointer( (GLint)size, (GLenum)type, (GLsizei)stride, reinterpret_cast(offset) ); } /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ static void android_glDeleteBuffers__I_3II (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLuint *buffers_base = (GLuint *) 0; jint _remaining; GLuint *buffers = (GLuint *) 0; if (!buffers_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "buffers == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(buffers_ref) - offset; if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < n < needed"; goto exit; } buffers_base = (GLuint *) _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); buffers = buffers_base + offset; glDeleteBuffers( (GLsizei)n, (GLuint *)buffers ); exit: if (buffers_base) { _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ static void android_glDeleteBuffers__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLuint *buffers = (GLuint *) 0; buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < n < needed"; goto exit; } if (buffers == NULL) { char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); buffers = (GLuint *) (_buffersBase + _bufferOffset); } glDeleteBuffers( (GLsizei)n, (GLuint *)buffers ); exit: if (_array) { releasePointer(_env, _array, buffers, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ static void android_glDrawElements__IIII (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; glDrawElements( (GLenum)mode, (GLsizei)count, (GLenum)type, reinterpret_cast(offset) ); if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ static void android_glGenBuffers__I_3II (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLuint *buffers_base = (GLuint *) 0; jint _remaining; GLuint *buffers = (GLuint *) 0; if (!buffers_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "buffers == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(buffers_ref) - offset; if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < n < needed"; goto exit; } buffers_base = (GLuint *) _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); buffers = buffers_base + offset; glGenBuffers( (GLsizei)n, (GLuint *)buffers ); exit: if (buffers_base) { _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ static void android_glGenBuffers__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLuint *buffers = (GLuint *) 0; buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < n < needed"; goto exit; } if (buffers == NULL) { char * _buffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); buffers = (GLuint *) (_buffersBase + _bufferOffset); } glGenBuffers( (GLsizei)n, (GLuint *)buffers ); exit: if (_array) { releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ static void android_glGetBooleanv__I_3ZI (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { get(_env, _this, pname, params_ref, offset); } /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ static void android_glGetBooleanv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { getarray(_env, _this, pname, params_buf); } /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ static void android_glGetBufferParameteriv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetBufferParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ static void android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glGetBufferParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ static void android_glGetClipPlanef__I_3FI (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *eqn_base = (GLfloat *) 0; jint _remaining; GLfloat *eqn = (GLfloat *) 0; if (!eqn_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "eqn == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(eqn_ref) - offset; if (_remaining < 4) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 4 < needed"; goto exit; } eqn_base = (GLfloat *) _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); eqn = eqn_base + offset; glGetClipPlanef( (GLenum)pname, (GLfloat *)eqn ); exit: if (eqn_base) { _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ static void android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *eqn = (GLfloat *) 0; eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 4) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 4 < needed"; goto exit; } if (eqn == NULL) { char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); eqn = (GLfloat *) (_eqnBase + _bufferOffset); } glGetClipPlanef( (GLenum)pname, (GLfloat *)eqn ); exit: if (_array) { releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ static void android_glGetClipPlanex__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *eqn_base = (GLfixed *) 0; jint _remaining; GLfixed *eqn = (GLfixed *) 0; if (!eqn_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "eqn == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(eqn_ref) - offset; if (_remaining < 4) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 4 < needed"; goto exit; } eqn_base = (GLfixed *) _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); eqn = eqn_base + offset; glGetClipPlanex( (GLenum)pname, (GLfixed *)eqn ); exit: if (eqn_base) { _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ static void android_glGetClipPlanex__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *eqn = (GLfixed *) 0; eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 4) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 4 < needed"; goto exit; } if (eqn == NULL) { char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); eqn = (GLfixed *) (_eqnBase + _bufferOffset); } glGetClipPlanex( (GLenum)pname, (GLfixed *)eqn ); exit: if (_array) { releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetFixedv ( GLenum pname, GLfixed *params ) */ static void android_glGetFixedv__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetFixedv( (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetFixedv ( GLenum pname, GLfixed *params ) */ static void android_glGetFixedv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glGetFixedv( (GLenum)pname, (GLfixed *)params ); if (_array) { releasePointer(_env, _array, params, JNI_TRUE); } } /* void glGetFloatv ( GLenum pname, GLfloat *params ) */ static void android_glGetFloatv__I_3FI (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { get(_env, _this, pname, params_ref, offset); } /* void glGetFloatv ( GLenum pname, GLfloat *params ) */ static void android_glGetFloatv__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { getarray(_env, _this, pname, params_buf); } /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ static void android_glGetLightfv__II_3FI (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetLightfv( (GLenum)light, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ static void android_glGetLightfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glGetLightfv( (GLenum)light, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ static void android_glGetLightxv__II_3II (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetLightxv( (GLenum)light, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ static void android_glGetLightxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glGetLightxv( (GLenum)light, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ static void android_glGetMaterialfv__II_3FI (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetMaterialfv( (GLenum)face, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ static void android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glGetMaterialfv( (GLenum)face, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ static void android_glGetMaterialxv__II_3II (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetMaterialxv( (GLenum)face, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ static void android_glGetMaterialxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glGetMaterialxv( (GLenum)face, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) */ static void android_glGetTexEnvfv__II_3FI (JNIEnv *_env, jobject _this, jint env, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexEnvfv( (GLenum)env, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) */ static void android_glGetTexEnvfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glGetTexEnvfv( (GLenum)env, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ static void android_glGetTexEnviv__II_3II (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexEnviv( (GLenum)env, (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ static void android_glGetTexEnviv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glGetTexEnviv( (GLenum)env, (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ static void android_glGetTexEnvxv__II_3II (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexEnvxv( (GLenum)env, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ static void android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glGetTexEnvxv( (GLenum)env, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ static void android_glGetTexParameterfv__II_3FI (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexParameterfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ static void android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glGetTexParameterfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ static void android_glGetTexParameteriv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ static void android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glGetTexParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ static void android_glGetTexParameterxv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetTexParameterxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ static void android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glGetTexParameterxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* GLboolean glIsBuffer ( GLuint buffer ) */ static jboolean android_glIsBuffer__I (JNIEnv *_env, jobject _this, jint buffer) { GLboolean _returnValue; _returnValue = glIsBuffer( (GLuint)buffer ); return (jboolean)_returnValue; } /* GLboolean glIsEnabled ( GLenum cap ) */ static jboolean android_glIsEnabled__I (JNIEnv *_env, jobject _this, jint cap) { GLboolean _returnValue; _returnValue = glIsEnabled( (GLenum)cap ); return (jboolean)_returnValue; } /* GLboolean glIsTexture ( GLuint texture ) */ static jboolean android_glIsTexture__I (JNIEnv *_env, jobject _this, jint texture) { GLboolean _returnValue; _returnValue = glIsTexture( (GLuint)texture ); return (jboolean)_returnValue; } /* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */ static void android_glNormalPointer__III (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) { glNormalPointer( (GLenum)type, (GLsizei)stride, reinterpret_cast(offset) ); } /* void glPointParameterf ( GLenum pname, GLfloat param ) */ static void android_glPointParameterf__IF (JNIEnv *_env, jobject _this, jint pname, jfloat param) { glPointParameterf( (GLenum)pname, (GLfloat)param ); } /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ static void android_glPointParameterfv__I_3FI (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glPointParameterfv( (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ static void android_glPointParameterfv__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glPointParameterfv( (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glPointParameterx ( GLenum pname, GLfixed param ) */ static void android_glPointParameterx__II (JNIEnv *_env, jobject _this, jint pname, jint param) { glPointParameterx( (GLenum)pname, (GLfixed)param ); } /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ static void android_glPointParameterxv__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glPointParameterxv( (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ static void android_glPointParameterxv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glPointParameterxv( (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ static void android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pointer = (GLvoid *) 0; if (pointer_buf) { pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); if ( ! pointer ) { return; } } glPointSizePointerOESBounds( (GLenum)type, (GLsizei)stride, (GLvoid *)pointer, (GLsizei)remaining ); } /* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ static void android_glTexCoordPointer__IIII (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { glTexCoordPointer( (GLint)size, (GLenum)type, (GLsizei)stride, reinterpret_cast(offset) ); } /* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */ static void android_glTexEnvi__III (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { glTexEnvi( (GLenum)target, (GLenum)pname, (GLint)param ); } /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ static void android_glTexEnviv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexEnviv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ static void android_glTexEnviv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 1; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glTexEnviv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ static void android_glTexParameterfv__II_3FI (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexParameterfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ static void android_glTexParameterfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glTexParameterfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ static void android_glTexParameteri__III (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { glTexParameteri( (GLenum)target, (GLenum)pname, (GLint)param ); } /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ static void android_glTexParameteriv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ static void android_glTexParameteriv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glTexParameteriv( (GLenum)target, (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ static void android_glTexParameterxv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < 1 < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexParameterxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ static void android_glTexParameterxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType = NULL; const char * _exceptionMessage = NULL; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < 1) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < 1 < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glTexParameterxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ static void android_glVertexPointer__IIII (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { glVertexPointer( (GLint)size, (GLenum)type, (GLsizei)stride, reinterpret_cast(offset) ); } static const char *classPathName = "android/opengl/GLES11"; static JNINativeMethod methods[] = { {"_nativeClassInit", "()V", (void*)nativeClassInit }, {"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, {"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, {"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, {"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI }, {"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 }, {"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II }, {"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 }, {"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB }, {"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII }, {"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, {"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, {"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, {"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, {"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, {"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, {"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, {"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, {"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, {"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI }, {"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 }, {"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II }, {"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 }, {"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II }, {"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 }, {"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, {"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, {"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI }, {"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 }, {"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II }, {"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 }, {"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI }, {"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 }, {"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II }, {"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 }, {"glGetTexEnvfv", "(II[FI)V", (void *) android_glGetTexEnvfv__II_3FI }, {"glGetTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexEnvfv__IILjava_nio_FloatBuffer_2 }, {"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II }, {"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 }, {"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II }, {"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 }, {"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, {"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, {"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, {"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, {"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II }, {"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 }, {"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, {"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, {"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, {"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III }, {"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF }, {"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI }, {"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 }, {"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II }, {"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II }, {"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 }, {"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I }, {"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII }, {"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III }, {"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II }, {"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 }, {"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, {"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, {"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, {"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, {"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, {"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II }, {"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 }, {"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII }, }; int register_android_opengl_jni_GLES11(JNIEnv *_env) { int err; err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); return err; }