android_opengl_GLES11Ext.cpp revision 73108675c944ab4ee89631dced23566b12341b66
127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/*
227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Copyright 2009, The Android Open Source Project
427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Licensed under the Apache License, Version 2.0 (the "License");
627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** you may not use this file except in compliance with the License.
727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** You may obtain a copy of the License at
827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**     http://www.apache.org/licenses/LICENSE-2.0
1027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
1127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Unless required by applicable law or agreed to in writing, software
1227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** distributed under the License is distributed on an "AS IS" BASIS,
1327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** See the License for the specific language governing permissions and
1527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** limitations under the License.
1627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich*/
1727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
1827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// This source file is automatically generated
1927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
2027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <android_runtime/AndroidRuntime.h>
2127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <utils/misc.h>
2227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
2327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <assert.h>
2427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <GLES/gl.h>
25be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#include <GLES/glext.h>
2627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
27be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich/* special calls implemented in Android's GLES wrapper used to more
28be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich * efficiently bound-check passed arrays */
29be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichextern "C" {
30be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, GLsizei stride,
31be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        const GLvoid *ptr, GLsizei count);
32be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, GLsizei stride,
33be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        const GLvoid *ptr, GLsizei count);
34be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich}
35be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
3627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic int initialized = 0;
3727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
3827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass nioAccessClass;
3927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass bufferClass;
4027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass OOMEClass;
4127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass UOEClass;
4227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass IAEClass;
4327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass AIOOBEClass;
4427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBasePointerID;
4527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayID;
4627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayOffsetID;
4727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID positionID;
4827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID limitID;
4927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID elementSizeShiftID;
5027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
5127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* Cache method IDs each time the class is loaded. */
5227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
5327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
5427f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichnativeClassInitBuffer(JNIEnv *_env)
5527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
5627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess");
5727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal);
5827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
5927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
6027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
6127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
6227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBasePointerID = _env->GetStaticMethodID(nioAccessClass,
6327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBasePointer", "(Ljava/nio/Buffer;)J");
6427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayID = _env->GetStaticMethodID(nioAccessClass,
6527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;");
6627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass,
6727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArrayOffset", "(Ljava/nio/Buffer;)I");
6827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
6927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    positionID = _env->GetFieldID(bufferClass, "position", "I");
7027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limitID = _env->GetFieldID(bufferClass, "limit", "I");
7127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShiftID =
7227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetFieldID(bufferClass, "_elementSizeShift", "I");
7327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
7427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
7527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
7627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
7727f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichnativeClassInit(JNIEnv *_env, jclass glImplClass)
7827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
7927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    nativeClassInitBuffer(_env);
8027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
8127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass IAEClassLocal =
8227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->FindClass("java/lang/IllegalArgumentException");
8327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass OOMEClassLocal =
8427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich         _env->FindClass("java/lang/OutOfMemoryError");
8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass UOEClassLocal =
8627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich         _env->FindClass("java/lang/UnsupportedOperationException");
8727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass AIOOBEClassLocal =
8827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich         _env->FindClass("java/lang/ArrayIndexOutOfBoundsException");
8927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
9027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal);
9127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal);
9227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal);
9327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal);
9427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
9527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
9627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void *
9727f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichgetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining)
9827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
9927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint position;
10027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint limit;
10127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint elementSizeShift;
10227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jlong pointer;
10327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint offset;
10427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    void *data;
10527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
10627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    position = _env->GetIntField(buffer, positionID);
10727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limit = _env->GetIntField(buffer, limitID);
10827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
10927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *remaining = (limit - position) << elementSizeShift;
11027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    pointer = _env->CallStaticLongMethod(nioAccessClass,
11127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBasePointerID, buffer);
11227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (pointer != 0L) {
11327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        *array = NULL;
11427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        return (void *) (jint) pointer;
11527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
11627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
11727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
11827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayID, buffer);
11927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    offset = _env->CallStaticIntMethod(nioAccessClass,
12027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayOffsetID, buffer);
12127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0);
12227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
12327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    return (void *) ((char *) data + offset);
12427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
12527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
12627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
12727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
12827f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
12927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
13027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _env->ReleasePrimitiveArrayCritical(array, data,
13127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich					   commit ? 0 : JNI_ABORT);
13227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
13327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
134be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichstatic void *
135be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) {
136be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    char* buf = (char*) _env->GetDirectBufferAddress(buffer);
137be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (buf) {
138be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint position = _env->GetIntField(buffer, positionID);
139be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
140be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        buf += position << elementSizeShift;
141be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    } else {
142be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        _env->ThrowNew(IAEClass, "Must use a native order direct Buffer");
143be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
144be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    return (void*) buf;
145be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich}
14627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// --------------------------------------------------------------------------
14727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
14827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) */
14927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
15027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationSeparateOES__II
15127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) {
152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationSeparateOES(
153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeRGB,
154a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeAlpha
155a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
15627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
15727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
15827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */
15927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
16027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendFuncSeparateOES__IIII
16127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
162a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendFuncSeparateOES(
163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcRGB,
164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstRGB,
165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcAlpha,
166a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstAlpha
167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
16827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
16927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
17027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationOES ( GLenum mode ) */
17127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
17227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationOES__I
17327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint mode) {
174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationOES(
175a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)mode
176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
17727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
17827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
17927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */
18027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
18127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsOES__SSSSS
18227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) {
18327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsOES(
18427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)x,
18527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)y,
18627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)z,
18727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)width,
18827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)height
18927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
19027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
19127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
19227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */
19327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
19427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexiOES__IIIII
19527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
19627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexiOES(
19727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)x,
19827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)y,
19927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)z,
20027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)width,
20127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)height
20227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
20327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
20427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
20527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */
20627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
20727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxOES__IIIII
20827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
20927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxOES(
21027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)x,
21127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)y,
21227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)z,
21327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)width,
21427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)height
21527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
21627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
21727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
21827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
21927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
22027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES___3SI
22127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) {
22227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords_base = (GLshort *) 0;
22327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
22427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
22527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
22627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
22727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "coords == null");
22827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
22927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
23027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
23127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
23227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
23327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
23427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
23527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
23627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 5");
23727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
23827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
23927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLshort *)
24027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
24127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
24227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
24327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
24427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
24527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
24627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
24727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
24827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
24927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
25027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
25127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
25227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
25327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
25427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
25527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
25627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2
25727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
25827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
25927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
26027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
26127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
26227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining);
26327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
26427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 5");
26527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
26627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
26727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
26827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
26927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
27027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
27127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
27227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
27327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
27427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
27527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
27627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
27727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
27827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
27927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES___3II
28027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
28127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords_base = (GLint *) 0;
28227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
28327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
28427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
28527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
28627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "coords == null");
28727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
28827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
28927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
29027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
29127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
29227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
29327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
29427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
29527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 5");
29627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
29727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
29827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLint *)
29927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
30027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
30127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
30227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
30327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
30427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
30527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
30627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
30727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
30827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
30927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
31027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
31127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
31227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
31327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
31427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
31527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2
31627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
31727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
31827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
31927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
32027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
32127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining);
32227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
32327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 5");
32427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
32527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
32627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
32727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
32827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
32927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
33027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
33127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
33227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
33327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
33427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
33527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
33627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
33727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
33827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES___3II
33927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
34027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords_base = (GLfixed *) 0;
34127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
34227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
34327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
34427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
34527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "coords == null");
34627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
34727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
34827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
34927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
35027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
35127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
35227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
35327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
35427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 5");
35527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
35627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
35727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfixed *)
35827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
35927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
36027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
36127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
36227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
36327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
36427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
36527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
36627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
36727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
36827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
36927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
37027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
37127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
37227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
37327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
37427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2
37527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
37627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
37727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
37827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
37927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
38027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining);
38127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
38227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 5");
38327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
38427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
38527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
38627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
38727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
38827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
38927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
39027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
39127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
39227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
39327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
39427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
39527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */
39627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
39727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfOES__FFFFF
39827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) {
39927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfOES(
40027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)x,
40127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)y,
40227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)z,
40327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)width,
40427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)height
40527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
40627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
40727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
40827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
40927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
41027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES___3FI
41127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) {
41227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords_base = (GLfloat *) 0;
41327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
41427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
41527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
41627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
41727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "coords == null");
41827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
41927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
42127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
42227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
42327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
42527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
42627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 5");
42727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
42827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfloat *)
43027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
43127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
43227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
43327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
43427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
43527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
43627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
43727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
43827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
43927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
44027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
44127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
44227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
44327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
44427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
44527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
44627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2
44727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
44827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
44927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
45027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
45127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
45227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining);
45327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
45427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 5");
45527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
45627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
45727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
45827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
45927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
46027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
46127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
46227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
46327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
46427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
46527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
46627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
46727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) */
46827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
46927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2
47027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
471a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
472a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
473a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
474a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
475a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
476a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining);
477a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetTexture2DOES(
478a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
479a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
480a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
481a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
482a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, image, _exception ? JNI_FALSE : JNI_TRUE);
483a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
48427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
48527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
48627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) */
48727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
48827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2
48927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
490a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
491a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
492a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
493a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
494a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
495a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining);
496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetRenderbufferStorageOES(
497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
499a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
500a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
501a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, image, _exception ? JNI_FALSE : JNI_TRUE);
502a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
50327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
50427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
50527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFuncxOES ( GLenum func, GLclampx ref ) */
50627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
50727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFuncxOES__II
50827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint func, jint ref) {
509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glAlphaFuncxOES(
510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)func,
511a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)ref
512a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
51327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
51427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
51527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */
51627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
51727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColorxOES__IIII
51827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
519a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearColorxOES(
520a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)red,
521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)green,
522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)blue,
523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)alpha
524a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
52527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
52627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
52727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthxOES ( GLclampx depth ) */
52827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
52927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthxOES__I
53027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint depth) {
531a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthxOES(
532a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)depth
533a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
53427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
53527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
53627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
53727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
53827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__I_3II
53927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) {
540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation_base = (GLfixed *) 0;
541a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
542a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
543a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
544a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
545a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "equation == null");
546a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
547a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
551a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
552a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
553a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfixed *)
554a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
555a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
556a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
557a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
558a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
559a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
565a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
566a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
56727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
56827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
56927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
57027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
57127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__ILjava_nio_IntBuffer_2
57227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
573a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
574a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining);
578a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
579a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
580a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
581a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
582a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
583a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
58527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
58627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
58727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */
58827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
58927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4xOES__IIII
59027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
591a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glColor4xOES(
592a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)red,
593a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)green,
594a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)blue,
595a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)alpha
596a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
59727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
59827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
59927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) */
60027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
60127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangexOES__II
60227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint zNear, jint zFar) {
603a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangexOES(
604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zNear,
605a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zFar
606a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
60727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
60827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
60927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxOES ( GLenum pname, GLfixed param ) */
61027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
61127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxOES__II
61227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxOES(
614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
61727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
61827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
61927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
62027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
62127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__I_3II
62227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
623a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
624a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
626a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
627a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
628a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
629a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
630a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
631a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
632a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
633a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
634a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
635a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
636a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
637a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
638a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
640a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
641a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
642a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
643a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
644a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
647a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
648a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
649a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
65027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
65127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
65227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
65327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
65427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__ILjava_nio_IntBuffer_2
65527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
656a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
657a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
658a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
659a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
661a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
662a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
663a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
664a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
666a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
667a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
66827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
66927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
67027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
67127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
67227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumxOES__IIIIII
67327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
674a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumxOES(
675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
676a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
677a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
678a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
679a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
68227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
68327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
68427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
68527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
68627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__I_3II
68727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) {
688a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn_base = (GLfixed *) 0;
690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
691a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
692a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
693a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
694a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
695a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "eqn == null");
696a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
697a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
698a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
699a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
701a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
703a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
704a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
705a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
706a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "length - offset < 4");
707a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
708a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
709a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfixed *)
710a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
711a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
712a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
713a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
714a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
715a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
716a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
717a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
718a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
719a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
720a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
721a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
722a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
72327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
72427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
72527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
72627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
72727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__ILjava_nio_IntBuffer_2
72827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
729a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
730a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
731a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
732a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
733a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
734a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining);
735a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
736a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
737a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "remaining() < 4");
738a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
739a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
741a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
742a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
744a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
745a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
746a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
747a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
748a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
74927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
75027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
75127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
75227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
75327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__I_3II
75427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
755a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
756a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
757a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
758a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
759a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
760a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
761a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
762a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
764a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
765a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
766a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
767a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
768a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
769a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
770a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
771a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
772a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
773a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
774a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
776a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
779a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
780a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
781a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
782a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
783a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
784a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
78527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
78627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
78727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
78827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
78927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__ILjava_nio_IntBuffer_2
79027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
794a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
795a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
796a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
797a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
798a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
799a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
800a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
801a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
802a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
803a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
80427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
80527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
80627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
80727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
80827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__II_3II
80927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
810a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
811a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
812a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
813a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
814a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
815a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
816a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
817a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
818a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
819a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
821a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
822a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
823a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
824a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
825a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
826a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
827a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
828a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
829a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
834a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
835a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
836a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
837a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
838a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
839a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
840a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
84127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
84227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
84327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
84427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
84527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__IILjava_nio_IntBuffer_2
84627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
847a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
848a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
849a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
850a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
851a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
852a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
853a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
856a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
857a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
860a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
86127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
86227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
86327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
86427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
86527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__II_3II
86627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
867a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
868a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
875a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
877a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
887a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
888a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
889a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
890a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
891a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
892a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
896a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
897a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
89827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
89927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
90027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
90127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
90227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__IILjava_nio_IntBuffer_2
90327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
904a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
909a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
910a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
912a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
913a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
914a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
91827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
91927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
92027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
92127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
92227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__II_3II
92327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
925a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
926a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
927a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
928a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
930a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
933a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
934a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
935a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
939a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
940a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
941a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
942a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
943a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
944a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
946a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
947a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
953a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
954a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
95527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
95627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
95727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
95827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
95927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2
96027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
961a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
962a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
964a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
965a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
966a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
967a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
968a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
971a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
974a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
97527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
97627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
97727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
97827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
97927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__II_3II
98027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
981a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
984a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
985a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
986a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
987a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
988a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
989a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
990a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
991a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
992a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
993a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
997a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1001a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1002a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1003a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1004a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1005a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1006a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1007a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
101227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
101327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
101427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
101527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
101627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2
101727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1018a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
1019a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1020a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1021a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1022a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1024a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1026a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1027a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1028a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1029a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1030a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
1031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
103227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
103327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
103427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxOES ( GLenum pname, GLfixed param ) */
103527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
103627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxOES__II
103727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1038a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxOES(
1039a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1040a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
104227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
104327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
104427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
104527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
104627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__I_3II
104727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
1048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1050a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1051a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1052a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1053a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1057a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1058a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1065a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1066a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1069a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1070a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1071a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1072a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
107527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
107627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
107727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
107827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
107927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__ILjava_nio_IntBuffer_2
108027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1082a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1083a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1084a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1085a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1086a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1087a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1089a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1090a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1091a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1092a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
109327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
109427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
109527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) */
109627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
109727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxOES__III
109827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) {
1099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxOES(
1100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1101a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1103a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
110427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
110527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
110627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
110727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
110827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__II_3II
110927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
1110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1117a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1118a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1119a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1120a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1121a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1123a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1124a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1125a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1130a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1131a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1132a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1133a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1134a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1135a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
113827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
113927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
114027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
114127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
114227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__IILjava_nio_IntBuffer_2
114327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
1144a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1145a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1146a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1147a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1148a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1150a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1151a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1154a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1155a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1156a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
115727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
115827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
115927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidthxOES ( GLfixed width ) */
116027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
116127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidthxOES__I
116227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint width) {
1163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLineWidthxOES(
1164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)width
1165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
116627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
116727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
116827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
116927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
117027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES___3II
117127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
1172a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1173a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
117527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
1176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
1177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "m == null");
1178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1183a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1184a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1185a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1186a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1187a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1188a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1189a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1190a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1196a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1197a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1198a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich}
1199a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1200a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
1201a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichstatic void
120227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES__Ljava_nio_IntBuffer_2
120327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1206a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1208a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining);
1209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1210a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
121527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
121627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
121727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) */
121827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
121927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxOES__III
122027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) {
1221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxOES(
1222a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1223a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1224a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1225a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
122627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
122727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
122827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
122927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
123027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__II_3II
123127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
1232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1236a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1237a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1240a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1241a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1247a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1248a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1249a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1250a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1251a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1252a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1253a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1257a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1258a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1259a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
126027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
126127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
126227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
126327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
126427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__IILjava_nio_IntBuffer_2
126527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
1266a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1267a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1268a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1269a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1270a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1271a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1272a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1273a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1274a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1275a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1276a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1277a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1278a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
127927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
128027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
128127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
128227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
128327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES___3II
128427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
1285a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1287a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1289a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
1290a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "m == null");
1291a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1292a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1293a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1294a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1295a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1296a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1297a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1298a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1299a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1301a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1302a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1303a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1305a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1306a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1307a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1308a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1309a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1310a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
131127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
131227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
131327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
131427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
131527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES__Ljava_nio_IntBuffer_2
131627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1318a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1319a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1320a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1321a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining);
1322a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1325a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1326a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1327a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
132827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
132927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
133027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */
133127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
133227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4xOES__IIIII
133327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) {
1334a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultiTexCoord4xOES(
1335a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1336a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)s,
1337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)t,
1338a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)r,
1339a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)q
1340a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
134127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
134227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
134327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) */
134427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
134527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3xOES__III
134627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) {
1347a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glNormal3xOES(
1348a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nx,
1349a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)ny,
1350a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nz
1351a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
135227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
135327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
135427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
135527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
135627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthoxOES__IIIIII
135727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
1358a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthoxOES(
1359a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
1360a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
1361a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
1362a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
1363a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
1364a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
1365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
136627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
136727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
136827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxOES ( GLenum pname, GLfixed param ) */
136927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
137027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxOES__II
137127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxOES(
1373a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1374a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1375a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
137627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
137727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
137827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
137927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
138027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__I_3II
138127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
1382a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1383a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1384a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1385a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1386a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1387a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1388a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1389a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1390a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1393a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1394a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1395a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1396a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1397a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1398a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1401a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1402a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1403a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1404a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1405a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1406a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1407a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1408a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
140927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
141027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
141127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
141227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
141327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__ILjava_nio_IntBuffer_2
141427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1415a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1416a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1417a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1418a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1419a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1420a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1421a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1423a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1424a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1425a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1426a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
142727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
142827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
142927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSizexOES ( GLfixed size ) */
143027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
143127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSizexOES__I
143227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint size) {
1433a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointSizexOES(
1434a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)size
1435a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
143627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
143727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
143827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) */
143927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
144027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffsetxOES__II
144127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint factor, jint units) {
1442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPolygonOffsetxOES(
1443a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)factor,
1444a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)units
1445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
144627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
144727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
144827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */
144927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
145027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatexOES__IIII
145127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) {
1452a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glRotatexOES(
1453a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)angle,
1454a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1455a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1456a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1457a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
145827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
145927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
146027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) */
146127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
146227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoveragexOES__IZ
146327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint value, jboolean invert) {
1464a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glSampleCoveragexOES(
1465a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)value,
1466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLboolean)invert
1467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
146827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
146927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
147027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) */
147127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
147227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalexOES__III
147327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
1474a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glScalexOES(
1475a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1476a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1477a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1478a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
147927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
148027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
148127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) */
148227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
148327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxOES__III
148427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
1485a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxOES(
1486a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1487a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1488a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1489a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
149027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
149127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
149227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
149327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
149427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__II_3II
149527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1499a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1500a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1501a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1502a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1503a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1504a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1505a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1506a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1507a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1508a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1511a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1512a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1513a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
1514a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1515a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1516a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1517a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1518a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1519a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1520a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
152427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
152527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
152627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
152727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
152827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__IILjava_nio_IntBuffer_2
152927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1530a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1531a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1532a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1533a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1534a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1535a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
1536a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1537a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1539a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1541a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1542a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
154327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
154427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
154527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) */
154627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
154727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxOES__III
154827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
1549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxOES(
1550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1551a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1552a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1553a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
155427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
155527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
155627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
155727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
155827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__II_3II
155927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1565a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
1566a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1567a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1568a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1569a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
1570a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1571a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1572a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1573a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1574a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
1578a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1579a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1580a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1581a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1582a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1583a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1585a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1586a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1587a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
158827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
158927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
159027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
159127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
159227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__IILjava_nio_IntBuffer_2
159327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1594a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
1595a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1596a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1597a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1598a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
1599a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
1600a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1601a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1602a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1603a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1605a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1606a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
160727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
160827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
160927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) */
161027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
161127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatexOES__III
161227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
1613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTranslatexOES(
1614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1617a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
161827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
161927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
162027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) */
162127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
162227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsRenderbufferOES__I
162327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint renderbuffer) {
162473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
162573108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsRenderbufferOES(
162673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
162773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
162873108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
162927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
163027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
163127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) */
163227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
163327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindRenderbufferOES__II
163427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) {
163573108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindRenderbufferOES(
163673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
163773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
163873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
163927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
164027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
164127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
164227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
164327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__I_3II
164427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
164573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
164673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
164773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
164873108675c944ab4ee89631dced23566b12341b66Jack Palevich
164973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
165073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "renderbuffers == null");
165173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
165273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
165373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
165473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
165573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
165673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
165773108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
165873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
165973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < n");
166073108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
166173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
166273108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
166373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
166473108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
166573108675c944ab4ee89631dced23566b12341b66Jack Palevich
166673108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
166773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
166873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
166973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
167073108675c944ab4ee89631dced23566b12341b66Jack Palevich
167173108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
167273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
167373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
167473108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
167573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
167627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
167727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
167827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
167927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
168027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2
168127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
168273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
168373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
168473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
168573108675c944ab4ee89631dced23566b12341b66Jack Palevich
168673108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining);
168773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
168873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < n");
168973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
169073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
169173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
169273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
169373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
169473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
169573108675c944ab4ee89631dced23566b12341b66Jack Palevich
169673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
169773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
169873108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, JNI_FALSE);
169973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
170027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
170127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
170227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
170327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
170427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__I_3II
170527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
170673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
170773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
170873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
170973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
171073108675c944ab4ee89631dced23566b12341b66Jack Palevich
171173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
171273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
171373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "renderbuffers == null");
171473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
171573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
171673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
171773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
171873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
171973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
172073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
172173108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
172273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
172373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
172473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < n");
172573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
172673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
172773108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
172873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
172973108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
173073108675c944ab4ee89631dced23566b12341b66Jack Palevich
173173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
173273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
173373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
173473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
173573108675c944ab4ee89631dced23566b12341b66Jack Palevich
173673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
173773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
173873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
173973108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
174073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
174127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
174227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
174327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
174427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
174527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2
174627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
174773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
174873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
174973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
175073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
175173108675c944ab4ee89631dced23566b12341b66Jack Palevich
175273108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining);
175373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
175473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
175573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < n");
175673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
175773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
175873108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
175973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
176073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
176173108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
176273108675c944ab4ee89631dced23566b12341b66Jack Palevich
176373108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
176473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
176573108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE);
176673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
176727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
176827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
176927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */
177027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
177127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRenderbufferStorageOES__IIII
177227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) {
177373108675c944ab4ee89631dced23566b12341b66Jack Palevich    glRenderbufferStorageOES(
177473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
177573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)internalformat,
177673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)width,
177773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)height
177873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
177927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
178027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
178127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
178227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
178327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__II_3II
178427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
178573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
178673108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
178773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
178873108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
178973108675c944ab4ee89631dced23566b12341b66Jack Palevich
179073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
179173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
179273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "params == null");
179373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
179473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
179573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
179673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
179773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
179873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
179973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
180073108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
180173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
180273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
180373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 1");
180473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
180573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
180673108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
180773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
180873108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
180973108675c944ab4ee89631dced23566b12341b66Jack Palevich
181073108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
181173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
181273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
181373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
181473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
181573108675c944ab4ee89631dced23566b12341b66Jack Palevich
181673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
181773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
181873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
181973108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
182073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
182127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
182227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
182327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
182427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
182527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2
182627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
182773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
182873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
182973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
183073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
183173108675c944ab4ee89631dced23566b12341b66Jack Palevich
183273108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
183373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
183473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
183573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 1");
183673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
183773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
183873108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
183973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
184073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
184173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
184273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
184373108675c944ab4ee89631dced23566b12341b66Jack Palevich
184473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
184573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
184673108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
184773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
184827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
184927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
185027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsFramebufferOES ( GLuint framebuffer ) */
185127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
185227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsFramebufferOES__I
185327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint framebuffer) {
185473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
185573108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsFramebufferOES(
185673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
185773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
185873108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
185927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
186027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
186127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) */
186227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
186327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindFramebufferOES__II
186427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint framebuffer) {
186573108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindFramebufferOES(
186673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
186773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
186873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
186927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
187027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
187127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
187227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
187327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__I_3II
187427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
187573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
187673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
187773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
187873108675c944ab4ee89631dced23566b12341b66Jack Palevich
187973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
188073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "framebuffers == null");
188173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
188273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
188373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
188473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
188573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
188673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
188773108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
188873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
188973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < n");
189073108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
189173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
189273108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
189373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
189473108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
189573108675c944ab4ee89631dced23566b12341b66Jack Palevich
189673108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
189773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
189873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
189973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
190073108675c944ab4ee89631dced23566b12341b66Jack Palevich
190173108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
190273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
190373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
190473108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
190573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
190627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
190727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
190827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
190927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
191027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2
191127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
191273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
191373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
191473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
191573108675c944ab4ee89631dced23566b12341b66Jack Palevich
191673108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining);
191773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
191873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < n");
191973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
192073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
192173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
192273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
192373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
192473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
192573108675c944ab4ee89631dced23566b12341b66Jack Palevich
192673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
192773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
192873108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, JNI_FALSE);
192973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
193027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
193127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
193227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
193327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
193427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__I_3II
193527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
193673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
193773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
193873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
193973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
194073108675c944ab4ee89631dced23566b12341b66Jack Palevich
194173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
194273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
194373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "framebuffers == null");
194473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
194573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
194673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
194773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
194873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
194973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
195073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
195173108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
195273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
195373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
195473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < n");
195573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
195673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
195773108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
195873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
195973108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
196073108675c944ab4ee89631dced23566b12341b66Jack Palevich
196173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
196273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
196373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
196473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
196573108675c944ab4ee89631dced23566b12341b66Jack Palevich
196673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
196773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
196873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
196973108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
197073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
197127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
197227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
197327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
197427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
197527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2
197627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
197773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
197873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
197973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
198073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
198173108675c944ab4ee89631dced23566b12341b66Jack Palevich
198273108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining);
198373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
198473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
198573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < n");
198673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
198773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
198873108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
198973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
199073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
199173108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
199273108675c944ab4ee89631dced23566b12341b66Jack Palevich
199373108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
199473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
199573108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE);
199673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
199727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
199827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
199927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLenum glCheckFramebufferStatusOES ( GLenum target ) */
200027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jint
200127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCheckFramebufferStatusOES__I
200227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
200373108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLenum _returnValue;
200473108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glCheckFramebufferStatusOES(
200573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
200673108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
200773108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
200827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
200927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
201027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */
201127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
201227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferRenderbufferOES__IIII
201327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) {
201473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferRenderbufferOES(
201573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
201673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
201773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)renderbuffertarget,
201873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
201973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
202027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
202127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
202227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */
202327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
202427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferTexture2DOES__IIIII
202527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) {
202673108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferTexture2DOES(
202773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
202873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
202973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)textarget,
203073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)texture,
203173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint)level
203273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
203327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
203427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
203527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
203627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
203727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__III_3II
203827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) {
203973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
204073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
204173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
204273108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
204373108675c944ab4ee89631dced23566b12341b66Jack Palevich
204473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
204573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
204673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "params == null");
204773108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
204873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
204973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
205073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
205173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
205273108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
205373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
205473108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
205573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
205673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
205773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "length - offset < 1");
205873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
205973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
206073108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
206173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
206273108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
206373108675c944ab4ee89631dced23566b12341b66Jack Palevich
206473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
206573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
206673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
206773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
206873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
206973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
207073108675c944ab4ee89631dced23566b12341b66Jack Palevich
207173108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
207273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
207373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
207473108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
207573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
207627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
207727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
207827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
207927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
208027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2
208127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) {
208273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
208373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
208473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
208573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
208673108675c944ab4ee89631dced23566b12341b66Jack Palevich
208773108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
208873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
208973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
209073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ThrowNew(IAEClass, "remaining() < 1");
209173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
209273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
209373108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
209473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
209573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
209673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
209773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
209873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
209973108675c944ab4ee89631dced23566b12341b66Jack Palevich
210073108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
210173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
210273108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
210373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
210427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
210527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
210627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenerateMipmapOES ( GLenum target ) */
210727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
210827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenerateMipmapOES__I
210927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
211073108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenerateMipmapOES(
211173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
211273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
211327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
211427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
211527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */
211627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
211727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCurrentPaletteMatrixOES__I
211827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint matrixpaletteindex) {
2119be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glCurrentPaletteMatrixOES(
2120be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLuint)matrixpaletteindex
2121be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
212227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
212327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
212427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadPaletteFromModelViewMatrixOES ( void ) */
212527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
212627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadPaletteFromModelViewMatrixOES__
212727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this) {
2128be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glLoadPaletteFromModelViewMatrixOES();
212927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
213027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
213127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
213227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2133be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I
2134be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2135be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
2136be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2137be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2138be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2139be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2140be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2141be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2142be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2143be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2144be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2145be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glMatrixIndexPointerOESBounds(
2146be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2147be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2148be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2149be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2150be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2151be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
215227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
215327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
215427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
215527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2156be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I
2157be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2158be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
2159be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2160be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2161be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2162be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2163be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2164be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2165be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2166be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2167be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2168be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glWeightPointerOESBounds(
2169be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2170be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2171be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2172be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2173be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2174be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
217527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
217627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
217727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) */
217827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
217927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangefOES__FF
218027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) {
2181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangefOES(
2182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zNear,
2183a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zFar
2184a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
218527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
218627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
218727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
218827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
218927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumfOES__FFFFFF
219027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumfOES(
2192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2196a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2197a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2198a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
219927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
220027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
220127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
220227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
220327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthofOES__FFFFFF
220427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthofOES(
2206a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2208a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2210a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
221327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
221427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
221527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
221627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
221727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__I_3FI
221827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) {
2219a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation_base = (GLfloat *) 0;
2220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2222a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2223a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
2224a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "equation == null");
2225a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2226a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2227a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2228a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2229a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2230a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
2232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfloat *)
2233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
2234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
2235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2236a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2237a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2240a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2241a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
2243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
2244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
224627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
224727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
224827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
224927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
225027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__ILjava_nio_FloatBuffer_2
225127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
2252a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2253a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining);
2257a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2258a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2259a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2260a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2261a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2262a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
2263a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
226427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
226527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
226627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
226727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
226827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__I_3FI
226927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) {
2270a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2271a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn_base = (GLfloat *) 0;
2272a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2273a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2274a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2275a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
2276a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2277a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "eqn == null");
2278a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2279a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2280a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2282a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2283a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2284a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2285a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
2286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2287a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "length - offset < 4");
2289a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2290a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2291a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfloat *)
2292a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
2293a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
2294a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2295a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2296a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2297a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2298a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2299a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2301a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
2302a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
2303a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
230527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
230627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
230727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
230827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
230927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2
231027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
2311a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2312a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2313a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2314a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2315a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2316a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining);
2317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2318a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2319a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "remaining() < 4");
2320a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2321a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2322a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2325a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2326a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2327a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2328a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2329a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
2330a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
233127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
233227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
233327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthfOES ( GLclampf depth ) */
233427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
233527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthfOES__F
233627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat depth) {
2337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthfOES(
2338a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)depth
2339a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
234027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
234127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
234227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) */
234327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
234427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfOES__IIF
234527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) {
2346a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfOES(
2347a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2348a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2349a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)param
2350a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
235127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
235227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
235327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
235427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
235527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__II_3FI
235627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
2357a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
2358a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2359a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2360a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2361a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2362a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2363a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2364a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2366a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2367a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2368a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2369a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2370a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
2371a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2373a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2374a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
2375a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2376a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2377a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2378a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2379a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2380a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2381a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2382a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2383a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2384a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
238527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
238627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
238727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
238827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
238927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__IILjava_nio_FloatBuffer_2
239027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2393a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2394a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2395a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
2396a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
2397a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2398a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2401a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2402a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2403a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
240427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
240527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
240627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) */
240727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
240827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGeniOES__III
240927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
2410a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGeniOES(
2411a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2412a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2413a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint)param
2414a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
241527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
241627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
241727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
241827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
241927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__II_3II
242027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
2421a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
2422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2423a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2424a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2425a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2426a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2427a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2428a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2429a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2430a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2431a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2432a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2433a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2434a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
2435a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2436a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2437a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2438a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
2439a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2440a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2441a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2443a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2444a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2446a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2447a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2448a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
244927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
245027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
245127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
245227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
245327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__IILjava_nio_IntBuffer_2
245427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2455a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2456a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2457a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2458a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2459a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
2460a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
2461a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2462a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2463a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2464a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2465a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
246827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
246927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
247027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) */
247127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
247227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxOES__III
247327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
2474a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxOES(
2475a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2476a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2477a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
2478a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
247927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
248027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
248127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
248227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
248327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__II_3II
248427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
2485a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
2486a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2487a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2488a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2489a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2490a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2491a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2492a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2493a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2494a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2495a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
2499a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2500a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2501a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2502a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
2503a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2504a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2505a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2506a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2507a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2508a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2511a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2512a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
251327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
251427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
251527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
251627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
251727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__IILjava_nio_IntBuffer_2
251827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2519a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2520a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
2524a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
2525a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2526a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2527a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2528a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2529a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2530a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2531a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
253227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
253327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
253427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
253527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
253627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__II_3FI
253727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
2538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2539a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
2540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2541a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2542a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2543a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2544a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2545a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2546a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2547a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2551a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2552a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2553a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2554a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
2555a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2556a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2557a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2558a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
2559a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2565a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2566a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2567a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2568a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
256927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
257027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
257127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
257227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
257327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2
257427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2578a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2579a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2580a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
2581a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
2582a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2583a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2585a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2586a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2587a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
2588a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
258927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
259027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
259127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
259227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
259327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__II_3II
259427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
2595a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2596a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
2597a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2598a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2599a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2600a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2601a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2602a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2603a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2605a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2606a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2607a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2608a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2609a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2610a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2611a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
2612a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
2616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2617a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2618a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2619a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2620a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2621a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2622a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2623a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2624a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
262627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
262727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
262827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
262927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
263027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__IILjava_nio_IntBuffer_2
263127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2632a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2633a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2634a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2635a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2636a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2637a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
2638a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
2639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2640a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2641a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2642a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2643a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2644a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
2645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
264627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
264727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
264827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
264927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
265027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__II_3II
265127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
2652a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2653a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
2654a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2655a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2656a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2657a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
2658a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2659a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "params == null");
2660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2661a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2662a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2663a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
2664a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ThrowNew(IAEClass, "offset < 0");
2665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2666a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2667a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2668a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
2669a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2670a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2671a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2672a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
2673a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2674a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2676a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2677a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2678a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2679a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2682a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
268327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
268427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
268527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
268627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
268727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__IILjava_nio_IntBuffer_2
268827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
2690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
2691a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2692a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2693a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2694a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
2695a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
2696a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2697a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2698a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2699a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2701a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
2702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
270327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
270427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
270527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic const char *classPathName = "android/opengl/GLES11Ext";
270627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
270727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic JNINativeMethod methods[] = {
270827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit },
270927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationSeparateOES", "(II)V", (void *) android_glBlendEquationSeparateOES__II },
271027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendFuncSeparateOES", "(IIII)V", (void *) android_glBlendFuncSeparateOES__IIII },
271127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationOES", "(I)V", (void *) android_glBlendEquationOES__I },
271227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS },
271327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII },
271427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII },
271527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI },
271627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 },
271727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II },
271827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 },
271927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II },
272027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 },
272127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF },
272227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI },
272327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 },
272427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetTexture2DOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2 },
272527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetRenderbufferStorageOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2 },
272627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFuncxOES", "(II)V", (void *) android_glAlphaFuncxOES__II },
272727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColorxOES", "(IIII)V", (void *) android_glClearColorxOES__IIII },
272827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthxOES", "(I)V", (void *) android_glClearDepthxOES__I },
272927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(I[II)V", (void *) android_glClipPlanexOES__I_3II },
273027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanexOES__ILjava_nio_IntBuffer_2 },
273127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4xOES", "(IIII)V", (void *) android_glColor4xOES__IIII },
273227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangexOES", "(II)V", (void *) android_glDepthRangexOES__II },
273327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxOES", "(II)V", (void *) android_glFogxOES__II },
273427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(I[II)V", (void *) android_glFogxvOES__I_3II },
273527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxvOES__ILjava_nio_IntBuffer_2 },
273627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumxOES", "(IIIIII)V", (void *) android_glFrustumxOES__IIIIII },
273727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(I[II)V", (void *) android_glGetClipPlanexOES__I_3II },
273827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanexOES__ILjava_nio_IntBuffer_2 },
273927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(I[II)V", (void *) android_glGetFixedvOES__I_3II },
274027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedvOES__ILjava_nio_IntBuffer_2 },
274127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(II[II)V", (void *) android_glGetLightxvOES__II_3II },
274227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxvOES__IILjava_nio_IntBuffer_2 },
274327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(II[II)V", (void *) android_glGetMaterialxvOES__II_3II },
274427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxvOES__IILjava_nio_IntBuffer_2 },
274527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(II[II)V", (void *) android_glGetTexEnvxvOES__II_3II },
274627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2 },
274727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(II[II)V", (void *) android_glGetTexParameterxvOES__II_3II },
274827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2 },
274927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxOES", "(II)V", (void *) android_glLightModelxOES__II },
275027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(I[II)V", (void *) android_glLightModelxvOES__I_3II },
275127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxvOES__ILjava_nio_IntBuffer_2 },
275227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxOES", "(III)V", (void *) android_glLightxOES__III },
275327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(II[II)V", (void *) android_glLightxvOES__II_3II },
275427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxvOES__IILjava_nio_IntBuffer_2 },
275527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidthxOES", "(I)V", (void *) android_glLineWidthxOES__I },
275627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "([II)V", (void *) android_glLoadMatrixxOES___3II },
275727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixxOES__Ljava_nio_IntBuffer_2 },
275827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxOES", "(III)V", (void *) android_glMaterialxOES__III },
275927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(II[II)V", (void *) android_glMaterialxvOES__II_3II },
276027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxvOES__IILjava_nio_IntBuffer_2 },
276127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "([II)V", (void *) android_glMultMatrixxOES___3II },
276227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixxOES__Ljava_nio_IntBuffer_2 },
276327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4xOES", "(IIIII)V", (void *) android_glMultiTexCoord4xOES__IIIII },
276427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3xOES", "(III)V", (void *) android_glNormal3xOES__III },
276527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthoxOES", "(IIIIII)V", (void *) android_glOrthoxOES__IIIIII },
276627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxOES", "(II)V", (void *) android_glPointParameterxOES__II },
276727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(I[II)V", (void *) android_glPointParameterxvOES__I_3II },
276827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxvOES__ILjava_nio_IntBuffer_2 },
276927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSizexOES", "(I)V", (void *) android_glPointSizexOES__I },
277027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffsetxOES", "(II)V", (void *) android_glPolygonOffsetxOES__II },
277127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatexOES", "(IIII)V", (void *) android_glRotatexOES__IIII },
277227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoveragexOES", "(IZ)V", (void *) android_glSampleCoveragexOES__IZ },
277327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalexOES", "(III)V", (void *) android_glScalexOES__III },
277427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxOES", "(III)V", (void *) android_glTexEnvxOES__III },
277527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(II[II)V", (void *) android_glTexEnvxvOES__II_3II },
277627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxvOES__IILjava_nio_IntBuffer_2 },
277727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxOES", "(III)V", (void *) android_glTexParameterxOES__III },
277827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(II[II)V", (void *) android_glTexParameterxvOES__II_3II },
277927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxvOES__IILjava_nio_IntBuffer_2 },
278027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatexOES", "(III)V", (void *) android_glTranslatexOES__III },
278127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I },
278227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II },
278327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II },
278427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 },
278527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II },
278627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 },
278727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII },
278827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II },
278927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 },
279027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I },
279127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II },
279227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II },
279327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 },
279427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II },
279527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 },
279627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I },
279727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII },
279827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII },
279927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II },
280027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 },
280127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I },
280227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I },
280327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ },
2804be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I },
2805be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I },
280627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangefOES", "(FF)V", (void *) android_glDepthRangefOES__FF },
280727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumfOES", "(FFFFFF)V", (void *) android_glFrustumfOES__FFFFFF },
280827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthofOES", "(FFFFFF)V", (void *) android_glOrthofOES__FFFFFF },
280927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(I[FI)V", (void *) android_glClipPlanefOES__I_3FI },
281027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanefOES__ILjava_nio_FloatBuffer_2 },
281127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(I[FI)V", (void *) android_glGetClipPlanefOES__I_3FI },
281227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2 },
281327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthfOES", "(F)V", (void *) android_glClearDepthfOES__F },
281427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfOES", "(IIF)V", (void *) android_glTexGenfOES__IIF },
281527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(II[FI)V", (void *) android_glTexGenfvOES__II_3FI },
281627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfvOES__IILjava_nio_FloatBuffer_2 },
281727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGeniOES", "(III)V", (void *) android_glTexGeniOES__III },
281827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(II[II)V", (void *) android_glTexGenivOES__II_3II },
281927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenivOES__IILjava_nio_IntBuffer_2 },
282027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxOES", "(III)V", (void *) android_glTexGenxOES__III },
282127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(II[II)V", (void *) android_glTexGenxvOES__II_3II },
282227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxvOES__IILjava_nio_IntBuffer_2 },
282327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(II[FI)V", (void *) android_glGetTexGenfvOES__II_3FI },
282427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2 },
282527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(II[II)V", (void *) android_glGetTexGenivOES__II_3II },
282627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenivOES__IILjava_nio_IntBuffer_2 },
282727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(II[II)V", (void *) android_glGetTexGenxvOES__II_3II },
282827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxvOES__IILjava_nio_IntBuffer_2 },
282927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich};
283027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
283127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichint register_android_opengl_jni_GLES11Ext(JNIEnv *_env)
283227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
283327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    int err;
283427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
283527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    return err;
283627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
2837