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
202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#include <GLES/gl.h>
212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#include <GLES/glext.h>
222ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
239626f8203a8c222b8960a49cdc66d540fdb688b0Jesse Hall#include <jni.h>
249626f8203a8c222b8960a49cdc66d540fdb688b0Jesse Hall#include <JNIHelp.h>
2527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <android_runtime/AndroidRuntime.h>
2627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <utils/misc.h>
2727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <assert.h>
28be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic int initialized = 0;
3027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
3127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass nioAccessClass;
3227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass bufferClass;
3327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBasePointerID;
3427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayID;
3527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayOffsetID;
3627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID positionID;
3727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID limitID;
3827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID elementSizeShiftID;
3927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
402ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian/* special calls implemented in Android's GLES wrapper used to more
422ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * efficiently bound-check passed arrays */
432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianextern "C" {
442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_VERSION_ES_CM_1_1
452ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride,
462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        const GLvoid *ptr, GLsizei count);
472ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride,
482ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        const GLvoid *pointer, GLsizei count);
492ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type,
502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLsizei stride, const GLvoid *pointer, GLsizei count);
512ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type,
522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLsizei stride, const GLvoid *pointer, GLsizei count);
532ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type,
542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLsizei stride, const GLvoid *pointer, GLsizei count);
552ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type,
562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLsizei stride, const GLvoid *pointer, GLsizei count);
572ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type,
582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLsizei stride, const GLvoid *pointer, GLsizei count);
592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif
602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_ES_VERSION_2_0
612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type,
622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) {
632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    glVertexAttribPointer(indx, size, type, normalized, stride, pointer);
642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian}
652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif
66cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden#ifdef GL_ES_VERSION_3_0
67cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFaddenstatic void glVertexAttribIPointerBounds(GLuint indx, GLint size, GLenum type,
68cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden        GLsizei stride, const GLvoid *pointer, GLsizei count) {
69cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden    glVertexAttribIPointer(indx, size, type, stride, pointer);
70cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden}
71cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden#endif
722ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian}
732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
7427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* Cache method IDs each time the class is loaded. */
7527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
7627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
7724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott HughesnativeClassInit(JNIEnv *_env, jclass glImplClass)
7827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
7927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess");
8027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal);
8127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
8227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
8327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
8427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBasePointerID = _env->GetStaticMethodID(nioAccessClass,
8627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBasePointer", "(Ljava/nio/Buffer;)J");
8727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayID = _env->GetStaticMethodID(nioAccessClass,
8827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;");
8927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass,
9027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            "getBaseArrayOffset", "(Ljava/nio/Buffer;)I");
9127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
9227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    positionID = _env->GetFieldID(bufferClass, "position", "I");
9327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limitID = _env->GetFieldID(bufferClass, "limit", "I");
9427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShiftID =
9527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetFieldID(bufferClass, "_elementSizeShift", "I");
9627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
9727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
9827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void *
9917045a16575ece34cfadb63da4791f115625df78Thomas TafertshofergetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset)
10027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
10127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint position;
10227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint limit;
10327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint elementSizeShift;
10427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jlong pointer;
10527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
10627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    position = _env->GetIntField(buffer, positionID);
10727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    limit = _env->GetIntField(buffer, limitID);
10827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
10927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *remaining = (limit - position) << elementSizeShift;
11027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    pointer = _env->CallStaticLongMethod(nioAccessClass,
11127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBasePointerID, buffer);
11227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (pointer != 0L) {
11327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        *array = NULL;
11401c26ea89d4bbea3cf550e9328742302dd9a2b25Ashok Bhat        return reinterpret_cast<void*>(pointer);
11527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
11624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes
11727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
11827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayID, buffer);
11917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    *offset = _env->CallStaticIntMethod(nioAccessClass,
12027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            getBaseArrayOffsetID, buffer);
1212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
12217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    return NULL;
12327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
12427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
12527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
12627f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
12727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
12827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _env->ReleasePrimitiveArrayCritical(array, data,
1292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian                       commit ? 0 : JNI_ABORT);
13027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
13127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
132be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichstatic void *
133be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) {
134be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    char* buf = (char*) _env->GetDirectBufferAddress(buffer);
135be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (buf) {
136be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint position = _env->GetIntField(buffer, positionID);
137be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
138be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        buf += position << elementSizeShift;
139be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    } else {
14024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes        jniThrowException(_env, "java/lang/IllegalArgumentException",
14124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes                          "Must use a native order direct Buffer");
142be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
143be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    return (void*) buf;
144be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich}
1452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian// --------------------------------------------------------------------------
1472ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1482ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian/*
1492ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * returns the number of values glGet returns for a given pname.
1502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian *
1512ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * The code below is written such that pnames requiring only one values
1522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * are the default (and are not explicitely tested for). This makes the
1532ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * checking code much shorter/readable/efficient.
1542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian *
1552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * This means that unknown pnames (e.g.: extensions) will default to 1. If
1562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * that unknown pname needs more than 1 value, then the validation check
1572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * is incomplete and the app may crash if it passed the wrong number params.
1582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian */
1592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic int getNeededCount(GLint pname) {
1602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    int needed = 1;
1612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_ES_VERSION_2_0
1622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // GLES 2.x pnames
1632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    switch (pname) {
1642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_ALIASED_LINE_WIDTH_RANGE:
1652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_ALIASED_POINT_SIZE_RANGE:
1662ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 2;
1672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
1682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_BLEND_COLOR:
1702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COLOR_CLEAR_VALUE:
1712ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COLOR_WRITEMASK:
1722ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_SCISSOR_BOX:
1732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_VIEWPORT:
1742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 4;
1752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
1762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COMPRESSED_TEXTURE_FORMATS:
1782ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed);
1792ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
1802ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1812ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_SHADER_BINARY_FORMATS:
1822ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &needed);
1832ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
1842ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
1852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif
1862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_VERSION_ES_CM_1_1
1882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // GLES 1.x pnames
1892ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    switch (pname) {
1902ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_ALIASED_LINE_WIDTH_RANGE:
1912ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_ALIASED_POINT_SIZE_RANGE:
1922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_DEPTH_RANGE:
1932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_SMOOTH_LINE_WIDTH_RANGE:
1942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_SMOOTH_POINT_SIZE_RANGE:
1952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 2;
1962ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
1972ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
1982ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_CURRENT_NORMAL:
1992ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_POINT_DISTANCE_ATTENUATION:
2002ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 3;
2012ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
2022ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COLOR_CLEAR_VALUE:
2042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COLOR_WRITEMASK:
2052ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_CURRENT_COLOR:
2062ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_CURRENT_TEXTURE_COORDS:
2072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_FOG_COLOR:
2082ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_LIGHT_MODEL_AMBIENT:
2092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_SCISSOR_BOX:
2102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_VIEWPORT:
2112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 4;
2122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
2132ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2142ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_MODELVIEW_MATRIX:
2152ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_PROJECTION_MATRIX:
2162ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_TEXTURE_MATRIX:
2172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            needed = 16;
2182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
2192ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        case GL_COMPRESSED_TEXTURE_FORMATS:
2212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed);
2222ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            break;
2232ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif
2252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    return needed;
2262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian}
2272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopiantemplate <typename JTYPEARRAY, typename CTYPE, void GET(GLenum, CTYPE*)>
2292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void
2302ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianget
2312ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian  (JNIEnv *_env, jobject _this, jint pname, JTYPEARRAY params_ref, jint offset) {
2322ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jint _exception = 0;
2332ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType;
2342ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage;
2352ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    CTYPE *params_base = (CTYPE *) 0;
2362ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jint _remaining;
2372ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    CTYPE *params = (CTYPE *) 0;
2382ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    int _needed = 0;
2392ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2402ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (!params_ref) {
2412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exception = 1;
2422ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionType = "java/lang/IllegalArgumentException";
2432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionMessage = "params == null";
2442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        goto exit;
2452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (offset < 0) {
2472ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exception = 1;
2482ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionType = "java/lang/IllegalArgumentException";
2492ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionMessage = "offset < 0";
2502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        goto exit;
2512ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    _remaining = _env->GetArrayLength(params_ref) - offset;
2532ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    _needed = getNeededCount(pname);
2542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // if we didn't find this pname, we just assume the user passed
2552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // an array of the right size -- this might happen with extensions
2562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // or if we forget an enum here.
2572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (_remaining < _needed) {
2582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exception = 1;
2592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionType = "java/lang/IllegalArgumentException";
2602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionMessage = "length - offset < needed";
2612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        goto exit;
2622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    params_base = (CTYPE *)
2642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    params = params_base + offset;
2662ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    GET(
2682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        (GLenum)pname,
2692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        (CTYPE *)params
2702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    );
2712ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2722ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianexit:
2732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (params_base) {
2742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian            _exception ? JNI_ABORT: 0);
2762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (_exception) {
2782ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        jniThrowException(_env, _exceptionType, _exceptionMessage);
2792ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
2802ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian}
2812ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2822ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2832ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopiantemplate <typename CTYPE, void GET(GLenum, CTYPE*)>
2842ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void
2852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopiangetarray
2862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
2872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jint _exception = 0;
2882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType;
2892ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage;
2902ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jarray _array = (jarray) 0;
2912ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jint _bufferOffset = (jint) 0;
2922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    jint _remaining;
2932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    CTYPE *params = (CTYPE *) 0;
2942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    int _needed = 0;
2952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
2962ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    params = (CTYPE *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
297cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden    _remaining /= sizeof(CTYPE);    // convert from bytes to item count
2982ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    _needed = getNeededCount(pname);
2992ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // if we didn't find this pname, we just assume the user passed
3002ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // an array of the right size -- this might happen with extensions
3012ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    // or if we forget an enum here.
3022ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (_needed>0 && _remaining < _needed) {
3032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exception = 1;
3042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionType = "java/lang/IllegalArgumentException";
3052ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        _exceptionMessage = "remaining() < needed";
3062ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        goto exit;
3072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
3082ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (params == NULL) {
3092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
3102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        params = (CTYPE *) (_paramsBase + _bufferOffset);
3112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
3122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    GET(
3132ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        (GLenum)pname,
3142ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        (CTYPE *)params
3152ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    );
3162ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
3172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianexit:
3182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (_array) {
3192ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
3202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
3212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    if (_exception) {
3222ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian        jniThrowException(_env, _exceptionType, _exceptionMessage);
3232ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    }
3242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian}
3252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian
32627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// --------------------------------------------------------------------------
32727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) */
32827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
32927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationSeparateOES__II
33027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) {
331a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationSeparateOES(
332a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeRGB,
333a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)modeAlpha
334a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
33527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
33627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
33727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */
33827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
33927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendFuncSeparateOES__IIII
34027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
341a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendFuncSeparateOES(
342a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcRGB,
343a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstRGB,
344a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)srcAlpha,
345a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)dstAlpha
346a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
34727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
34827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
34927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationOES ( GLenum mode ) */
35027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
35127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationOES__I
35227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint mode) {
353a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glBlendEquationOES(
354a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)mode
355a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
35627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
35727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
35827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */
35927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
36027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsOES__SSSSS
36127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) {
36227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsOES(
36327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)x,
36427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)y,
36527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)z,
36627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)width,
36727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort)height
36827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
36927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
37027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
37127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */
37227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
37327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexiOES__IIIII
37427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
37527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexiOES(
37627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)x,
37727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)y,
37827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)z,
37927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)width,
38027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint)height
38127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
38227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
38327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
38427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */
38527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
38627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxOES__IIIII
38727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
38827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxOES(
38927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)x,
39027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)y,
39127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)z,
39227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)width,
39327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed)height
39427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
39527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
39627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
39727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
39827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
39927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES___3SI
40027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) {
4012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
4022ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
4032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
40427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords_base = (GLshort *) 0;
40527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
40627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
40727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
40827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
4092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
41227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
41327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
41427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
4152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
41827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
41927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
42127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
4222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
42527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
42627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
42727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLshort *)
42827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
42927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
43027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
43127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
43227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
43327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
43427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
43527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
43627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
43727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
43827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
43927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
4402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
4412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
4422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
44327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
44427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
44527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */
44627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
44727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2
44827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
4492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
4502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
4512ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
45227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
45317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
45427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
45527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLshort *coords = (GLshort *) 0;
45627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
45717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
45827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
4592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
46227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
46327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
46417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
46517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
46617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLshort *) (_coordsBase + _bufferOffset);
46717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
46827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexsvOES(
46927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLshort *)coords
47027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
47127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
47227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
47327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
47427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
47527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
4762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
4772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
4782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
47927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
48027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
48127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
48227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
48327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES___3II
48427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
4852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
4862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
4872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
48827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords_base = (GLint *) 0;
48927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
49027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
49127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
49227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
4932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
4942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
4952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
49627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
49727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
49827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
4992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
50227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
50327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
50427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
50527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
5062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
50927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
51027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
51127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLint *)
51227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
51327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
51427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
51527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
51627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
51727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
51827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
51927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
52027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
52127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
52227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
52327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
5242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
5252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
5262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
52727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
52827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
52927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */
53027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
53127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2
53227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
5332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
5342ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
5352ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
53627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
53717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
53827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
53927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLint *coords = (GLint *) 0;
54027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
54117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
54227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
5432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
54627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
54727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
54817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
54917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
55017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLint *) (_coordsBase + _bufferOffset);
55117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
55227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexivOES(
55327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLint *)coords
55427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
55527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
55627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
55727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
55827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
55927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
5602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
5612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
5622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
56327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
56427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
56527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
56627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
56727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES___3II
56827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
5692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
5702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
5712ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
57227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords_base = (GLfixed *) 0;
57327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
57427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
57527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
57627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
5772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
58027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
58127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
58227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
5832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
58627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
58727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
58827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
58927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
5902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
5912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
5922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
59327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
59427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
59527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfixed *)
59627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
59727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
59827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
59927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
60027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
60127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
60227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
60327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
60427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
60527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
60627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
60727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
6082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
6092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
6102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
61127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
61227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
61327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */
61427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
61527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2
61627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
6172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
6182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
6192ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
62027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
62117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
62227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
62327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfixed *coords = (GLfixed *) 0;
62427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
62517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
62627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
6272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
63027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
63127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
63217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
63317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
63417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLfixed *) (_coordsBase + _bufferOffset);
63517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
63627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexxvOES(
63727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfixed *)coords
63827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
63927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
64027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
64127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
64227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
64327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
6442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
6452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
6462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
64727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
64827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
64927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */
65027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
65127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfOES__FFFFF
65227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) {
65327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfOES(
65427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)x,
65527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)y,
65627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)z,
65727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)width,
65827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat)height
65927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
66027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
66127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
66227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
66327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
66427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES___3FI
66527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) {
6662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
6672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
6682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
66927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords_base = (GLfloat *) 0;
67027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
67127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
67227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
67327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (!coords_ref) {
6742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "coords == null";
67727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
67827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
67927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (offset < 0) {
6802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
68327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
68427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
68527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    _remaining = _env->GetArrayLength(coords_ref) - offset;
68627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
6872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
6882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
6892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 5 < needed";
69027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
69127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
69227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords_base = (GLfloat *)
69327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
69427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    coords = coords_base + offset;
69527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
69627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
69727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
69827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
69927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
70027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
70127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (coords_base) {
70227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
70327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich            JNI_ABORT);
70427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
7052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
7062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
7072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
70827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
70927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
71027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */
71127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
71227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2
71327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject coords_buf) {
7142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
7152ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
7162ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
71727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jarray _array = (jarray) 0;
71817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
71927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    jint _remaining;
72027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    GLfloat *coords = (GLfloat *) 0;
72127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
72217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining, &_bufferOffset);
72327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_remaining < 5) {
7242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
7252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
7262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 5 < needed";
72727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        goto exit;
72827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
72917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (coords == NULL) {
73017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _coordsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
73117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        coords = (GLfloat *) (_coordsBase + _bufferOffset);
73217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
73327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    glDrawTexfvOES(
73427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        (GLfloat *)coords
73527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    );
73627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
73727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit:
73827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    if (_array) {
73927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich        releasePointer(_env, _array, coords, JNI_FALSE);
74027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    }
7412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
7422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
7432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
74427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
74527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
74627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) */
74727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
74827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2
74927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
750a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
75117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
752a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
753a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
754a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
75517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining, &_bufferOffset);
75617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (image == NULL) {
75717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
75817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        image = (GLeglImageOES) (_imageBase + _bufferOffset);
75917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
760a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetTexture2DOES(
761a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
762a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
764a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
7652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, image, JNI_TRUE);
766a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
76727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
76827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
76927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) */
77027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
77127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2
77227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jobject image_buf) {
773a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
77417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
776a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLeglImageOES image = (GLeglImageOES) 0;
777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
77817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    image = (GLeglImageOES)getPointer(_env, image_buf, &_array, &_remaining, &_bufferOffset);
77917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (image == NULL) {
78017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
78117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        image = (GLeglImageOES) (_imageBase + _bufferOffset);
78217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
783a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glEGLImageTargetRenderbufferStorageOES(
784a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
785a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLeglImageOES)image
786a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
787a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
7882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, image, JNI_TRUE);
789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
79027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
79127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
79227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFuncxOES ( GLenum func, GLclampx ref ) */
79327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
79427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFuncxOES__II
79527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint func, jint ref) {
796a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glAlphaFuncxOES(
797a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)func,
798a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)ref
799a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
80027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
80127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
80227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */
80327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
80427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColorxOES__IIII
80527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearColorxOES(
807a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)red,
808a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)green,
809a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)blue,
810a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)alpha
811a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
81227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
81327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
81427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthxOES ( GLclampx depth ) */
81527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
81627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthxOES__I
81727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint depth) {
818a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthxOES(
819a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)depth
820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
82127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
82227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
82327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
82427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
82527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__I_3II
82627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) {
8272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
8282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
8292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation_base = (GLfixed *) 0;
831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
834a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
8352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
8362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "equation == null";
838a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
839a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
840a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
8412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
8422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
8432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
844a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
845a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
846a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
847a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfixed *)
848a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
849a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
850a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
851a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
852a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
853a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
856a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
857a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
860a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
8612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
8622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
8632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
86427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
86527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
86627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */
86727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
86827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__ILjava_nio_IntBuffer_2
86927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
87117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *equation = (GLfixed *) 0;
874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
87517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
87617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (equation == NULL) {
87717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
87817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        equation = (GLfixed *) (_equationBase + _bufferOffset);
87917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanexOES(
881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)equation
883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
88727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
88827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
88927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */
89027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
89127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4xOES__IIII
89227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glColor4xOES(
894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)red,
895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)green,
896a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)blue,
897a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)alpha
898a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
89927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
90027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
90127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) */
90227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
90327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangexOES__II
90427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint zNear, jint zFar) {
905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangexOES(
906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zNear,
907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)zFar
908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
90927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
91027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
91127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxOES ( GLenum pname, GLfixed param ) */
91227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
91327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxOES__II
91427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxOES(
916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
918a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
91927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
92027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
92127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
92227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
92327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__I_3II
92427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
9252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
9262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
9272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
928a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
930a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
9332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
9342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
9352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
9392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
9402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
9412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
942a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
943a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
944a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
946a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
947a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
953a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
954a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
955a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
9592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
9602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
9612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
96227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
96327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
96427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */
96527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
96627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__ILjava_nio_IntBuffer_2
96727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
968a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
96917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
971a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
97317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
97417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
97517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
97617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
97717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
978a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFogxvOES(
979a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
980a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
981a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
984a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
98527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
98627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
98727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
98827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
98927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumxOES__IIIIII
99027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
991a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumxOES(
992a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
993a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
997a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
99927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
100027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
100127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
100227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
100327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__I_3II
100427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) {
1005a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
10062ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
10072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn_base = (GLfixed *) 0;
1009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
1011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1012a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
1013a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "eqn == null";
1016a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1017a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1018a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1019a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1022a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1024a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
1025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
1026a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 4 < needed";
1029a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1030a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfixed *)
1032a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
1033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
1034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1035a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
1036a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1037a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
1038a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1039a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1040a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
1042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
1043a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1044a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
10452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
10462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
10472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
104827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
104927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
105027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */
105127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
105227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__ILjava_nio_IntBuffer_2
105327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
1054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
10552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
10562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1057a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
105817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *eqn = (GLfixed *) 0;
1061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
106217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
1063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
1064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
10652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
10662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 4 < needed";
1067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
106917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (eqn == NULL) {
107017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
107117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        eqn = (GLfixed *) (_eqnBase + _bufferOffset);
107217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanexOES(
1074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)eqn
1076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1079a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1080a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
1081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
10822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
10832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
10842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
108527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
108627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
108727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
108827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
108927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__I_3II
109027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
1091a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
10922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
10932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1094a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1095a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1096a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1097a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1103a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1104a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1105a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1108a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1109a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
1116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1117a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1118a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1119a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1120a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1121a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1123a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1124a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
11252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
11262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
11272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
112827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
112927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
113027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */
113127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
113227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__ILjava_nio_IntBuffer_2
113327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1134a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
113517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1138a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
113917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
114017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
114117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
114217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
114317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1144a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetFixedvOES(
1145a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1146a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1147a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1148a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
11492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1150a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
115127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
115227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
115327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
115427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
115527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__II_3II
115627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
1157a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
11582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
11592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1160a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1161a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1162a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1168a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1169a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1170a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1171a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
11722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
11732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1175a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
1182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1183a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1184a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1185a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1186a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1187a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1188a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1189a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1190a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
11922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
11932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
11942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
119527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
119627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
119727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */
119827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
119927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__IILjava_nio_IntBuffer_2
120027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
1201a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
120217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1203a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
120617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
120717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
120817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
120917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
121017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetLightxvOES(
1212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1215a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1216a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
12172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1218a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
121927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
122027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
122127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
122227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
122327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__II_3II
122427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
1225a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
12262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
12272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1228a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1229a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1230a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
12342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
12352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1236a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1237a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
12402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
12412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1247a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1248a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1249a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
1250a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1251a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1252a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1253a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1257a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1258a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1259a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
12602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
12612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
12622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
126327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
126427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
126527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */
126627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
126727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__IILjava_nio_IntBuffer_2
126827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
1269a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
127017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1271a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1272a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1273a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
127417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
127517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
127617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
127717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
127817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1279a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetMaterialxvOES(
1280a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1282a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1283a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1284a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
12852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
128727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
128827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
128927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
129027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
129127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__II_3II
129227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
1293a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
12942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
12952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1296a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1297a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1298a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1299a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1301a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
13022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1305a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1306a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1307a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
13082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1310a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1311a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1312a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1313a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1314a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1315a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1316a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
1318a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
1319a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1320a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1321a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1322a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1325a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1326a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1327a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
13282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
13292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
13302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
133127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
133227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
133327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */
133427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
133527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2
133627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
1337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
133817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1339a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1340a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1341a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
134217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
134317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
134417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
134517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
134617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1347a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexEnvxvOES(
1348a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)env,
1349a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1350a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1351a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1352a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
13532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1354a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
135527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
135627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
135727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
135827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
135927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__II_3II
136027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
1361a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
13622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
13632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1364a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1366a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1367a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1368a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
1369a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
13702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1373a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1374a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
1375a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
13762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
13772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1378a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1379a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1380a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1381a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1382a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1383a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1384a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1385a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1386a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1387a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1388a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1389a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1390a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1393a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1394a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
1395a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
13962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
13972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
13982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
139927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
140027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
140127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */
140227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
140327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2
140427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
1405a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
140617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1407a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1408a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1409a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
141017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
141117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
141217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
141317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
141417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1415a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexParameterxvOES(
1416a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1417a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1418a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1419a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1420a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
14212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
1422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
142327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
142427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
142527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxOES ( GLenum pname, GLfixed param ) */
142627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
142727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxOES__II
142827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1429a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxOES(
1430a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1431a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1432a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
143327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
143427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
143527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
143627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
143727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__I_3II
143827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
14392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
14402ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
14412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1443a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1444a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1446a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
14472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
14482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
14492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1450a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1451a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1452a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
14532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
14542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
14552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1456a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1457a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1458a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1459a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1460a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1461a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1462a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1463a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1464a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1465a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1468a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1469a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1470a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1471a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1472a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
14732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
14742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
14752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
147627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
147727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
147827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */
147927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
148027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__ILjava_nio_IntBuffer_2
148127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1482a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
148317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1484a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1485a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1486a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
148717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
148817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
148917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
149017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
149117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1492a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightModelxvOES(
1493a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1494a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1495a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
149927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
150027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
150127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) */
150227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
150327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxOES__III
150427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) {
1505a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxOES(
1506a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1507a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1508a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
151027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
151127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
151227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
151327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
151427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__II_3II
151527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
15162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
15172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
15182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1519a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1520a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
15242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
15252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
15262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1527a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1528a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1529a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
15302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
15312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
15322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1533a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1534a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1535a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1536a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1537a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1539a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1541a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1542a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1543a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1544a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1545a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1546a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1547a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
15512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
15522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
15532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
155427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
155527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
155627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */
155727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
155827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__IILjava_nio_IntBuffer_2
155927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
1560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
156117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
156517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
156617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
156717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
156817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
156917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1570a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLightxvOES(
1571a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)light,
1572a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1573a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1574a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
157827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
157927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
158027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidthxOES ( GLfixed width ) */
158127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
158227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidthxOES__I
158327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint width) {
1584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLineWidthxOES(
1585a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)width
1586a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
158727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
158827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
158927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
159027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
159127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES___3II
159227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
15932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
15942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
15952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1596a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1597a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1598a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
159927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
1600a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
16012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "m == null";
1604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1605a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1606a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
16072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1610a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1611a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1612a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1615a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1617a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1618a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1619a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1620a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1621a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1622a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1623a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1624a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
16262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
16272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
16282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
1629a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich}
1630a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1631a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */
1632a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichstatic void
163327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES__Ljava_nio_IntBuffer_2
163427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1635a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
163617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1637a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1638a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
164017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
164117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (m == NULL) {
164217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
164317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        m = (GLfixed *) (_mBase + _bufferOffset);
164417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glLoadMatrixxOES(
1646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1647a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1648a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1649a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1650a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
165127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
165227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
165327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) */
165427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
165527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxOES__III
165627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) {
1657a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxOES(
1658a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1659a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1661a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
166227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
166327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
166427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
166527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
166627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__II_3II
166727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
16682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
16692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
16702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1671a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1672a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1673a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1674a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1675a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
16762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1679a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
16822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
16832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
16842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1685a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1686a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1687a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1688a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1691a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1692a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1693a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1694a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1695a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1696a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1697a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1698a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1699a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1700a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1701a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
17032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
17042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
17052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
170627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
170727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
170827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */
170927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
171027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__IILjava_nio_IntBuffer_2
171127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
1712a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
171317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1714a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1715a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1716a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
171717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
171817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
171917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
172017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
172117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1722a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMaterialxvOES(
1723a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)face,
1724a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1725a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1726a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1727a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1728a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1729a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
173027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
173127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
173227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
173327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
173427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES___3II
173527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
17362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
17372ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
17382ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1739a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m_base = (GLfixed *) 0;
1740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1741a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1742a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!m_ref) {
17442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
17452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
17462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "m == null";
1747a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1748a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1749a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
17502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
17512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
17522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1753a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1754a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1755a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(m_ref) - offset;
1756a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m_base = (GLfixed *)
1757a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
1758a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    m = m_base + offset;
1759a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1760a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1761a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1762a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1764a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1765a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (m_base) {
1766a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
1767a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1768a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
17692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
17702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
17712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
177227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
177327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
177427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */
177527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
177627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES__Ljava_nio_IntBuffer_2
177727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jobject m_buf) {
1778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
177917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1780a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1781a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *m = (GLfixed *) 0;
1782a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
178317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset);
178417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (m == NULL) {
178517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
178617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        m = (GLfixed *) (_mBase + _bufferOffset);
178717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1788a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultMatrixxOES(
1789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)m
1790a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, m, JNI_FALSE);
1793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
179427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
179527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
179627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */
179727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
179827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4xOES__IIIII
179927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) {
1800a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glMultiTexCoord4xOES(
1801a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1802a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)s,
1803a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)t,
1804a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)r,
1805a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)q
1806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
180727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
180827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
180927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) */
181027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
181127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3xOES__III
181227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) {
1813a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glNormal3xOES(
1814a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nx,
1815a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)ny,
1816a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)nz
1817a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
181827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
181927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
182027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
182127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
182227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthoxOES__IIIIII
182327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
1824a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthoxOES(
1825a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)left,
1826a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)right,
1827a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)bottom,
1828a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)top,
1829a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zNear,
1830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)zFar
1831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
183227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
183327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
183427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxOES ( GLenum pname, GLfixed param ) */
183527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
183627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxOES__II
183727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jint param) {
1838a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxOES(
1839a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1840a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1841a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
184227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
184327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
184427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
184527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
184627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__I_3II
184727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
18482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
18492ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
18502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1851a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1852a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1853a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1854a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1855a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
18562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
18572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
18582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1860a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1861a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
18622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
18632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
18642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1865a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1866a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1867a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1868a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
1871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1875a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1877a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
1878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
1879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
1880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
1881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
18822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
18832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
18842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
188527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
188627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
188727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */
188827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
188927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__ILjava_nio_IntBuffer_2
189027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
1891a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
189217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
1893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
189617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
189717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
189817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
189917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
190017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
1901a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointParameterxvOES(
1902a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1903a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
1904a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
1905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
1906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
1907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
190827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
190927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
191027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSizexOES ( GLfixed size ) */
191127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
191227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSizexOES__I
191327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint size) {
1914a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPointSizexOES(
1915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)size
1916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
191727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
191827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
191927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) */
192027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
192127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffsetxOES__II
192227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint factor, jint units) {
1923a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glPolygonOffsetxOES(
1924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)factor,
1925a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)units
1926a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
192727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
192827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
192927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */
193027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
193127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatexOES__IIII
193227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) {
1933a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glRotatexOES(
1934a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)angle,
1935a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
193927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
194027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
194127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) */
194227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
194327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoveragexOES__IZ
194427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint value, jboolean invert) {
1945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glSampleCoveragexOES(
1946a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampx)value,
1947a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLboolean)invert
1948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
194927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
195027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
195127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) */
195227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
195327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalexOES__III
195427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
1955a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glScalexOES(
1956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
1957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
1958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
1959a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
196027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
196127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
196227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) */
196327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
196427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxOES__III
196527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
1966a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxOES(
1967a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
1968a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
1969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
1970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
197127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
197227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
197327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
197427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
197527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__II_3II
197627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
19772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
19782ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
19792ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
1980a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
1981a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
1982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
1983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
1984a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
19852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
19862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
19872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
1988a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1989a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1990a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
19912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
19922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
19932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
1994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
1995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
1996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
1997a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
1998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
1999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2001a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
2002a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
2003a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2004a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2005a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2006a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2007a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
20122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
20132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
20142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
201527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
201627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
201727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
201827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
201927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__IILjava_nio_IntBuffer_2
202027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
2021a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
202217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2024a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
202617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
202717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
202817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
202917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
203017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexEnvxvOES(
2032a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
2033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2035a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2036a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2037a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2038a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
203927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
204027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
204127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) */
204227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
204327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxOES__III
204427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
2045a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxOES(
2046a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
2047a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
2049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
205027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
205127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
205227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
205327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
205427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__II_3II
205527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
20562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
20572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
20582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
2059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
2060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
20642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
20652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
2067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2069a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
20702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
20712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
20722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
2076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
2077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
2078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
2079a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2080a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
2081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
2082a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2083a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2084a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2085a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2086a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2087a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
2088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
2089a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2090a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
20912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
20922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
20932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
209427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
209527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
209627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */
209727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
209827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__IILjava_nio_IntBuffer_2
209927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
2100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
210117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2103a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
2104a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
210517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
210617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
210717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
210817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
210917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexParameterxvOES(
2111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)target,
2112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
2114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
2117a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
211827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
211927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
212027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) */
212127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
212227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatexOES__III
212327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
2124a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTranslatexOES(
2125a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)x,
2126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)y,
2127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)z
2128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
212927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
213027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
213127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) */
213227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
213327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsRenderbufferOES__I
213427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint renderbuffer) {
213573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
213673108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsRenderbufferOES(
213773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
213873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
2139cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden    return (jboolean)_returnValue;
214027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
214127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
214227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) */
214327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
214427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindRenderbufferOES__II
214527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) {
214673108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindRenderbufferOES(
214773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
214873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
214973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
215027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
215127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
215227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
215327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
215427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__I_3II
215527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
21562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
21572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
21582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
215973108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
216073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
216173108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
216273108675c944ab4ee89631dced23566b12341b66Jack Palevich
216373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
21642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
21652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "renderbuffers == null";
216773108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
216873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
216973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
21702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
21712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
217373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
217473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
217573108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
217673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
21772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
21782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
21792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
218073108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
218173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
218273108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
218373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
218473108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
218573108675c944ab4ee89631dced23566b12341b66Jack Palevich
218673108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
218773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
218873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
218973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
219073108675c944ab4ee89631dced23566b12341b66Jack Palevich
219173108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
219273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
219373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
219473108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
219573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
21962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
21972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
21982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
219927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
220027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
220127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */
220227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
220327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2
220427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
22052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
22062ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
22072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
220873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
220917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
221073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
221173108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
221273108675c944ab4ee89631dced23566b12341b66Jack Palevich
221317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
221473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
22152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
22162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
221873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
221973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
222017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (renderbuffers == NULL) {
222117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
222217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
222317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
222473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteRenderbuffersOES(
222573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
222673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
222773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
222873108675c944ab4ee89631dced23566b12341b66Jack Palevich
222973108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
223073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
223173108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, JNI_FALSE);
223273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
22332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
22342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
22352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
223627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
223727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
223827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
223927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
224027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__I_3II
224127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
224273108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
22432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
22442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
224573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers_base = (GLuint *) 0;
224673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
224773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
224873108675c944ab4ee89631dced23566b12341b66Jack Palevich
224973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!renderbuffers_ref) {
225073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
22512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "renderbuffers == null";
225373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
225473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
225573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
225673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
22572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
225973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
226073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
226173108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(renderbuffers_ref) - offset;
226273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
226373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
22642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
22652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
226673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
226773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
226873108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers_base = (GLuint *)
226973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0);
227073108675c944ab4ee89631dced23566b12341b66Jack Palevich    renderbuffers = renderbuffers_base + offset;
227173108675c944ab4ee89631dced23566b12341b66Jack Palevich
227273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
227373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
227473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
227573108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
227673108675c944ab4ee89631dced23566b12341b66Jack Palevich
227773108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
227873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (renderbuffers_base) {
227973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base,
228073108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
228173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
22822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
22832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
22842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
228527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
228627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
228727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */
228827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
228927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2
229027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
229173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
22922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
22932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
229473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
229517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
229673108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
229773108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *renderbuffers = (GLuint *) 0;
229873108675c944ab4ee89631dced23566b12341b66Jack Palevich
229917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining, &_bufferOffset);
230073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
230173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
230473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
230573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
230617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (renderbuffers == NULL) {
230717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _renderbuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
230817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset);
230917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
231073108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenRenderbuffersOES(
231173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
231273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)renderbuffers
231373108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
231473108675c944ab4ee89631dced23566b12341b66Jack Palevich
231573108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
231673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
231773108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE);
231873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
23192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
23202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
23212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
232227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
232327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
232427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */
232527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
232627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRenderbufferStorageOES__IIII
232727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) {
232873108675c944ab4ee89631dced23566b12341b66Jack Palevich    glRenderbufferStorageOES(
232973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
233073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)internalformat,
233173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)width,
233273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)height
233373108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
233427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
233527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
233627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
233727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
233827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__II_3II
233927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
234073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
23412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
23422ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
234373108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
234473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
234573108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
234673108675c944ab4ee89631dced23566b12341b66Jack Palevich
234773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
234873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
235173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
235273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
235373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
235473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
235773108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
235873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
235973108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
236073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
236173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
23622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
23632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 1 < needed";
236473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
236573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
236673108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
236773108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
236873108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
236973108675c944ab4ee89631dced23566b12341b66Jack Palevich
237073108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
237173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
237273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
237373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
237473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
237573108675c944ab4ee89631dced23566b12341b66Jack Palevich
237673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
237773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
237873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
237973108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
238073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
23812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
23822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
23832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
238427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
238527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
238627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */
238727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
238827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2
238927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
239073108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
23912ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
23922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
239373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
239417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
239573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
239673108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
239773108675c944ab4ee89631dced23566b12341b66Jack Palevich
239817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
239973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
240073108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
24012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 1 < needed";
240373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
240473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
240517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
240617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
240717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
240817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
240973108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetRenderbufferParameterivOES(
241073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
241173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
241273108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
241373108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
241473108675c944ab4ee89631dced23566b12341b66Jack Palevich
241573108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
241673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
241773108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
241873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
24192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
24202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
24212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
242227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
242327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
242427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsFramebufferOES ( GLuint framebuffer ) */
242527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean
242627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsFramebufferOES__I
242727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint framebuffer) {
242873108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLboolean _returnValue;
242973108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glIsFramebufferOES(
243073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
243173108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
2432cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden    return (jboolean)_returnValue;
243327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
243427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
243527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) */
243627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
243727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindFramebufferOES__II
243827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint framebuffer) {
243973108675c944ab4ee89631dced23566b12341b66Jack Palevich    glBindFramebufferOES(
244073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
244173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)framebuffer
244273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
244327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
244427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
244527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
244627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
244727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__I_3II
244827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
24492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
24502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
24512ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
245273108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
245373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
245473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
245573108675c944ab4ee89631dced23566b12341b66Jack Palevich
245673108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
24572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
24582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "framebuffers == null";
246073108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
246173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
246273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
24632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
24642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
246673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
246773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
246873108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
246973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
24702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
24712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
24722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
247373108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
247473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
247573108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
247673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
247773108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
247873108675c944ab4ee89631dced23566b12341b66Jack Palevich
247973108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
248073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
248173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
248273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
248373108675c944ab4ee89631dced23566b12341b66Jack Palevich
248473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
248573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
248673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
248773108675c944ab4ee89631dced23566b12341b66Jack Palevich            JNI_ABORT);
248873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
24892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
24902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
24912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
249227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
249327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
249427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */
249527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
249627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2
249727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
24982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
24992ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
25002ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
250173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
250217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
250373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
250473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
250573108675c944ab4ee89631dced23566b12341b66Jack Palevich
250617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
250773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
25082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
25092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
251173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
251273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
251317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (framebuffers == NULL) {
251417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
251517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
251617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
251773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glDeleteFramebuffersOES(
251873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
251973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
252073108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
252173108675c944ab4ee89631dced23566b12341b66Jack Palevich
252273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
252373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
252473108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, JNI_FALSE);
252573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
25262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
25272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
25282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
252927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
253027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
253127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
253227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
253327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__I_3II
253427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
253573108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
25362ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
25372ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
253873108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers_base = (GLuint *) 0;
253973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
254073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
254173108675c944ab4ee89631dced23566b12341b66Jack Palevich
254273108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!framebuffers_ref) {
254373108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
25442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "framebuffers == null";
254673108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
254773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
254873108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
254973108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
25502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
255273108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
255373108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
255473108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(framebuffers_ref) - offset;
255573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
255673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
25572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < n < needed";
255973108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
256073108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
256173108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers_base = (GLuint *)
256273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0);
256373108675c944ab4ee89631dced23566b12341b66Jack Palevich    framebuffers = framebuffers_base + offset;
256473108675c944ab4ee89631dced23566b12341b66Jack Palevich
256573108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
256673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
256773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
256873108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
256973108675c944ab4ee89631dced23566b12341b66Jack Palevich
257073108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
257173108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (framebuffers_base) {
257273108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base,
257373108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
257473108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
25752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
25762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
25772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
257827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
257927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
258027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */
258127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
258227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2
258327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
258473108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
25852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
25862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
258773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
258817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
258973108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
259073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLuint *framebuffers = (GLuint *) 0;
259173108675c944ab4ee89631dced23566b12341b66Jack Palevich
259217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining, &_bufferOffset);
259373108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < n) {
259473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
25952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
25962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < n < needed";
259773108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
259873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
259917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (framebuffers == NULL) {
260017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _framebuffersBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
260117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset);
260217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
260373108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenFramebuffersOES(
260473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLsizei)n,
260573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint *)framebuffers
260673108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
260773108675c944ab4ee89631dced23566b12341b66Jack Palevich
260873108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
260973108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
261073108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE);
261173108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
26122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
26132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
26142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
261527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
261627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
261727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLenum glCheckFramebufferStatusOES ( GLenum target ) */
261827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jint
261927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCheckFramebufferStatusOES__I
262027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
262173108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLenum _returnValue;
262273108675c944ab4ee89631dced23566b12341b66Jack Palevich    _returnValue = glCheckFramebufferStatusOES(
262373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
262473108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
2625cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden    return (jint)_returnValue;
262627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
262727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
262827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */
262927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
263027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferRenderbufferOES__IIII
263127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) {
263273108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferRenderbufferOES(
263373108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
263473108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
263573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)renderbuffertarget,
263673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)renderbuffer
263773108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
263827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
263927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
264027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */
264127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
264227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferTexture2DOES__IIIII
264327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) {
264473108675c944ab4ee89631dced23566b12341b66Jack Palevich    glFramebufferTexture2DOES(
264573108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
264673108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
264773108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)textarget,
264873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLuint)texture,
264973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint)level
265073108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
265127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
265227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
265327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
265427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
265527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__III_3II
265627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) {
265773108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
26582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
26592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
266073108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params_base = (GLint *) 0;
266173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
266273108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
266373108675c944ab4ee89631dced23566b12341b66Jack Palevich
266473108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (!params_ref) {
266573108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
26662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
26672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
266873108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
266973108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
267073108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (offset < 0) {
267173108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
26722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
26732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
267473108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
267573108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
267673108675c944ab4ee89631dced23566b12341b66Jack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
267773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
267873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
26792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
26802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 1 < needed";
268173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
268273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
268373108675c944ab4ee89631dced23566b12341b66Jack Palevich    params_base = (GLint *)
268473108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
268573108675c944ab4ee89631dced23566b12341b66Jack Palevich    params = params_base + offset;
268673108675c944ab4ee89631dced23566b12341b66Jack Palevich
268773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
268873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
268973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
269073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
269173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
269273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
269373108675c944ab4ee89631dced23566b12341b66Jack Palevich
269473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
269573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (params_base) {
269673108675c944ab4ee89631dced23566b12341b66Jack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
269773108675c944ab4ee89631dced23566b12341b66Jack Palevich            _exception ? JNI_ABORT: 0);
269873108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
26992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
27002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
27012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
270227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
270327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
270427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */
270527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
270627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2
270727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) {
270873108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _exception = 0;
27092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
27102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
271173108675c944ab4ee89631dced23566b12341b66Jack Palevich    jarray _array = (jarray) 0;
271217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
271373108675c944ab4ee89631dced23566b12341b66Jack Palevich    jint _remaining;
271473108675c944ab4ee89631dced23566b12341b66Jack Palevich    GLint *params = (GLint *) 0;
271573108675c944ab4ee89631dced23566b12341b66Jack Palevich
271617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
271773108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_remaining < 1) {
271873108675c944ab4ee89631dced23566b12341b66Jack Palevich        _exception = 1;
27192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
27202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 1 < needed";
272173108675c944ab4ee89631dced23566b12341b66Jack Palevich        goto exit;
272273108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
272317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
272417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
272517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
272617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
272773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGetFramebufferAttachmentParameterivOES(
272873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target,
272973108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)attachment,
273073108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)pname,
273173108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLint *)params
273273108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
273373108675c944ab4ee89631dced23566b12341b66Jack Palevich
273473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit:
273573108675c944ab4ee89631dced23566b12341b66Jack Palevich    if (_array) {
273673108675c944ab4ee89631dced23566b12341b66Jack Palevich        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
273773108675c944ab4ee89631dced23566b12341b66Jack Palevich    }
27382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
27392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
27402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
274127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
274227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
274327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenerateMipmapOES ( GLenum target ) */
274427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
274527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenerateMipmapOES__I
274627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint target) {
274773108675c944ab4ee89631dced23566b12341b66Jack Palevich    glGenerateMipmapOES(
274873108675c944ab4ee89631dced23566b12341b66Jack Palevich        (GLenum)target
274973108675c944ab4ee89631dced23566b12341b66Jack Palevich    );
275027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
275127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
275227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */
275327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
275427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCurrentPaletteMatrixOES__I
275527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint matrixpaletteindex) {
2756be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glCurrentPaletteMatrixOES(
2757be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLuint)matrixpaletteindex
2758be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
275927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
276027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
276127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadPaletteFromModelViewMatrixOES ( void ) */
276227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
276327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadPaletteFromModelViewMatrixOES__
276427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this) {
2765be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glLoadPaletteFromModelViewMatrixOES();
276627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
276727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
276827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
276927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2770be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I
2771be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2772be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
277317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2774be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2775be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2776be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2777be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2778be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2779be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2780be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2781be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2782be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2783be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glMatrixIndexPointerOESBounds(
2784be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2785be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2786be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2787be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2788be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2789be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
279027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
279127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
279227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
279327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
2794be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I
2795be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2796be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jarray _array = (jarray) 0;
279717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2798be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    jint _remaining;
2799be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    GLvoid *pointer = (GLvoid *) 0;
2800be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich
2801be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    if (pointer_buf) {
2802be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf);
2803be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        if ( ! pointer ) {
2804be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich            return;
2805be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        }
2806be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    }
2807be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    glWeightPointerOESBounds(
2808be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLint)size,
2809be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLenum)type,
2810be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)stride,
2811be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLvoid *)pointer,
2812be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich        (GLsizei)remaining
2813be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich    );
281427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
281527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
281627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) */
281727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
281827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangefOES__FF
281927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) {
2820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glDepthRangefOES(
2821a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zNear,
2822a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)zFar
2823a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
282427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
282527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
282627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
282727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
282827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumfOES__FFFFFF
282927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2830a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glFrustumfOES(
2831a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2834a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2835a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2836a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2837a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
283827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
283927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
284027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
284127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
284227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthofOES__FFFFFF
284327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
2844a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glOrthofOES(
2845a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)left,
2846a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)right,
2847a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)bottom,
2848a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)top,
2849a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zNear,
2850a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)zFar
2851a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
285227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
285327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
285427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
285527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
285627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__I_3FI
285727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) {
28582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
28592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
28602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
2861a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation_base = (GLfloat *) 0;
2862a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2863a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2864a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2865a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!equation_ref) {
28662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
28672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
28682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "equation == null";
2869a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
28722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
28732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
28742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2875a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2877a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(equation_ref) - offset;
2878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation_base = (GLfloat *)
2879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
2880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    equation = equation_base + offset;
2881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2887a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2888a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (equation_base) {
2889a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
2890a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
2891a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
28922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
28932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
28942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
289527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
289627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
289727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */
289827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
289927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__ILjava_nio_FloatBuffer_2
290027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
2901a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
290217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2903a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2904a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *equation = (GLfloat *) 0;
2905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
290617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining, &_bufferOffset);
290717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (equation == NULL) {
290817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _equationBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
290917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        equation = (GLfloat *) (_equationBase + _bufferOffset);
291017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClipPlanefOES(
2912a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)plane,
2913a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)equation
2914a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, equation, JNI_FALSE);
2917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
291827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
291927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
292027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
292127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
292227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__I_3FI
292327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) {
2924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
29252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
29262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
2927a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn_base = (GLfloat *) 0;
2928a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2930a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!eqn_ref) {
2932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
29332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "eqn == null";
2935a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
2938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
29392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
2941a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2942a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2943a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(eqn_ref) - offset;
2944a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
29462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "length - offset < 4 < needed";
2948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
2950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn_base = (GLfloat *)
2951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
2952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    eqn = eqn_base + offset;
2953a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2954a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2955a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2959a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2960a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (eqn_base) {
2961a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
2962a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
2963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
29642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
29652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
29662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
296727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
296827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
296927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */
297027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
297127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2
297227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
2973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
29742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
29752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
2976a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
297717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
2978a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
2979a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *eqn = (GLfloat *) 0;
2980a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
298117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining, &_bufferOffset);
2982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_remaining < 4) {
2983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
29842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
29852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "remaining() < 4 < needed";
2986a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
2987a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
298817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (eqn == NULL) {
298917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _eqnBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
299017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        eqn = (GLfloat *) (_eqnBase + _bufferOffset);
299117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
2992a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetClipPlanefOES(
2993a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
2994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)eqn
2995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
2996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
2997a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
2998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
2999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
3000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
30012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
30022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
30032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
300427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
300527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
300627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthfOES ( GLclampf depth ) */
300727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
300827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthfOES__F
300927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jfloat depth) {
3010a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glClearDepthfOES(
3011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLclampf)depth
3012a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
301327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
301427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
301527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) */
301627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
301727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfOES__IIF
301827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) {
3019a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfOES(
3020a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3021a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3022a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat)param
3023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
302427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
302527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
302627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
302727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
302827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__II_3FI
302927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
30302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
30312ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
30322ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
3034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3035a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3036a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3037a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
30382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
30392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
30402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3043a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
30442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
30452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
30462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3047a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3050a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
3051a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3052a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3053a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
3055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3057a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3058a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
3064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
30652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
30662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
30672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
306827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
306927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
307027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */
307127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
307227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__IILjava_nio_FloatBuffer_2
307327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
307517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
307917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
308017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
308117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
308217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfloat *) (_paramsBase + _bufferOffset);
308317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3084a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenfvOES(
3085a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3086a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3087a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3089a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
3090a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
3091a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
309227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
309327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
309427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) */
309527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
309627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGeniOES__III
309727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
3098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGeniOES(
3099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3101a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint)param
3102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
310327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
310427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
310527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
310627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
310727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__II_3II
310827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
31092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
31102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
31112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
3113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
31172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
31182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3120a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3121a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
31232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
31242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
3130a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3131a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3132a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3133a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
3134a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3135a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3138a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3139a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3140a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3142a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
3143a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
31442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
31452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
31462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
314727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
314827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
314927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */
315027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
315127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__IILjava_nio_IntBuffer_2
315227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
315417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3155a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3156a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3157a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
315817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
315917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
316017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
316117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
316217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenivOES(
3164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3166a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3168a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
3169a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
3170a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
317127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
317227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
317327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) */
317427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
317527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxOES__III
317627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
3177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxOES(
3178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed)param
3181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
318227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
318327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
318427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
318527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
318627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__II_3II
318727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
31882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    jint _exception = 0;
31892ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
31902ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
3192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
31962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
31972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
31982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3199a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3200a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3201a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
32022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exception = 1;
32032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
32042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3206a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3208a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
3209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3210a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3211a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
3213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3215a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3216a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3217a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3218a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3219a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            JNI_ABORT);
3222a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
32232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
32242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
32252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
322627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
322727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
322827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */
322927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
323027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__IILjava_nio_IntBuffer_2
323127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
323317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3236a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
323717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
323817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
323917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
324017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
324117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glTexGenxvOES(
3243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3247a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
3248a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        releasePointer(_env, _array, params, JNI_FALSE);
3249a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
325027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
325127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
325227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
325327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
325427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__II_3FI
325527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
3256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
32572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
32582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3259a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params_base = (GLfloat *) 0;
3260a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3261a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3262a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3263a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3264a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
32652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
32662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3267a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3268a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3269a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3270a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
32712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
32722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3273a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3274a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3275a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3276a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfloat *)
3277a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3278a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3279a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3280a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
3281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3282a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3283a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3284a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3285a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3287a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3289a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3290a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
32912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
32922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
32932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
329427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
329527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
329627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */
329727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
329827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2
329927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
330117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3302a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3303a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfloat *params = (GLfloat *) 0;
3304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
330517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
330617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
330717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
330817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfloat *) (_paramsBase + _bufferOffset);
330917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3310a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenfvOES(
3311a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3312a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3313a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfloat *)params
3314a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3315a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
33162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
331827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
331927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
332027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
332127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
332227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__II_3II
332327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
3324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
33252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
33262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3327a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params_base = (GLint *) 0;
3328a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3329a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3330a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3331a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3332a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
33332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
33342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3335a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3336a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3338a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
33392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
33402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3341a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3342a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3343a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3344a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLint *)
3345a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3346a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3347a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3348a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
3349a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3350a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3351a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3352a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3353a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3354a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3355a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3356a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3357a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3358a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
33592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
33602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
33612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
336227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
336327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
336427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */
336527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
336627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__IILjava_nio_IntBuffer_2
336727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3368a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
336917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3370a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3371a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLint *params = (GLint *) 0;
3372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
337317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
337417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
337517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
337617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLint *) (_paramsBase + _bufferOffset);
337717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3378a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenivOES(
3379a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3380a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3381a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLint *)params
3382a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3383a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
33842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3385a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
338627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
338727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
338827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
338927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
339027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__II_3II
339127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
3392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _exception = 0;
33932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionType = NULL;
33942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian    const char * _exceptionMessage = NULL;
3395a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params_base = (GLfixed *) 0;
3396a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3397a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3398a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (!params_ref) {
3400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
34012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
34022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "params == null";
3403a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3404a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3405a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (offset < 0) {
3406a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _exception = 1;
34072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionType = "java/lang/IllegalArgumentException";
34082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        _exceptionMessage = "offset < 0";
3409a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        goto exit;
3410a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
3411a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    _remaining = _env->GetArrayLength(params_ref) - offset;
3412a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params_base = (GLfixed *)
3413a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
3414a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    params = params_base + offset;
3415a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3416a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
3417a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3418a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3419a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3420a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3421a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
3422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit:
3423a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (params_base) {
3424a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
3425a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich            _exception ? JNI_ABORT: 0);
3426a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
34272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    if (_exception) {
34282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        jniThrowException(_env, _exceptionType, _exceptionMessage);
34292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer    }
343027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
343127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
343227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */
343327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
343427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__IILjava_nio_IntBuffer_2
343527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
3436a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jarray _array = (jarray) 0;
343717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    jint _bufferOffset = (jint) 0;
3438a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    jint _remaining;
3439a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    GLfixed *params = (GLfixed *) 0;
3440a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich
344117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset);
344217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    if (params == NULL) {
344317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0);
344417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer        params = (GLfixed *) (_paramsBase + _bufferOffset);
344517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer    }
3446a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    glGetTexGenxvOES(
3447a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)coord,
3448a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLenum)pname,
3449a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich        (GLfixed *)params
3450a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    );
3451a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    if (_array) {
34522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer        releasePointer(_env, _array, params, JNI_TRUE);
3453a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich    }
345427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
345527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
345627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic const char *classPathName = "android/opengl/GLES11Ext";
345727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
345827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic JNINativeMethod methods[] = {
345927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit },
346027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationSeparateOES", "(II)V", (void *) android_glBlendEquationSeparateOES__II },
346127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendFuncSeparateOES", "(IIII)V", (void *) android_glBlendFuncSeparateOES__IIII },
346227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationOES", "(I)V", (void *) android_glBlendEquationOES__I },
346327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS },
346427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII },
346527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII },
346627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI },
346727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 },
346827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II },
346927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 },
347027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II },
347127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 },
347227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF },
347327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI },
347427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 },
347527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetTexture2DOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2 },
347627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetRenderbufferStorageOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2 },
347727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFuncxOES", "(II)V", (void *) android_glAlphaFuncxOES__II },
347827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColorxOES", "(IIII)V", (void *) android_glClearColorxOES__IIII },
347927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthxOES", "(I)V", (void *) android_glClearDepthxOES__I },
348027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(I[II)V", (void *) android_glClipPlanexOES__I_3II },
348127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanexOES__ILjava_nio_IntBuffer_2 },
348227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4xOES", "(IIII)V", (void *) android_glColor4xOES__IIII },
348327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangexOES", "(II)V", (void *) android_glDepthRangexOES__II },
348427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxOES", "(II)V", (void *) android_glFogxOES__II },
348527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(I[II)V", (void *) android_glFogxvOES__I_3II },
348627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxvOES__ILjava_nio_IntBuffer_2 },
348727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumxOES", "(IIIIII)V", (void *) android_glFrustumxOES__IIIIII },
348827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(I[II)V", (void *) android_glGetClipPlanexOES__I_3II },
348927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanexOES__ILjava_nio_IntBuffer_2 },
349027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(I[II)V", (void *) android_glGetFixedvOES__I_3II },
349127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedvOES__ILjava_nio_IntBuffer_2 },
349227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(II[II)V", (void *) android_glGetLightxvOES__II_3II },
349327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxvOES__IILjava_nio_IntBuffer_2 },
349427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(II[II)V", (void *) android_glGetMaterialxvOES__II_3II },
349527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxvOES__IILjava_nio_IntBuffer_2 },
349627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(II[II)V", (void *) android_glGetTexEnvxvOES__II_3II },
349727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2 },
349827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(II[II)V", (void *) android_glGetTexParameterxvOES__II_3II },
349927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2 },
350027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxOES", "(II)V", (void *) android_glLightModelxOES__II },
350127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(I[II)V", (void *) android_glLightModelxvOES__I_3II },
350227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxvOES__ILjava_nio_IntBuffer_2 },
350327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxOES", "(III)V", (void *) android_glLightxOES__III },
350427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(II[II)V", (void *) android_glLightxvOES__II_3II },
350527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxvOES__IILjava_nio_IntBuffer_2 },
350627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidthxOES", "(I)V", (void *) android_glLineWidthxOES__I },
350727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "([II)V", (void *) android_glLoadMatrixxOES___3II },
350827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixxOES__Ljava_nio_IntBuffer_2 },
350927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxOES", "(III)V", (void *) android_glMaterialxOES__III },
351027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(II[II)V", (void *) android_glMaterialxvOES__II_3II },
351127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxvOES__IILjava_nio_IntBuffer_2 },
351227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "([II)V", (void *) android_glMultMatrixxOES___3II },
351327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixxOES__Ljava_nio_IntBuffer_2 },
351427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4xOES", "(IIIII)V", (void *) android_glMultiTexCoord4xOES__IIIII },
351527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3xOES", "(III)V", (void *) android_glNormal3xOES__III },
351627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthoxOES", "(IIIIII)V", (void *) android_glOrthoxOES__IIIIII },
351727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxOES", "(II)V", (void *) android_glPointParameterxOES__II },
351827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(I[II)V", (void *) android_glPointParameterxvOES__I_3II },
351927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxvOES__ILjava_nio_IntBuffer_2 },
352027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSizexOES", "(I)V", (void *) android_glPointSizexOES__I },
352127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffsetxOES", "(II)V", (void *) android_glPolygonOffsetxOES__II },
352227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatexOES", "(IIII)V", (void *) android_glRotatexOES__IIII },
352327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoveragexOES", "(IZ)V", (void *) android_glSampleCoveragexOES__IZ },
352427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalexOES", "(III)V", (void *) android_glScalexOES__III },
352527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxOES", "(III)V", (void *) android_glTexEnvxOES__III },
352627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(II[II)V", (void *) android_glTexEnvxvOES__II_3II },
352727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxvOES__IILjava_nio_IntBuffer_2 },
352827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxOES", "(III)V", (void *) android_glTexParameterxOES__III },
352927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(II[II)V", (void *) android_glTexParameterxvOES__II_3II },
353027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxvOES__IILjava_nio_IntBuffer_2 },
353127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatexOES", "(III)V", (void *) android_glTranslatexOES__III },
353227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I },
353327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II },
353427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II },
353527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 },
353627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II },
353727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 },
353827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII },
353927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II },
354027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 },
354127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I },
354227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II },
354327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II },
354427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 },
354527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II },
354627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 },
354727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I },
354827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII },
354927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII },
355027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II },
355127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 },
355227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I },
355327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I },
355427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ },
3555be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I },
3556be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I },
355727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangefOES", "(FF)V", (void *) android_glDepthRangefOES__FF },
355827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumfOES", "(FFFFFF)V", (void *) android_glFrustumfOES__FFFFFF },
355927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthofOES", "(FFFFFF)V", (void *) android_glOrthofOES__FFFFFF },
356027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(I[FI)V", (void *) android_glClipPlanefOES__I_3FI },
356127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanefOES__ILjava_nio_FloatBuffer_2 },
356227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(I[FI)V", (void *) android_glGetClipPlanefOES__I_3FI },
356327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2 },
356427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthfOES", "(F)V", (void *) android_glClearDepthfOES__F },
356527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfOES", "(IIF)V", (void *) android_glTexGenfOES__IIF },
356627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(II[FI)V", (void *) android_glTexGenfvOES__II_3FI },
356727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfvOES__IILjava_nio_FloatBuffer_2 },
356827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGeniOES", "(III)V", (void *) android_glTexGeniOES__III },
356927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(II[II)V", (void *) android_glTexGenivOES__II_3II },
357027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenivOES__IILjava_nio_IntBuffer_2 },
357127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxOES", "(III)V", (void *) android_glTexGenxOES__III },
357227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(II[II)V", (void *) android_glTexGenxvOES__II_3II },
357327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxvOES__IILjava_nio_IntBuffer_2 },
357427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(II[FI)V", (void *) android_glGetTexGenfvOES__II_3FI },
357527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2 },
357627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(II[II)V", (void *) android_glGetTexGenivOES__II_3II },
357727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenivOES__IILjava_nio_IntBuffer_2 },
357827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(II[II)V", (void *) android_glGetTexGenxvOES__II_3II },
357927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxvOES__IILjava_nio_IntBuffer_2 },
358027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich};
358127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich
358227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichint register_android_opengl_jni_GLES11Ext(JNIEnv *_env)
358327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{
358427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    int err;
358527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
358627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich    return err;
358727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}
3588