android_opengl_GLES10.cpp revision 16e7972f0d986eebf846ea8feb50f4435a9c6970
127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* 227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Copyright 2009, The Android Open Source Project 427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Licensed under the Apache License, Version 2.0 (the "License"); 627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** you may not use this file except in compliance with the License. 727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** You may obtain a copy of the License at 827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** http://www.apache.org/licenses/LICENSE-2.0 1027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 1127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Unless required by applicable law or agreed to in writing, software 1227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** distributed under the License is distributed on an "AS IS" BASIS, 1327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** See the License for the specific language governing permissions and 1527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** limitations under the License. 1627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich*/ 1727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 1827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// This source file is automatically generated 1927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 2027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <android_runtime/AndroidRuntime.h> 2127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <utils/misc.h> 2227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 2327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <assert.h> 2427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <GLES/gl.h> 25be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#include <GLES/glext.h> 2627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 278331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian/* special calls implemented in Android's GLES wrapper used to more 288331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian * efficiently bound-check passed arrays */ 298331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopianextern "C" { 308331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, 318331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian const GLvoid *ptr, GLsizei count); 328331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, 338331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian const GLvoid *pointer, GLsizei count); 348331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, 358331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 368331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias AgopianGL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, 378331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 388331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian} 398331f72078051cdf5a26230ee819f7ef7f9fcc24Mathias Agopian 4027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic int initialized = 0; 4127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 4227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass nioAccessClass; 4327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass bufferClass; 4427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass OOMEClass; 4527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass UOEClass; 4627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass IAEClass; 4727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass AIOOBEClass; 4827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBasePointerID; 4927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayID; 5027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayOffsetID; 5127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID positionID; 5227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID limitID; 5327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID elementSizeShiftID; 5427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 5527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* Cache method IDs each time the class is loaded. */ 5627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 5727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 5827f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichnativeClassInitBuffer(JNIEnv *_env) 5927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 6027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 6127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 6227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 6327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 6427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 6527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 6627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 6727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBasePointer", "(Ljava/nio/Buffer;)J"); 6827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 6927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 7027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 7127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 7227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 7327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich positionID = _env->GetFieldID(bufferClass, "position", "I"); 7427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich limitID = _env->GetFieldID(bufferClass, "limit", "I"); 7527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich elementSizeShiftID = 7627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 7727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 7827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 7927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 8027f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichnativeClassInit(JNIEnv *_env, jclass glImplClass) 8127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 8227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich nativeClassInitBuffer(_env); 8327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 8427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass IAEClassLocal = 8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->FindClass("java/lang/IllegalArgumentException"); 8627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass OOMEClassLocal = 8727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->FindClass("java/lang/OutOfMemoryError"); 8827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass UOEClassLocal = 8927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->FindClass("java/lang/UnsupportedOperationException"); 9027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass AIOOBEClassLocal = 9127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); 9227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 9327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); 9427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); 9527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); 9627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); 9727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 9827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 9927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void * 10027f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichgetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 10127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 10227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint position; 10327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint limit; 10427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint elementSizeShift; 10527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jlong pointer; 10627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint offset; 10727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich void *data; 10827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 10927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich position = _env->GetIntField(buffer, positionID); 11027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich limit = _env->GetIntField(buffer, limitID); 11127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 11227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *remaining = (limit - position) << elementSizeShift; 11327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich pointer = _env->CallStaticLongMethod(nioAccessClass, 11427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBasePointerID, buffer); 11527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (pointer != 0L) { 11627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *array = NULL; 11727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return (void *) (jint) pointer; 11827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 11927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 12027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 12127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayID, buffer); 12227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich offset = _env->CallStaticIntMethod(nioAccessClass, 12327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayOffsetID, buffer); 12427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 12527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 12627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return (void *) ((char *) data + offset); 12727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 12827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 12927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 13027f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 13127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 13227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(array, data, 13327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich commit ? 0 : JNI_ABORT); 13427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 13527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 13616e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevichstatic void * 13716e7972f0d986eebf846ea8feb50f4435a9c6970Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) { 13816e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich char* buf = (char*) _env->GetDirectBufferAddress(buffer); 13916e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich if (buf) { 14016e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint position = _env->GetIntField(buffer, positionID); 14116e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 14216e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich buf += position << elementSizeShift; 14316e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } else { 14416e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich _env->ThrowNew(IAEClass, "Must use a native order direct Buffer"); 14516e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich } 14616e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich return (void*) buf; 14716e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich} 14816e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich 149be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevichstatic int 150be509c9c7de5929d014dfe6d45e71cc8454ede0fJack PalevichgetNumCompressedTextureFormats() { 151be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich int numCompressedTextureFormats = 0; 152be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 153be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich return numCompressedTextureFormats; 154be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich} 155be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich 15627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// -------------------------------------------------------------------------- 15727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 15827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glActiveTexture ( GLenum texture ) */ 15927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 16027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glActiveTexture__I 16127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint texture) { 16227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glActiveTexture( 16327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)texture 16427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 16527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 16627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 16727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 16827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 16927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFunc__IF 17027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 17127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glAlphaFunc( 17227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)func, 17327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)ref 17427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 17527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 17627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 17727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 17827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 17927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFuncx__II 18027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint func, jint ref) { 18127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glAlphaFuncx( 18227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)func, 18327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)ref 18427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 18527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 18627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 18727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindTexture ( GLenum target, GLuint texture ) */ 18827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 18927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindTexture__II 19027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint texture) { 19127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glBindTexture( 19227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 19327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint)texture 19427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 19527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 19627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 19727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 19827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 19927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendFunc__II 20027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 20127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glBlendFunc( 20227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)sfactor, 20327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)dfactor 20427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 20527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 20627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 20727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClear ( GLbitfield mask ) */ 20827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 20927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClear__I 21027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mask) { 21127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClear( 21227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLbitfield)mask 21327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 21427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 21527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 21627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 21727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 21827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColor__FFFF 21927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 22027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClearColor( 22127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)red, 22227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)green, 22327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)blue, 22427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)alpha 22527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 22627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 22727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 22827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 22927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 23027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColorx__IIII 23127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 23227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClearColorx( 23327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)red, 23427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)green, 23527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)blue, 23627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)alpha 23727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 23827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 23927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 24027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthf ( GLclampf depth ) */ 24127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 24227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthf__F 24327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat depth) { 24427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClearDepthf( 24527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)depth 24627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 24727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 24827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 24927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthx ( GLclampx depth ) */ 25027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 25127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthx__I 25227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint depth) { 25327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClearDepthx( 25427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)depth 25527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 25627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 25727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 25827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearStencil ( GLint s ) */ 25927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 26027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearStencil__I 26127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint s) { 26227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClearStencil( 26327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)s 26427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 26527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 26627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 26727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClientActiveTexture ( GLenum texture ) */ 26827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 26927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClientActiveTexture__I 27027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint texture) { 27127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glClientActiveTexture( 27227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)texture 27327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 27427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 27527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 27627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 27727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 27827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4f__FFFF 27927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 28027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glColor4f( 28127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)red, 28227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)green, 28327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)blue, 28427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)alpha 28527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 28627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 28727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 28827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 28927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 29027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4x__IIII 29127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 29227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glColor4x( 29327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)red, 29427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)green, 29527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)blue, 29627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)alpha 29727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 29827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 29927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 30027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 30127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 30227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColorMask__ZZZZ 30327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 30427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glColorMask( 30527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)red, 30627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)green, 30727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)blue, 30827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)alpha 30927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 31027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 31127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 31227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 31327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 31427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColorPointerBounds__IIILjava_nio_Buffer_2I 31527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 31627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 31727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 31827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pointer = (GLvoid *) 0; 31927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 320e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 32116e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 322e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 323e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 324e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 325e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 32627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glColorPointerBounds( 32727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)size, 32827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 32927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)stride, 33027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pointer, 33127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)remaining 33227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 33327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 33427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 33527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 33627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 33727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 33827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 33927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 34027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 34127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *data = (GLvoid *) 0; 34227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 34327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 34427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glCompressedTexImage2D( 34527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 34627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 34727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)internalformat, 34827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 34927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 35027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)border, 35127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)imageSize, 35227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)data 35327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 35427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 35527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 35627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 35727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 35827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 35927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 36027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 36127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 36227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 36327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 36427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 36527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *data = (GLvoid *) 0; 36627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 36727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 36827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glCompressedTexSubImage2D( 36927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 37027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 37127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)xoffset, 37227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)yoffset, 37327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 37427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 37527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)format, 37627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)imageSize, 37727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)data 37827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 37927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 38027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 38127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 38227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 38327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 38427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 38527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 38627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCopyTexImage2D__IIIIIIII 38727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 38827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glCopyTexImage2D( 38927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 39027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 39127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)internalformat, 39227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 39327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 39427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 39527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 39627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)border 39727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 39827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 39927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 40027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 40127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 40227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCopyTexSubImage2D__IIIIIIII 40327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 40427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glCopyTexSubImage2D( 40527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 40627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 40727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)xoffset, 40827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)yoffset, 40927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 41027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 41127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 41227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height 41327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 41427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 41527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 41627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCullFace ( GLenum mode ) */ 41727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 41827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCullFace__I 41927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 42027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glCullFace( 42127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode 42227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 42327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 42427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 42527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 42627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 42727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteTextures__I_3II 42827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 42927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures_base = (GLuint *) 0; 43027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 43127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures = (GLuint *) 0; 43227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 43327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!textures_ref) { 43427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "textures == null"); 43527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 43627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 43727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 43827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 43927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 44027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 44127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(textures_ref) - offset; 44227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < n) { 44327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 44427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 44527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 44627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures_base = (GLuint *) 44727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 44827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures = textures_base + offset; 44927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 45027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDeleteTextures( 45127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)n, 45227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint *)textures 45327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 45427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 45527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 45627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (textures_base) { 45727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 45827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 45927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 46027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 46127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 46227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 46327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 46427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteTextures__ILjava_nio_IntBuffer_2 46527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 46627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 46727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 46827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures = (GLuint *) 0; 46927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 47027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 47127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < n) { 47227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 47327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 47427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 47527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDeleteTextures( 47627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)n, 47727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint *)textures 47827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 47927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 48027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 48127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 48227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, textures, JNI_FALSE); 48327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 48427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 48527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 48627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthFunc ( GLenum func ) */ 48727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 48827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthFunc__I 48927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint func) { 49027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDepthFunc( 49127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)func 49227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 49327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 49427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 49527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthMask ( GLboolean flag ) */ 49627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 49727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthMask__Z 49827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jboolean flag) { 49927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDepthMask( 50027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)flag 50127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 50227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 50327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 50427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 50527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 50627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangef__FF 50727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 50827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDepthRangef( 50927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)zNear, 51027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)zFar 51127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 51227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 51327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 51427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 51527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 51627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangex__II 51727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 51827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDepthRangex( 51927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)zNear, 52027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)zFar 52127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 52227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 52327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 52427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDisable ( GLenum cap ) */ 52527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 52627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDisable__I 52727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint cap) { 52827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDisable( 52927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)cap 53027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 53127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 53227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 53327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDisableClientState ( GLenum array ) */ 53427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 53527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDisableClientState__I 53627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint array) { 53727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDisableClientState( 53827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)array 53927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 54027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 54127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 54227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 54327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 54427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawArrays__III 54527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 54627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawArrays( 54727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode, 54827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)first, 54927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)count 55027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 55127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 55227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 55327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 55427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 55527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawElements__IIILjava_nio_Buffer_2 55627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 55727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 55827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 55927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *indices = (GLvoid *) 0; 56027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 56127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 56227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < count) { 56327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(AIOOBEClass, "remaining() < count"); 56427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 56527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 56627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawElements( 56727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode, 56827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)count, 56927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 57027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)indices 57127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 57227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 57327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 57427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 57527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, indices, JNI_FALSE); 57627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 57727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 57827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 57927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEnable ( GLenum cap ) */ 58027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 58127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEnable__I 58227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint cap) { 58327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glEnable( 58427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)cap 58527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 58627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 58727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 58827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEnableClientState ( GLenum array ) */ 58927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 59027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEnableClientState__I 59127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint array) { 59227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glEnableClientState( 59327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)array 59427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 59527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 59627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 59727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFinish ( void ) */ 59827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 59927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFinish__ 60027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 60127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFinish(); 60227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 60327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 60427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFlush ( void ) */ 60527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 60627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFlush__ 60727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 60827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFlush(); 60927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 61027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 61127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogf ( GLenum pname, GLfloat param ) */ 61227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 61327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogf__IF 61427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 61527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogf( 61627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 61727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 61827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 61927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 62027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 62127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 62227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 62327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogfv__I_3FI 62427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 62527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params_base = (GLfloat *) 0; 62627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 62727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 62827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 62927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 63027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 63127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 63227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 63327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 63427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 63527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 63627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 63727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 63827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 63927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 64027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 64127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 64227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 64327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 64427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 64527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 64627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 64727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 64827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 64927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 65027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 65127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 65227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 65327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 65427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_COLOR) 65527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_COLOR: 65627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_COLOR) 65727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 65827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 65927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 66027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 66127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 66227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 66327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 66427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 66527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 66627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 66727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfloat *) 66827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 66927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 67027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 67127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogfv( 67227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 67327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 67427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 67527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 67627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 67727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 67827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 67927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 68027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 68127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 68227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 68327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 68427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 68527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogfv__ILjava_nio_FloatBuffer_2 68627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 68727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 68827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 68927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 69027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 69127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 69227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 69327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 69427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 69527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 69627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 69727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 69827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 69927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 70027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 70127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 70227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 70327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 70427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 70527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 70627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 70727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 70827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_COLOR) 70927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_COLOR: 71027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_COLOR) 71127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 71227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 71327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 71427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 71527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 71627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 71727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 71827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 71927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 72027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 72127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogfv( 72227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 72327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 72427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 72527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 72627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 72727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 72827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 72927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 73027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 73127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 73227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogx ( GLenum pname, GLfixed param ) */ 73327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 73427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogx__II 73527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 73627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogx( 73727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 73827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 73927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 74027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 74127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 74227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 74327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 74427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxv__I_3II 74527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 74627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params_base = (GLfixed *) 0; 74727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 74827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 74927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 75027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 75127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 75227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 75327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 75427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 75527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 75627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 75727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 75827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 75927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 76027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 76127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 76227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 76327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 76427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 76527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 76627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 76727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 76827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 76927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 77027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 77127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 77227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 77327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 77427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 77527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_COLOR) 77627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_COLOR: 77727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_COLOR) 77827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 77927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 78027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 78127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 78227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 78327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 78427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 78527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 78627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 78727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 78827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfixed *) 78927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 79027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 79127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 79227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogxv( 79327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 79427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 79527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 79627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 79727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 79827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 79927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 80027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 80127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 80227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 80327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 80427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 80527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 80627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxv__ILjava_nio_IntBuffer_2 80727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 80827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 80927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 81027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 81127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 81227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 81327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 81427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 81527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 81627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 81727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 81827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 81927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 82027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 82127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 82227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 82327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 82427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 82527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 82627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 82727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 82827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 82927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_COLOR) 83027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_COLOR: 83127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_COLOR) 83227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 83327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 83427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 83527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 83627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 83727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 83827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 83927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 84027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 84127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 84227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFogxv( 84327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 84427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 84527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 84627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 84727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 84827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 84927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 85027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 85127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 85227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 85327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrontFace ( GLenum mode ) */ 85427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 85527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrontFace__I 85627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 85727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFrontFace( 85827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode 85927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 86027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 86127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 86227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 86327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 86427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumf__FFFFFF 86527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 86627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFrustumf( 86727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)left, 86827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)right, 86927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)bottom, 87027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)top, 87127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)zNear, 87227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)zFar 87327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 87427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 87527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 87627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 87727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 87827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumx__IIIIII 87927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 88027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glFrustumx( 88127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)left, 88227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)right, 88327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)bottom, 88427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)top, 88527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)zNear, 88627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)zFar 88727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 88827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 88927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 89027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 89127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 89227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenTextures__I_3II 89327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 89427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _exception = 0; 89527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures_base = (GLuint *) 0; 89627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 89727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures = (GLuint *) 0; 89827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 89927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!textures_ref) { 90027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 90127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "textures == null"); 90227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 90327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 90427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 90527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 90627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 90727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 90827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 90927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(textures_ref) - offset; 91027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < n) { 91127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 91227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 91327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 91427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 91527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures_base = (GLuint *) 91627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 91727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures = textures_base + offset; 91827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 91927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glGenTextures( 92027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)n, 92127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint *)textures 92227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 92327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 92427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 92527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (textures_base) { 92627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 92727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception ? JNI_ABORT: 0); 92827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 92927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 93027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 93127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 93227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 93327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenTextures__ILjava_nio_IntBuffer_2 93427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 93527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _exception = 0; 93627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 93727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 93827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLuint *textures = (GLuint *) 0; 93927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 94027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 94127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < n) { 94227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 94327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 94427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 94527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 94627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glGenTextures( 94727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)n, 94827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint *)textures 94927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 95027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 95127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 95227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 95327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 95427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 95527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 95627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 95727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLenum glGetError ( void ) */ 95827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jint 95927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetError__ 96027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 96127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLenum _returnValue; 96227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _returnValue = glGetError(); 96327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return _returnValue; 96427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 96527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 96627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 96727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 96827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetIntegerv__I_3II 96927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 97027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _exception = 0; 97127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *params_base = (GLint *) 0; 97227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 97327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *params = (GLint *) 0; 97427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 97527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 97627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 97727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 97827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 97927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 98027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 98127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 98227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 98327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 98427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 98527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 98627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 98727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 98827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_BITS) 98927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_BITS: 99027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_BITS) 99127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_TEST_FUNC) 99227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_TEST_FUNC: 99327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_TEST_FUNC) 99427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_TEST_REF) 99527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_TEST_REF: 99627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_TEST_REF) 99727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_BLEND_DST) 99827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_BLEND_DST: 99927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_BLEND_DST) 100027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_BLUE_BITS) 100127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_BLUE_BITS: 100227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_BLUE_BITS) 100327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 100427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_BUFFER_BINDING: 100527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 100627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_SIZE) 100727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_SIZE: 100827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_SIZE) 100927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_STRIDE) 101027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_STRIDE: 101127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_STRIDE) 101227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_TYPE) 101327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_TYPE: 101427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_TYPE) 101527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CULL_FACE) 101627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CULL_FACE: 101727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CULL_FACE) 101827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_BITS) 101927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_BITS: 102027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_BITS) 102127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_CLEAR_VALUE) 102227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_CLEAR_VALUE: 102327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_CLEAR_VALUE) 102427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_FUNC) 102527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_FUNC: 102627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_FUNC) 102727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_WRITEMASK) 102827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_WRITEMASK: 102927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_WRITEMASK) 103027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 103127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 103227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 103327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 103427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 103527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 103627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 103727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 103827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 103927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 104027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 104127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 104227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FRONT_FACE) 104327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FRONT_FACE: 104427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FRONT_FACE) 104527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_GREEN_BITS) 104627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_GREEN_BITS: 104727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_GREEN_BITS) 104827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 104927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 105027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 105127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 105227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 105327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1054be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1055be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1056be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1057be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1058be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1059be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 106027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 106127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 106227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 106327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINE_SMOOTH_HINT) 106427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINE_SMOOTH_HINT: 106527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINE_SMOOTH_HINT) 106627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINE_WIDTH) 106727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINE_WIDTH: 106827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINE_WIDTH) 106927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LOGIC_OP_MODE) 107027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LOGIC_OP_MODE: 107127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LOGIC_OP_MODE) 107227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 107327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 107427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 107527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 107627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 107727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 107827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 107927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 108027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 108127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 108227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 108327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 108427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_MODE) 108527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_MODE: 108627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_MODE) 108727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_CLIP_PLANES) 108827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_CLIP_PLANES: 108927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_CLIP_PLANES) 109027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_ELEMENTS_INDICES) 109127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_ELEMENTS_INDICES: 109227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_ELEMENTS_INDICES) 109327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_ELEMENTS_VERTICES) 109427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_ELEMENTS_VERTICES: 109527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_ELEMENTS_VERTICES) 109627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_LIGHTS) 109727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_LIGHTS: 109827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_LIGHTS) 109927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 110027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_MODELVIEW_STACK_DEPTH: 110127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 110227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_PALETTE_MATRICES_OES) 110327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_PALETTE_MATRICES_OES: 110427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 110527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 110627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_PROJECTION_STACK_DEPTH: 110727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 110827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_SIZE) 110927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_SIZE: 111027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_SIZE) 111127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 111227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_STACK_DEPTH: 111327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 111427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_UNITS) 111527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_UNITS: 111627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_UNITS) 111727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_VERTEX_UNITS_OES) 111827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_VERTEX_UNITS_OES: 111927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_VERTEX_UNITS_OES) 112027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_STACK_DEPTH) 112127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_STACK_DEPTH: 112227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_STACK_DEPTH) 112327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 112427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_BUFFER_BINDING: 112527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 112627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_STRIDE) 112727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_STRIDE: 112827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_STRIDE) 112927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_TYPE) 113027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_TYPE: 113127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_TYPE) 113227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 113327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 113427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 113527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PACK_ALIGNMENT) 113627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PACK_ALIGNMENT: 113727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PACK_ALIGNMENT) 113827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 113927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PERSPECTIVE_CORRECTION_HINT: 114027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 114127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE) 114227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE: 114327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE) 114427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 114527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 114627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 114727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 114827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_STRIDE_OES: 114927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 115027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 115127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_TYPE_OES: 115227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 115327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SMOOTH_HINT) 115427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SMOOTH_HINT: 115527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SMOOTH_HINT) 115627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POLYGON_OFFSET_FACTOR) 115727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POLYGON_OFFSET_FACTOR: 115827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POLYGON_OFFSET_FACTOR) 115927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POLYGON_OFFSET_UNITS) 116027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POLYGON_OFFSET_UNITS: 116127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POLYGON_OFFSET_UNITS) 116227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_STACK_DEPTH) 116327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_STACK_DEPTH: 116427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_STACK_DEPTH) 116527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_RED_BITS) 116627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_RED_BITS: 116727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_RED_BITS) 116827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHADE_MODEL) 116927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHADE_MODEL: 117027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHADE_MODEL) 117127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_BITS) 117227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_BITS: 117327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_BITS) 117427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_CLEAR_VALUE) 117527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_CLEAR_VALUE: 117627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_CLEAR_VALUE) 117727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_FAIL) 117827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_FAIL: 117927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_FAIL) 118027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_FUNC) 118127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_FUNC: 118227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_FUNC) 118327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 118427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_PASS_DEPTH_FAIL: 118527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 118627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_PASS) 118727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_PASS_DEPTH_PASS: 118827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 118927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_REF) 119027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_REF: 119127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_REF) 119227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_VALUE_MASK) 119327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_VALUE_MASK: 119427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_VALUE_MASK) 119527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_WRITEMASK) 119627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_WRITEMASK: 119727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_WRITEMASK) 119827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SUBPIXEL_BITS) 119927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SUBPIXEL_BITS: 120027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SUBPIXEL_BITS) 120127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_BINDING_2D) 120227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_BINDING_2D: 120327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_BINDING_2D) 120427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 120527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 120627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 120727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 120827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_SIZE: 120927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 121027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 121127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_STRIDE: 121227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 121327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 121427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_TYPE: 121527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 121627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_STACK_DEPTH) 121727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_STACK_DEPTH: 121827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_STACK_DEPTH) 121927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_UNPACK_ALIGNMENT) 122027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_UNPACK_ALIGNMENT: 122127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_UNPACK_ALIGNMENT) 122227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 122327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_BUFFER_BINDING: 122427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 122527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_SIZE) 122627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_SIZE: 122727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_SIZE) 122827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_STRIDE) 122927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_STRIDE: 123027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_STRIDE) 123127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_TYPE) 123227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_TYPE: 123327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_TYPE) 123427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 123527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 123627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 123727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 123827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_SIZE_OES: 123927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 124027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 124127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_STRIDE_OES: 124227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 124327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 124427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_TYPE_OES: 124527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 124627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 124727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 124827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALIASED_POINT_SIZE_RANGE) 124927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALIASED_POINT_SIZE_RANGE: 125027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 125127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 125227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALIASED_LINE_WIDTH_RANGE: 125327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 125427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_RANGE) 125527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_RANGE: 125627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_RANGE) 125727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_VIEWPORT_DIMS) 125827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_VIEWPORT_DIMS: 125927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_VIEWPORT_DIMS) 126027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 126127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SMOOTH_LINE_WIDTH_RANGE: 126227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 126327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 126427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SMOOTH_POINT_SIZE_RANGE: 126527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 126627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 2; 126727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 126827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_CLEAR_VALUE) 126927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_CLEAR_VALUE: 127027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_CLEAR_VALUE) 127127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_WRITEMASK) 127227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_WRITEMASK: 127327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_WRITEMASK) 1274be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1275be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1276be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1277be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1278be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1279be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 128027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SCISSOR_BOX) 128127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SCISSOR_BOX: 128227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SCISSOR_BOX) 128327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VIEWPORT) 128427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VIEWPORT: 128527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VIEWPORT) 128627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 128727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 128827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_MATRIX) 128927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_MATRIX: 129027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX) 129127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 129227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 129327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 129427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_MATRIX) 129527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_MATRIX: 129627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_MATRIX) 129727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 129827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 129927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 130027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_MATRIX) 130127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_MATRIX: 130227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_MATRIX) 130327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 130427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 130527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 130627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 16; 130727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 130827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 130927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMPRESSED_TEXTURE_FORMATS: 131027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1311be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 131227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 131327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 131427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 131527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 131627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 131727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 131827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 131927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 132027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 132127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 132227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLint *) 132327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 132427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 132527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 132627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glGetIntegerv( 132727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 132827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint *)params 132927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 133027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 133127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 133227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 133327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 133427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception ? JNI_ABORT: 0); 133527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 133627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 133727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 133827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 133927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 134027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetIntegerv__ILjava_nio_IntBuffer_2 134127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 134227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _exception = 0; 134327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 134427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 134527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *params = (GLint *) 0; 134627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 134727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 134827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 134927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 135027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_BITS) 135127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_BITS: 135227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_BITS) 135327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_TEST_FUNC) 135427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_TEST_FUNC: 135527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_TEST_FUNC) 135627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALPHA_TEST_REF) 135727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALPHA_TEST_REF: 135827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALPHA_TEST_REF) 135927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_BLEND_DST) 136027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_BLEND_DST: 136127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_BLEND_DST) 136227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_BLUE_BITS) 136327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_BLUE_BITS: 136427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_BLUE_BITS) 136527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 136627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_BUFFER_BINDING: 136727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 136827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_SIZE) 136927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_SIZE: 137027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_SIZE) 137127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_STRIDE) 137227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_STRIDE: 137327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_STRIDE) 137427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_ARRAY_TYPE) 137527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_ARRAY_TYPE: 137627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_ARRAY_TYPE) 137727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CULL_FACE) 137827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CULL_FACE: 137927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CULL_FACE) 138027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_BITS) 138127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_BITS: 138227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_BITS) 138327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_CLEAR_VALUE) 138427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_CLEAR_VALUE: 138527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_CLEAR_VALUE) 138627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_FUNC) 138727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_FUNC: 138827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_FUNC) 138927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_WRITEMASK) 139027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_WRITEMASK: 139127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_WRITEMASK) 139227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_DENSITY) 139327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_DENSITY: 139427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_DENSITY) 139527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_END) 139627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_END: 139727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_END) 139827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_MODE) 139927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_MODE: 140027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_MODE) 140127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FOG_START) 140227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FOG_START: 140327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FOG_START) 140427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_FRONT_FACE) 140527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_FRONT_FACE: 140627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_FRONT_FACE) 140727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_GREEN_BITS) 140827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_GREEN_BITS: 140927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_GREEN_BITS) 141027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 141127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 141227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 141327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 141427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 141527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1416be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1417be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1418be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1419be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1420be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1421be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 142227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 142327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 142427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 142527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINE_SMOOTH_HINT) 142627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINE_SMOOTH_HINT: 142727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINE_SMOOTH_HINT) 142827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINE_WIDTH) 142927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINE_WIDTH: 143027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINE_WIDTH) 143127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LOGIC_OP_MODE) 143227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LOGIC_OP_MODE: 143327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LOGIC_OP_MODE) 143427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 143527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 143627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 143727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 143827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 143927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 144027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 144127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 144227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 144327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 144427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 144527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 144627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MATRIX_MODE) 144727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MATRIX_MODE: 144827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MATRIX_MODE) 144927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_CLIP_PLANES) 145027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_CLIP_PLANES: 145127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_CLIP_PLANES) 145227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_ELEMENTS_INDICES) 145327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_ELEMENTS_INDICES: 145427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_ELEMENTS_INDICES) 145527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_ELEMENTS_VERTICES) 145627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_ELEMENTS_VERTICES: 145727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_ELEMENTS_VERTICES) 145827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_LIGHTS) 145927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_LIGHTS: 146027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_LIGHTS) 146127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 146227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_MODELVIEW_STACK_DEPTH: 146327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 146427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_PALETTE_MATRICES_OES) 146527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_PALETTE_MATRICES_OES: 146627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 146727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 146827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_PROJECTION_STACK_DEPTH: 146927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 147027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_SIZE) 147127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_SIZE: 147227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_SIZE) 147327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 147427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_STACK_DEPTH: 147527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 147627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_TEXTURE_UNITS) 147727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_TEXTURE_UNITS: 147827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_TEXTURE_UNITS) 147927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_VERTEX_UNITS_OES) 148027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_VERTEX_UNITS_OES: 148127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_VERTEX_UNITS_OES) 148227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_STACK_DEPTH) 148327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_STACK_DEPTH: 148427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_STACK_DEPTH) 148527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 148627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_BUFFER_BINDING: 148727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 148827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_STRIDE) 148927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_STRIDE: 149027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_STRIDE) 149127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NORMAL_ARRAY_TYPE) 149227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NORMAL_ARRAY_TYPE: 149327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NORMAL_ARRAY_TYPE) 149427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 149527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 149627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 149727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PACK_ALIGNMENT) 149827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PACK_ALIGNMENT: 149927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PACK_ALIGNMENT) 150027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 150127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PERSPECTIVE_CORRECTION_HINT: 150227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 150327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE) 150427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE: 150527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE) 150627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 150727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 150827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 150927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 151027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_STRIDE_OES: 151127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 151227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 151327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SIZE_ARRAY_TYPE_OES: 151427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 151527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POINT_SMOOTH_HINT) 151627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POINT_SMOOTH_HINT: 151727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POINT_SMOOTH_HINT) 151827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POLYGON_OFFSET_FACTOR) 151927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POLYGON_OFFSET_FACTOR: 152027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POLYGON_OFFSET_FACTOR) 152127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_POLYGON_OFFSET_UNITS) 152227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_POLYGON_OFFSET_UNITS: 152327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_POLYGON_OFFSET_UNITS) 152427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_STACK_DEPTH) 152527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_STACK_DEPTH: 152627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_STACK_DEPTH) 152727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_RED_BITS) 152827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_RED_BITS: 152927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_RED_BITS) 153027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHADE_MODEL) 153127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHADE_MODEL: 153227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHADE_MODEL) 153327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_BITS) 153427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_BITS: 153527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_BITS) 153627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_CLEAR_VALUE) 153727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_CLEAR_VALUE: 153827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_CLEAR_VALUE) 153927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_FAIL) 154027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_FAIL: 154127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_FAIL) 154227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_FUNC) 154327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_FUNC: 154427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_FUNC) 154527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 154627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_PASS_DEPTH_FAIL: 154727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 154827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_PASS) 154927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_PASS_DEPTH_PASS: 155027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 155127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_REF) 155227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_REF: 155327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_REF) 155427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_VALUE_MASK) 155527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_VALUE_MASK: 155627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_VALUE_MASK) 155727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_STENCIL_WRITEMASK) 155827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_STENCIL_WRITEMASK: 155927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_STENCIL_WRITEMASK) 156027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SUBPIXEL_BITS) 156127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SUBPIXEL_BITS: 156227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SUBPIXEL_BITS) 156327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_BINDING_2D) 156427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_BINDING_2D: 156527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_BINDING_2D) 156627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 156727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 156827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 156927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 157027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_SIZE: 157127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 157227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 157327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_STRIDE: 157427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 157527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 157627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_COORD_ARRAY_TYPE: 157727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 157827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_STACK_DEPTH) 157927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_STACK_DEPTH: 158027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_STACK_DEPTH) 158127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_UNPACK_ALIGNMENT) 158227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_UNPACK_ALIGNMENT: 158327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_UNPACK_ALIGNMENT) 158427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 158527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_BUFFER_BINDING: 158627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 158727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_SIZE) 158827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_SIZE: 158927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_SIZE) 159027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_STRIDE) 159127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_STRIDE: 159227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_STRIDE) 159327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VERTEX_ARRAY_TYPE) 159427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VERTEX_ARRAY_TYPE: 159527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VERTEX_ARRAY_TYPE) 159627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 159727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 159827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 159927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 160027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_SIZE_OES: 160127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 160227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 160327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_STRIDE_OES: 160427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 160527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 160627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_WEIGHT_ARRAY_TYPE_OES: 160727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 160827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 160927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 161027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALIASED_POINT_SIZE_RANGE) 161127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALIASED_POINT_SIZE_RANGE: 161227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 161327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 161427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_ALIASED_LINE_WIDTH_RANGE: 161527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 161627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DEPTH_RANGE) 161727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DEPTH_RANGE: 161827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DEPTH_RANGE) 161927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MAX_VIEWPORT_DIMS) 162027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MAX_VIEWPORT_DIMS: 162127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MAX_VIEWPORT_DIMS) 162227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 162327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SMOOTH_LINE_WIDTH_RANGE: 162427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 162527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 162627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SMOOTH_POINT_SIZE_RANGE: 162727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 162827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 2; 162927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 163027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_CLEAR_VALUE) 163127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_CLEAR_VALUE: 163227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_CLEAR_VALUE) 163327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COLOR_WRITEMASK) 163427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COLOR_WRITEMASK: 163527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COLOR_WRITEMASK) 1636be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_FOG_COLOR) 1637be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_FOG_COLOR: 1638be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_FOG_COLOR) 1639be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 1640be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich case GL_LIGHT_MODEL_AMBIENT: 1641be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 164227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SCISSOR_BOX) 164327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SCISSOR_BOX: 164427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SCISSOR_BOX) 164527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_VIEWPORT) 164627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_VIEWPORT: 164727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_VIEWPORT) 164827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 164927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 165027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_MATRIX) 165127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_MATRIX: 165227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX) 165327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 165427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 165527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 165627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_MATRIX) 165727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_MATRIX: 165827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_MATRIX) 165927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 166027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 166127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 166227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_MATRIX) 166327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_MATRIX: 166427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_MATRIX) 166527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 166627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 166727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 166827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 16; 166927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 167027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 167127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMPRESSED_TEXTURE_FORMATS: 167227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1673be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich _needed = getNumCompressedTextureFormats(); 167427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 167527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 167627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 167727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 167827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 167927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 168027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _exception = 1; 168127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 168227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 168327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 168427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glGetIntegerv( 168527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 168627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint *)params 168727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 168827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 168927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 169027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 169127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 169227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 169327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 169427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 169527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <string.h> 169627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 169727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* const GLubyte * glGetString ( GLenum name ) */ 169827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic 169927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichjstring 170027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetString 170127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint name) { 170227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich const char * chars = (const char *)glGetString((GLenum)name); 170327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jstring output = _env->NewStringUTF(chars); 170427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return output; 170527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 170627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glHint ( GLenum target, GLenum mode ) */ 170727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 170827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glHint__II 170927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint mode) { 171027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glHint( 171127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 171227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode 171327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 171427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 171527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 171627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelf ( GLenum pname, GLfloat param ) */ 171727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 171827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelf__IF 171927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 172027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelf( 172127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 172227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 172327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 172427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 172527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 172627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 172727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 172827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelfv__I_3FI 172927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 173027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params_base = (GLfloat *) 0; 173127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 173227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 173327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 173427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 173527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 173627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 173727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 173827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 173927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 174027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 174127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 174227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 174327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 174427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 174527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 174627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 174727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 174827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 174927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 175027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 175127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 175227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 175327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 175427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 175527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 175627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 175727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 175827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 175927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 176027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 176127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 176227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 176327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfloat *) 176427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 176527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 176627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 176727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelfv( 176827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 176927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 177027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 177127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 177227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 177327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 177427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 177527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 177627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 177727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 177827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 177927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 178027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 178127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelfv__ILjava_nio_FloatBuffer_2 178227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 178327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 178427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 178527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 178627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 178727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 178827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 178927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 179027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 179127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 179227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 179327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 179427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 179527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 179627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 179727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 179827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 179927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 180027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 180127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 180227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 180327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 180427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 180527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 180627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 180727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 180827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelfv( 180927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 181027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 181127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 181227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 181327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 181427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 181527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 181627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 181727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 181827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 181927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelx ( GLenum pname, GLfixed param ) */ 182027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 182127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelx__II 182227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 182327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelx( 182427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 182527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 182627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 182727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 182827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 182927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 183027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 183127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxv__I_3II 183227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 183327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params_base = (GLfixed *) 0; 183427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 183527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 183627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 183727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 183827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 183927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 184027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 184127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 184227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 184327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 184427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 184527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 184627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 184727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 184827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 184927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 185027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 185127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 185227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 185327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 185427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 185527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 185627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 185727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 185827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 185927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 186027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 186127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 186227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 186327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 186427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 186527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 186627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfixed *) 186727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 186827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 186927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 187027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelxv( 187127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 187227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 187327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 187427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 187527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 187627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 187727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 187827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 187927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 188027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 188127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 188227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 188327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 188427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxv__ILjava_nio_IntBuffer_2 188527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 188627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 188727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 188827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 188927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 189027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 189127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 189227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 189327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 189427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 189527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 189627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 189727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 189827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 189927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 190027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 190127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 190227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 190327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 190427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 190527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 190627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 190727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 190827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 190927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 191027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 191127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightModelxv( 191227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 191327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 191427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 191527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 191627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 191727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 191827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 191927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 192027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 192127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 192227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ 192327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 192427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightf__IIF 192527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { 192627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightf( 192727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 192827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 192927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 193027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 193127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 193227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 193327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 193427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 193527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightfv__II_3FI 193627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 193727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params_base = (GLfloat *) 0; 193827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 193927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 194027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 194127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 194227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 194327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 194427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 194527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 194627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 194727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 194827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 194927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 195027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 195127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 195227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_EXPONENT) 195327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_EXPONENT: 195427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_EXPONENT) 195527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_CUTOFF) 195627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_CUTOFF: 195727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_CUTOFF) 195827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CONSTANT_ATTENUATION) 195927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CONSTANT_ATTENUATION: 196027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CONSTANT_ATTENUATION) 196127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINEAR_ATTENUATION) 196227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINEAR_ATTENUATION: 196327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINEAR_ATTENUATION) 196427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_QUADRATIC_ATTENUATION) 196527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_QUADRATIC_ATTENUATION: 196627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_QUADRATIC_ATTENUATION) 196727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 196827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 196927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_DIRECTION) 197027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_DIRECTION: 197127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_DIRECTION) 197227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 3; 197327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 197427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 197527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 197627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 197727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 197827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 197927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 198027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 198127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 198227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 198327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 198427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 198527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 198627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 198727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 198827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 198927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 199027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 199127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 199227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 199327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 199427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 199527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 199627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfloat *) 199727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 199827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 199927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 200027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightfv( 200127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 200227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 200327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 200427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 200527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 200627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 200727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 200827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 200927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 201027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 201127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 201227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 201327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 201427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 201527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightfv__IILjava_nio_FloatBuffer_2 201627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 201727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 201827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 201927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 202027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 202127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 202227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 202327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 202427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_EXPONENT) 202527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_EXPONENT: 202627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_EXPONENT) 202727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_CUTOFF) 202827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_CUTOFF: 202927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_CUTOFF) 203027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CONSTANT_ATTENUATION) 203127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CONSTANT_ATTENUATION: 203227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CONSTANT_ATTENUATION) 203327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINEAR_ATTENUATION) 203427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINEAR_ATTENUATION: 203527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINEAR_ATTENUATION) 203627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_QUADRATIC_ATTENUATION) 203727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_QUADRATIC_ATTENUATION: 203827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_QUADRATIC_ATTENUATION) 203927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 204027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 204127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_DIRECTION) 204227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_DIRECTION: 204327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_DIRECTION) 204427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 3; 204527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 204627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 204727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 204827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 204927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 205027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 205127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 205227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 205327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 205427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 205527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 205627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 205727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 205827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 205927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 206027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 206127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 206227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 206327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 206427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 206527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 206627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 206727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 206827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightfv( 206927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 207027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 207127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 207227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 207327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 207427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 207527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 207627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 207727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 207827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 207927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 208027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ 208127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 208227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightx__III 208327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 208427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightx( 208527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 208627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 208727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 208827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 208927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 209027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 209127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 209227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 209327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxv__II_3II 209427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 209527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params_base = (GLfixed *) 0; 209627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 209727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 209827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 209927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 210027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 210127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 210227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 210327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 210427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 210527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 210627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 210727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 210827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 210927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 211027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_EXPONENT) 211127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_EXPONENT: 211227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_EXPONENT) 211327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_CUTOFF) 211427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_CUTOFF: 211527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_CUTOFF) 211627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CONSTANT_ATTENUATION) 211727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CONSTANT_ATTENUATION: 211827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CONSTANT_ATTENUATION) 211927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINEAR_ATTENUATION) 212027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINEAR_ATTENUATION: 212127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINEAR_ATTENUATION) 212227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_QUADRATIC_ATTENUATION) 212327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_QUADRATIC_ATTENUATION: 212427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_QUADRATIC_ATTENUATION) 212527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 212627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 212727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_DIRECTION) 212827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_DIRECTION: 212927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_DIRECTION) 213027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 3; 213127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 213227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 213327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 213427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 213527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 213627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 213727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 213827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 213927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 214027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 214127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 214227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 214327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 214427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 214527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 214627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 214727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 214827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 214927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 215027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 215127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 215227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 215327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 215427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfixed *) 215527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 215627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 215727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 215827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightxv( 215927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 216027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 216127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 216227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 216327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 216427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 216527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 216627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 216727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 216827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 216927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 217027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 217127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 217227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 217327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxv__IILjava_nio_IntBuffer_2 217427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 217527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 217627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 217727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 217827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 217927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 218027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 218127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 218227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_EXPONENT) 218327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_EXPONENT: 218427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_EXPONENT) 218527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_CUTOFF) 218627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_CUTOFF: 218727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_CUTOFF) 218827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_CONSTANT_ATTENUATION) 218927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_CONSTANT_ATTENUATION: 219027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_CONSTANT_ATTENUATION) 219127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_LINEAR_ATTENUATION) 219227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_LINEAR_ATTENUATION: 219327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_LINEAR_ATTENUATION) 219427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_QUADRATIC_ATTENUATION) 219527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_QUADRATIC_ATTENUATION: 219627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_QUADRATIC_ATTENUATION) 219727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 219827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 219927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPOT_DIRECTION) 220027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPOT_DIRECTION: 220127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPOT_DIRECTION) 220227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 3; 220327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 220427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 220527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 220627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 220727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 220827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 220927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 221027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 221127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 221227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 221327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 221427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 221527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 221627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 221727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 221827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 221927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 222027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 222127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 222227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 222327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 222427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 222527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 222627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLightxv( 222727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)light, 222827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 222927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 223027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 223127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 223227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 223327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 223427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 223527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 223627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 223727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 223827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidth ( GLfloat width ) */ 223927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 224027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidth__F 224127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat width) { 224227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLineWidth( 224327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)width 224427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 224527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 224627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 224727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidthx ( GLfixed width ) */ 224827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 224927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidthx__I 225027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint width) { 225127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLineWidthx( 225227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)width 225327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 225427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 225527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 225627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadIdentity ( void ) */ 225727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 225827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadIdentity__ 225927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 226027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLoadIdentity(); 226127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 226227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 226327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixf ( const GLfloat *m ) */ 226427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 226527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixf___3FI 226627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 226727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m_base = (GLfloat *) 0; 226827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 226927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m = (GLfloat *) 0; 227027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 227127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!m_ref) { 227227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "m == null"); 227327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 227427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 227527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 227627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 227727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 227827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 227927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 228027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m_base = (GLfloat *) 228127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 228227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = m_base + offset; 228327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 228427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLoadMatrixf( 228527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)m 228627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 228727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 228827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 228927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (m_base) { 229027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 229127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 229227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 229327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 229427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 229527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixf ( const GLfloat *m ) */ 229627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 229727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixf__Ljava_nio_FloatBuffer_2 229827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 229927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 230027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 230127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m = (GLfloat *) 0; 230227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 230327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 230427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLoadMatrixf( 230527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)m 230627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 230727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 230827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, m, JNI_FALSE); 230927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 231027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 231127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 231227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixx ( const GLfixed *m ) */ 231327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 231427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixx___3II 231527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 231627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m_base = (GLfixed *) 0; 231727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 231827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m = (GLfixed *) 0; 231927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 232027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!m_ref) { 232127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "m == null"); 232227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 232327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 232427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 232527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 232627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 232727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 232827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 232927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m_base = (GLfixed *) 233027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 233127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = m_base + offset; 233227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 233327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLoadMatrixx( 233427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)m 233527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 233627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 233727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 233827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (m_base) { 233927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 234027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 234127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 234227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 234327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 234427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixx ( const GLfixed *m ) */ 234527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 234627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixx__Ljava_nio_IntBuffer_2 234727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 234827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 234927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 235027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m = (GLfixed *) 0; 235127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 235227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 235327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLoadMatrixx( 235427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)m 235527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 235627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 235727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, m, JNI_FALSE); 235827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 235927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 236027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 236127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLogicOp ( GLenum opcode ) */ 236227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 236327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLogicOp__I 236427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint opcode) { 236527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glLogicOp( 236627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)opcode 236727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 236827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 236927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 237027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ 237127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 237227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialf__IIF 237327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { 237427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialf( 237527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 237627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 237727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 237827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 237927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 238027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 238127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 238227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 238327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialfv__II_3FI 238427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 238527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params_base = (GLfloat *) 0; 238627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 238727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 238827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 238927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 239027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 239127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 239227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 239327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 239427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 239527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 239627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 239727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 239827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 239927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 240027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHININESS) 240127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHININESS: 240227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHININESS) 240327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 240427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 240527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 240627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 240727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 240827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 240927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 241027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 241127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 241227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 241327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 241427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 241527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 241627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 241727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT_AND_DIFFUSE) 241827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT_AND_DIFFUSE: 241927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT_AND_DIFFUSE) 242027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 242127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 242227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 242327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 242427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 242527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 242627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 242727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 242827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 242927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 243027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfloat *) 243127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 243227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 243327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 243427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialfv( 243527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 243627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 243727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 243827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 243927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 244027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 244127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 244227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 244327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 244427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 244527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 244627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 244727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 244827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 244927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialfv__IILjava_nio_FloatBuffer_2 245027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 245127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 245227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 245327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 245427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 245527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 245627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 245727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 245827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHININESS) 245927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHININESS: 246027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHININESS) 246127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 246227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 246327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 246427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 246527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 246627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 246727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 246827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 246927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 247027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 247127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 247227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 247327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 247427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 247527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT_AND_DIFFUSE) 247627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT_AND_DIFFUSE: 247727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT_AND_DIFFUSE) 247827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 247927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 248027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 248127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 248227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 248327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 248427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 248527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 248627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 248727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 248827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialfv( 248927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 249027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 249127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 249227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 249327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 249427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 249527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 249627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 249727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 249827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 249927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 250027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ 250127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 250227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialx__III 250327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 250427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialx( 250527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 250627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 250727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 250827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 250927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 251027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 251127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 251227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 251327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxv__II_3II 251427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 251527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params_base = (GLfixed *) 0; 251627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 251727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 251827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 251927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 252027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 252127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 252227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 252327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 252427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 252527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 252627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 252727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 252827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 252927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 253027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHININESS) 253127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHININESS: 253227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHININESS) 253327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 253427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 253527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 253627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 253727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 253827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 253927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 254027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 254127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 254227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 254327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 254427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 254527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 254627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 254727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT_AND_DIFFUSE) 254827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT_AND_DIFFUSE: 254927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT_AND_DIFFUSE) 255027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 255127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 255227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 255327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 255427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 255527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 255627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 255727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 255827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 255927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 256027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfixed *) 256127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 256227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 256327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 256427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialxv( 256527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 256627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 256727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 256827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 256927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 257027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 257127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 257227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 257327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 257427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 257527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 257627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 257727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 257827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 257927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxv__IILjava_nio_IntBuffer_2 258027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 258127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 258227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 258327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 258427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 258527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 258627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 258727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 258827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SHININESS) 258927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SHININESS: 259027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SHININESS) 259127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 259227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 259327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT) 259427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT: 259527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT) 259627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_DIFFUSE) 259727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_DIFFUSE: 259827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_DIFFUSE) 259927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_SPECULAR) 260027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_SPECULAR: 260127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_SPECULAR) 260227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_EMISSION) 260327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_EMISSION: 260427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_EMISSION) 260527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_AMBIENT_AND_DIFFUSE) 260627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_AMBIENT_AND_DIFFUSE: 260727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_AMBIENT_AND_DIFFUSE) 260827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 260927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 261027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 261127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 261227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 261327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 261427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 261527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 261627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 261727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 261827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMaterialxv( 261927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)face, 262027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 262127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 262227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 262327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 262427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 262527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 262627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 262727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 262827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 262927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 263027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMatrixMode ( GLenum mode ) */ 263127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 263227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMatrixMode__I 263327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 263427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMatrixMode( 263527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode 263627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 263727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 263827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 263927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixf ( const GLfloat *m ) */ 264027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 264127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixf___3FI 264227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 264327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m_base = (GLfloat *) 0; 264427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 264527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m = (GLfloat *) 0; 264627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 264727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!m_ref) { 264827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "m == null"); 264927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 265027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 265127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 265227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 265327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 265427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 265527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 265627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m_base = (GLfloat *) 265727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 265827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = m_base + offset; 265927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 266027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultMatrixf( 266127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)m 266227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 266327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 266427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 266527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (m_base) { 266627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 266727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 266827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 266927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 267027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 267127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixf ( const GLfloat *m ) */ 267227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 267327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixf__Ljava_nio_FloatBuffer_2 267427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 267527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 267627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 267727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *m = (GLfloat *) 0; 267827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 267927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 268027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultMatrixf( 268127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)m 268227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 268327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 268427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, m, JNI_FALSE); 268527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 268627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 268727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 268827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixx ( const GLfixed *m ) */ 268927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 269027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixx___3II 269127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 269227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m_base = (GLfixed *) 0; 269327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 269427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m = (GLfixed *) 0; 269527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 269627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!m_ref) { 269727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "m == null"); 269827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 269927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 270027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 270127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 270227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 270327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 270427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 270527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m_base = (GLfixed *) 270627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 270727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = m_base + offset; 270827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 270927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultMatrixx( 271027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)m 271127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 271227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 271327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 271427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (m_base) { 271527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 271627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 271727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 271827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 271927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 272027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixx ( const GLfixed *m ) */ 272127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 272227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixx__Ljava_nio_IntBuffer_2 272327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 272427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 272527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 272627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *m = (GLfixed *) 0; 272727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 272827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 272927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultMatrixx( 273027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)m 273127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 273227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 273327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, m, JNI_FALSE); 273427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 273527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 273627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 273727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ 273827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 273927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4f__IFFFF 274027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { 274127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultiTexCoord4f( 274227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 274327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)s, 274427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)t, 274527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)r, 274627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)q 274727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 274827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 274927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 275027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 275127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 275227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4x__IIIII 275327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 275427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glMultiTexCoord4x( 275527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 275627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)s, 275727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)t, 275827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)r, 275927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)q 276027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 276127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 276227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 276327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ 276427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 276527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3f__FFF 276627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { 276727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glNormal3f( 276827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)nx, 276927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)ny, 277027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)nz 277127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 277227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 277327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 277427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 277527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 277627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3x__III 277727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 277827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glNormal3x( 277927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)nx, 278027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)ny, 278127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)nz 278227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 278327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 278427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 278527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 278627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 278727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormalPointerBounds__IILjava_nio_Buffer_2I 278827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 278927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 279027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 279127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pointer = (GLvoid *) 0; 279227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 2793e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 279416e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2795e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 2796e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 2797e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 2798e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 279927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glNormalPointerBounds( 280027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 280127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)stride, 280227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pointer, 280327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)remaining 280427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 280527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 280627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 280727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 280827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 280927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthof__FFFFFF 281027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 281127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glOrthof( 281227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)left, 281327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)right, 281427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)bottom, 281527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)top, 281627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)zNear, 281727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)zFar 281827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 281927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 282027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 282127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 282227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 282327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthox__IIIIII 282427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 282527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glOrthox( 282627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)left, 282727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)right, 282827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)bottom, 282927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)top, 283027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)zNear, 283127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)zFar 283227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 283327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 283427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 283527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPixelStorei ( GLenum pname, GLint param ) */ 283627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 283727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPixelStorei__II 283827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 283927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPixelStorei( 284027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 284127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)param 284227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 284327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 284427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 284527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSize ( GLfloat size ) */ 284627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 284727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSize__F 284827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat size) { 284927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPointSize( 285027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)size 285127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 285227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 285327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 285427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSizex ( GLfixed size ) */ 285527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 285627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSizex__I 285727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint size) { 285827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPointSizex( 285927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)size 286027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 286127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 286227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 286327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 286427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 286527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffset__FF 286627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 286727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPolygonOffset( 286827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)factor, 286927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)units 287027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 287127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 287227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 287327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 287427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 287527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffsetx__II 287627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint factor, jint units) { 287727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPolygonOffsetx( 287827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)factor, 287927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)units 288027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 288127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 288227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 288327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPopMatrix ( void ) */ 288427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 288527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPopMatrix__ 288627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 288727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPopMatrix(); 288827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 288927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 289027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPushMatrix ( void ) */ 289127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 289227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPushMatrix__ 289327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 289427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glPushMatrix(); 289527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 289627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 289727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 289827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 289927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glReadPixels__IIIIIILjava_nio_Buffer_2 290027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 290127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _exception = 0; 290227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 290327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 290427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pixels = (GLvoid *) 0; 290527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 290627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 290727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glReadPixels( 290827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 290927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 291027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 291127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 291227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)format, 291327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 291427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pixels 291527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 291627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 291727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 291827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 291927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 292027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 292127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 292227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 292327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatef__FFFF 292427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 292527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glRotatef( 292627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)angle, 292727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)x, 292827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)y, 292927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)z 293027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 293127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 293227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 293327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 293427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 293527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatex__IIII 293627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 293727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glRotatex( 293827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)angle, 293927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)x, 294027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)y, 294127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)z 294227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 294327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 294427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 294527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 294627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 294727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoverage__FZ 294827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 294927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glSampleCoverage( 295027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampf)value, 295127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)invert 295227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 295327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 295427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 295527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 295627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 295727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoveragex__IZ 295827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 295927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glSampleCoveragex( 296027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLclampx)value, 296127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLboolean)invert 296227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 296327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 296427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 296527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 296627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 296727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalef__FFF 296827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 296927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glScalef( 297027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)x, 297127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)y, 297227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)z 297327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 297427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 297527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 297627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 297727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 297827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalex__III 297927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 298027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glScalex( 298127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)x, 298227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)y, 298327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)z 298427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 298527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 298627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 298727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 298827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 298927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScissor__IIII 299027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 299127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glScissor( 299227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 299327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 299427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 299527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height 299627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 299727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 299827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 299927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glShadeModel ( GLenum mode ) */ 300027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 300127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glShadeModel__I 300227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 300327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glShadeModel( 300427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)mode 300527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 300627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 300727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 300827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 300927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 301027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glStencilFunc__III 301127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 301227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glStencilFunc( 301327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)func, 301427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)ref, 301527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint)mask 301627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 301727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 301827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 301927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glStencilMask ( GLuint mask ) */ 302027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 302127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glStencilMask__I 302227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mask) { 302327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glStencilMask( 302427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLuint)mask 302527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 302627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 302727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 302827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 302927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 303027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glStencilOp__III 303127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 303227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glStencilOp( 303327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)fail, 303427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)zfail, 303527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)zpass 303627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 303727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 303827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 303927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 304027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 304127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 304227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 304327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 304427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 304527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pointer = (GLvoid *) 0; 304627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 3047e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 304816e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3049e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3050e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3051e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3052e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 305327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexCoordPointerBounds( 305427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)size, 305527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 305627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)stride, 305727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pointer, 305827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)remaining 305927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 306027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 306127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 306227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 306327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 306427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvf__IIF 306527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 306627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvf( 306727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 306827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 306927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 307027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 307127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 307227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 307327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 307427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 307527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvfv__II_3FI 307627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 307727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params_base = (GLfloat *) 0; 307827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 307927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 308027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 308127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 308227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 308327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 308427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 308527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 308627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 308727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 308827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 308927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 309027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 309127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 309227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_MODE) 309327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_MODE: 309427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_MODE) 309527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_RGB) 309627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_RGB: 309727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_RGB) 309827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_ALPHA) 309927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_ALPHA: 310027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_ALPHA) 310127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 310227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 310327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_COLOR) 310427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_COLOR: 310527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_COLOR) 310627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 310727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 310827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 310927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 311027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 311127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 311227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 311327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 311427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 311527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 311627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfloat *) 311727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 311827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 311927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 312027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvfv( 312127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 312227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 312327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 312427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 312527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 312627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 312727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 312827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 312927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 313027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 313127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 313227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 313327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 313427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 313527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvfv__IILjava_nio_FloatBuffer_2 313627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 313727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 313827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 313927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *params = (GLfloat *) 0; 314027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 314127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 314227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 314327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 314427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_MODE) 314527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_MODE: 314627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_MODE) 314727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_RGB) 314827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_RGB: 314927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_RGB) 315027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_ALPHA) 315127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_ALPHA: 315227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_ALPHA) 315327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 315427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 315527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_COLOR) 315627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_COLOR: 315727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_COLOR) 315827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 315927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 316027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 316127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 316227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 316327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 316427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 316527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 316627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 316727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 316827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvfv( 316927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 317027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 317127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)params 317227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 317327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 317427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 317527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 317627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 317727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 317827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 317927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 318027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 318127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 318227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvx__III 318327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 318427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvx( 318527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 318627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 318727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 318827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 318927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 319027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 319127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 319227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 319327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxv__II_3II 319427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 319527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params_base = (GLfixed *) 0; 319627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 319727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 319827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 319927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!params_ref) { 320027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 320127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 320227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 320327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 320427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 320527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 320627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 320727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 320827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 320927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 321027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_MODE) 321127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_MODE: 321227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_MODE) 321327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_RGB) 321427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_RGB: 321527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_RGB) 321627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_ALPHA) 321727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_ALPHA: 321827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_ALPHA) 321927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 322027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 322127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_COLOR) 322227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_COLOR: 322327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_COLOR) 322427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 322527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 322627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 322727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 322827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 322927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 323027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 323127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 323227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 323327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 323427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params_base = (GLfixed *) 323527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 323627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = params_base + offset; 323727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 323827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvxv( 323927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 324027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 324127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 324227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 324327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 324427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 324527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (params_base) { 324627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 324727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 324827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 324927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 325027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 325127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 325227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 325327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxv__IILjava_nio_IntBuffer_2 325427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 325527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 325627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 325727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *params = (GLfixed *) 0; 325827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 325927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 326027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int _needed; 326127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich switch (pname) { 326227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_MODE) 326327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_MODE: 326427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_MODE) 326527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_RGB) 326627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_RGB: 326727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_RGB) 326827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_COMBINE_ALPHA) 326927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_COMBINE_ALPHA: 327027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_COMBINE_ALPHA) 327127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 1; 327227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 327327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#if defined(GL_TEXTURE_ENV_COLOR) 327427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich case GL_TEXTURE_ENV_COLOR: 327527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#endif // defined(GL_TEXTURE_ENV_COLOR) 327627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 4; 327727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 327827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich default: 327927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _needed = 0; 328027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich break; 328127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 328227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < _needed) { 328327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 328427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 328527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 328627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexEnvxv( 328727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 328827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 328927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)params 329027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 329127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 329227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 329327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 329427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 329527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 329627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 329727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 329827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 329927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 330027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 330127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 330227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 330327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 330427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pixels = (GLvoid *) 0; 330527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 330627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (pixels_buf) { 330727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 330827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 330927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexImage2D( 331027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 331127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 331227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)internalformat, 331327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 331427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 331527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)border, 331627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)format, 331727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 331827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pixels 331927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 332027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 332127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, pixels, JNI_FALSE); 332227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 332327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 332427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 332527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 332627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 332727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterf__IIF 332827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 332927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexParameterf( 333027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 333127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 333227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)param 333327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 333427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 333527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 333627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 333727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 333827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterx__III 333927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 334027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexParameterx( 334127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 334227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)pname, 334327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)param 334427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 334527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 334627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 334727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 334827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 334927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 335027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 335127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 335227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 335327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pixels = (GLvoid *) 0; 335427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 335527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (pixels_buf) { 335627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 335727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 335827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTexSubImage2D( 335927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)target, 336027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)level, 336127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)xoffset, 336227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)yoffset, 336327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 336427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height, 336527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)format, 336627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 336727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pixels 336827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 336927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 337027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich releasePointer(_env, _array, pixels, JNI_FALSE); 337127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 337227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 337327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 337427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 337527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 337627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatef__FFF 337727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 337827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTranslatef( 337927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)x, 338027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)y, 338127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)z 338227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 338327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 338427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 338527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 338627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 338727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatex__III 338827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 338927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glTranslatex( 339027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)x, 339127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)y, 339227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)z 339327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 339427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 339527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 339627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 339727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 339827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glVertexPointerBounds__IIILjava_nio_Buffer_2I 339927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 340027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jarray _array = (jarray) 0; 340127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 340227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLvoid *pointer = (GLvoid *) 0; 340327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 3404e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if (pointer_buf) { 340516e7972f0d986eebf846ea8feb50f4435a9c6970Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3406e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich if ( ! pointer ) { 3407e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich return; 3408e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 3409e20ea783a12f1031482c3aa01938efe39dcbf0a2Jack Palevich } 341027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glVertexPointerBounds( 341127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)size, 341227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLenum)type, 341327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)stride, 341427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLvoid *)pointer, 341527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)remaining 341627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 341727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 341827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 341927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 342027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 342127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glViewport__IIII 342227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 342327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glViewport( 342427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 342527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 342627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)width, 342727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLsizei)height 342827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 342927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 343027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 343127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic const char *classPathName = "android/opengl/GLES10"; 343227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 343327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic JNINativeMethod methods[] = { 343427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit }, 343527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 343627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 343727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 343827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 343927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 344027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClear", "(I)V", (void *) android_glClear__I }, 344127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 344227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 344327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 344427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 344527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 344627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 344727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 344827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 344927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 345027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 345127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 345227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 345327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 345427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 345527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 345627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 345727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 345827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 345927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 346027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 346127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 346227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDisable", "(I)V", (void *) android_glDisable__I }, 346327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 346427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 346527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 346627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEnable", "(I)V", (void *) android_glEnable__I }, 346727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 346827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFinish", "()V", (void *) android_glFinish__ }, 346927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFlush", "()V", (void *) android_glFlush__ }, 347027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 347127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 347227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 347327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogx", "(II)V", (void *) android_glFogx__II }, 347427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 347527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 347627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 347727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 347827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 347927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 348027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 348127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetError", "()I", (void *) android_glGetError__ }, 348227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 348327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 3484a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich{"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 348527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glHint", "(II)V", (void *) android_glHint__II }, 348627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 348727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 348827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 348927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 349027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 349127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 349227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 349327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 349427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 349527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightx", "(III)V", (void *) android_glLightx__III }, 349627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 349727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 349827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 349927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 350027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 350127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 350227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 350327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 350427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 350527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 350627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 350727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 350827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 350927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 351027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 351127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 351227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 351327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 351427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 351527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 351627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 351727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 351827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 351927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 352027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 352127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 352227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 352327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 352427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 352527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 352627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 352727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 352827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 352927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 353027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 353127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 353227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 353327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 353427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 353527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 353627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 353727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalex", "(III)V", (void *) android_glScalex__III }, 353827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 353927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 354027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 354127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 354227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 354327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 354427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 354527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 354627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 354727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 354827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 354927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 355027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 355127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 355227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 355327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 355427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 355527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 355627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 355727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 355827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}; 355927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 356027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichint register_android_opengl_jni_GLES10(JNIEnv *_env) 356127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 356227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int err; 356327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 356427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return err; 356527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 3566