android_opengl_GLES20.cpp revision 73108675c944ab4ee89631dced23566b12341b66
1560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* 2560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** 3560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** Copyright 2009, The Android Open Source Project 4560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** 5560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** Licensed under the Apache License, Version 2.0 (the "License"); 6560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** you may not use this file except in compliance with the License. 7560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** You may obtain a copy of the License at 8560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** 9560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** http://www.apache.org/licenses/LICENSE-2.0 10560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** 11560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** Unless required by applicable law or agreed to in writing, software 12560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** distributed under the License is distributed on an "AS IS" BASIS, 13560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** See the License for the specific language governing permissions and 15560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich** limitations under the License. 16560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich*/ 17560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 18560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich// This source file is automatically generated 19560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 20560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <android_runtime/AndroidRuntime.h> 21560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <utils/misc.h> 22560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 23560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <assert.h> 24560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <GLES2/gl2.h> 25560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <GLES2/gl2ext.h> 26560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 27560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic int initialized = 0; 28560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 29560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass nioAccessClass; 30560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass bufferClass; 31560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass OOMEClass; 32560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass UOEClass; 33560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass IAEClass; 34560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jclass AIOOBEClass; 35560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jmethodID getBasePointerID; 36560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jmethodID getBaseArrayID; 37560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jmethodID getBaseArrayOffsetID; 38560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jfieldID positionID; 39560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jfieldID limitID; 40560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jfieldID elementSizeShiftID; 41560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 42560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* Cache method IDs each time the class is loaded. */ 43560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 44560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 45560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichnativeClassInitBuffer(JNIEnv *_env) 46560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{ 47560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 48560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 49560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 50560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 51560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 52560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 53560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 54560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich "getBasePointer", "(Ljava/nio/Buffer;)J"); 55560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 56560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 57560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 58560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 59560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 60560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich positionID = _env->GetFieldID(bufferClass, "position", "I"); 61560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich limitID = _env->GetFieldID(bufferClass, "limit", "I"); 62560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich elementSizeShiftID = 63560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 64560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 65560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 66560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 67560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 68560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichnativeClassInit(JNIEnv *_env, jclass glImplClass) 69560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{ 70560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich nativeClassInitBuffer(_env); 71560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 72560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass IAEClassLocal = 73560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->FindClass("java/lang/IllegalArgumentException"); 74560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass OOMEClassLocal = 75560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->FindClass("java/lang/OutOfMemoryError"); 76560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass UOEClassLocal = 77560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->FindClass("java/lang/UnsupportedOperationException"); 78560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jclass AIOOBEClassLocal = 79560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); 80560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 81560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); 82560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); 83560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); 84560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); 85560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 86560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 87560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void * 88560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichgetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 89560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{ 90560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint position; 91560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint limit; 92560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint elementSizeShift; 93560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jlong pointer; 94560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint offset; 95560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich void *data; 96560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 97560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich position = _env->GetIntField(buffer, positionID); 98560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich limit = _env->GetIntField(buffer, limitID); 99560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich *remaining = (limit - position) << elementSizeShift; 101560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich pointer = _env->CallStaticLongMethod(nioAccessClass, 102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBasePointerID, buffer); 103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (pointer != 0L) { 104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich *array = NULL; 105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return (void *) (jint) pointer; 106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBaseArrayID, buffer); 110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich offset = _env->CallStaticIntMethod(nioAccessClass, 111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich getBaseArrayOffsetID, buffer); 112560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 113560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 114560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return (void *) ((char *) data + offset); 115560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 116560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 117560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 118560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 119560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 120560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{ 121560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(array, data, 122560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich commit ? 0 : JNI_ABORT); 123560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 124560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 125560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void * 126560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) { 127560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char* buf = (char*) _env->GetDirectBufferAddress(buffer); 128560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buf) { 129560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint position = _env->GetIntField(buffer, positionID); 130560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 131560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buf += position << elementSizeShift; 132560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } else { 133560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "Must use a native order direct Buffer"); 134560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 135560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return (void*) buf; 136560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 137560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 138560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic int 139560814f6b11abe83ff0c4ed18cac015c276b3181Jack PalevichgetNumCompressedTextureFormats() { 140560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int numCompressedTextureFormats = 0; 141560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 142560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return numCompressedTextureFormats; 143560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 144560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 145560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type, 146560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) { 147560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttribPointer(indx, size, type, normalized, stride, pointer); 148560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 149560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 150560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich// -------------------------------------------------------------------------- 151560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 152560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glActiveTexture ( GLenum texture ) */ 153560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 154560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glActiveTexture__I 155560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint texture) { 156560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glActiveTexture( 157560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)texture 158560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 159560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 160560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 161560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glAttachShader ( GLuint program, GLuint shader ) */ 162560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 163560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glAttachShader__II 164560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint shader) { 165560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glAttachShader( 166560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 167560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader 168560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 169560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 170560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 171560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBindAttribLocation ( GLuint program, GLuint index, const char *name ) */ 172560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 173560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBindAttribLocation__IILjava_lang_String_2 174560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint index, jstring name) { 175560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char* _nativename = 0; 176560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 177560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!name) { 178560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "name == null"); 179560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 180560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 181560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _nativename = _env->GetStringUTFChars(name, 0); 182560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 183560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBindAttribLocation( 184560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 185560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 186560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)_nativename 187560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 188560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 189560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 190560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_nativename) { 191560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleaseStringUTFChars(name, _nativename); 192560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 193560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 194560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 195560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 196560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBindBuffer ( GLenum target, GLuint buffer ) */ 197560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 198560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBindBuffer__II 199560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint buffer) { 200560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBindBuffer( 201560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 202560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)buffer 203560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 204560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 205560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 206560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBindFramebuffer ( GLenum target, GLuint framebuffer ) */ 207560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 208560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBindFramebuffer__II 209560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 210560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBindFramebuffer( 211560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 212560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)framebuffer 213560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 214560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 215560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 216560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBindRenderbuffer ( GLenum target, GLuint renderbuffer ) */ 217560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 218560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBindRenderbuffer__II 219560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 220560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBindRenderbuffer( 221560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 222560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)renderbuffer 223560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 224560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 225560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 226560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBindTexture ( GLenum target, GLuint texture ) */ 227560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 228560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBindTexture__II 229560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint texture) { 230560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBindTexture( 231560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 232560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)texture 233560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 234560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 235560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 236560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBlendColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 237560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 238560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBlendColor__FFFF 239560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 240560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBlendColor( 241560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)red, 242560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)green, 243560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)blue, 244560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)alpha 245560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 246560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 247560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 248560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBlendEquation ( GLenum mode ) */ 249560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 250560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBlendEquation__I 251560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 25273108675c944ab4ee89631dced23566b12341b66Jack Palevich glBlendEquation( 25373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)mode 25473108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 255560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 256560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 257560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBlendEquationSeparate ( GLenum modeRGB, GLenum modeAlpha ) */ 258560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 259560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBlendEquationSeparate__II 260560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 26173108675c944ab4ee89631dced23566b12341b66Jack Palevich glBlendEquationSeparate( 26273108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)modeRGB, 26373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)modeAlpha 26473108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 265560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 266560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 267560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 268560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 269560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBlendFunc__II 270560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 271560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBlendFunc( 272560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)sfactor, 273560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)dfactor 274560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 275560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 276560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 277560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBlendFuncSeparate ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */ 278560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 279560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBlendFuncSeparate__IIII 280560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 28173108675c944ab4ee89631dced23566b12341b66Jack Palevich glBlendFuncSeparate( 28273108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)srcRGB, 28373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)dstRGB, 28473108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)srcAlpha, 28573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)dstAlpha 28673108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 287560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 288560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 289560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 290560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 291560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBufferData__IILjava_nio_Buffer_2I 292560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 293560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 294560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 295560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *data = (GLvoid *) 0; 296560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 297560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (data_buf) { 298560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 299560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < size) { 300560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < size"); 301560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 302560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 303560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 304560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBufferData( 305560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 306560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizeiptr)size, 307560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)data, 308560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)usage 309560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 310560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 311560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 312560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 313560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 314560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 315560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 316560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 317560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 318560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 319560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glBufferSubData__IIILjava_nio_Buffer_2 320560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 321560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 322560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 323560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *data = (GLvoid *) 0; 324560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 325560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 326560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < size) { 327560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < size"); 328560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 329560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 330560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glBufferSubData( 331560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 332560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLintptr)offset, 333560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizeiptr)size, 334560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)data 335560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 336560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 337560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 338560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 339560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 340560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 341560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 342560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 343560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLenum glCheckFramebufferStatus ( GLenum target ) */ 344560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 345560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCheckFramebufferStatus__I 346560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target) { 347560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum _returnValue; 348560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glCheckFramebufferStatus( 349560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target 350560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 351560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 352560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 353560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 354560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glClear ( GLbitfield mask ) */ 355560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 356560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glClear__I 357560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mask) { 358560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glClear( 359560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLbitfield)mask 360560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 361560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 362560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 363560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 364560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 365560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glClearColor__FFFF 366560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 367560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glClearColor( 368560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)red, 369560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)green, 370560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)blue, 371560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)alpha 372560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 373560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 374560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 375560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glClearDepthf ( GLclampf depth ) */ 376560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 377560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glClearDepthf__F 378560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat depth) { 379560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glClearDepthf( 380560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)depth 381560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 382560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 383560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 384560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glClearStencil ( GLint s ) */ 385560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 386560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glClearStencil__I 387560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint s) { 388560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glClearStencil( 389560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)s 390560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 391560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 392560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 393560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 394560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 395560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glColorMask__ZZZZ 396560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 397560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glColorMask( 398560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)red, 399560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)green, 400560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)blue, 401560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)alpha 402560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 403560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 404560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 405560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCompileShader ( GLuint shader ) */ 406560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 407560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCompileShader__I 408560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader) { 409560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCompileShader( 410560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader 411560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 412560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 413560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 414560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 415560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 416560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 417560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 418560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 419560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 420560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *data = (GLvoid *) 0; 421560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 422560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 423560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCompressedTexImage2D( 424560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 425560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 426560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)internalformat, 427560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 428560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 429560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)border, 430560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)imageSize, 431560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)data 432560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 433560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 434560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 435560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 436560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 437560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 438560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 439560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 440560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 441560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 442560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 443560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 444560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *data = (GLvoid *) 0; 445560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 446560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 447560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCompressedTexSubImage2D( 448560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 449560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 450560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)xoffset, 451560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)yoffset, 452560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 453560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 454560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)format, 455560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)imageSize, 456560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)data 457560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 458560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 459560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, data, JNI_FALSE); 460560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 461560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 462560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 463560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 464560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 465560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCopyTexImage2D__IIIIIIII 466560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 467560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCopyTexImage2D( 468560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 469560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 470560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)internalformat, 471560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 472560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 473560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 474560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 475560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)border 476560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 477560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 478560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 479560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 480560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 481560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCopyTexSubImage2D__IIIIIIII 482560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 483560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCopyTexSubImage2D( 484560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 485560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 486560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)xoffset, 487560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)yoffset, 488560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 489560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 490560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 491560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height 492560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 493560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 494560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 495560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLuint glCreateProgram ( void ) */ 496560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 497560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCreateProgram__ 498560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this) { 499560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint _returnValue; 500560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glCreateProgram(); 501560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 502560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 503560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 504560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLuint glCreateShader ( GLenum type ) */ 505560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 506560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCreateShader__I 507560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint type) { 508560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint _returnValue; 509560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glCreateShader( 510560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type 511560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 512560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 513560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 514560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 515560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glCullFace ( GLenum mode ) */ 516560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 517560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glCullFace__I 518560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 519560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glCullFace( 520560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)mode 521560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 522560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 523560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 524560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 525560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 526560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteBuffers__I_3II 527560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 528560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers_base = (GLuint *) 0; 529560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 530560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers = (GLuint *) 0; 531560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 532560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!buffers_ref) { 533560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "buffers == null"); 534560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 535560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 536560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 537560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 538560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 539560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 540560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(buffers_ref) - offset; 541560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 542560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 543560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 544560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 545560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers_base = (GLuint *) 546560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 547560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers = buffers_base + offset; 548560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 549560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteBuffers( 550560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 551560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)buffers 552560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 553560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 554560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 555560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buffers_base) { 556560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 557560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 558560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 559560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 560560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 561560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 562560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 563560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteBuffers__ILjava_nio_IntBuffer_2 564560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 565560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 566560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 567560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers = (GLuint *) 0; 568560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 569560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 570560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 571560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 572560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 573560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 574560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteBuffers( 575560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 576560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)buffers 577560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 578560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 579560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 580560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 581560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, buffers, JNI_FALSE); 582560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 583560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 584560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 585560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers ) */ 586560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 587560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteFramebuffers__I_3II 588560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 589560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers_base = (GLuint *) 0; 590560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 591560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers = (GLuint *) 0; 592560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 593560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!framebuffers_ref) { 594560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "framebuffers == null"); 595560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 596560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 597560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 598560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 599560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 600560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 601560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 602560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers_base = (GLuint *) 603560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 604560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers = framebuffers_base + offset; 605560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 606560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteFramebuffers( 607560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 608560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)framebuffers 609560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 610560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 611560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 612560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (framebuffers_base) { 613560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 614560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 615560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 616560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 617560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 618560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers ) */ 619560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 620560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteFramebuffers__ILjava_nio_IntBuffer_2 621560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 622560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 623560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 624560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers = (GLuint *) 0; 625560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 626560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 627560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteFramebuffers( 628560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 629560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)framebuffers 630560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 631560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 632560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, framebuffers, JNI_FALSE); 633560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 634560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 635560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 636560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteProgram ( GLuint program ) */ 637560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 638560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteProgram__I 639560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program) { 640560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteProgram( 641560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program 642560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 643560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 644560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 645560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers ) */ 646560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 647560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteRenderbuffers__I_3II 648560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 649560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 650560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 651560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 652560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 653560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!renderbuffers_ref) { 654560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "renderbuffers == null"); 655560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 656560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 657560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 658560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 659560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 660560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 661560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 662560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers_base = (GLuint *) 663560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 664560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers = renderbuffers_base + offset; 665560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 666560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteRenderbuffers( 667560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 668560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)renderbuffers 669560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 670560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 671560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 672560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (renderbuffers_base) { 673560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 674560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 675560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 676560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 677560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 678560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers ) */ 679560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 680560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteRenderbuffers__ILjava_nio_IntBuffer_2 681560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 682560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 683560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 684560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 685560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 686560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 687560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteRenderbuffers( 688560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 689560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)renderbuffers 690560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 691560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 692560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, renderbuffers, JNI_FALSE); 693560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 694560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 695560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 696560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteShader ( GLuint shader ) */ 697560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 698560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteShader__I 699560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader) { 700560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteShader( 701560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader 702560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 703560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 704560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 705560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 706560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 707560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteTextures__I_3II 708560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 709560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures_base = (GLuint *) 0; 710560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 711560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures = (GLuint *) 0; 712560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 713560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!textures_ref) { 714560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "textures == null"); 715560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 716560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 717560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 718560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 719560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 720560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 721560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(textures_ref) - offset; 722560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 723560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 724560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 725560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 726560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures_base = (GLuint *) 727560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 728560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures = textures_base + offset; 729560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 730560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteTextures( 731560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 732560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)textures 733560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 734560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 735560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 736560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (textures_base) { 737560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 738560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 739560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 740560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 741560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 742560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 743560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 744560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDeleteTextures__ILjava_nio_IntBuffer_2 745560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 746560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 747560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 748560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures = (GLuint *) 0; 749560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 750560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 751560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 752560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 753560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 754560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 755560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDeleteTextures( 756560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 757560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)textures 758560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 759560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 760560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 761560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 762560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, textures, JNI_FALSE); 763560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 764560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 765560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 766560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDepthFunc ( GLenum func ) */ 767560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 768560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDepthFunc__I 769560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint func) { 770560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDepthFunc( 771560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)func 772560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 773560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 774560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 775560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDepthMask ( GLboolean flag ) */ 776560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 777560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDepthMask__Z 778560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jboolean flag) { 779560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDepthMask( 780560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)flag 781560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 782560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 783560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 784560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 785560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 786560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDepthRangef__FF 787560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 788560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDepthRangef( 789560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)zNear, 790560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)zFar 791560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 792560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 793560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 794560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDetachShader ( GLuint program, GLuint shader ) */ 795560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 796560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDetachShader__II 797560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint shader) { 798560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDetachShader( 799560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 800560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader 801560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 802560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 803560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 804560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDisable ( GLenum cap ) */ 805560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 806560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDisable__I 807560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint cap) { 808560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDisable( 809560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)cap 810560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 811560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 812560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 813560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDisableVertexAttribArray ( GLuint index ) */ 814560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 815560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDisableVertexAttribArray__I 816560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index) { 817560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDisableVertexAttribArray( 818560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index 819560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 820560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 821560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 822560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 823560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 824560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDrawArrays__III 825560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 826560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDrawArrays( 827560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)mode, 828560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)first, 829560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count 830560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 831560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 832560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 833224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 834224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevichstatic void 835224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevichandroid_glDrawElements__IIII 836224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 837224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich glDrawElements( 838224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLenum)mode, 839224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLsizei)count, 840224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLenum)type, 841224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (const GLvoid *)offset 842224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich ); 843224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich} 844224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich 845560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 846560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 847560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glDrawElements__IIILjava_nio_Buffer_2 848560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 849560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 850560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 851560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *indices = (GLvoid *) 0; 852560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 853560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 854560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < count) { 855560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(AIOOBEClass, "remaining() < count"); 856560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 857560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 858560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glDrawElements( 859560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)mode, 860560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 861560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type, 862560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)indices 863560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 864560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 865560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 866560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 867560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, indices, JNI_FALSE); 868560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 869560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 870560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 871560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glEnable ( GLenum cap ) */ 872560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 873560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glEnable__I 874560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint cap) { 875560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glEnable( 876560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)cap 877560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 878560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 879560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 880560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glEnableVertexAttribArray ( GLuint index ) */ 881560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 882560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glEnableVertexAttribArray__I 883560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index) { 884560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glEnableVertexAttribArray( 885560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index 886560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 887560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 888560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 889560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glFinish ( void ) */ 890560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 891560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glFinish__ 892560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this) { 893560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glFinish(); 894560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 895560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 896560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glFlush ( void ) */ 897560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 898560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glFlush__ 899560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this) { 900560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glFlush(); 901560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 902560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 903560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glFramebufferRenderbuffer ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */ 904560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 905560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glFramebufferRenderbuffer__IIII 906560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 907560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glFramebufferRenderbuffer( 908560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 909560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)attachment, 910560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)renderbuffertarget, 911560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)renderbuffer 912560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 913560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 914560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 915560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glFramebufferTexture2D ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */ 916560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 917560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glFramebufferTexture2D__IIIII 918560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 919560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glFramebufferTexture2D( 920560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 921560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)attachment, 922560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)textarget, 923560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)texture, 924560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level 925560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 926560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 927560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 928560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glFrontFace ( GLenum mode ) */ 929560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 930560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glFrontFace__I 931560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 932560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glFrontFace( 933560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)mode 934560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 935560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 936560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 937560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 938560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 939560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenBuffers__I_3II 940560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 941560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 942560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers_base = (GLuint *) 0; 943560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 944560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers = (GLuint *) 0; 945560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 946560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!buffers_ref) { 947560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 948560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "buffers == null"); 949560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 950560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 951560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 952560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 953560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 954560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 955560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 956560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(buffers_ref) - offset; 957560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 958560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 959560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 960560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 961560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 962560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers_base = (GLuint *) 963560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 964560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers = buffers_base + offset; 965560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 966560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenBuffers( 967560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 968560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)buffers 969560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 970560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 971560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 972560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buffers_base) { 973560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 974560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 975560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 976560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 977560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 978560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 979560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 980560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenBuffers__ILjava_nio_IntBuffer_2 981560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 982560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 983560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 984560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 985560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *buffers = (GLuint *) 0; 986560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 987560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 988560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 989560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 990560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 991560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 992560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 993560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenBuffers( 994560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 995560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)buffers 996560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 997560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 998560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 999560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1000560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 1001560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1002560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1003560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1004560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenerateMipmap ( GLenum target ) */ 1005560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1006560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenerateMipmap__I 1007560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target) { 1008560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenerateMipmap( 1009560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target 1010560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1011560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1012560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1013560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenFramebuffers ( GLsizei n, GLuint *framebuffers ) */ 1014560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1015560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenFramebuffers__I_3II 1016560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 1017560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1018560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers_base = (GLuint *) 0; 1019560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1020560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers = (GLuint *) 0; 1021560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1022560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!framebuffers_ref) { 1023560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1024560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "framebuffers == null"); 1025560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1026560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1027560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1028560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1029560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1030560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1031560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1032560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 1033560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers_base = (GLuint *) 1034560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 1035560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers = framebuffers_base + offset; 1036560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1037560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenFramebuffers( 1038560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1039560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)framebuffers 1040560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1041560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1042560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1043560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (framebuffers_base) { 1044560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 1045560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1046560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1047560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1048560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1049560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenFramebuffers ( GLsizei n, GLuint *framebuffers ) */ 1050560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1051560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenFramebuffers__ILjava_nio_IntBuffer_2 1052560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 1053560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1054560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1055560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1056560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *framebuffers = (GLuint *) 0; 1057560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1058560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 1059560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenFramebuffers( 1060560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1061560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)framebuffers 1062560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1063560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1064560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 1065560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1066560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1067560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1068560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers ) */ 1069560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1070560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenRenderbuffers__I_3II 1071560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 1072560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1073560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 1074560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1075560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 1076560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1077560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!renderbuffers_ref) { 1078560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1079560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "renderbuffers == null"); 1080560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1081560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1082560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1083560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1084560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1085560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1086560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1087560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 1088560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers_base = (GLuint *) 1089560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 1090560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers = renderbuffers_base + offset; 1091560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1092560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenRenderbuffers( 1093560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1094560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)renderbuffers 1095560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1096560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1097560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1098560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (renderbuffers_base) { 1099560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 1100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1101560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers ) */ 1105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenRenderbuffers__ILjava_nio_IntBuffer_2 1107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 1108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 1112560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1113560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 1114560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenRenderbuffers( 1115560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1116560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)renderbuffers 1117560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1118560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1119560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 1120560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1121560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1122560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1123560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1124560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1125560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenTextures__I_3II 1126560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 1127560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1128560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures_base = (GLuint *) 0; 1129560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1130560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures = (GLuint *) 0; 1131560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1132560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!textures_ref) { 1133560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1134560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "textures == null"); 1135560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1136560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1137560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1138560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1139560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1140560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1141560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1142560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(textures_ref) - offset; 1143560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 1144560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1145560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < n"); 1146560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1147560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1148560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures_base = (GLuint *) 1149560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 1150560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures = textures_base + offset; 1151560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1152560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenTextures( 1153560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1154560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)textures 1155560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1156560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1157560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1158560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (textures_base) { 1159560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 1160560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1161560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1162560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1163560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1164560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1165560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1166560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGenTextures__ILjava_nio_IntBuffer_2 1167560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 1168560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1169560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1170560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1171560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *textures = (GLuint *) 0; 1172560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1173560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 1174560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < n) { 1175560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1176560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < n"); 1177560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1178560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1179560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGenTextures( 1180560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 1181560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)textures 1182560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1183560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1184560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1185560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1186560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 1187560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1188560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1189560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1190560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1191560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1192560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetActiveAttrib__III_3II_3II_3II_3BI 1193560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jintArray length_ref, jint lengthOffset, jintArray size_ref, jint sizeOffset, jintArray type_ref, jint typeOffset, jbyteArray name_ref, jint nameOffset) { 1194560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1195560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length_base = (GLsizei *) 0; 1196560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _lengthRemaining; 1197560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 1198560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size_base = (GLint *) 0; 1199560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _sizeRemaining; 1200560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size = (GLint *) 0; 1201560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type_base = (GLenum *) 0; 1202560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _typeRemaining; 1203560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type = (GLenum *) 0; 1204560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *name_base = (char *) 0; 1205560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _nameRemaining; 1206560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *name = (char *) 0; 1207560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1208560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!length_ref) { 1209560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1210560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length == null"); 1211560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1212560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1213560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (lengthOffset < 0) { 1214560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1215560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "lengthOffset < 0"); 1216560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1217560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1218560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 1219560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length_base = (GLsizei *) 1220560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 1221560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = length_base + lengthOffset; 1222560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1223560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!size_ref) { 1224560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1225560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "size == null"); 1226560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1227560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1228560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (sizeOffset < 0) { 1229560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1230560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "sizeOffset < 0"); 1231560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1232560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1233560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _sizeRemaining = _env->GetArrayLength(size_ref) - sizeOffset; 1234560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size_base = (GLint *) 1235560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(size_ref, (jboolean *)0); 1236560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size = size_base + sizeOffset; 1237560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1238560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!type_ref) { 1239560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1240560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "type == null"); 1241560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1242560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1243560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (typeOffset < 0) { 1244560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1245560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "typeOffset < 0"); 1246560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1247560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1248560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _typeRemaining = _env->GetArrayLength(type_ref) - typeOffset; 1249560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type_base = (GLenum *) 1250560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(type_ref, (jboolean *)0); 1251560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type = type_base + typeOffset; 1252560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1253560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!name_ref) { 1254560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1255560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "name == null"); 1256560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1257560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1258560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (nameOffset < 0) { 1259560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1260560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "nameOffset < 0"); 1261560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1262560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1263560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _nameRemaining = _env->GetArrayLength(name_ref) - nameOffset; 1264560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich name_base = (char *) 1265560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(name_ref, (jboolean *)0); 1266560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich name = name_base + nameOffset; 1267560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1268560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetActiveAttrib( 1269560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1270560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 1271560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 1272560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 1273560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)size, 1274560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum *)type, 1275560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)name 1276560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1277560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1278560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1279560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (name_base) { 1280560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(name_ref, name_base, 1281560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1282560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1283560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (type_base) { 1284560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(type_ref, type_base, 1285560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1286560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1287560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (size_base) { 1288560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(size_ref, size_base, 1289560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1290560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1291560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (length_base) { 1292560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 1293560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1294560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1295560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1296560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1297560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1298560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1299560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetActiveAttrib__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B 1300560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jobject length_buf, jobject size_buf, jobject type_buf, jbyte name) { 1301560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1302560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _lengthArray = (jarray) 0; 1303560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _sizeArray = (jarray) 0; 1304560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _typeArray = (jarray) 0; 1305560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _lengthRemaining; 1306560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 1307560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _sizeRemaining; 1308560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size = (GLint *) 0; 1309560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _typeRemaining; 1310560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type = (GLenum *) 0; 1311560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1312560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = (GLsizei *)getPointer(_env, length_buf, &_lengthArray, &_lengthRemaining); 1313560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size = (GLint *)getPointer(_env, size_buf, &_sizeArray, &_sizeRemaining); 1314560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type = (GLenum *)getPointer(_env, type_buf, &_typeArray, &_typeRemaining); 1315560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetActiveAttrib( 1316560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1317560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 1318560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 1319560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 1320560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)size, 1321560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum *)type, 1322560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)name 1323560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1324560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_lengthArray) { 1325560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _lengthArray, type, _exception ? JNI_FALSE : JNI_TRUE); 1326560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1327560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_sizeArray) { 1328560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _sizeArray, size, _exception ? JNI_FALSE : JNI_TRUE); 1329560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1330560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_typeArray) { 1331560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _typeArray, length, _exception ? JNI_FALSE : JNI_TRUE); 1332560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1333560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1334560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1335560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1336560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1337560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetActiveUniform__III_3II_3II_3II_3BI 1338560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jintArray length_ref, jint lengthOffset, jintArray size_ref, jint sizeOffset, jintArray type_ref, jint typeOffset, jbyteArray name_ref, jint nameOffset) { 1339560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1340560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length_base = (GLsizei *) 0; 1341560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _lengthRemaining; 1342560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 1343560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size_base = (GLint *) 0; 1344560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _sizeRemaining; 1345560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size = (GLint *) 0; 1346560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type_base = (GLenum *) 0; 1347560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _typeRemaining; 1348560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type = (GLenum *) 0; 1349560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *name_base = (char *) 0; 1350560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _nameRemaining; 1351560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *name = (char *) 0; 1352560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1353560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!length_ref) { 1354560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1355560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length == null"); 1356560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1357560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1358560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (lengthOffset < 0) { 1359560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1360560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "lengthOffset < 0"); 1361560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1362560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1363560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 1364560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length_base = (GLsizei *) 1365560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 1366560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = length_base + lengthOffset; 1367560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1368560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!size_ref) { 1369560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1370560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "size == null"); 1371560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1372560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1373560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (sizeOffset < 0) { 1374560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1375560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "sizeOffset < 0"); 1376560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1377560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1378560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _sizeRemaining = _env->GetArrayLength(size_ref) - sizeOffset; 1379560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size_base = (GLint *) 1380560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(size_ref, (jboolean *)0); 1381560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size = size_base + sizeOffset; 1382560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1383560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!type_ref) { 1384560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1385560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "type == null"); 1386560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1387560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1388560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (typeOffset < 0) { 1389560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1390560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "typeOffset < 0"); 1391560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1392560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1393560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _typeRemaining = _env->GetArrayLength(type_ref) - typeOffset; 1394560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type_base = (GLenum *) 1395560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(type_ref, (jboolean *)0); 1396560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type = type_base + typeOffset; 1397560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1398560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!name_ref) { 1399560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1400560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "name == null"); 1401560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1402560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1403560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (nameOffset < 0) { 1404560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1405560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "nameOffset < 0"); 1406560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1407560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1408560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _nameRemaining = _env->GetArrayLength(name_ref) - nameOffset; 1409560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich name_base = (char *) 1410560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(name_ref, (jboolean *)0); 1411560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich name = name_base + nameOffset; 1412560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1413560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetActiveUniform( 1414560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1415560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 1416560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 1417560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 1418560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)size, 1419560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum *)type, 1420560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)name 1421560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1422560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1423560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1424560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (name_base) { 1425560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(name_ref, name_base, 1426560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1427560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1428560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (type_base) { 1429560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(type_ref, type_base, 1430560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1431560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1432560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (size_base) { 1433560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(size_ref, size_base, 1434560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1435560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1436560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (length_base) { 1437560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 1438560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1439560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1440560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1441560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1442560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1443560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1444560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetActiveUniform__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B 1445560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jobject length_buf, jobject size_buf, jobject type_buf, jbyte name) { 1446560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1447560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _lengthArray = (jarray) 0; 1448560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _sizeArray = (jarray) 0; 1449560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _typeArray = (jarray) 0; 1450560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _lengthRemaining; 1451560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 1452560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _sizeRemaining; 1453560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *size = (GLint *) 0; 1454560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _typeRemaining; 1455560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum *type = (GLenum *) 0; 1456560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1457560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = (GLsizei *)getPointer(_env, length_buf, &_lengthArray, &_lengthRemaining); 1458560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich size = (GLint *)getPointer(_env, size_buf, &_sizeArray, &_sizeRemaining); 1459560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich type = (GLenum *)getPointer(_env, type_buf, &_typeArray, &_typeRemaining); 1460560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetActiveUniform( 1461560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1462560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 1463560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 1464560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 1465560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)size, 1466560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum *)type, 1467560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)name 1468560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1469560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_lengthArray) { 1470560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _lengthArray, type, _exception ? JNI_FALSE : JNI_TRUE); 1471560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1472560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_sizeArray) { 1473560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _sizeArray, size, _exception ? JNI_FALSE : JNI_TRUE); 1474560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1475560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_typeArray) { 1476560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _typeArray, length, _exception ? JNI_FALSE : JNI_TRUE); 1477560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1478560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1479560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1480560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders ) */ 1481560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1482560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetAttachedShaders__II_3II_3II 1483560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint maxcount, jintArray count_ref, jint countOffset, jintArray shaders_ref, jint shadersOffset) { 1484560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1485560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *count_base = (GLsizei *) 0; 1486560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _countRemaining; 1487560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *count = (GLsizei *) 0; 1488560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders_base = (GLuint *) 0; 1489560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _shadersRemaining; 1490560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders = (GLuint *) 0; 1491560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1492560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!count_ref) { 1493560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1494560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "count == null"); 1495560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1496560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1497560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (countOffset < 0) { 1498560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1499560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "countOffset < 0"); 1500560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1501560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1502560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _countRemaining = _env->GetArrayLength(count_ref) - countOffset; 1503560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich count_base = (GLsizei *) 1504560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(count_ref, (jboolean *)0); 1505560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich count = count_base + countOffset; 1506560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1507560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!shaders_ref) { 1508560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1509560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "shaders == null"); 1510560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1511560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1512560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (shadersOffset < 0) { 1513560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1514560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "shadersOffset < 0"); 1515560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1516560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1517560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _shadersRemaining = _env->GetArrayLength(shaders_ref) - shadersOffset; 1518560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders_base = (GLuint *) 1519560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(shaders_ref, (jboolean *)0); 1520560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders = shaders_base + shadersOffset; 1521560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1522560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetAttachedShaders( 1523560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1524560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)maxcount, 1525560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)count, 1526560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)shaders 1527560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1528560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1529560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1530560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (shaders_base) { 1531560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(shaders_ref, shaders_base, 1532560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1533560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1534560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (count_base) { 1535560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(count_ref, count_base, 1536560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1537560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1538560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1539560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1540560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders ) */ 1541560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1542560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetAttachedShaders__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 1543560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint maxcount, jobject count_buf, jobject shaders_buf) { 1544560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1545560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _countArray = (jarray) 0; 1546560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _shadersArray = (jarray) 0; 1547560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _countRemaining; 1548560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *count = (GLsizei *) 0; 1549560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _shadersRemaining; 1550560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders = (GLuint *) 0; 1551560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1552560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich count = (GLsizei *)getPointer(_env, count_buf, &_countArray, &_countRemaining); 1553560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders = (GLuint *)getPointer(_env, shaders_buf, &_shadersArray, &_shadersRemaining); 1554560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetAttachedShaders( 1555560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1556560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)maxcount, 1557560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)count, 1558560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)shaders 1559560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1560560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_countArray) { 1561560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _countArray, shaders, _exception ? JNI_FALSE : JNI_TRUE); 1562560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1563560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_shadersArray) { 1564560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _shadersArray, count, _exception ? JNI_FALSE : JNI_TRUE); 1565560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1566560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1567560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1568560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* int glGetAttribLocation ( GLuint program, const char *name ) */ 1569560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 1570560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetAttribLocation__ILjava_lang_String_2 1571560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jstring name) { 1572560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int _returnValue = 0; 1573560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char* _nativename = 0; 1574560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1575560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!name) { 1576560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "name == null"); 1577560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1578560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1579560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _nativename = _env->GetStringUTFChars(name, 0); 1580560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1581560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glGetAttribLocation( 1582560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 1583560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)_nativename 1584560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1585560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1586560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1587560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_nativename) { 1588560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleaseStringUTFChars(name, _nativename); 1589560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1590560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1591560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 1592560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1593560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1594560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 1595560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1596560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetBooleanv__I_3ZI 1597560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 1598560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1599560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean *params_base = (GLboolean *) 0; 1600560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1601560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean *params = (GLboolean *) 0; 1602560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1603560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 1604560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1605560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 1606560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1607560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1608560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1609560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1610560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1611560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1612560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1613560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1614560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLboolean *) 1615560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1616560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 1617560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1618560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetBooleanv( 1619560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1620560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean *)params 1621560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1622560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1623560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1624560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 1625560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1626560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1627560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1628560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1629560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1630560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 1631560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1632560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetBooleanv__ILjava_nio_IntBuffer_2 1633560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1634560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1635560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1636560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1637560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean *params = (GLboolean *) 0; 1638560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1639560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining); 1640560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetBooleanv( 1641560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1642560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean *)params 1643560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1644560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1645560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1646560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1647560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1648560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1649560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1650560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1651560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetBufferParameteriv__II_3II 1652560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 165373108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 165473108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params_base = (GLint *) 0; 165573108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 165673108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 165773108675c944ab4ee89631dced23566b12341b66Jack Palevich 165873108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!params_ref) { 165973108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 166073108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 166173108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 166273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 166373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 166473108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 166573108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 166673108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 166773108675c944ab4ee89631dced23566b12341b66Jack Palevich } 166873108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 166973108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 167073108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 167173108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->ThrowNew(IAEClass, "length - offset < 1"); 167273108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 167373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 167473108675c944ab4ee89631dced23566b12341b66Jack Palevich params_base = (GLint *) 167573108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 167673108675c944ab4ee89631dced23566b12341b66Jack Palevich params = params_base + offset; 167773108675c944ab4ee89631dced23566b12341b66Jack Palevich 167873108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetBufferParameteriv( 167973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 168073108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 168173108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 168273108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 168373108675c944ab4ee89631dced23566b12341b66Jack Palevich 168473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 168573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (params_base) { 168673108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 168773108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception ? JNI_ABORT: 0); 168873108675c944ab4ee89631dced23566b12341b66Jack Palevich } 1689560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1690560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1691560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1692560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1693560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 1694560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 169573108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 169673108675c944ab4ee89631dced23566b12341b66Jack Palevich jarray _array = (jarray) 0; 169773108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 169873108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 169973108675c944ab4ee89631dced23566b12341b66Jack Palevich 170073108675c944ab4ee89631dced23566b12341b66Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 170173108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 170273108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 170373108675c944ab4ee89631dced23566b12341b66Jack Palevich _env->ThrowNew(IAEClass, "remaining() < 1"); 170473108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 170573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 170673108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetBufferParameteriv( 170773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 170873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 170973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 171073108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 171173108675c944ab4ee89631dced23566b12341b66Jack Palevich 171273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 171373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 171473108675c944ab4ee89631dced23566b12341b66Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 171573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 1716560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1717560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1718560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLenum glGetError ( void ) */ 1719560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 1720560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetError__ 1721560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this) { 1722560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLenum _returnValue; 1723560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glGetError(); 1724560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 1725560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1726560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1727560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 1728560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1729560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetFloatv__I_3FI 1730560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 1731560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1732560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params_base = (GLfloat *) 0; 1733560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1734560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 1735560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1736560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 1737560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1738560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 1739560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1740560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1741560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1742560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1743560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1744560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1745560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1746560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1747560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLfloat *) 1748560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1749560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 1750560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1751560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetFloatv( 1752560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1753560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 1754560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1755560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1756560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1757560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 1758560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1759560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1760560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1761560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1762560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1763560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 1764560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1765560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetFloatv__ILjava_nio_FloatBuffer_2 1766560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1767560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1768560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1769560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1770560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 1771560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1772560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1773560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetFloatv( 1774560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1775560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 1776560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1777560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1778560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1779560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1780560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1781560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1782560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 1783560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1784560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetFramebufferAttachmentParameteriv__III_3II 1785560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 1786560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1787560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 1788560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1789560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 1790560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1791560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 1792560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1793560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 1794560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1795560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1796560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1797560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1798560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1799560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1800560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1801560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1802560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 1803560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1804560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 1805560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1806560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetFramebufferAttachmentParameteriv( 1807560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 1808560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)attachment, 1809560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1810560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 1811560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1812560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1813560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 1814560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 1815560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1816560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 1817560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1818560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1819560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1820560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 1821560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1822560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetFramebufferAttachmentParameteriv__IIILjava_nio_IntBuffer_2 1823560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 1824560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1825560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 1826560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1827560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 1828560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1829560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1830560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetFramebufferAttachmentParameteriv( 1831560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 1832560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)attachment, 1833560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 1834560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 1835560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 1836560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 1837560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1838560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1839560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 1840560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1841560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1842560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 1843560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetIntegerv__I_3II 1844560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1845560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 1846560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 1847560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 1848560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 1849560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 1850560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 1851560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1852560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 1853560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1854560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1855560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 1856560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 1857560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 1858560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 1859560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 1860560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1861560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int _needed; 1862560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich switch (pname) { 1863560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_BITS) 1864560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_BITS: 1865560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_BITS) 1866560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_TEST_FUNC) 1867560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_TEST_FUNC: 1868560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_TEST_FUNC) 1869560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_TEST_REF) 1870560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_TEST_REF: 1871560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_TEST_REF) 1872560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_BLEND_DST) 1873560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_BLEND_DST: 1874560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_BLEND_DST) 1875560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_BLUE_BITS) 1876560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_BLUE_BITS: 1877560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_BLUE_BITS) 1878560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1879560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_BUFFER_BINDING: 1880560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1881560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_SIZE) 1882560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_SIZE: 1883560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_SIZE) 1884560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_STRIDE) 1885560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_STRIDE: 1886560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_STRIDE) 1887560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_TYPE) 1888560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_TYPE: 1889560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_TYPE) 1890560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_CULL_FACE) 1891560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_CULL_FACE: 1892560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_CULL_FACE) 1893560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_BITS) 1894560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_BITS: 1895560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_BITS) 1896560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_CLEAR_VALUE) 1897560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_CLEAR_VALUE: 1898560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_CLEAR_VALUE) 1899560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_FUNC) 1900560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_FUNC: 1901560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_FUNC) 1902560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_WRITEMASK) 1903560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_WRITEMASK: 1904560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_WRITEMASK) 1905560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_DENSITY) 1906560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_DENSITY: 1907560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_DENSITY) 1908560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_END) 1909560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_END: 1910560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_END) 1911560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_MODE) 1912560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_MODE: 1913560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_MODE) 1914560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_START) 1915560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_START: 1916560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_START) 1917560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FRONT_FACE) 1918560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FRONT_FACE: 1919560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FRONT_FACE) 1920560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_GREEN_BITS) 1921560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_GREEN_BITS: 1922560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_GREEN_BITS) 1923560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1924560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1925560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1926560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1927560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1928560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1929560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1930560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 1931560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1932560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1933560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 1934560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1935560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1936560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 1937560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1938560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LINE_SMOOTH_HINT) 1939560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LINE_SMOOTH_HINT: 1940560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LINE_SMOOTH_HINT) 1941560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LINE_WIDTH) 1942560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LINE_WIDTH: 1943560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LINE_WIDTH) 1944560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LOGIC_OP_MODE) 1945560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LOGIC_OP_MODE: 1946560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LOGIC_OP_MODE) 1947560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1948560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1949560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1950560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1951560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1952560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1953560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1954560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1955560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1956560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1957560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1958560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1959560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_MODE) 1960560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_MODE: 1961560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_MODE) 1962560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_CLIP_PLANES) 1963560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_CLIP_PLANES: 1964560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_CLIP_PLANES) 1965560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_ELEMENTS_INDICES) 1966560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_ELEMENTS_INDICES: 1967560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_ELEMENTS_INDICES) 1968560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_ELEMENTS_VERTICES) 1969560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_ELEMENTS_VERTICES: 1970560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1971560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_LIGHTS) 1972560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_LIGHTS: 1973560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_LIGHTS) 1974560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1975560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_MODELVIEW_STACK_DEPTH: 1976560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1977560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_PALETTE_MATRICES_OES) 1978560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_PALETTE_MATRICES_OES: 1979560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1980560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1981560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_PROJECTION_STACK_DEPTH: 1982560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1983560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_SIZE) 1984560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_SIZE: 1985560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_SIZE) 1986560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1987560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_STACK_DEPTH: 1988560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1989560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_UNITS) 1990560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_UNITS: 1991560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_UNITS) 1992560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_VERTEX_UNITS_OES) 1993560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_VERTEX_UNITS_OES: 1994560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1995560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_STACK_DEPTH) 1996560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_STACK_DEPTH: 1997560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1998560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1999560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_BUFFER_BINDING: 2000560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 2001560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_STRIDE) 2002560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_STRIDE: 2003560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_STRIDE) 2004560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_TYPE) 2005560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_TYPE: 2006560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_TYPE) 2007560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2008560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 2009560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2010560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PACK_ALIGNMENT) 2011560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PACK_ALIGNMENT: 2012560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PACK_ALIGNMENT) 2013560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 2014560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PERSPECTIVE_CORRECTION_HINT: 2015560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 2016560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE) 2017560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE: 2018560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE) 2019560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2020560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 2021560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2022560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2023560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_STRIDE_OES: 2024560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2025560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2026560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_TYPE_OES: 2027560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2028560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SMOOTH_HINT) 2029560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SMOOTH_HINT: 2030560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SMOOTH_HINT) 2031560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POLYGON_OFFSET_FACTOR) 2032560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POLYGON_OFFSET_FACTOR: 2033560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POLYGON_OFFSET_FACTOR) 2034560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POLYGON_OFFSET_UNITS) 2035560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POLYGON_OFFSET_UNITS: 2036560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POLYGON_OFFSET_UNITS) 2037560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_STACK_DEPTH) 2038560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_STACK_DEPTH: 2039560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_STACK_DEPTH) 2040560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_RED_BITS) 2041560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_RED_BITS: 2042560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_RED_BITS) 2043560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SHADE_MODEL) 2044560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SHADE_MODEL: 2045560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SHADE_MODEL) 2046560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_BITS) 2047560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_BITS: 2048560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_BITS) 2049560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_CLEAR_VALUE) 2050560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_CLEAR_VALUE: 2051560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_CLEAR_VALUE) 2052560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_FAIL) 2053560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_FAIL: 2054560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_FAIL) 2055560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_FUNC) 2056560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_FUNC: 2057560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_FUNC) 2058560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 2059560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_PASS_DEPTH_FAIL: 2060560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 2061560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_PASS) 2062560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_PASS_DEPTH_PASS: 2063560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 2064560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_REF) 2065560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_REF: 2066560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_REF) 2067560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_VALUE_MASK) 2068560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_VALUE_MASK: 2069560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_VALUE_MASK) 2070560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_WRITEMASK) 2071560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_WRITEMASK: 2072560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_WRITEMASK) 2073560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SUBPIXEL_BITS) 2074560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SUBPIXEL_BITS: 2075560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SUBPIXEL_BITS) 2076560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_BINDING_2D) 2077560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_BINDING_2D: 2078560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_BINDING_2D) 2079560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2080560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 2081560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2082560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2083560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_SIZE: 2084560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2085560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2086560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_STRIDE: 2087560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2088560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2089560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_TYPE: 2090560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2091560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_STACK_DEPTH) 2092560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_STACK_DEPTH: 2093560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_STACK_DEPTH) 2094560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_UNPACK_ALIGNMENT) 2095560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_UNPACK_ALIGNMENT: 2096560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_UNPACK_ALIGNMENT) 2097560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2098560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_BUFFER_BINDING: 2099560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_SIZE) 2101560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_SIZE: 2102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_SIZE) 2103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_STRIDE) 2104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_STRIDE: 2105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_STRIDE) 2106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_TYPE) 2107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_TYPE: 2108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_TYPE) 2109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 2111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2112560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 2113560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_SIZE_OES: 2114560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 2115560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2116560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_STRIDE_OES: 2117560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2118560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 2119560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_TYPE_OES: 2120560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 2121560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 1; 2122560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2123560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALIASED_POINT_SIZE_RANGE) 2124560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALIASED_POINT_SIZE_RANGE: 2125560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 2126560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 2127560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALIASED_LINE_WIDTH_RANGE: 2128560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 2129560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_RANGE) 2130560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_RANGE: 2131560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_RANGE) 2132560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_VIEWPORT_DIMS) 2133560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_VIEWPORT_DIMS: 2134560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_VIEWPORT_DIMS) 2135560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2136560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SMOOTH_LINE_WIDTH_RANGE: 2137560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2138560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 2139560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SMOOTH_POINT_SIZE_RANGE: 2140560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 2141560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 2; 2142560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2143560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_CLEAR_VALUE) 2144560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_CLEAR_VALUE: 2145560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_CLEAR_VALUE) 2146560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_WRITEMASK) 2147560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_WRITEMASK: 2148560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_WRITEMASK) 2149560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_COLOR) 2150560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_COLOR: 2151560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_COLOR) 2152560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 2153560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 2154560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 2155560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SCISSOR_BOX) 2156560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SCISSOR_BOX: 2157560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SCISSOR_BOX) 2158560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VIEWPORT) 2159560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VIEWPORT: 2160560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VIEWPORT) 2161560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 4; 2162560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2163560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_MATRIX) 2164560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_MATRIX: 2165560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX) 2166560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2167560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 2168560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2169560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_MATRIX) 2170560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_MATRIX: 2171560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_MATRIX) 2172560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2173560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 2174560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2175560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_MATRIX) 2176560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_MATRIX: 2177560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_MATRIX) 2178560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2179560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 2180560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2181560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 16; 2182560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2183560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 2184560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COMPRESSED_TEXTURE_FORMATS: 2185560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 2186560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = getNumCompressedTextureFormats(); 2187560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2188560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich default: 2189560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 0; 2190560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2191560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2192560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < _needed) { 2193560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2194560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < needed"); 2195560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2196560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2197560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 2198560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2199560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 2200560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2201560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetIntegerv( 2202560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2203560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2204560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2205560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2206560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2207560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 2208560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2209560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2210560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2211560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2212560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2213560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 2214560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2215560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetIntegerv__ILjava_nio_IntBuffer_2 2216560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 2217560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2218560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 2219560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2220560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2221560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2222560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2223560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int _needed; 2224560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich switch (pname) { 2225560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_BITS) 2226560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_BITS: 2227560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_BITS) 2228560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_TEST_FUNC) 2229560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_TEST_FUNC: 2230560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_TEST_FUNC) 2231560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALPHA_TEST_REF) 2232560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALPHA_TEST_REF: 2233560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALPHA_TEST_REF) 2234560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_BLEND_DST) 2235560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_BLEND_DST: 2236560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_BLEND_DST) 2237560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_BLUE_BITS) 2238560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_BLUE_BITS: 2239560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_BLUE_BITS) 2240560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 2241560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_BUFFER_BINDING: 2242560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 2243560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_SIZE) 2244560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_SIZE: 2245560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_SIZE) 2246560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_STRIDE) 2247560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_STRIDE: 2248560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_STRIDE) 2249560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_ARRAY_TYPE) 2250560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_ARRAY_TYPE: 2251560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_ARRAY_TYPE) 2252560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_CULL_FACE) 2253560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_CULL_FACE: 2254560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_CULL_FACE) 2255560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_BITS) 2256560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_BITS: 2257560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_BITS) 2258560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_CLEAR_VALUE) 2259560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_CLEAR_VALUE: 2260560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_CLEAR_VALUE) 2261560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_FUNC) 2262560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_FUNC: 2263560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_FUNC) 2264560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_WRITEMASK) 2265560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_WRITEMASK: 2266560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_WRITEMASK) 2267560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_DENSITY) 2268560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_DENSITY: 2269560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_DENSITY) 2270560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_END) 2271560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_END: 2272560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_END) 2273560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_MODE) 2274560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_MODE: 2275560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_MODE) 2276560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_START) 2277560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_START: 2278560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_START) 2279560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FRONT_FACE) 2280560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FRONT_FACE: 2281560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FRONT_FACE) 2282560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_GREEN_BITS) 2283560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_GREEN_BITS: 2284560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_GREEN_BITS) 2285560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 2286560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 2287560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 2288560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 2289560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 2290560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 2291560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 2292560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_COLOR_CONTROL: 2293560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 2294560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 2295560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_LOCAL_VIEWER: 2296560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 2297560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_TWO_SIDE) 2298560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_TWO_SIDE: 2299560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 2300560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LINE_SMOOTH_HINT) 2301560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LINE_SMOOTH_HINT: 2302560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LINE_SMOOTH_HINT) 2303560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LINE_WIDTH) 2304560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LINE_WIDTH: 2305560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LINE_WIDTH) 2306560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LOGIC_OP_MODE) 2307560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LOGIC_OP_MODE: 2308560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LOGIC_OP_MODE) 2309560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 2310560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 2311560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 2312560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 2313560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 2314560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 2315560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 2316560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 2317560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 2318560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 2319560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 2320560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 2321560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MATRIX_MODE) 2322560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MATRIX_MODE: 2323560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MATRIX_MODE) 2324560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_CLIP_PLANES) 2325560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_CLIP_PLANES: 2326560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_CLIP_PLANES) 2327560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_ELEMENTS_INDICES) 2328560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_ELEMENTS_INDICES: 2329560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_ELEMENTS_INDICES) 2330560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_ELEMENTS_VERTICES) 2331560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_ELEMENTS_VERTICES: 2332560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_ELEMENTS_VERTICES) 2333560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_LIGHTS) 2334560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_LIGHTS: 2335560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_LIGHTS) 2336560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 2337560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_MODELVIEW_STACK_DEPTH: 2338560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 2339560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_PALETTE_MATRICES_OES) 2340560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_PALETTE_MATRICES_OES: 2341560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 2342560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 2343560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_PROJECTION_STACK_DEPTH: 2344560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 2345560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_SIZE) 2346560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_SIZE: 2347560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_SIZE) 2348560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 2349560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_STACK_DEPTH: 2350560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 2351560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_TEXTURE_UNITS) 2352560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_TEXTURE_UNITS: 2353560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_TEXTURE_UNITS) 2354560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_VERTEX_UNITS_OES) 2355560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_VERTEX_UNITS_OES: 2356560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_VERTEX_UNITS_OES) 2357560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_STACK_DEPTH) 2358560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_STACK_DEPTH: 2359560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_STACK_DEPTH) 2360560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 2361560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_BUFFER_BINDING: 2362560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 2363560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_STRIDE) 2364560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_STRIDE: 2365560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_STRIDE) 2366560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NORMAL_ARRAY_TYPE) 2367560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NORMAL_ARRAY_TYPE: 2368560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NORMAL_ARRAY_TYPE) 2369560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2370560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 2371560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2372560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PACK_ALIGNMENT) 2373560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PACK_ALIGNMENT: 2374560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PACK_ALIGNMENT) 2375560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 2376560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PERSPECTIVE_CORRECTION_HINT: 2377560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 2378560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE) 2379560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE: 2380560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE) 2381560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2382560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 2383560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2384560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2385560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_STRIDE_OES: 2386560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2387560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2388560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SIZE_ARRAY_TYPE_OES: 2389560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2390560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POINT_SMOOTH_HINT) 2391560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POINT_SMOOTH_HINT: 2392560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POINT_SMOOTH_HINT) 2393560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POLYGON_OFFSET_FACTOR) 2394560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POLYGON_OFFSET_FACTOR: 2395560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POLYGON_OFFSET_FACTOR) 2396560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_POLYGON_OFFSET_UNITS) 2397560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_POLYGON_OFFSET_UNITS: 2398560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_POLYGON_OFFSET_UNITS) 2399560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_STACK_DEPTH) 2400560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_STACK_DEPTH: 2401560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_STACK_DEPTH) 2402560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_RED_BITS) 2403560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_RED_BITS: 2404560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_RED_BITS) 2405560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SHADE_MODEL) 2406560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SHADE_MODEL: 2407560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SHADE_MODEL) 2408560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_BITS) 2409560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_BITS: 2410560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_BITS) 2411560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_CLEAR_VALUE) 2412560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_CLEAR_VALUE: 2413560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_CLEAR_VALUE) 2414560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_FAIL) 2415560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_FAIL: 2416560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_FAIL) 2417560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_FUNC) 2418560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_FUNC: 2419560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_FUNC) 2420560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 2421560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_PASS_DEPTH_FAIL: 2422560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 2423560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_PASS_DEPTH_PASS) 2424560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_PASS_DEPTH_PASS: 2425560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 2426560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_REF) 2427560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_REF: 2428560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_REF) 2429560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_VALUE_MASK) 2430560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_VALUE_MASK: 2431560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_VALUE_MASK) 2432560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_STENCIL_WRITEMASK) 2433560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_STENCIL_WRITEMASK: 2434560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_STENCIL_WRITEMASK) 2435560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SUBPIXEL_BITS) 2436560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SUBPIXEL_BITS: 2437560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SUBPIXEL_BITS) 2438560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_BINDING_2D) 2439560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_BINDING_2D: 2440560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_BINDING_2D) 2441560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2442560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 2443560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2444560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2445560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_SIZE: 2446560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2447560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2448560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_STRIDE: 2449560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2450560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2451560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_COORD_ARRAY_TYPE: 2452560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2453560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_STACK_DEPTH) 2454560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_STACK_DEPTH: 2455560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_STACK_DEPTH) 2456560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_UNPACK_ALIGNMENT) 2457560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_UNPACK_ALIGNMENT: 2458560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_UNPACK_ALIGNMENT) 2459560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2460560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_BUFFER_BINDING: 2461560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2462560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_SIZE) 2463560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_SIZE: 2464560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_SIZE) 2465560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_STRIDE) 2466560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_STRIDE: 2467560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_STRIDE) 2468560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VERTEX_ARRAY_TYPE) 2469560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VERTEX_ARRAY_TYPE: 2470560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VERTEX_ARRAY_TYPE) 2471560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2472560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 2473560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2474560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 2475560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_SIZE_OES: 2476560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 2477560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2478560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_STRIDE_OES: 2479560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2480560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 2481560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_WEIGHT_ARRAY_TYPE_OES: 2482560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 2483560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 1; 2484560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2485560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALIASED_POINT_SIZE_RANGE) 2486560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALIASED_POINT_SIZE_RANGE: 2487560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 2488560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 2489560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_ALIASED_LINE_WIDTH_RANGE: 2490560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 2491560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_DEPTH_RANGE) 2492560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_DEPTH_RANGE: 2493560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_DEPTH_RANGE) 2494560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MAX_VIEWPORT_DIMS) 2495560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MAX_VIEWPORT_DIMS: 2496560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MAX_VIEWPORT_DIMS) 2497560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2498560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SMOOTH_LINE_WIDTH_RANGE: 2499560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2500560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 2501560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SMOOTH_POINT_SIZE_RANGE: 2502560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 2503560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 2; 2504560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2505560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_CLEAR_VALUE) 2506560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_CLEAR_VALUE: 2507560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_CLEAR_VALUE) 2508560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COLOR_WRITEMASK) 2509560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COLOR_WRITEMASK: 2510560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COLOR_WRITEMASK) 2511560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_FOG_COLOR) 2512560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_FOG_COLOR: 2513560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_FOG_COLOR) 2514560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_LIGHT_MODEL_AMBIENT) 2515560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_LIGHT_MODEL_AMBIENT: 2516560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_LIGHT_MODEL_AMBIENT) 2517560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_SCISSOR_BOX) 2518560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_SCISSOR_BOX: 2519560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_SCISSOR_BOX) 2520560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_VIEWPORT) 2521560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_VIEWPORT: 2522560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_VIEWPORT) 2523560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 4; 2524560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2525560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_MATRIX) 2526560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_MATRIX: 2527560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX) 2528560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2529560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 2530560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2531560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_MATRIX) 2532560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_MATRIX: 2533560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_MATRIX) 2534560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2535560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 2536560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2537560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_MATRIX) 2538560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_MATRIX: 2539560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_MATRIX) 2540560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2541560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 2542560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2543560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 16; 2544560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2545560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 2546560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich case GL_COMPRESSED_TEXTURE_FORMATS: 2547560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 2548560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = getNumCompressedTextureFormats(); 2549560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2550560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich default: 2551560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _needed = 0; 2552560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich break; 2553560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2554560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < _needed) { 2555560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2556560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < needed"); 2557560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2558560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2559560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetIntegerv( 2560560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2561560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2562560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2563560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2564560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2565560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 2566560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2567560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2568560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2569560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2570560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetProgramiv ( GLuint program, GLenum pname, GLint *params ) */ 2571560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2572560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetProgramiv__II_3II 2573560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint pname, jintArray params_ref, jint offset) { 2574560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2575560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 2576560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2577560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2578560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2579560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 2580560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2581560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 2582560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2583560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2584560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 2585560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2586560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 2587560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2588560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2589560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2590560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 2591560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2592560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 2593560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2594560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetProgramiv( 2595560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 2596560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2597560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2598560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2599560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2600560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2601560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 2602560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2603560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2604560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2605560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2606560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2607560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetProgramiv ( GLuint program, GLenum pname, GLint *params ) */ 2608560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2609560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetProgramiv__IILjava_nio_IntBuffer_2 2610560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint pname, jobject params_buf) { 2611560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2612560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 2613560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2614560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2615560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2616560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2617560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetProgramiv( 2618560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 2619560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2620560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2621560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2622560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 2623560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2624560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2625560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2626560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2627560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <string.h> 2628560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2629560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetProgramInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ 2630560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic 2631560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichjstring 2632560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetProgramInfoLog (JNIEnv *_env, jobject _this, jint shader) { 2633560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint infoLen = 0; 2634560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jstring _result = 0; 2635560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char* buf = 0; 2636560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetProgramiv(shader, GL_INFO_LOG_LENGTH, &infoLen); 2637560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (infoLen) { 2638560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char* buf = (char*) malloc(infoLen); 2639560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buf == 0) { 2640560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "out of memory"); 2641560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2642560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2643560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetProgramInfoLog(shader, infoLen, NULL, buf); 2644560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _result = _env->NewStringUTF(buf); 2645560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } else { 2646560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _result = _env->NewStringUTF(""); 2647560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2648560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2649560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buf) { 2650560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich free(buf); 2651560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2652560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _result; 2653560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2654560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 2655560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2656560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetRenderbufferParameteriv__II_3II 2657560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 2658560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2659560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 2660560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2661560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2662560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2663560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 2664560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2665560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 2666560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2667560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2668560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 2669560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2670560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 2671560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2672560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2673560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2674560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 2675560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2676560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 2677560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2678560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetRenderbufferParameteriv( 2679560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 2680560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2681560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2682560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2683560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2684560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2685560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 2686560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2687560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2688560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2689560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2690560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2691560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 2692560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2693560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetRenderbufferParameteriv__IILjava_nio_IntBuffer_2 2694560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2695560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2696560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 2697560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2698560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2699560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2700560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2701560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetRenderbufferParameteriv( 2702560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 2703560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2704560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2705560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2706560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 2707560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2708560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2709560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2710560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2711560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params ) */ 2712560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2713560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderiv__II_3II 2714560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader, jint pname, jintArray params_ref, jint offset) { 2715560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2716560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 2717560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2718560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2719560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2720560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 2721560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2722560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 2723560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2724560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2725560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 2726560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2727560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 2728560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2729560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2730560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2731560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 2732560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2733560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 2734560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2735560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderiv( 2736560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader, 2737560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2738560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2739560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2740560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2741560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2742560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 2743560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2744560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2745560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2746560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2747560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2748560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params ) */ 2749560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2750560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderiv__IILjava_nio_IntBuffer_2 2751560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader, jint pname, jobject params_buf) { 2752560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2753560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 2754560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2755560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 2756560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2757560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2758560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderiv( 2759560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader, 2760560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 2761560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 2762560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2763560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 2764560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2765560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2766560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2767560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2768560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <string.h> 2769560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2770560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ 2771560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic 2772560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichjstring 2773560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderInfoLog (JNIEnv *_env, jobject _this, jint shader) { 2774560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint infoLen = 0; 2775560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jstring _result = 0; 2776560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char* buf = 0; 2777560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen); 2778560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (infoLen) { 2779560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char* buf = (char*) malloc(infoLen); 2780560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buf == 0) { 2781560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "out of memory"); 2782560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2783560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2784560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderInfoLog(shader, infoLen, NULL, buf); 2785560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _result = _env->NewStringUTF(buf); 2786560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } else { 2787560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _result = _env->NewStringUTF(""); 2788560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2789560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2790560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (buf) { 2791560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich free(buf); 2792560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2793560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _result; 2794560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2795560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision ) */ 2796560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2797560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderPrecisionFormat__II_3II_3II 2798560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shadertype, jint precisiontype, jintArray range_ref, jint rangeOffset, jintArray precision_ref, jint precisionOffset) { 2799560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2800560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *range_base = (GLint *) 0; 2801560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _rangeRemaining; 2802560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *range = (GLint *) 0; 2803560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *precision_base = (GLint *) 0; 2804560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _precisionRemaining; 2805560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *precision = (GLint *) 0; 2806560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2807560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!range_ref) { 2808560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2809560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "range == null"); 2810560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2811560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2812560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (rangeOffset < 0) { 2813560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2814560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "rangeOffset < 0"); 2815560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2816560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2817560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _rangeRemaining = _env->GetArrayLength(range_ref) - rangeOffset; 2818560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich range_base = (GLint *) 2819560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(range_ref, (jboolean *)0); 2820560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich range = range_base + rangeOffset; 2821560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2822560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!precision_ref) { 2823560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2824560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "precision == null"); 2825560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2826560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2827560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (precisionOffset < 0) { 2828560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2829560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "precisionOffset < 0"); 2830560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2831560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2832560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _precisionRemaining = _env->GetArrayLength(precision_ref) - precisionOffset; 2833560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich precision_base = (GLint *) 2834560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(precision_ref, (jboolean *)0); 2835560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich precision = precision_base + precisionOffset; 2836560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2837560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderPrecisionFormat( 2838560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)shadertype, 2839560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)precisiontype, 2840560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)range, 2841560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)precision 2842560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2843560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2844560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2845560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (precision_base) { 2846560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(precision_ref, precision_base, 2847560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2848560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2849560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (range_base) { 2850560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(range_ref, range_base, 2851560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2852560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2853560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2854560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2855560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision ) */ 2856560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2857560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderPrecisionFormat__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 2858560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shadertype, jint precisiontype, jobject range_buf, jobject precision_buf) { 2859560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2860560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _rangeArray = (jarray) 0; 2861560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _precisionArray = (jarray) 0; 2862560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _rangeRemaining; 2863560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *range = (GLint *) 0; 2864560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _precisionRemaining; 2865560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *precision = (GLint *) 0; 2866560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2867560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich range = (GLint *)getPointer(_env, range_buf, &_rangeArray, &_rangeRemaining); 2868560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich precision = (GLint *)getPointer(_env, precision_buf, &_precisionArray, &_precisionRemaining); 2869560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderPrecisionFormat( 2870560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)shadertype, 2871560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)precisiontype, 2872560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)range, 2873560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)precision 2874560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2875560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_rangeArray) { 2876560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _rangeArray, precision, _exception ? JNI_FALSE : JNI_TRUE); 2877560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2878560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_precisionArray) { 2879560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _precisionArray, range, _exception ? JNI_FALSE : JNI_TRUE); 2880560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2881560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2882560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2883560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source ) */ 2884560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2885560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderSource__II_3II_3BI 2886560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader, jint bufsize, jintArray length_ref, jint lengthOffset, jbyteArray source_ref, jint sourceOffset) { 2887560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2888560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length_base = (GLsizei *) 0; 2889560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _lengthRemaining; 2890560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 2891560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *source_base = (char *) 0; 2892560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _sourceRemaining; 2893560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich char *source = (char *) 0; 2894560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2895560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!length_ref) { 2896560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2897560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length == null"); 2898560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2899560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2900560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (lengthOffset < 0) { 2901560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2902560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "lengthOffset < 0"); 2903560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2904560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2905560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 2906560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length_base = (GLsizei *) 2907560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 2908560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = length_base + lengthOffset; 2909560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2910560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!source_ref) { 2911560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2912560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "source == null"); 2913560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2914560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2915560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (sourceOffset < 0) { 2916560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2917560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "sourceOffset < 0"); 2918560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2919560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2920560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _sourceRemaining = _env->GetArrayLength(source_ref) - sourceOffset; 2921560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich source_base = (char *) 2922560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(source_ref, (jboolean *)0); 2923560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich source = source_base + sourceOffset; 2924560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2925560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderSource( 2926560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader, 2927560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 2928560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 2929560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)source 2930560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2931560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2932560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 2933560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (source_base) { 2934560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(source_ref, source_base, 2935560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2936560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2937560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (length_base) { 2938560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 2939560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 2940560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2941560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2942560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2943560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source ) */ 2944560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2945560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetShaderSource__IILjava_nio_IntBuffer_2B 2946560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader, jint bufsize, jobject length_buf, jbyte source) { 2947560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2948560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 2949560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2950560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLsizei *length = (GLsizei *) 0; 2951560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2952560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich length = (GLsizei *)getPointer(_env, length_buf, &_array, &_remaining); 2953560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetShaderSource( 2954560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader, 2955560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)bufsize, 2956560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei *)length, 2957560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)source 2958560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 2959560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 2960560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, length, _exception ? JNI_FALSE : JNI_TRUE); 2961560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2962560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2963560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2964560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich#include <string.h> 2965560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2966560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* const GLubyte * glGetString ( GLenum name ) */ 2967560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic 2968560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichjstring 2969560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetString 2970560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint name) { 2971560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char * chars = (const char *)glGetString((GLenum)name); 2972560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jstring output = _env->NewStringUTF(chars); 2973560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return output; 2974560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 2975560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 2976560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 2977560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetTexParameterfv__II_3FI 2978560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 2979560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 2980560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params_base = (GLfloat *) 0; 2981560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 2982560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 2983560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 2984560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 2985560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2986560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 2987560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2988560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2989560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 2990560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2991560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 2992560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2993560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 2994560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2995560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 2996560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 2997560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < 1"); 2998560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 2999560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3000560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLfloat *) 3001560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3002560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3003560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3004560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetTexParameterfv( 3005560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3006560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3007560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3008560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3009560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3010560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3011560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3012560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3013560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3014560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3015560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3016560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3017560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 3018560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3019560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 3020560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3021560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3022560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3023560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3024560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3025560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3026560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3027560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3028560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3029560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < 1"); 3030560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3031560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3032560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetTexParameterfv( 3033560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3034560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3035560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3036560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3037560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3038560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3039560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3040560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3041560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3042560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3043560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3044560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 3045560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3046560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetTexParameteriv__II_3II 3047560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3048560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3049560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 3050560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3051560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3052560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3053560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3054560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3055560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3056560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3057560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3058560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3059560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3060560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3061560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3062560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3063560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3064560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3065560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3066560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < 1"); 3067560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3068560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3069560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 3070560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3071560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3072560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3073560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetTexParameteriv( 3074560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3075560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3076560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3077560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3078560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3079560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3080560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3081560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3082560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3083560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3084560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3085560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3086560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 3087560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3088560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetTexParameteriv__IILjava_nio_IntBuffer_2 3089560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3090560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3091560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3092560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3093560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3094560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3095560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3096560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3097560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3098560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < 1"); 3099560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3101560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetTexParameteriv( 3102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3112560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3113560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetUniformfv ( GLuint program, GLint location, GLfloat *params ) */ 3114560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3115560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetUniformfv__II_3FI 3116560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint location, jfloatArray params_ref, jint offset) { 3117560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3118560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params_base = (GLfloat *) 0; 3119560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3120560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3121560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3122560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3123560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3124560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3125560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3126560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3127560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3128560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3129560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3130560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3131560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3132560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3133560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLfloat *) 3134560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3135560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3136560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3137560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetUniformfv( 3138560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 3139560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3140560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3141560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3142560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3143560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3144560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3145560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3146560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3147560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3148560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3149560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3150560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetUniformfv ( GLuint program, GLint location, GLfloat *params ) */ 3151560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3152560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetUniformfv__IILjava_nio_FloatBuffer_2 3153560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint location, jobject params_buf) { 3154560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3155560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3156560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3157560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3158560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3159560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3160560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetUniformfv( 3161560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 3162560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3163560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3164560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3165560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3166560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3167560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3168560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3169560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3170560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetUniformiv ( GLuint program, GLint location, GLint *params ) */ 3171560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3172560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetUniformiv__II_3II 3173560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint location, jintArray params_ref, jint offset) { 3174560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3175560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 3176560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3177560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3178560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3179560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3180560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3181560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3182560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3183560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3184560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3185560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3186560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3187560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3188560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3189560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3190560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 3191560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3192560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3193560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3194560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetUniformiv( 3195560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 3196560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3197560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3198560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3199560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3200560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3201560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3202560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3203560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3204560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3205560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3206560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3207560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetUniformiv ( GLuint program, GLint location, GLint *params ) */ 3208560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3209560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetUniformiv__IILjava_nio_IntBuffer_2 3210560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jint location, jobject params_buf) { 3211560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3212560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3213560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3214560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3215560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3216560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3217560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetUniformiv( 3218560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 3219560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3220560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3221560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3222560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3223560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3224560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3225560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3226560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3227560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* int glGetUniformLocation ( GLuint program, const char *name ) */ 3228560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jint 3229560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetUniformLocation__ILjava_lang_String_2 3230560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program, jstring name) { 3231560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int _returnValue = 0; 3232560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char* _nativename = 0; 3233560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3234560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!name) { 3235560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "name == null"); 3236560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3237560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3238560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _nativename = _env->GetStringUTFChars(name, 0); 3239560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3240560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glGetUniformLocation( 3241560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program, 3242560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (char *)_nativename 3243560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3244560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3245560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3246560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_nativename) { 3247560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleaseStringUTFChars(name, _nativename); 3248560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3249560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3250560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3251560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3252560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3253560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params ) */ 3254560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3255560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetVertexAttribfv__II_3FI 3256560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index, jint pname, jfloatArray params_ref, jint offset) { 3257560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3258560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params_base = (GLfloat *) 0; 3259560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3260560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3261560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3262560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3263560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3264560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3265560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3266560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3267560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3268560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3269560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3270560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3271560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3272560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3273560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLfloat *) 3274560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3275560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3276560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3277560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetVertexAttribfv( 3278560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 3279560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3280560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3281560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3282560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3283560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3284560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3285560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3286560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3287560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3288560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3289560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3290560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params ) */ 3291560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3292560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetVertexAttribfv__IILjava_nio_FloatBuffer_2 3293560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index, jint pname, jobject params_buf) { 3294560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3295560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3296560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3297560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3298560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3299560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3300560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetVertexAttribfv( 3301560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 3302560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3303560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3304560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3305560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3306560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3307560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3308560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3309560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3310560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params ) */ 3311560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3312560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetVertexAttribiv__II_3II 3313560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index, jint pname, jintArray params_ref, jint offset) { 3314560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3315560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 3316560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3317560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3318560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3319560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3320560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3321560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3322560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3323560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3324560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3325560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception = 1; 3326560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3327560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3328560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3329560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3330560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 3331560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3332560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3333560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3334560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetVertexAttribiv( 3335560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 3336560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3337560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3338560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3339560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3340560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3341560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3342560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3343560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _exception ? JNI_ABORT: 0); 3344560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3345560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3346560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3347560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params ) */ 3348560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3349560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glGetVertexAttribiv__IILjava_nio_IntBuffer_2 3350560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint index, jint pname, jobject params_buf) { 3351560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3352560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3353560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3354560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3355560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3356560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3357560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glGetVertexAttribiv( 3358560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)index, 3359560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3360560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3361560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3362560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3363560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3364560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3365560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3366560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3367560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glHint ( GLenum target, GLenum mode ) */ 3368560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3369560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glHint__II 3370560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint mode) { 3371560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glHint( 3372560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3373560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)mode 3374560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3375560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3376560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3377560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsBuffer ( GLuint buffer ) */ 3378560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3379560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsBuffer__I 3380560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint buffer) { 3381560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3382560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsBuffer( 3383560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)buffer 3384560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3385560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3386560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3387560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3388560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsEnabled ( GLenum cap ) */ 3389560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3390560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsEnabled__I 3391560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint cap) { 3392560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3393560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsEnabled( 3394560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)cap 3395560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3396560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3397560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3398560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3399560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsFramebuffer ( GLuint framebuffer ) */ 3400560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3401560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsFramebuffer__I 3402560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint framebuffer) { 3403560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3404560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsFramebuffer( 3405560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)framebuffer 3406560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3407560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3408560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3409560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3410560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsProgram ( GLuint program ) */ 3411560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3412560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsProgram__I 3413560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program) { 3414560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3415560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsProgram( 3416560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program 3417560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3418560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3419560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3420560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3421560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsRenderbuffer ( GLuint renderbuffer ) */ 3422560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3423560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsRenderbuffer__I 3424560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint renderbuffer) { 3425560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3426560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsRenderbuffer( 3427560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)renderbuffer 3428560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3429560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3430560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3431560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3432560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsShader ( GLuint shader ) */ 3433560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3434560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsShader__I 3435560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader) { 3436560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3437560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsShader( 3438560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)shader 3439560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3440560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3441560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3442560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3443560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* GLboolean glIsTexture ( GLuint texture ) */ 3444560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic jboolean 3445560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glIsTexture__I 3446560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint texture) { 3447560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLboolean _returnValue; 3448560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _returnValue = glIsTexture( 3449560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)texture 3450560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3451560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return _returnValue; 3452560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3453560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3454560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glLineWidth ( GLfloat width ) */ 3455560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3456560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glLineWidth__F 3457560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat width) { 3458560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glLineWidth( 3459560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)width 3460560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3461560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3462560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3463560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glLinkProgram ( GLuint program ) */ 3464560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3465560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glLinkProgram__I 3466560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program) { 3467560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glLinkProgram( 3468560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program 3469560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3470560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3471560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3472560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glPixelStorei ( GLenum pname, GLint param ) */ 3473560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3474560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glPixelStorei__II 3475560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 3476560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glPixelStorei( 3477560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3478560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)param 3479560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3480560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3481560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3482560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 3483560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3484560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glPolygonOffset__FF 3485560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 3486560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glPolygonOffset( 3487560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)factor, 3488560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)units 3489560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3490560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3491560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3492560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 3493560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3494560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glReadPixels__IIIIIILjava_nio_Buffer_2 3495560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3496560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _exception = 0; 3497560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3498560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3499560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *pixels = (GLvoid *) 0; 3500560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3501560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3502560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glReadPixels( 3503560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 3504560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 3505560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 3506560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 3507560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)format, 3508560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type, 3509560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)pixels 3510560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3511560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3512560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 3513560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3514560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3515560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3516560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glReleaseShaderCompiler ( void ) */ 3517560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3518560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glReleaseShaderCompiler__ 3519560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this) { 3520560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glReleaseShaderCompiler(); 3521560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3522560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3523560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glRenderbufferStorage ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */ 3524560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3525560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glRenderbufferStorage__IIII 3526560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 3527560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glRenderbufferStorage( 3528560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3529560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)internalformat, 3530560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 3531560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height 3532560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3533560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3534560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3535560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 3536560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3537560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glSampleCoverage__FZ 3538560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 3539560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glSampleCoverage( 3540560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLclampf)value, 3541560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)invert 3542560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3543560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3544560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3545560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3546560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3547560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glScissor__IIII 3548560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3549560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glScissor( 3550560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 3551560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 3552560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 3553560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height 3554560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3555560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3556560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3557560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length ) */ 3558560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3559560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glShaderBinary__I_3IIILjava_nio_Buffer_2I 3560560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray shaders_ref, jint offset, jint binaryformat, jobject binary_buf, jint length) { 3561560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3562560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders_base = (GLuint *) 0; 3563560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _shadersRemaining; 3564560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders = (GLuint *) 0; 3565560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _binaryRemaining; 3566560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *binary = (GLvoid *) 0; 3567560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3568560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!shaders_ref) { 3569560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "shaders == null"); 3570560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3571560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3572560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3573560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3574560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3575560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3576560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _shadersRemaining = _env->GetArrayLength(shaders_ref) - offset; 3577560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders_base = (GLuint *) 3578560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(shaders_ref, (jboolean *)0); 3579560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders = shaders_base + offset; 3580560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3581560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich binary = (GLvoid *)getPointer(_env, binary_buf, &_array, &_binaryRemaining); 3582560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glShaderBinary( 3583560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 3584560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)shaders, 3585560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)binaryformat, 3586560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)binary, 3587560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)length 3588560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3589560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3590560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3591560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3592560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, binary, JNI_FALSE); 3593560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3594560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (shaders_base) { 3595560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(shaders_ref, shaders_base, 3596560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 3597560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3598560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3599560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3600560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length ) */ 3601560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3602560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glShaderBinary__ILjava_nio_IntBuffer_2ILjava_nio_Buffer_2I 3603560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject shaders_buf, jint binaryformat, jobject binary_buf, jint length) { 3604560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _shadersArray = (jarray) 0; 3605560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _binaryArray = (jarray) 0; 3606560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _shadersRemaining; 3607560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLuint *shaders = (GLuint *) 0; 3608560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _binaryRemaining; 3609560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *binary = (GLvoid *) 0; 3610560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3611560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich shaders = (GLuint *)getPointer(_env, shaders_buf, &_shadersArray, &_shadersRemaining); 3612560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich binary = (GLvoid *)getPointer(_env, binary_buf, &_binaryArray, &_binaryRemaining); 3613560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glShaderBinary( 3614560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)n, 3615560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint *)shaders, 3616560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)binaryformat, 3617560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)binary, 3618560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)length 3619560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3620560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_shadersArray) { 3621560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _shadersArray, binary, JNI_FALSE); 3622560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3623560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_binaryArray) { 3624560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _binaryArray, shaders, JNI_FALSE); 3625560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3626560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3627560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3628560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3629560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glShaderSource ( GLuint shader, GLsizei count, const GLchar ** string, const GLint * length ) */ 3630560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic 3631560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichvoid 3632560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glShaderSource 3633560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint shader, jstring string) { 3634560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3635560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!string) { 3636560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "string == null"); 3637560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return; 3638560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3639560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3640560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char* nativeString = _env->GetStringUTFChars(string, 0); 3641560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich const char* strings[] = {nativeString}; 3642560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glShaderSource(shader, 1, strings, 0); 3643560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleaseStringUTFChars(string, nativeString); 3644560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3645560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 3646560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3647560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilFunc__III 3648560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 3649560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilFunc( 3650560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)func, 3651560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)ref, 3652560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)mask 3653560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3654560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3655560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3656560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilFuncSeparate ( GLenum face, GLenum func, GLint ref, GLuint mask ) */ 3657560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3658560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilFuncSeparate__IIII 3659560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint func, jint ref, jint mask) { 3660560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilFuncSeparate( 3661560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)face, 3662560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)func, 3663560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)ref, 3664560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)mask 3665560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3666560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3667560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3668560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilMask ( GLuint mask ) */ 3669560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3670560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilMask__I 3671560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint mask) { 3672560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilMask( 3673560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)mask 3674560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3675560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3676560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3677560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilMaskSeparate ( GLenum face, GLuint mask ) */ 3678560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3679560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilMaskSeparate__II 3680560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint mask) { 3681560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilMaskSeparate( 3682560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)face, 3683560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)mask 3684560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3685560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3686560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3687560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 3688560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3689560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilOp__III 3690560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 3691560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilOp( 3692560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)fail, 3693560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)zfail, 3694560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)zpass 3695560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3696560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3697560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3698560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glStencilOpSeparate ( GLenum face, GLenum fail, GLenum zfail, GLenum zpass ) */ 3699560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3700560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glStencilOpSeparate__IIII 3701560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint fail, jint zfail, jint zpass) { 3702560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glStencilOpSeparate( 3703560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)face, 3704560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)fail, 3705560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)zfail, 3706560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)zpass 3707560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3708560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3709560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3710560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 3711560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3712560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 3713560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 3714560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3715560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3716560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *pixels = (GLvoid *) 0; 3717560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3718560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (pixels_buf) { 3719560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3720560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3721560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexImage2D( 3722560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3723560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 3724560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)internalformat, 3725560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 3726560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 3727560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)border, 3728560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)format, 3729560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type, 3730560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)pixels 3731560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3732560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3733560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, pixels, JNI_FALSE); 3734560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3735560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3736560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3737560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 3738560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3739560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameterf__IIF 3740560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3741560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameterf( 3742560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3743560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3744560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)param 3745560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3746560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3747560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3748560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3749560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3750560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameterfv__II_3FI 3751560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 3752560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params_base = (GLfloat *) 0; 3753560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3754560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3755560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3756560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3757560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3758560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3759560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3760560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3761560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3762560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3763560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3764560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3765560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3766560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < 1"); 3767560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3768560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3769560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLfloat *) 3770560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3771560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3772560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3773560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameterfv( 3774560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3775560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3776560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3777560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3778560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3779560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3780560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3781560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3782560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 3783560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3784560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3785560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3786560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3787560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3788560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameterfv__IILjava_nio_FloatBuffer_2 3789560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3790560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3791560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3792560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *params = (GLfloat *) 0; 3793560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3794560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3795560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3796560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < 1"); 3797560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3798560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3799560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameterfv( 3800560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3801560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3802560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)params 3803560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3804560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3805560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3806560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3807560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 3808560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3809560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3810560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3811560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 3812560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3813560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameteri__III 3814560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3815560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameteri( 3816560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3817560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3818560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)param 3819560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3820560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3821560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3822560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 3823560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3824560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameteriv__II_3II 3825560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3826560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params_base = (GLint *) 0; 3827560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3828560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3829560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3830560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!params_ref) { 3831560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "params == null"); 3832560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3833560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3834560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3835560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3836560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3837560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3838560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3839560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3840560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "length - offset < 1"); 3841560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3842560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3843560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params_base = (GLint *) 3844560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3845560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = params_base + offset; 3846560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3847560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameteriv( 3848560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3849560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3850560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3851560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3852560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3853560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3854560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (params_base) { 3855560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3856560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 3857560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3858560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3859560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3860560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 3861560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3862560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexParameteriv__IILjava_nio_IntBuffer_2 3863560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3864560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3865560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3866560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *params = (GLint *) 0; 3867560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3868560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3869560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_remaining < 1) { 3870560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "remaining() < 1"); 3871560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3872560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3873560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexParameteriv( 3874560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3875560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)pname, 3876560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)params 3877560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3878560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3879560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3880560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3881560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, params, JNI_FALSE); 3882560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3883560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3884560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3885560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 3886560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3887560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 3888560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3889560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3890560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3891560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *pixels = (GLvoid *) 0; 3892560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3893560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (pixels_buf) { 3894560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3895560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3896560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glTexSubImage2D( 3897560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)target, 3898560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)level, 3899560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)xoffset, 3900560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)yoffset, 3901560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 3902560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height, 3903560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)format, 3904560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type, 3905560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)pixels 3906560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3907560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3908560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, pixels, JNI_FALSE); 3909560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3910560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3911560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3912560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1f ( GLint location, GLfloat x ) */ 3913560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3914560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1f__IF 3915560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jfloat x) { 3916560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1f( 3917560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3918560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x 3919560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3920560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3921560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3922560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v ) */ 3923560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3924560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1fv__II_3FI 3925560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 3926560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v_base = (GLfloat *) 0; 3927560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3928560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 3929560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3930560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 3931560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 3932560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3933560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3934560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3935560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3936560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3937560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3938560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 3939560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLfloat *) 3940560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 3941560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 3942560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3943560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1fv( 3944560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3945560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 3946560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 3947560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3948560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3949560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 3950560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 3951560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 3952560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 3953560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3954560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3955560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3956560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v ) */ 3957560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3958560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1fv__IILjava_nio_FloatBuffer_2 3959560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 3960560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 3961560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3962560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 3963560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3964560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 3965560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1fv( 3966560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3967560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 3968560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 3969560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3970560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 3971560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 3972560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3973560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3974560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3975560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1i ( GLint location, GLint x ) */ 3976560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3977560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1i__II 3978560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint x) { 3979560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1i( 3980560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 3981560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x 3982560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 3983560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 3984560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3985560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1iv ( GLint location, GLsizei count, const GLint *v ) */ 3986560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 3987560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1iv__II_3II 3988560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 3989560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v_base = (GLint *) 0; 3990560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 3991560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 3992560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 3993560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 3994560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 3995560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 3996560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 3997560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 3998560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 3999560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4000560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4001560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4002560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLint *) 4003560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4004560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4005560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4006560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1iv( 4007560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4008560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4009560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4010560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4011560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4012560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4013560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4014560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4015560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4016560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4017560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4018560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4019560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform1iv ( GLint location, GLsizei count, const GLint *v ) */ 4020560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4021560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform1iv__IILjava_nio_IntBuffer_2 4022560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4023560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4024560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4025560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4026560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4027560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4028560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform1iv( 4029560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4030560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4031560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4032560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4033560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4034560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4035560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4036560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4037560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4038560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2f ( GLint location, GLfloat x, GLfloat y ) */ 4039560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4040560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2f__IFF 4041560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y) { 4042560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2f( 4043560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4044560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4045560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y 4046560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4047560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4048560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4049560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4050560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4051560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2fv__II_3FI 4052560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4053560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v_base = (GLfloat *) 0; 4054560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4055560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4056560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4057560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4058560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4059560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4060560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4061560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4062560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4063560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4064560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4065560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4066560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLfloat *) 4067560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4068560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4069560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4070560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2fv( 4071560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4072560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4073560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4074560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4075560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4076560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4077560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4078560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4079560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4080560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4081560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4082560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4083560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4084560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4085560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2fv__IILjava_nio_FloatBuffer_2 4086560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4087560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4088560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4089560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4090560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4091560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4092560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2fv( 4093560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4094560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4095560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4096560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4097560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4098560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4099560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4101560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2i ( GLint location, GLint x, GLint y ) */ 4103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2i__III 4105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint x, jint y) { 4106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2i( 4107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 4109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y 4110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4112560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4113560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2iv ( GLint location, GLsizei count, const GLint *v ) */ 4114560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4115560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2iv__II_3II 4116560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4117560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v_base = (GLint *) 0; 4118560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4119560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4120560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4121560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4122560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4123560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4124560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4125560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4126560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4127560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4128560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4129560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4130560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLint *) 4131560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4132560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4133560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4134560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2iv( 4135560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4136560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4137560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4138560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4139560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4140560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4141560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4142560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4143560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4144560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4145560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4146560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4147560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform2iv ( GLint location, GLsizei count, const GLint *v ) */ 4148560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4149560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform2iv__IILjava_nio_IntBuffer_2 4150560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4151560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4152560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4153560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4154560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4155560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4156560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform2iv( 4157560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4158560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4159560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4160560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4161560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4162560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4163560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4164560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4165560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4166560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3f ( GLint location, GLfloat x, GLfloat y, GLfloat z ) */ 4167560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4168560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3f__IFFF 4169560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y, jfloat z) { 4170560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3f( 4171560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4172560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4173560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y, 4174560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)z 4175560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4176560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4177560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4178560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4179560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4180560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3fv__II_3FI 4181560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4182560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v_base = (GLfloat *) 0; 4183560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4184560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4185560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4186560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4187560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4188560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4189560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4190560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4191560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4192560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4193560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4194560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4195560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLfloat *) 4196560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4197560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4198560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4199560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3fv( 4200560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4201560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4202560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4203560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4204560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4205560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4206560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4207560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4208560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4209560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4210560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4211560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4212560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4213560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4214560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3fv__IILjava_nio_FloatBuffer_2 4215560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4216560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4217560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4218560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4219560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4220560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4221560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3fv( 4222560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4223560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4224560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4225560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4226560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4227560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4228560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4229560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4230560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4231560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3i ( GLint location, GLint x, GLint y, GLint z ) */ 4232560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4233560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3i__IIII 4234560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint x, jint y, jint z) { 4235560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3i( 4236560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4237560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 4238560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 4239560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)z 4240560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4241560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4242560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4243560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3iv ( GLint location, GLsizei count, const GLint *v ) */ 4244560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4245560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3iv__II_3II 4246560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4247560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v_base = (GLint *) 0; 4248560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4249560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4250560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4251560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4252560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4253560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4254560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4255560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4256560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4257560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4258560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4259560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4260560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLint *) 4261560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4262560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4263560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4264560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3iv( 4265560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4266560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4267560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4268560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4269560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4270560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4271560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4272560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4273560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4274560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4275560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4276560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4277560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform3iv ( GLint location, GLsizei count, const GLint *v ) */ 4278560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4279560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform3iv__IILjava_nio_IntBuffer_2 4280560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4281560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4282560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4283560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4284560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4285560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4286560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform3iv( 4287560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4288560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4289560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4290560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4291560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4292560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4293560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4294560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4295560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4296560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4f ( GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) */ 4297560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4298560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4f__IFFFF 4299560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y, jfloat z, jfloat w) { 4300560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4f( 4301560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4302560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4303560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y, 4304560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)z, 4305560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)w 4306560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4307560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4308560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4309560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4310560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4311560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4fv__II_3FI 4312560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4313560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v_base = (GLfloat *) 0; 4314560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4315560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4316560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4317560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4318560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4319560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4320560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4321560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4322560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4323560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4324560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4325560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4326560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLfloat *) 4327560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4328560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4329560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4330560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4fv( 4331560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4332560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4333560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4334560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4335560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4336560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4337560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4338560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4339560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4340560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4341560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4342560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4343560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4344560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4345560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4fv__IILjava_nio_FloatBuffer_2 4346560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4347560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4348560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4349560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *v = (GLfloat *) 0; 4350560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4351560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4352560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4fv( 4353560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4354560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4355560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)v 4356560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4357560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4358560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4359560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4360560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4361560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4362560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4i ( GLint location, GLint x, GLint y, GLint z, GLint w ) */ 4363560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4364560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4i__IIIII 4365560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint x, jint y, jint z, jint w) { 4366560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4i( 4367560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4368560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 4369560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 4370560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)z, 4371560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)w 4372560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4373560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4374560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4375560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4iv ( GLint location, GLsizei count, const GLint *v ) */ 4376560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4377560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4iv__II_3II 4378560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4379560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v_base = (GLint *) 0; 4380560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4381560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4382560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4383560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!v_ref) { 4384560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "v == null"); 4385560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4386560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4387560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4388560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4389560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4390560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4391560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(v_ref) - offset; 4392560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v_base = (GLint *) 4393560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4394560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = v_base + offset; 4395560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4396560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4iv( 4397560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4398560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4399560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4400560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4401560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4402560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4403560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (v_base) { 4404560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4405560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4406560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4407560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4408560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4409560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniform4iv ( GLint location, GLsizei count, const GLint *v ) */ 4410560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4411560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniform4iv__IILjava_nio_IntBuffer_2 4412560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4413560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4414560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4415560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLint *v = (GLint *) 0; 4416560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4417560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4418560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniform4iv( 4419560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4420560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4421560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint *)v 4422560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4423560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4424560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, v, JNI_FALSE); 4425560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4426560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4427560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4428560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4429560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4430560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix2fv__IIZ_3FI 4431560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4432560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value_base = (GLfloat *) 0; 4433560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4434560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4435560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4436560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!value_ref) { 4437560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "value == null"); 4438560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4439560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4440560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4441560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4442560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4443560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4444560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(value_ref) - offset; 4445560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value_base = (GLfloat *) 4446560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4447560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = value_base + offset; 4448560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4449560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix2fv( 4450560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4451560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4452560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4453560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4454560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4455560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4456560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4457560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (value_base) { 4458560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4459560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4460560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4461560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4462560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4463560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4464560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4465560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix2fv__IIZLjava_nio_FloatBuffer_2 4466560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4467560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4468560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4469560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4470560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4471560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4472560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix2fv( 4473560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4474560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4475560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4476560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4477560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4478560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4479560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, value, JNI_FALSE); 4480560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4481560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4482560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4483560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4484560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4485560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix3fv__IIZ_3FI 4486560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4487560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value_base = (GLfloat *) 0; 4488560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4489560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4490560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4491560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!value_ref) { 4492560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "value == null"); 4493560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4494560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4495560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4496560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4497560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4498560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4499560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(value_ref) - offset; 4500560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value_base = (GLfloat *) 4501560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4502560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = value_base + offset; 4503560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4504560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix3fv( 4505560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4506560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4507560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4508560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4509560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4510560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4511560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4512560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (value_base) { 4513560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4514560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4515560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4516560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4517560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4518560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4519560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4520560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix3fv__IIZLjava_nio_FloatBuffer_2 4521560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4522560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4523560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4524560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4525560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4526560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4527560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix3fv( 4528560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4529560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4530560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4531560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4532560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4533560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4534560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, value, JNI_FALSE); 4535560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4536560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4537560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4538560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4539560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4540560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix4fv__IIZ_3FI 4541560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4542560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value_base = (GLfloat *) 0; 4543560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4544560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4545560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4546560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!value_ref) { 4547560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "value == null"); 4548560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4549560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4550560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4551560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4552560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4553560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4554560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(value_ref) - offset; 4555560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value_base = (GLfloat *) 4556560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4557560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = value_base + offset; 4558560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4559560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix4fv( 4560560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4561560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4562560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4563560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4564560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4565560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4566560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4567560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (value_base) { 4568560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4569560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4570560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4571560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4572560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4573560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4574560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4575560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUniformMatrix4fv__IIZLjava_nio_FloatBuffer_2 4576560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4577560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4578560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4579560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *value = (GLfloat *) 0; 4580560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4581560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4582560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUniformMatrix4fv( 4583560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)location, 4584560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)count, 4585560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)transpose, 4586560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)value 4587560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4588560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4589560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, value, JNI_FALSE); 4590560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4591560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4592560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4593560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glUseProgram ( GLuint program ) */ 4594560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4595560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glUseProgram__I 4596560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program) { 4597560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glUseProgram( 4598560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program 4599560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4600560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4601560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4602560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glValidateProgram ( GLuint program ) */ 4603560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4604560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glValidateProgram__I 4605560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint program) { 4606560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glValidateProgram( 4607560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)program 4608560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4609560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4610560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4611560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib1f ( GLuint indx, GLfloat x ) */ 4612560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4613560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib1f__IF 4614560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloat x) { 4615560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib1f( 4616560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4617560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x 4618560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4619560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4620560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4621560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib1fv ( GLuint indx, const GLfloat *values ) */ 4622560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4623560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib1fv__I_3FI 4624560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4625560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values_base = (GLfloat *) 0; 4626560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4627560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4628560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4629560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!values_ref) { 4630560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "values == null"); 4631560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4632560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4633560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4634560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4635560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4636560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4637560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(values_ref) - offset; 4638560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values_base = (GLfloat *) 4639560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4640560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = values_base + offset; 4641560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4642560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib1fv( 4643560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4644560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4645560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4646560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4647560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4648560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (values_base) { 4649560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4650560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4651560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4652560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4653560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4654560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib1fv ( GLuint indx, const GLfloat *values ) */ 4655560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4656560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib1fv__ILjava_nio_FloatBuffer_2 4657560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4658560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4659560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4660560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4661560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4662560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4663560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib1fv( 4664560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4665560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4666560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4667560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4668560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, values, JNI_FALSE); 4669560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4670560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4671560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4672560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib2f ( GLuint indx, GLfloat x, GLfloat y ) */ 4673560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4674560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib2f__IFF 4675560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y) { 4676560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib2f( 4677560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4678560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4679560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y 4680560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4681560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4682560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4683560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib2fv ( GLuint indx, const GLfloat *values ) */ 4684560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4685560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib2fv__I_3FI 4686560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4687560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values_base = (GLfloat *) 0; 4688560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4689560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4690560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4691560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!values_ref) { 4692560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "values == null"); 4693560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4694560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4695560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4696560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4697560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4698560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4699560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(values_ref) - offset; 4700560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values_base = (GLfloat *) 4701560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4702560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = values_base + offset; 4703560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4704560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib2fv( 4705560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4706560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4707560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4708560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4709560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4710560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (values_base) { 4711560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4712560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4713560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4714560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4715560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4716560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib2fv ( GLuint indx, const GLfloat *values ) */ 4717560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4718560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib2fv__ILjava_nio_FloatBuffer_2 4719560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4720560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4721560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4722560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4723560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4724560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4725560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib2fv( 4726560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4727560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4728560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4729560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4730560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, values, JNI_FALSE); 4731560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4732560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4733560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4734560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib3f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z ) */ 4735560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4736560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib3f__IFFF 4737560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y, jfloat z) { 4738560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib3f( 4739560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4740560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4741560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y, 4742560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)z 4743560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4744560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4745560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4746560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib3fv ( GLuint indx, const GLfloat *values ) */ 4747560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4748560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib3fv__I_3FI 4749560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4750560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values_base = (GLfloat *) 0; 4751560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4752560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4753560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4754560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!values_ref) { 4755560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "values == null"); 4756560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4757560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4758560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4759560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4760560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4761560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4762560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(values_ref) - offset; 4763560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values_base = (GLfloat *) 4764560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4765560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = values_base + offset; 4766560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4767560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib3fv( 4768560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4769560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4770560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4771560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4772560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4773560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (values_base) { 4774560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4775560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4776560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4777560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4778560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4779560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib3fv ( GLuint indx, const GLfloat *values ) */ 4780560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4781560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib3fv__ILjava_nio_FloatBuffer_2 4782560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4783560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4784560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4785560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4786560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4787560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4788560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib3fv( 4789560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4790560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4791560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4792560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4793560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, values, JNI_FALSE); 4794560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4795560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4796560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4797560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib4f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) */ 4798560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4799560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib4f__IFFFF 4800560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y, jfloat z, jfloat w) { 4801560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib4f( 4802560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4803560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)x, 4804560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)y, 4805560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)z, 4806560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat)w 4807560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4808560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4809560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4810560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib4fv ( GLuint indx, const GLfloat *values ) */ 4811560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4812560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib4fv__I_3FI 4813560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4814560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values_base = (GLfloat *) 0; 4815560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4816560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4817560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4818560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (!values_ref) { 4819560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "values == null"); 4820560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4821560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4822560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (offset < 0) { 4823560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ThrowNew(IAEClass, "offset < 0"); 4824560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich goto exit; 4825560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4826560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _remaining = _env->GetArrayLength(values_ref) - offset; 4827560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values_base = (GLfloat *) 4828560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4829560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = values_base + offset; 4830560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4831560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib4fv( 4832560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4833560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4834560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4835560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4836560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichexit: 4837560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (values_base) { 4838560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4839560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich JNI_ABORT); 4840560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4841560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4842560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4843560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttrib4fv ( GLuint indx, const GLfloat *values ) */ 4844560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4845560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttrib4fv__ILjava_nio_FloatBuffer_2 4846560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4847560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4848560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4849560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLfloat *values = (GLfloat *) 0; 4850560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4851560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4852560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttrib4fv( 4853560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4854560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLfloat *)values 4855560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4856560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (_array) { 4857560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich releasePointer(_env, _array, values, JNI_FALSE); 4858560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4859560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4860560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4861224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich/* void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLint offset ) */ 4862224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevichstatic void 4863224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevichandroid_glVertexAttribPointer__IIIZII 4864224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (JNIEnv *_env, jobject _this, jint indx, jint size, jint type, jboolean normalized, jint stride, jint offset) { 4865224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich glVertexAttribPointer( 4866224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLuint)indx, 4867224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLint)size, 4868224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLenum)type, 4869224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLboolean)normalized, 4870224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (GLsizei)stride, 4871224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich (const GLvoid *)offset 4872224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich ); 4873224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich} 4874224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich 4875560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *ptr ) */ 4876560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4877560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glVertexAttribPointerBounds__IIIZILjava_nio_Buffer_2I 4878560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint indx, jint size, jint type, jboolean normalized, jint stride, jobject ptr_buf, jint remaining) { 4879560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jarray _array = (jarray) 0; 4880560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich jint _remaining; 4881560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich GLvoid *ptr = (GLvoid *) 0; 4882560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4883560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if (ptr_buf) { 4884560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ptr = (GLvoid *) getDirectBufferPointer(_env, ptr_buf); 4885560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich if ( ! ptr ) { 4886560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return; 4887560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4888560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich } 4889560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glVertexAttribPointerBounds( 4890560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLuint)indx, 4891560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)size, 4892560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLenum)type, 4893560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLboolean)normalized, 4894560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)stride, 4895560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLvoid *)ptr, 4896560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)remaining 4897560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4898560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4899560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4900560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 4901560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic void 4902560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichandroid_glViewport__IIII 4903560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 4904560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich glViewport( 4905560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)x, 4906560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLint)y, 4907560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)width, 4908560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich (GLsizei)height 4909560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich ); 4910560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 4911560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4912560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic const char *classPathName = "android/opengl/GLES20"; 4913560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 4914560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichstatic JNINativeMethod methods[] = { 4915560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit }, 4916560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 4917560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glAttachShader", "(II)V", (void *) android_glAttachShader__II }, 4918560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBindAttribLocation", "(IILjava/lang/String;)V", (void *) android_glBindAttribLocation__IILjava_lang_String_2 }, 4919560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 4920560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBindFramebuffer", "(II)V", (void *) android_glBindFramebuffer__II }, 4921560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBindRenderbuffer", "(II)V", (void *) android_glBindRenderbuffer__II }, 4922560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 4923560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBlendColor", "(FFFF)V", (void *) android_glBlendColor__FFFF }, 4924560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I }, 4925560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II }, 4926560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 4927560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII }, 4928560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 4929560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 4930560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCheckFramebufferStatus", "(I)I", (void *) android_glCheckFramebufferStatus__I }, 4931560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glClear", "(I)V", (void *) android_glClear__I }, 4932560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 4933560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 4934560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 4935560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 4936560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCompileShader", "(I)V", (void *) android_glCompileShader__I }, 4937560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 4938560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 4939560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 4940560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 4941560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCreateProgram", "()I", (void *) android_glCreateProgram__ }, 4942560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCreateShader", "(I)I", (void *) android_glCreateShader__I }, 4943560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 4944560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 4945560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 4946560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteFramebuffers", "(I[II)V", (void *) android_glDeleteFramebuffers__I_3II }, 4947560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteFramebuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffers__ILjava_nio_IntBuffer_2 }, 4948560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteProgram", "(I)V", (void *) android_glDeleteProgram__I }, 4949560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteRenderbuffers", "(I[II)V", (void *) android_glDeleteRenderbuffers__I_3II }, 4950560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteRenderbuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffers__ILjava_nio_IntBuffer_2 }, 4951560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteShader", "(I)V", (void *) android_glDeleteShader__I }, 4952560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 4953560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 4954560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 4955560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 4956560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 4957560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDetachShader", "(II)V", (void *) android_glDetachShader__II }, 4958560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDisable", "(I)V", (void *) android_glDisable__I }, 4959560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDisableVertexAttribArray", "(I)V", (void *) android_glDisableVertexAttribArray__I }, 4960560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 4961224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 4962560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 4963560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glEnable", "(I)V", (void *) android_glEnable__I }, 4964560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glEnableVertexAttribArray", "(I)V", (void *) android_glEnableVertexAttribArray__I }, 4965560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glFinish", "()V", (void *) android_glFinish__ }, 4966560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glFlush", "()V", (void *) android_glFlush__ }, 4967560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glFramebufferRenderbuffer", "(IIII)V", (void *) android_glFramebufferRenderbuffer__IIII }, 4968560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glFramebufferTexture2D", "(IIIII)V", (void *) android_glFramebufferTexture2D__IIIII }, 4969560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 4970560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 4971560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 4972560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenerateMipmap", "(I)V", (void *) android_glGenerateMipmap__I }, 4973560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenFramebuffers", "(I[II)V", (void *) android_glGenFramebuffers__I_3II }, 4974560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenFramebuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffers__ILjava_nio_IntBuffer_2 }, 4975560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenRenderbuffers", "(I[II)V", (void *) android_glGenRenderbuffers__I_3II }, 4976560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenRenderbuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffers__ILjava_nio_IntBuffer_2 }, 4977560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 4978560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 4979560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetActiveAttrib", "(III[II[II[II[BI)V", (void *) android_glGetActiveAttrib__III_3II_3II_3II_3BI }, 4980560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetActiveAttrib", "(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V", (void *) android_glGetActiveAttrib__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B }, 4981560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetActiveUniform", "(III[II[II[II[BI)V", (void *) android_glGetActiveUniform__III_3II_3II_3II_3BI }, 4982560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetActiveUniform", "(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V", (void *) android_glGetActiveUniform__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B }, 4983560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetAttachedShaders", "(II[II[II)V", (void *) android_glGetAttachedShaders__II_3II_3II }, 4984560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetAttachedShaders", "(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V", (void *) android_glGetAttachedShaders__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 4985560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetAttribLocation", "(ILjava/lang/String;)I", (void *) android_glGetAttribLocation__ILjava_lang_String_2 }, 4986560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 4987560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 4988560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 4989560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 4990560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetError", "()I", (void *) android_glGetError__ }, 4991560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 4992560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 4993560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetFramebufferAttachmentParameteriv", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameteriv__III_3II }, 4994560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetFramebufferAttachmentParameteriv", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameteriv__IIILjava_nio_IntBuffer_2 }, 4995560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 4996560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 4997560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetProgramiv", "(II[II)V", (void *) android_glGetProgramiv__II_3II }, 4998560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetProgramiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetProgramiv__IILjava_nio_IntBuffer_2 }, 4999560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetProgramInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetProgramInfoLog }, 5000560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetRenderbufferParameteriv", "(II[II)V", (void *) android_glGetRenderbufferParameteriv__II_3II }, 5001560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetRenderbufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameteriv__IILjava_nio_IntBuffer_2 }, 5002560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderiv", "(II[II)V", (void *) android_glGetShaderiv__II_3II }, 5003560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetShaderiv__IILjava_nio_IntBuffer_2 }, 5004560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetShaderInfoLog }, 5005560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderPrecisionFormat", "(II[II[II)V", (void *) android_glGetShaderPrecisionFormat__II_3II_3II }, 5006560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderPrecisionFormat", "(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V", (void *) android_glGetShaderPrecisionFormat__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 5007560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderSource", "(II[II[BI)V", (void *) android_glGetShaderSource__II_3II_3BI }, 5008560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetShaderSource", "(IILjava/nio/IntBuffer;B)V", (void *) android_glGetShaderSource__IILjava_nio_IntBuffer_2B }, 5009560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 5010560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 5011560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 5012560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 5013560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 5014560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetUniformfv", "(II[FI)V", (void *) android_glGetUniformfv__II_3FI }, 5015560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetUniformfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetUniformfv__IILjava_nio_FloatBuffer_2 }, 5016560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetUniformiv", "(II[II)V", (void *) android_glGetUniformiv__II_3II }, 5017560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetUniformiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetUniformiv__IILjava_nio_IntBuffer_2 }, 5018560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetUniformLocation", "(ILjava/lang/String;)I", (void *) android_glGetUniformLocation__ILjava_lang_String_2 }, 5019560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetVertexAttribfv", "(II[FI)V", (void *) android_glGetVertexAttribfv__II_3FI }, 5020560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetVertexAttribfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetVertexAttribfv__IILjava_nio_FloatBuffer_2 }, 5021560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetVertexAttribiv", "(II[II)V", (void *) android_glGetVertexAttribiv__II_3II }, 5022560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glGetVertexAttribiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetVertexAttribiv__IILjava_nio_IntBuffer_2 }, 5023560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glHint", "(II)V", (void *) android_glHint__II }, 5024560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 5025560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 5026560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsFramebuffer", "(I)Z", (void *) android_glIsFramebuffer__I }, 5027560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsProgram", "(I)Z", (void *) android_glIsProgram__I }, 5028560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsRenderbuffer", "(I)Z", (void *) android_glIsRenderbuffer__I }, 5029560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsShader", "(I)Z", (void *) android_glIsShader__I }, 5030560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 5031560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 5032560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glLinkProgram", "(I)V", (void *) android_glLinkProgram__I }, 5033560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 5034560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 5035560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 5036560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glReleaseShaderCompiler", "()V", (void *) android_glReleaseShaderCompiler__ }, 5037560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glRenderbufferStorage", "(IIII)V", (void *) android_glRenderbufferStorage__IIII }, 5038560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 5039560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 5040560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glShaderBinary", "(I[IIILjava/nio/Buffer;I)V", (void *) android_glShaderBinary__I_3IIILjava_nio_Buffer_2I }, 5041560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glShaderBinary", "(ILjava/nio/IntBuffer;ILjava/nio/Buffer;I)V", (void *) android_glShaderBinary__ILjava_nio_IntBuffer_2ILjava_nio_Buffer_2I }, 5042560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glShaderSource", "(ILjava/lang/String;)V", (void *) android_glShaderSource }, 5043560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 5044560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilFuncSeparate", "(IIII)V", (void *) android_glStencilFuncSeparate__IIII }, 5045560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 5046560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilMaskSeparate", "(II)V", (void *) android_glStencilMaskSeparate__II }, 5047560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 5048560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glStencilOpSeparate", "(IIII)V", (void *) android_glStencilOpSeparate__IIII }, 5049560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 5050560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 5051560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 5052560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 5053560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 5054560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 5055560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 5056560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 5057560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1f", "(IF)V", (void *) android_glUniform1f__IF }, 5058560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1fv", "(II[FI)V", (void *) android_glUniform1fv__II_3FI }, 5059560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform1fv__IILjava_nio_FloatBuffer_2 }, 5060560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1i", "(II)V", (void *) android_glUniform1i__II }, 5061560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1iv", "(II[II)V", (void *) android_glUniform1iv__II_3II }, 5062560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform1iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform1iv__IILjava_nio_IntBuffer_2 }, 5063560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2f", "(IFF)V", (void *) android_glUniform2f__IFF }, 5064560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2fv", "(II[FI)V", (void *) android_glUniform2fv__II_3FI }, 5065560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform2fv__IILjava_nio_FloatBuffer_2 }, 5066560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2i", "(III)V", (void *) android_glUniform2i__III }, 5067560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2iv", "(II[II)V", (void *) android_glUniform2iv__II_3II }, 5068560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform2iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform2iv__IILjava_nio_IntBuffer_2 }, 5069560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3f", "(IFFF)V", (void *) android_glUniform3f__IFFF }, 5070560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3fv", "(II[FI)V", (void *) android_glUniform3fv__II_3FI }, 5071560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform3fv__IILjava_nio_FloatBuffer_2 }, 5072560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3i", "(IIII)V", (void *) android_glUniform3i__IIII }, 5073560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3iv", "(II[II)V", (void *) android_glUniform3iv__II_3II }, 5074560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform3iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform3iv__IILjava_nio_IntBuffer_2 }, 5075560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4f", "(IFFFF)V", (void *) android_glUniform4f__IFFFF }, 5076560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4fv", "(II[FI)V", (void *) android_glUniform4fv__II_3FI }, 5077560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform4fv__IILjava_nio_FloatBuffer_2 }, 5078560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4i", "(IIIII)V", (void *) android_glUniform4i__IIIII }, 5079560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4iv", "(II[II)V", (void *) android_glUniform4iv__II_3II }, 5080560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniform4iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform4iv__IILjava_nio_IntBuffer_2 }, 5081560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix2fv", "(IIZ[FI)V", (void *) android_glUniformMatrix2fv__IIZ_3FI }, 5082560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix2fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix2fv__IIZLjava_nio_FloatBuffer_2 }, 5083560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix3fv", "(IIZ[FI)V", (void *) android_glUniformMatrix3fv__IIZ_3FI }, 5084560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix3fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix3fv__IIZLjava_nio_FloatBuffer_2 }, 5085560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix4fv", "(IIZ[FI)V", (void *) android_glUniformMatrix4fv__IIZ_3FI }, 5086560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUniformMatrix4fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix4fv__IIZLjava_nio_FloatBuffer_2 }, 5087560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glUseProgram", "(I)V", (void *) android_glUseProgram__I }, 5088560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glValidateProgram", "(I)V", (void *) android_glValidateProgram__I }, 5089560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib1f", "(IF)V", (void *) android_glVertexAttrib1f__IF }, 5090560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib1fv", "(I[FI)V", (void *) android_glVertexAttrib1fv__I_3FI }, 5091560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib1fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib1fv__ILjava_nio_FloatBuffer_2 }, 5092560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib2f", "(IFF)V", (void *) android_glVertexAttrib2f__IFF }, 5093560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib2fv", "(I[FI)V", (void *) android_glVertexAttrib2fv__I_3FI }, 5094560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib2fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib2fv__ILjava_nio_FloatBuffer_2 }, 5095560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib3f", "(IFFF)V", (void *) android_glVertexAttrib3f__IFFF }, 5096560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib3fv", "(I[FI)V", (void *) android_glVertexAttrib3fv__I_3FI }, 5097560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib3fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib3fv__ILjava_nio_FloatBuffer_2 }, 5098560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib4f", "(IFFFF)V", (void *) android_glVertexAttrib4f__IFFFF }, 5099560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib4fv", "(I[FI)V", (void *) android_glVertexAttrib4fv__I_3FI }, 5100560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttrib4fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib4fv__ILjava_nio_FloatBuffer_2 }, 5101224107a421e2611b15d1ec736df54bca9ee3e78dJack Palevich{"glVertexAttribPointer", "(IIIZII)V", (void *) android_glVertexAttribPointer__IIIZII }, 5102560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glVertexAttribPointerBounds", "(IIIZILjava/nio/Buffer;I)V", (void *) android_glVertexAttribPointerBounds__IIIZILjava_nio_Buffer_2I }, 5103560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 5104560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich}; 5105560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich 5106560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevichint register_android_opengl_jni_GLES20(JNIEnv *_env) 5107560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich{ 5108560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich int err; 5109560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 5110560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich return err; 5111560814f6b11abe83ff0c4ed18cac015c276b3181Jack Palevich} 5112