127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/*
227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Copyright 2009, The Android Open Source Project
427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Licensed under the Apache License, Version 2.0 (the "License");
624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** you may not use this file except in compliance with the License.
724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** You may obtain a copy of the License at
827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes**     http://www.apache.org/licenses/LICENSE-2.0
1027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich**
1124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Unless required by applicable law or agreed to in writing, software
1224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** distributed under the License is distributed on an "AS IS" BASIS,
1324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** See the License for the specific language governing permissions and
1527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** limitations under the License.
1627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich*/
1727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
1827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// This source file is automatically generated
1927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
2024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes#include "jni.h"
2124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes#include "JNIHelp.h"
2227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <android_runtime/AndroidRuntime.h>
2327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <utils/misc.h>
2427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
2527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <assert.h>
2627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <GLES/gl.h>
27be509c9c7de5929d014dfe6d45e71cc8454ede0fJack Palevich#include <GLES/glext.h>
2827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
29be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich/* special calls implemented in Android's GLES wrapper used to more
30be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich * efficiently bound-check passed arrays */
31be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichextern "C" {
32be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, GLsizei stride,
33be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        const GLvoid *ptr, GLsizei count);
34be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichGL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, GLsizei stride,
35be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        const GLvoid *ptr, GLsizei count);
36be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich}
37be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
3827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic int initialized = 0;
3927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
4027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass nioAccessClass;
4127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass bufferClass;
4227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBasePointerID;
4327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayID;
4427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayOffsetID;
4527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID positionID;
4627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID limitID;
4727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID elementSizeShiftID;
4827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
4927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* Cache method IDs each time the class is loaded. */
5027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
5127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
5224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott HughesnativeClassInit(JNIEnv *_env, jclass glImplClass)
5327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
5427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess");
5527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal);
5627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
5727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
5827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
5927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
6027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBasePointerID = _env->GetStaticMethodID(nioAccessClass,
6127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBasePointer", "(Ljava/nio/Buffer;)J");
6227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayID = _env->GetStaticMethodID(nioAccessClass,
6327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;");
6427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass,
6527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArrayOffset", "(Ljava/nio/Buffer;)I");
6627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
6727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    positionID = _env->GetFieldID(bufferClass, "position", "I");
6827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limitID = _env->GetFieldID(bufferClass, "limit", "I");
6927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShiftID =
7027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetFieldID(bufferClass, "_elementSizeShift", "I");
7127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
7227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
7327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
7427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void *
7517045a16575ece34cfadb63da4791f115625df78Thomas TafertshofergetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset)
7627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
7727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint position;
7827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint limit;
7927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint elementSizeShift;
8027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jlong pointer;
8127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
8227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    position = _env->GetIntField(buffer, positionID);
8327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limit = _env->GetIntField(buffer, limitID);
8427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *remaining = (limit - position) << elementSizeShift;
8627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    pointer = _env->CallStaticLongMethod(nioAccessClass,
8727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBasePointerID, buffer);
8827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (pointer != 0L) {
8927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        *array = NULL;
9027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        return (void *) (jint) pointer;
9127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
9224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes
9327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
9427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayID, buffer);
9517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    *offset = _env->CallStaticIntMethod(nioAccessClass,
9627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayOffsetID, buffer);
9717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    return NULL;
9827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
9927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
10027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
10127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
10227f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
10327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
10427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _env->ReleasePrimitiveArrayCritical(array, data,
10527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich					   commit ? 0 : JNI_ABORT);
10627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
10727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
108be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichstatic void *
109be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) {
110be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    char* buf = (char*) _env->GetDirectBufferAddress(buffer);
111be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (buf) {
112be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint position = _env->GetIntField(buffer, positionID);
113be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
114be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        buf += position << elementSizeShift;
115be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    } else {
11624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes        jniThrowException(_env, "java/lang/IllegalArgumentException",
11724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes                          "Must use a native order direct Buffer");
118be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
119be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    return (void*) buf;
120be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich}
12127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// --------------------------------------------------------------------------
12227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) */
12327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
12427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationSeparateOES__II
12527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) {
126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationSeparateOES(
127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeRGB,
128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeAlpha
129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
13027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
13127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
13227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */
13327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
13427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendFuncSeparateOES__IIII
13527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendFuncSeparateOES(
137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcRGB,
138a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstRGB,
139a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcAlpha,
140a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstAlpha
141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
14227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
14327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
14427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationOES ( GLenum mode ) */
14527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
14627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationOES__I
14727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint mode) {
148a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationOES(
149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)mode
150a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
15127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
15227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
15327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */
15427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
15527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsOES__SSSSS
15627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) {
15727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsOES(
15827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)x,
15927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)y,
16027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)z,
16127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)width,
16227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)height
16327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
16427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
16527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
16627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */
16727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
16827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexiOES__IIIII
16927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
17027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexiOES(
17127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)x,
17227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)y,
17327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)z,
17427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)width,
17527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)height
17627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
17727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
17827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
17927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */
18027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
18127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxOES__IIIII
18227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
18327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxOES(
18427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)x,
18527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)y,
18627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)z,
18727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)width,
18827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)height
18927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
19027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
19127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
19227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
19327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
19427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES___3SI
19527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) {
1962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
1972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
1982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
19927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords_base = (GLshort *) 0;
20027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
20127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
20227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
20327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
2042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
20727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
20827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
20927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
2102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
21327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
21427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
21527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
21627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
2172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
22027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
22127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
22227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLshort *)
22327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
22427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
22527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
22627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
22727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
22827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
22927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
23027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
23127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
23227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
23327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
23427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
2352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
2362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
2372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
23827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
23927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
24027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
24127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
24227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2
24327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
2442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
2452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
2462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
24727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
24817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
24927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
25027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
25127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
25217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
25327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
2542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
25727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
25827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
25917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
26017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
26117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLshort *) (_coordsBase + _bufferOffset);
26217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
26327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
26427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
26527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
26627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
26727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
26827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
26927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
27027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
2712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
2722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
2732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
27427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
27527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
27627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
27727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
27827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES___3II
27927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
2802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
2812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
2822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
28327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords_base = (GLint *) 0;
28427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
28527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
28627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
28727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
2882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
29127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
29227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
29327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
2942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
2952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
2962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
29727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
29827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
29927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
30027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
3012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
3022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
3032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
30427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
30527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
30627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLint *)
30727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
30827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
30927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
31027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
31127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
31227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
31327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
31427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
31527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
31627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
31727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
31827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
3192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
3202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
3212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
32227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
32327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
32427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
32527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
32627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2
32727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
3282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
3292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
3302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
33127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
33217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
33327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
33427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
33527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
33617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
33727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
3382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
3392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
3402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
34127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
34227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
34317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
34417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
34517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLint *) (_coordsBase + _bufferOffset);
34617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
34727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
34827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
34927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
35027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
35127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
35227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
35327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
35427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
3552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
3562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
3572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
35827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
35927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
36027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
36127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
36227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES___3II
36327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
3642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
3652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
3662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
36727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords_base = (GLfixed *) 0;
36827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
36927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
37027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
37127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
3722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
3732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
3742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
37527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
37627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
37727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
3782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
3792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
3802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
38127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
38227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
38327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
38427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
3852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
3862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
3872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
38827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
38927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
39027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfixed *)
39127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
39227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
39327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
39427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
39527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
39627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
39727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
39827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
39927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
40027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
40127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
40227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
4032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
4042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
4052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
40627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
40727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
40827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
40927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
41027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2
41127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
4122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
4132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
4142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
41527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
41617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
41727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
41827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
41927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
42017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
42127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
4222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
42527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
42627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
42817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
42917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLfixed *) (_coordsBase + _bufferOffset);
43017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
43127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
43227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
43327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
43427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
43527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
43627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
43727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
43827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
4392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
4402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
4412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
44227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
44327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
44427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */
44527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
44627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfOES__FFFFF
44727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) {
44827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfOES(
44927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)x,
45027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)y,
45127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)z,
45227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)width,
45327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)height
45427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
45527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
45627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
45727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
45827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
45927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES___3FI
46027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) {
4612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
4622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
4632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
46427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords_base = (GLfloat *) 0;
46527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
46627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
46727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
46827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
4692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
47227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
47327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
47427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
4752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
47827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
47927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
48027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
48127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
4822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
48527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
48627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
48727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfloat *)
48827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
48927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
49027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
49127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
49227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
49327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
49427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
49527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
49627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
49727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
49827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
49927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
5002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
5012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
5022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
50327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
50427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
50527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
50627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
50727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2
50827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
5092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
5102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
5112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
51227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
51317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
51427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
51527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
51627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
51717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
51827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
5192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
52227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
52327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
52417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
52517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
52617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLfloat *) (_coordsBase + _bufferOffset);
52717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
52827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
52927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
53027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
53127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
53227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
53327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
53427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
53527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
5362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
5372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
5382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
53927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
54027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
54127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) */
54227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
54327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2
54427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
545a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
54617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
547a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
55017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining, &_bufferOffset);
55117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (image == NULL) {
55217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
55317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        image = (GLeglImageOES) (_imageBase + _bufferOffset);
55417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
555a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetTexture2DOES(
556a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
557a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
558a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
559a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
5602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, image, JNI_TRUE);
561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
56227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
56327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
56427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) */
56527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
56627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2
56727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
568a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
56917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
570a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
571a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
572a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
57317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining, &_bufferOffset);
57417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (image == NULL) {
57517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
57617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        image = (GLeglImageOES) (_imageBase + _bufferOffset);
57717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
578a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetRenderbufferStorageOES(
579a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
580a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
581a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
582a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
5832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, image, JNI_TRUE);
584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
58527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
58627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
58727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFuncxOES ( GLenum func, GLclampx ref ) */
58827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
58927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFuncxOES__II
59027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint func, jint ref) {
591a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glAlphaFuncxOES(
592a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)func,
593a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)ref
594a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
59527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
59627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
59727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */
59827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
59927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColorxOES__IIII
60027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
601a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearColorxOES(
602a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)red,
603a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)green,
604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)blue,
605a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)alpha
606a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
60727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
60827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
60927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthxOES ( GLclampx depth ) */
61027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
61127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthxOES__I
61227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint depth) {
613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthxOES(
614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)depth
615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
61627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
61727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
61827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
61927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
62027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__I_3II
62127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) {
6222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
6232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
6242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation_base = (GLfixed *) 0;
626a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
627a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
628a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
629a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
6302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "equation == null";
633a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
634a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
635a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
6362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
640a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
641a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
642a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfixed *)
643a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
644a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
647a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
648a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
649a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
650a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
651a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
652a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
653a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
654a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
655a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
6562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
6572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
6582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
65927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
66027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
66127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
66227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
66327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__ILjava_nio_IntBuffer_2
66427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
66617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
667a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
668a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
669a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
67017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
67117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (equation == NULL) {
67217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
67317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        equation = (GLfixed *) (_equationBase + _bufferOffset);
67417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
676a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
677a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
678a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
679a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
68227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
68327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
68427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */
68527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
68627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4xOES__IIII
68727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
688a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glColor4xOES(
689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)red,
690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)green,
691a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)blue,
692a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)alpha
693a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
69427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
69527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
69627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) */
69727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
69827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangexOES__II
69927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint zNear, jint zFar) {
700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangexOES(
701a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zNear,
702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zFar
703a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
70427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
70527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
70627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxOES ( GLenum pname, GLfixed param ) */
70727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
70827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxOES__II
70927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
710a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxOES(
711a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
712a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
713a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
71427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
71527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
71627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
71727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
71827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__I_3II
71927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
7202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
7212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
7222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
723a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
724a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
725a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
726a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
727a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
7282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
7292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
7302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
731a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
732a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
733a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
7342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
7352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
7362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
737a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
738a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
739a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
741a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
742a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
744a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
745a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
746a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
747a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
748a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
749a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
750a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
751a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
752a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
753a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
7542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
7552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
7562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
75727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
75827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
75927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
76027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
76127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__ILjava_nio_IntBuffer_2
76227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
76417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
765a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
766a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
767a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
76817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
76917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
77017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
77117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
77217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
773a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
774a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
776a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
779a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
78027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
78127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
78227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
78327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
78427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumxOES__IIIIII
78527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
786a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumxOES(
787a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
788a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
790a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
79427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
79527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
79627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
79727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
79827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__I_3II
79927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) {
800a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
8012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
8022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
803a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn_base = (GLfixed *) 0;
804a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
805a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
807a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
808a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
8092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "eqn == null";
811a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
812a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
813a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
814a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
8152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
817a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
818a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
819a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
821a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
8222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 4 < needed";
824a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
825a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
826a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfixed *)
827a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
828a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
829a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
834a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
835a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
836a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
837a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
838a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
839a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
8402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
8412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
8422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
84327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
84427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
84527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
84627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
84727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__ILjava_nio_IntBuffer_2
84827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
849a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
8502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
8512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
852a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
85317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
856a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
85717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
8602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 4 < needed";
862a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
863a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
86417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (eqn == NULL) {
86517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
86617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        eqn = (GLfixed *) (_eqnBase + _bufferOffset);
86717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
868a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
875a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
8772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
8782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
8792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
88027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
88127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
88227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
88327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
88427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__I_3II
88527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
8872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
8882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
889a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
890a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
891a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
892a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
8952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
897a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
898a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
899a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
900a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
9012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
9022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
903a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
904a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
909a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
910a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
912a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
913a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
914a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
918a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
919a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
9202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
9212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
9222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
92327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
92427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
92527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
92627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
92727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__ILjava_nio_IntBuffer_2
92827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
93017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
933a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
93417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
93517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
93617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
93717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
93817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
939a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
940a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
941a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
942a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
943a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
9442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
94627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
94727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
94827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
94927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
95027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__II_3II
95127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
9532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
9542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
955a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
959a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
960a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
9612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
9622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
964a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
965a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
966a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
9672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
9682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
971a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
974a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
975a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
976a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
977a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
978a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
979a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
980a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
981a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
984a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
985a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
986a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
9872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
9882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
9892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
99027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
99127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
99227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
99327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
99427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__IILjava_nio_IntBuffer_2
99527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
99717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
100117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
100217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
100317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
100417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
100517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1006a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
1007a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
10122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1013a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
101427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
101527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
101627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
101727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
101827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__II_3II
101927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
1020a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
10212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
10222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1024a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1026a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1027a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1028a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1032a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1037a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1038a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1039a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1040a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1043a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1044a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
1045a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1046a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1047a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1050a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1051a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1052a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1053a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
10552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
10562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
10572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
105827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
105927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
106027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
106127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
106227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__IILjava_nio_IntBuffer_2
106327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
1064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
106517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1066a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
106917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
107017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
107117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
107217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
107317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
1075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1079a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
10802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
108227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
108327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
108427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
108527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
108627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__II_3II
108727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
1088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
10892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
10902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1091a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1092a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1093a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1094a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1095a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1096a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1101a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1105a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1106a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1107a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1108a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1109a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
1113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
1114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1117a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1118a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1119a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1120a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1121a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
11232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
11242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
11252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
112627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
112727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
112827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
112927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
113027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2
113127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
1132a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
113317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1134a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1135a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
113717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
113817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
113917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
114017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
114117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1142a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
1143a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
1144a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1145a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1146a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1147a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
11482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
115027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
115127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
115227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
115327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
115427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__II_3II
115527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1156a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
11572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
11582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1159a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1160a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1161a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1162a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1168a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1169a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1170a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1173a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1175a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1183a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1184a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1185a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1186a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1187a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1188a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1189a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1190a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
11912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
11922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
11932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
119427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
119527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
119627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
119727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
119827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2
119927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1200a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
120117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1202a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1203a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
120517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
120617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
120717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
120817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
120917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1210a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1215a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
12162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1217a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
121827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
121927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
122027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxOES ( GLenum pname, GLfixed param ) */
122127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
122227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxOES__II
122327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1224a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxOES(
1225a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1226a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1227a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
122827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
122927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
123027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
123127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
123227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__I_3II
123327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
12342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
12352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
12362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1237a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1240a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1241a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
12422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
12432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
12442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1247a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
12482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
12492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
12502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1251a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1252a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1253a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1257a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1258a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1259a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1260a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1261a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1262a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1263a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1264a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1265a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1266a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1267a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
12682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
12692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
12702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
127127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
127227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
127327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
127427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
127527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__ILjava_nio_IntBuffer_2
127627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1277a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
127817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1279a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1280a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
128217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
128317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
128417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
128517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
128617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1287a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1289a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1290a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1291a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1292a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1293a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
129427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
129527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
129627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) */
129727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
129827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxOES__III
129927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) {
1300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxOES(
1301a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1302a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1303a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
130527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
130627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
130727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
130827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
130927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__II_3II
131027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
13112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
13122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
13132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1314a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1315a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1316a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1318a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
13192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
13202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1322a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
13252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
13262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1328a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1329a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1330a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1331a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1332a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1333a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1334a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1335a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1336a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1338a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1339a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1340a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1341a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1342a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1343a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1344a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1345a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
13462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
13472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
13482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
134927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
135027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
135127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
135227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
135327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__IILjava_nio_IntBuffer_2
135427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
1355a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
135617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1357a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1358a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1359a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
136017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
136117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
136217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
136317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
136417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1366a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1367a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1368a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1369a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1370a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1371a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
137327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
137427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
137527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidthxOES ( GLfixed width ) */
137627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
137727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidthxOES__I
137827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint width) {
1379a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLineWidthxOES(
1380a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)width
1381a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
138227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
138327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
138427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
138527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
138627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES___3II
138727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
13882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
13892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
13902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1393a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
139427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
1395a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
13962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
13972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "m == null";
1399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1401a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
14022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
14032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
14042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1405a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1406a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1407a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1408a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1409a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1410a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1411a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1412a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1413a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1414a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1415a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1416a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1417a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1418a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1419a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1420a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
14212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
14222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
14232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
1424a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich}
1425a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1426a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
1427a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichstatic void
142827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES__Ljava_nio_IntBuffer_2
142927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1430a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
143117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1432a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1433a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1434a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
143517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
143617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (m == NULL) {
143717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
143817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        m = (GLfixed *) (_mBase + _bufferOffset);
143917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1440a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1441a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1443a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1444a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
144627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
144727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
144827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) */
144927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
145027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxOES__III
145127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) {
1452a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxOES(
1453a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1454a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1455a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1456a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
145727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
145827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
145927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
146027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
146127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__II_3II
146227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
14632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
14642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
14652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1468a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1469a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1470a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
14712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
14722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
14732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1474a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1475a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1476a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
14772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
14782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
14792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1480a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1481a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1482a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1483a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1484a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1485a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1486a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1487a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1488a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1489a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1490a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1491a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1492a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1493a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1494a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1495a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
14982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
14992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
15002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
150127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
150227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
150327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
150427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
150527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__IILjava_nio_IntBuffer_2
150627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
1507a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
150817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1511a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
151217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
151317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
151417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
151517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
151617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1517a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1518a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1519a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1520a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1524a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
152527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
152627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
152727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
152827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
152927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES___3II
153027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
15312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
15322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
15332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1534a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1535a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1536a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1537a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
15392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
15402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
15412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "m == null";
1542a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1543a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1544a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
15452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
15462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
15472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1551a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1552a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1553a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1554a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1555a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1556a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1557a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1558a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1559a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
15642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
15652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
15662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
156727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
156827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
156927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
157027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
157127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES__Ljava_nio_IntBuffer_2
157227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1573a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
157417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
157817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
157917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (m == NULL) {
158017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
158117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        m = (GLfixed *) (_mBase + _bufferOffset);
158217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1583a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1585a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1586a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1587a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1588a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
158927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
159027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
159127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */
159227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
159327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4xOES__IIIII
159427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) {
1595a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultiTexCoord4xOES(
1596a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1597a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)s,
1598a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)t,
1599a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)r,
1600a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)q
1601a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
160227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
160327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
160427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) */
160527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
160627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3xOES__III
160727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) {
1608a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glNormal3xOES(
1609a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nx,
1610a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)ny,
1611a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nz
1612a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
161327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
161427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
161527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
161627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
161727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthoxOES__IIIIII
161827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
1619a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthoxOES(
1620a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
1621a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
1622a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
1623a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
1624a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
1625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
1626a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
162727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
162827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
162927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxOES ( GLenum pname, GLfixed param ) */
163027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
163127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxOES__II
163227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1633a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxOES(
1634a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1635a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1636a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
163727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
163827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
163927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
164027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
164127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__I_3II
164227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
16432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
16442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
16452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1647a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1648a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1649a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1650a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
16512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1654a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1655a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1656a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
16572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1661a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1662a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1663a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1664a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1666a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1667a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1668a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1669a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1670a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1671a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1672a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1673a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1674a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1676a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
16772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
16782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
16792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
168027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
168127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
168227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
168327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
168427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__ILjava_nio_IntBuffer_2
168527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1686a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
168717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1688a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
169117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
169217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
169317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
169417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
169517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1696a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1697a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1698a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1699a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1701a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
170327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
170427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
170527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSizexOES ( GLfixed size ) */
170627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
170727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSizexOES__I
170827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint size) {
1709a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointSizexOES(
1710a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)size
1711a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
171227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
171327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
171427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) */
171527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
171627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffsetxOES__II
171727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint factor, jint units) {
1718a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPolygonOffsetxOES(
1719a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)factor,
1720a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)units
1721a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
172227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
172327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
172427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */
172527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
172627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatexOES__IIII
172727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) {
1728a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glRotatexOES(
1729a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)angle,
1730a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1731a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1732a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1733a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
173427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
173527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
173627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) */
173727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
173827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoveragexOES__IZ
173927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint value, jboolean invert) {
1740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glSampleCoveragexOES(
1741a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)value,
1742a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLboolean)invert
1743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
174427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
174527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
174627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) */
174727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
174827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalexOES__III
174927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
1750a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glScalexOES(
1751a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1752a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1753a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1754a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
175527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
175627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
175727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) */
175827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
175927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxOES__III
176027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
1761a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxOES(
1762a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1764a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1765a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
176627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
176727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
176827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
176927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
177027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__II_3II
177127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
17722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
17732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
17742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1776a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1779a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
17802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
17812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
17822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1783a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1784a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1785a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
17862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
17872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
17882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1790a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1794a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1795a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1796a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
1797a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1798a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1799a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1800a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1801a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1802a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1803a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1804a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1805a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
18072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
18082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
18092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
181027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
181127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
181227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
181327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
181427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__IILjava_nio_IntBuffer_2
181527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1816a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
181717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1818a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1819a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
182117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
182217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
182317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
182417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
182517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1826a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
1827a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1828a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1829a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
183427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
183527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
183627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) */
183727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
183827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxOES__III
183927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
1840a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxOES(
1841a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1842a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1843a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1844a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
184527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
184627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
184727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
184827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
184927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__II_3II
185027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
18512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
18522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
18532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
1854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1856a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1857a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
18592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
18602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
18612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1862a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1863a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1864a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
18652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
18662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
18672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1868a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1875a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
1876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1877a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
18862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
18872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
18882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
188927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
189027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
189127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
189227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
189327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__IILjava_nio_IntBuffer_2
189427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
189617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1897a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1898a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1899a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
190017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
190117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
190217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
190317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
190417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
1906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1909a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1910a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1912a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
191327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
191427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
191527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) */
191627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
191727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatexOES__III
191827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
1919a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTranslatexOES(
1920a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1921a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1922a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1923a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
192427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
192527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
192627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) */
192727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
192827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsRenderbufferOES__I
192927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint renderbuffer) {
193073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
193173108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsRenderbufferOES(
193273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
193373108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
193473108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
193527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
193627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
193727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) */
193827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
193927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindRenderbufferOES__II
194027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) {
194173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindRenderbufferOES(
194273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
194373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
194473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
194527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
194627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
194727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
194827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
194927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__I_3II
195027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
19512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
19522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
19532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
195473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
195573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
195673108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
195773108675c944ab4ee89631dced23566b12341b66Jack Palevich
195873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
19592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
19602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
19612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "renderbuffers == null";
196273108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
196373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
196473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
19652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
19662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
19672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
196873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
196973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
197073108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
197173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
19722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
19732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
19742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
197573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
197673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
197773108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
197873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
197973108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
198073108675c944ab4ee89631dced23566b12341b66Jack Palevich
198173108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
198273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
198373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
198473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
198573108675c944ab4ee89631dced23566b12341b66Jack Palevich
198673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
198773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
198873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
198973108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
199073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
19912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
19922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
19932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
199427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
199527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
199627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
199727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
199827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2
199927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
20002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
20012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
20022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
200373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
200417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
200573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
200673108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
200773108675c944ab4ee89631dced23566b12341b66Jack Palevich
200817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
200973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
20102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
20112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
201373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
201473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
201517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (renderbuffers == NULL) {
201617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
201717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
201817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
201973108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
202073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
202173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
202273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
202373108675c944ab4ee89631dced23566b12341b66Jack Palevich
202473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
202573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
202673108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, JNI_FALSE);
202773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
20282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
20292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
20302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
203127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
203227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
203327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
203427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
203527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__I_3II
203627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
203773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
20382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
20392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
204073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
204173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
204273108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
204373108675c944ab4ee89631dced23566b12341b66Jack Palevich
204473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
204573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
20462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "renderbuffers == null";
204873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
204973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
205073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
205173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
20522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
205473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
205573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
205673108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
205773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
205873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
20592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
206173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
206273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
206373108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
206473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
206573108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
206673108675c944ab4ee89631dced23566b12341b66Jack Palevich
206773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
206873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
206973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
207073108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
207173108675c944ab4ee89631dced23566b12341b66Jack Palevich
207273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
207373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
207473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
207573108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
207673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
20772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
20782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
20792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
208027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
208127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
208227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
208327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
208427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2
208527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
208673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
20872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
20882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
208973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
209017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
209173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
209273108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
209373108675c944ab4ee89631dced23566b12341b66Jack Palevich
209417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
209573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
209673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
20972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
209973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
210073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
210117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (renderbuffers == NULL) {
210217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
210317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
210417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
210573108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
210673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
210773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
210873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
210973108675c944ab4ee89631dced23566b12341b66Jack Palevich
211073108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
211173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
211273108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE);
211373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
21142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
21152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
21162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
211727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
211827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
211927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */
212027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
212127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRenderbufferStorageOES__IIII
212227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) {
212373108675c944ab4ee89631dced23566b12341b66Jack Palevich    glRenderbufferStorageOES(
212473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
212573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)internalformat,
212673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)width,
212773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)height
212873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
212927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
213027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
213127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
213227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
213327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__II_3II
213427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
213573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
21362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
21372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
213873108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
213973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
214073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
214173108675c944ab4ee89631dced23566b12341b66Jack Palevich
214273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
214373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
21442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
214673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
214773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
214873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
214973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
21502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
215273108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
215373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
215473108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
215573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
215673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
21572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 1 < needed";
215973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
216073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
216173108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
216273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
216373108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
216473108675c944ab4ee89631dced23566b12341b66Jack Palevich
216573108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
216673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
216773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
216873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
216973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
217073108675c944ab4ee89631dced23566b12341b66Jack Palevich
217173108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
217273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
217373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
217473108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
217573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
21762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
21772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
21782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
217927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
218027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
218127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
218227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
218327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2
218427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
218573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
21862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
21872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
218873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
218917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
219073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
219173108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
219273108675c944ab4ee89631dced23566b12341b66Jack Palevich
219317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
219473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
219573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
21962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 1 < needed";
219873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
219973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
220017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
220117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
220217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
220317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
220473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
220573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
220673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
220773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
220873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
220973108675c944ab4ee89631dced23566b12341b66Jack Palevich
221073108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
221173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
221273108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
221373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
22142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
22152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
22162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
221727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
221827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
221927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsFramebufferOES ( GLuint framebuffer ) */
222027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
222127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsFramebufferOES__I
222227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint framebuffer) {
222373108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
222473108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsFramebufferOES(
222573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
222673108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
222773108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
222827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
222927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
223027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) */
223127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
223227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindFramebufferOES__II
223327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint framebuffer) {
223473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindFramebufferOES(
223573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
223673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
223773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
223827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
223927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
224027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
224127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
224227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__I_3II
224327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
22442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
22452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
22462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
224773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
224873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
224973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
225073108675c944ab4ee89631dced23566b12341b66Jack Palevich
225173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
22522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
22532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "framebuffers == null";
225573108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
225673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
225773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
22582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
22592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
226173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
226273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
226373108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
226473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
22652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
22662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
226873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
226973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
227073108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
227173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
227273108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
227373108675c944ab4ee89631dced23566b12341b66Jack Palevich
227473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
227573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
227673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
227773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
227873108675c944ab4ee89631dced23566b12341b66Jack Palevich
227973108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
228073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
228173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
228273108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
228373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
22842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
22852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
22862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
228727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
228827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
228927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
229027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
229127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2
229227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
22932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
22942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
22952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
229673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
229717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
229873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
229973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
230073108675c944ab4ee89631dced23566b12341b66Jack Palevich
230117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
230273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
23032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
23042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
230673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
230773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
230817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (framebuffers == NULL) {
230917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
231017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
231117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
231273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
231373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
231473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
231573108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
231673108675c944ab4ee89631dced23566b12341b66Jack Palevich
231773108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
231873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
231973108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, JNI_FALSE);
232073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
23212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
23222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
23232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
232427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
232527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
232627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
232727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
232827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__I_3II
232927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
233073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
23312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
23322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
233373108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
233473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
233573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
233673108675c944ab4ee89631dced23566b12341b66Jack Palevich
233773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
233873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "framebuffers == null";
234173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
234273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
234373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
234473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
234773108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
234873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
234973108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
235073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
235173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
235473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
235573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
235673108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
235773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
235873108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
235973108675c944ab4ee89631dced23566b12341b66Jack Palevich
236073108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
236173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
236273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
236373108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
236473108675c944ab4ee89631dced23566b12341b66Jack Palevich
236573108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
236673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
236773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
236873108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
236973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
23702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
23712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
23722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
237327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
237427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
237527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
237627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
237727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2
237827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
237973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
23802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
23812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
238273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
238317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
238473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
238573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
238673108675c944ab4ee89631dced23566b12341b66Jack Palevich
238717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
238873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
238973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
239273108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
239373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
239417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (framebuffers == NULL) {
239517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
239617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
239717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
239873108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
239973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
240073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
240173108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
240273108675c944ab4ee89631dced23566b12341b66Jack Palevich
240373108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
240473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
240573108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE);
240673108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
24072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
24082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
24092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
241027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
241127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
241227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLenum glCheckFramebufferStatusOES ( GLenum target ) */
241327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jint
241427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCheckFramebufferStatusOES__I
241527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
241673108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLenum _returnValue;
241773108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glCheckFramebufferStatusOES(
241873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
241973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
242073108675c944ab4ee89631dced23566b12341b66Jack Palevich    return _returnValue;
242127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
242227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
242327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */
242427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
242527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferRenderbufferOES__IIII
242627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) {
242773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferRenderbufferOES(
242873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
242973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
243073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)renderbuffertarget,
243173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
243273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
243327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
243427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
243527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */
243627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
243727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferTexture2DOES__IIIII
243827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) {
243973108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferTexture2DOES(
244073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
244173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
244273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)textarget,
244373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)texture,
244473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint)level
244573108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
244627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
244727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
244827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
244927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
245027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__III_3II
245127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) {
245273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
24532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
24542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
245573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
245673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
245773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
245873108675c944ab4ee89631dced23566b12341b66Jack Palevich
245973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
246073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
24612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
246373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
246473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
246573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
246673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
24672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
246973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
247073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
247173108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
247273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
247373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
24742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 1 < needed";
247673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
247773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
247873108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
247973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
248073108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
248173108675c944ab4ee89631dced23566b12341b66Jack Palevich
248273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
248373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
248473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
248573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
248673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
248773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
248873108675c944ab4ee89631dced23566b12341b66Jack Palevich
248973108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
249073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
249173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
249273108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
249373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
24942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
24952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
24962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
249727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
249827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
249927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
250027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
250127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2
250227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) {
250373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
25042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
25052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
250673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
250717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
250873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
250973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
251073108675c944ab4ee89631dced23566b12341b66Jack Palevich
251117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
251273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
251373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
25142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 1 < needed";
251673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
251773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
251817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
251917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
252017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
252117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
252273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
252373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
252473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
252573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
252673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
252773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
252873108675c944ab4ee89631dced23566b12341b66Jack Palevich
252973108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
253073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
253173108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
253273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
25332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
25342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
25352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
253627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
253727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
253827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenerateMipmapOES ( GLenum target ) */
253927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
254027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenerateMipmapOES__I
254127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
254273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenerateMipmapOES(
254373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
254473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
254527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
254627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
254727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */
254827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
254927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCurrentPaletteMatrixOES__I
255027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint matrixpaletteindex) {
2551be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glCurrentPaletteMatrixOES(
2552be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLuint)matrixpaletteindex
2553be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
255427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
255527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
255627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadPaletteFromModelViewMatrixOES ( void ) */
255727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
255827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadPaletteFromModelViewMatrixOES__
255927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this) {
2560be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glLoadPaletteFromModelViewMatrixOES();
256127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
256227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
256327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
256427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2565be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I
2566be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2567be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
256817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2569be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2570be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2571be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2572be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2573be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2574be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2575be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2576be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2577be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2578be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glMatrixIndexPointerOESBounds(
2579be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2580be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2581be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2582be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2583be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2584be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
258527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
258627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
258727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
258827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2589be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I
2590be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2591be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
259217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2593be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2594be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2595be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2596be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2597be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2598be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2599be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2600be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2601be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2602be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glWeightPointerOESBounds(
2603be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2604be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2605be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2606be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2607be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2608be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
260927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
261027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
261127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) */
261227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
261327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangefOES__FF
261427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) {
2615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangefOES(
2616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zNear,
2617a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zFar
2618a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
261927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
262027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
262127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
262227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
262327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumfOES__FFFFFF
262427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumfOES(
2626a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2627a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2628a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2629a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2630a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2631a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2632a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
263327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
263427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
263527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
263627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
263727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthofOES__FFFFFF
263827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthofOES(
2640a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2641a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2642a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2643a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2644a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
264727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
264827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
264927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
265027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
265127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__I_3FI
265227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) {
26532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
26542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
26552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2656a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation_base = (GLfloat *) 0;
2657a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2658a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2659a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
26612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
26622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
26632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "equation == null";
2664a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2666a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
26672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
26682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
26692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2670a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2671a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2672a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
2673a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfloat *)
2674a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
2675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
2676a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2677a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2678a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2679a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2682a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2683a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
2684a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
2685a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2686a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
26872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
26882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
26892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
269027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
269127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
269227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
269327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
269427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__ILjava_nio_FloatBuffer_2
269527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
2696a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
269717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2698a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2699a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
270117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
270217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (equation == NULL) {
270317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
270417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        equation = (GLfloat *) (_equationBase + _bufferOffset);
270517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2706a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2707a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2708a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2709a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2710a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2711a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
2712a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
271327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
271427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
271527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
271627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
271727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__I_3FI
271827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) {
2719a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
27202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
27212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2722a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn_base = (GLfloat *) 0;
2723a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2724a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2725a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2726a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
2727a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
27282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
27292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "eqn == null";
2730a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2731a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2732a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2733a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
27342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
27352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2736a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2737a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2738a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
2739a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
27412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
27422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 4 < needed";
2743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2744a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2745a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfloat *)
2746a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
2747a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
2748a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2749a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2750a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2751a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2752a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2753a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2754a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2755a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
2756a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
2757a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2758a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
27592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
27602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
27612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
276227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
276327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
276427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
276527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
276627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2
276727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
2768a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
27692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
27702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2771a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
277217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2773a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2774a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
277617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
2777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
27792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
27802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 4 < needed";
2781a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2782a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
278317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (eqn == NULL) {
278417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
278517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        eqn = (GLfloat *) (_eqnBase + _bufferOffset);
278617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2787a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2788a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2790a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2794a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
2795a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
27962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
27972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
27982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
279927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
280027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
280127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthfOES ( GLclampf depth ) */
280227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
280327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthfOES__F
280427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat depth) {
2805a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthfOES(
2806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)depth
2807a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
280827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
280927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
281027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) */
281127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
281227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfOES__IIF
281327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) {
2814a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfOES(
2815a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2816a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2817a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)param
2818a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
281927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
282027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
282127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
282227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
282327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__II_3FI
282427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
28252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
28262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
28272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2828a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
2829a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
28332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
28342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
28352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
2836a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2837a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2838a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
28392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
28402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
28412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2842a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2843a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2844a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2845a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
2846a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2847a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2848a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2849a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
2850a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2851a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2852a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2853a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2856a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2857a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
28602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
28612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
28622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
286327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
286427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
286527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
286627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
286727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__IILjava_nio_FloatBuffer_2
286827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
287017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
2873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
287417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
287517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
287617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
287717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfloat *) (_paramsBase + _bufferOffset);
287817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
2880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
2883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
288727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
288827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
288927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) */
289027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
289127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGeniOES__III
289227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
2893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGeniOES(
2894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2896a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint)param
2897a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
289827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
289927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
290027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
290127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
290227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__II_3II
290327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
29042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
29052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
29062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
2908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2909a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2910a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
29122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
29132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
2915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
29182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
29192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2921a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2922a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2923a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
2925a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2926a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2927a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2928a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
2929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2930a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2933a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2934a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2935a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
29392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
29402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
29412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
294227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
294327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
294427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
294527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
294627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__IILjava_nio_IntBuffer_2
294727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
2948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
294917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
2952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
295317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
295417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
295517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
295617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
295717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
2959a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2960a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2961a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
2962a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2964a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2965a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
296627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
296727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
296827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) */
296927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
297027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxOES__III
297127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
2972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxOES(
2973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
2974a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2975a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
2976a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
297727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
297827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
297927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
298027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
298127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__II_3II
298227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
29832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
29842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
29852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
2986a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
2987a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2988a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2989a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2990a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
29912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
29922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
2994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
29972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
29982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3001a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3002a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3003a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
3004a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3005a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3006a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3007a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
3008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3012a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3013a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3014a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3015a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3016a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
3017a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
30182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
30192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
30202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
302127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
302227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
302327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
302427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
302527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__IILjava_nio_IntBuffer_2
302627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3027a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
302817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3029a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3030a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
303217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
303317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
303417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
303517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
303617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3037a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
3038a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3039a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3040a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
3043a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
3044a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
304527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
304627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
304727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
304827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
304927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__II_3FI
305027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
3051a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
30522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
30532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
3054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
3055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3057a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3058a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
30602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
30612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3065a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
30662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
30672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3069a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3070a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3071a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
3072a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
3076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3079a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3080a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3082a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3083a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3084a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3085a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
30862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
30872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
30882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
308927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
309027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
309127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
309227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
309327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2
309427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3095a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
309617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3097a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
310017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
310117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
310217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
310317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfloat *) (_paramsBase + _bufferOffset);
310417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3105a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
3106a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3107a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3108a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3109a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
31112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
311327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
311427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
311527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
311627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
311727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__II_3II
311827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
3119a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
31202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
31212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
3122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
3123a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3124a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3125a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
31282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3130a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3131a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3132a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3133a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
31342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3138a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3139a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
3140a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3142a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3143a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
3144a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3145a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3146a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3147a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3148a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3150a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3151a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
31542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
31552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
31562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
315727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
315827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
315927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
316027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
316127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__IILjava_nio_IntBuffer_2
316227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
316417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3166a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
316817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
316917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
317017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
317117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
317217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3173a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
3174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3175a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
31792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
318127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
318227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
318327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
318427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
318527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__II_3II
318627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
3187a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
31882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionType;
31892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    const char * _exceptionMessage;
3190a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
3191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
31962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3198a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3199a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3200a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3201a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
32022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
32032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3206a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
3208a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3210a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
3212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3215a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3216a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3217a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3218a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3219a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
32222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
32232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
32242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
322527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
322627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
322727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
322827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
322927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__IILjava_nio_IntBuffer_2
323027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
323217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
323617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
323717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
323817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
323917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
324017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3241a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
3242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
32472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3248a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
324927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
325027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
325127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic const char *classPathName = "android/opengl/GLES11Ext";
325227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
325327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic JNINativeMethod methods[] = {
325427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit },
325527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationSeparateOES", "(II)V", (void *) android_glBlendEquationSeparateOES__II },
325627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendFuncSeparateOES", "(IIII)V", (void *) android_glBlendFuncSeparateOES__IIII },
325727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationOES", "(I)V", (void *) android_glBlendEquationOES__I },
325827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS },
325927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII },
326027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII },
326127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI },
326227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 },
326327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II },
326427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 },
326527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II },
326627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 },
326727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF },
326827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI },
326927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 },
327027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetTexture2DOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2 },
327127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetRenderbufferStorageOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2 },
327227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFuncxOES", "(II)V", (void *) android_glAlphaFuncxOES__II },
327327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColorxOES", "(IIII)V", (void *) android_glClearColorxOES__IIII },
327427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthxOES", "(I)V", (void *) android_glClearDepthxOES__I },
327527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(I[II)V", (void *) android_glClipPlanexOES__I_3II },
327627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanexOES__ILjava_nio_IntBuffer_2 },
327727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4xOES", "(IIII)V", (void *) android_glColor4xOES__IIII },
327827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangexOES", "(II)V", (void *) android_glDepthRangexOES__II },
327927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxOES", "(II)V", (void *) android_glFogxOES__II },
328027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(I[II)V", (void *) android_glFogxvOES__I_3II },
328127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxvOES__ILjava_nio_IntBuffer_2 },
328227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumxOES", "(IIIIII)V", (void *) android_glFrustumxOES__IIIIII },
328327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(I[II)V", (void *) android_glGetClipPlanexOES__I_3II },
328427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanexOES__ILjava_nio_IntBuffer_2 },
328527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(I[II)V", (void *) android_glGetFixedvOES__I_3II },
328627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedvOES__ILjava_nio_IntBuffer_2 },
328727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(II[II)V", (void *) android_glGetLightxvOES__II_3II },
328827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxvOES__IILjava_nio_IntBuffer_2 },
328927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(II[II)V", (void *) android_glGetMaterialxvOES__II_3II },
329027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxvOES__IILjava_nio_IntBuffer_2 },
329127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(II[II)V", (void *) android_glGetTexEnvxvOES__II_3II },
329227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2 },
329327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(II[II)V", (void *) android_glGetTexParameterxvOES__II_3II },
329427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2 },
329527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxOES", "(II)V", (void *) android_glLightModelxOES__II },
329627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(I[II)V", (void *) android_glLightModelxvOES__I_3II },
329727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxvOES__ILjava_nio_IntBuffer_2 },
329827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxOES", "(III)V", (void *) android_glLightxOES__III },
329927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(II[II)V", (void *) android_glLightxvOES__II_3II },
330027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxvOES__IILjava_nio_IntBuffer_2 },
330127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidthxOES", "(I)V", (void *) android_glLineWidthxOES__I },
330227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "([II)V", (void *) android_glLoadMatrixxOES___3II },
330327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixxOES__Ljava_nio_IntBuffer_2 },
330427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxOES", "(III)V", (void *) android_glMaterialxOES__III },
330527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(II[II)V", (void *) android_glMaterialxvOES__II_3II },
330627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxvOES__IILjava_nio_IntBuffer_2 },
330727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "([II)V", (void *) android_glMultMatrixxOES___3II },
330827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixxOES__Ljava_nio_IntBuffer_2 },
330927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4xOES", "(IIIII)V", (void *) android_glMultiTexCoord4xOES__IIIII },
331027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3xOES", "(III)V", (void *) android_glNormal3xOES__III },
331127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthoxOES", "(IIIIII)V", (void *) android_glOrthoxOES__IIIIII },
331227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxOES", "(II)V", (void *) android_glPointParameterxOES__II },
331327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(I[II)V", (void *) android_glPointParameterxvOES__I_3II },
331427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxvOES__ILjava_nio_IntBuffer_2 },
331527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSizexOES", "(I)V", (void *) android_glPointSizexOES__I },
331627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffsetxOES", "(II)V", (void *) android_glPolygonOffsetxOES__II },
331727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatexOES", "(IIII)V", (void *) android_glRotatexOES__IIII },
331827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoveragexOES", "(IZ)V", (void *) android_glSampleCoveragexOES__IZ },
331927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalexOES", "(III)V", (void *) android_glScalexOES__III },
332027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxOES", "(III)V", (void *) android_glTexEnvxOES__III },
332127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(II[II)V", (void *) android_glTexEnvxvOES__II_3II },
332227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxvOES__IILjava_nio_IntBuffer_2 },
332327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxOES", "(III)V", (void *) android_glTexParameterxOES__III },
332427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(II[II)V", (void *) android_glTexParameterxvOES__II_3II },
332527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxvOES__IILjava_nio_IntBuffer_2 },
332627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatexOES", "(III)V", (void *) android_glTranslatexOES__III },
332727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I },
332827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II },
332927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II },
333027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 },
333127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II },
333227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 },
333327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII },
333427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II },
333527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 },
333627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I },
333727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II },
333827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II },
333927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 },
334027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II },
334127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 },
334227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I },
334327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII },
334427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII },
334527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II },
334627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 },
334727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I },
334827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I },
334927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ },
3350be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I },
3351be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I },
335227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangefOES", "(FF)V", (void *) android_glDepthRangefOES__FF },
335327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumfOES", "(FFFFFF)V", (void *) android_glFrustumfOES__FFFFFF },
335427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthofOES", "(FFFFFF)V", (void *) android_glOrthofOES__FFFFFF },
335527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(I[FI)V", (void *) android_glClipPlanefOES__I_3FI },
335627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanefOES__ILjava_nio_FloatBuffer_2 },
335727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(I[FI)V", (void *) android_glGetClipPlanefOES__I_3FI },
335827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2 },
335927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthfOES", "(F)V", (void *) android_glClearDepthfOES__F },
336027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfOES", "(IIF)V", (void *) android_glTexGenfOES__IIF },
336127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(II[FI)V", (void *) android_glTexGenfvOES__II_3FI },
336227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfvOES__IILjava_nio_FloatBuffer_2 },
336327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGeniOES", "(III)V", (void *) android_glTexGeniOES__III },
336427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(II[II)V", (void *) android_glTexGenivOES__II_3II },
336527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenivOES__IILjava_nio_IntBuffer_2 },
336627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxOES", "(III)V", (void *) android_glTexGenxOES__III },
336727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(II[II)V", (void *) android_glTexGenxvOES__II_3II },
336827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxvOES__IILjava_nio_IntBuffer_2 },
336927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(II[FI)V", (void *) android_glGetTexGenfvOES__II_3FI },
337027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2 },
337127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(II[II)V", (void *) android_glGetTexGenivOES__II_3II },
337227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenivOES__IILjava_nio_IntBuffer_2 },
337327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(II[II)V", (void *) android_glGetTexGenxvOES__II_3II },
337427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxvOES__IILjava_nio_IntBuffer_2 },
337527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich};
337627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
337727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichint register_android_opengl_jni_GLES11Ext(JNIEnv *_env)
337827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
337927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    int err;
338027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
338127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    return err;
338227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
3383