com_google_android_gles_jni_GLImpl.cpp revision 27f8002e591b5c579f75b2580183b5d1c4219cd4
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* //device/libs/android_runtime/com_google_android_gles_jni_GLImpl.cpp
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Copyright 2006, The Android Open Source Project
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** you may not use this file except in compliance with the License.
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** You may obtain a copy of the License at
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**     http://www.apache.org/licenses/LICENSE-2.0
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project**
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** Unless required by applicable law or agreed to in writing, software
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** distributed under the License is distributed on an "AS IS" BASIS,
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** See the License for the specific language governing permissions and
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project** limitations under the License.
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// This source file is automatically generated
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <android_runtime/AndroidRuntime.h>
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <utils/misc.h>
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <assert.h>
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <GLES/gl.h>
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <private/opengles/gl_context.h>
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#define _NUM_COMPRESSED_TEXTURE_FORMATS \
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (::android::OGLES_NUM_COMPRESSED_TEXTURE_FORMATS)
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic int initialized = 0;
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass nioAccessClass;
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass bufferClass;
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass OOMEClass;
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass UOEClass;
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass IAEClass;
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jclass AIOOBEClass;
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBasePointerID;
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBaseArrayID;
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jmethodID getBaseArrayOffsetID;
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID positionID;
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID limitID;
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jfieldID elementSizeShiftID;
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* Cache method IDs each time the class is loaded. */
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectnativeClassInitBuffer(JNIEnv *_env)
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess");
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal);
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass bufferClassLocal = _env->FindClass("java/nio/Buffer");
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal);
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    getBasePointerID = _env->GetStaticMethodID(nioAccessClass,
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            "getBasePointer", "(Ljava/nio/Buffer;)J");
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    getBaseArrayID = _env->GetStaticMethodID(nioAccessClass,
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;");
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass,
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            "getBaseArrayOffset", "(Ljava/nio/Buffer;)I");
639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    positionID = _env->GetFieldID(bufferClass, "position", "I");
659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    limitID = _env->GetFieldID(bufferClass, "limit", "I");
669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    elementSizeShiftID =
679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetFieldID(bufferClass, "_elementSizeShift", "I");
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectnativeClassInit(JNIEnv *_env, jclass glImplClass)
739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    nativeClassInitBuffer(_env);
759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass IAEClassLocal =
779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->FindClass("java/lang/IllegalArgumentException");
789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass OOMEClassLocal =
799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         _env->FindClass("java/lang/OutOfMemoryError");
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass UOEClassLocal =
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         _env->FindClass("java/lang/UnsupportedOperationException");
829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jclass AIOOBEClassLocal =
839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project         _env->FindClass("java/lang/ArrayIndexOutOfBoundsException");
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal);
869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal);
879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal);
889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal);
899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void *
929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectgetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining)
939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint position;
959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint limit;
969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint elementSizeShift;
979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jlong pointer;
989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint offset;
999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    void *data;
1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    position = _env->GetIntField(buffer, positionID);
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    limit = _env->GetIntField(buffer, limitID);
1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID);
1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    *remaining = (limit - position) << elementSizeShift;
1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = _env->CallStaticLongMethod(nioAccessClass,
1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            getBasePointerID, buffer);
1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (pointer != 0L) {
1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        *array = NULL;
1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        return (void *) (jint) pointer;
1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass,
1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            getBaseArrayID, buffer);
1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    offset = _env->CallStaticIntMethod(nioAccessClass,
1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            getBaseArrayOffsetID, buffer);
1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0);
1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return (void *) ((char *) data + offset);
1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit)
1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ReleasePrimitiveArrayCritical(array, data,
1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project					   commit ? 0 : JNI_ABORT);
1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project// --------------------------------------------------------------------------
1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glActiveTexture ( GLenum texture ) */
1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glActiveTexture__I
1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint texture) {
1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glActiveTexture(
1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)texture
1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFunc ( GLenum func, GLclampf ref ) */
1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFunc__IF
1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint func, jfloat ref) {
1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glAlphaFunc(
1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)func,
1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)ref
1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */
1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glAlphaFuncx__II
1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint func, jint ref) {
1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glAlphaFuncx(
1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)func,
1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)ref
1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindTexture ( GLenum target, GLuint texture ) */
1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindTexture__II
1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint texture) {
1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glBindTexture(
1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)texture
1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */
1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFunc__II
1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) {
1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glBlendFunc(
1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)sfactor,
1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)dfactor
1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClear ( GLbitfield mask ) */
1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClear__I
1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mask) {
1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClear(
1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLbitfield)mask
1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */
1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColor__FFFF
1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) {
1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClearColor(
1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)red,
1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)green,
1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)blue,
1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)alpha
1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */
2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearColorx__IIII
2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClearColorx(
2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)red,
2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)green,
2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)blue,
2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)alpha
2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthf ( GLclampf depth ) */
2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthf__F
2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat depth) {
2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClearDepthf(
2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)depth
2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearDepthx ( GLclampx depth ) */
2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearDepthx__I
2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint depth) {
2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClearDepthx(
2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)depth
2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClearStencil ( GLint s ) */
2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClearStencil__I
2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint s) {
2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClearStencil(
2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)s
2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClientActiveTexture ( GLenum texture ) */
2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClientActiveTexture__I
2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint texture) {
2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClientActiveTexture(
2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)texture
2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */
2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4f__FFFF
2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) {
2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColor4f(
2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)red,
2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)green,
2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)blue,
2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)alpha
2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */
2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4x__IIII
2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) {
2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColor4x(
2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)red,
2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)green,
2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)blue,
2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)alpha
2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */
2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorMask__ZZZZ
2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) {
2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColorMask(
2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)red,
2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)green,
2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)blue,
2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)alpha
2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointerBounds__IIILjava_nio_Buffer_2I
2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pointer = (GLvoid *) 0;
2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining);
2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColorPointerBounds(
2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pointer,
2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)remaining
3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pointer, JNI_FALSE);
3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */
3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2
3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) {
3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *data = (GLvoid *) 0;
3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining);
3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glCompressedTexImage2D(
3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)internalformat,
3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)border,
3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)imageSize,
3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)data
3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, data, JNI_FALSE);
3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */
3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2
3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) {
3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *data = (GLvoid *) 0;
3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining);
3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glCompressedTexSubImage2D(
3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)xoffset,
3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)yoffset,
3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)format,
3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)imageSize,
3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)data
3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, data, JNI_FALSE);
3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */
3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexImage2D__IIIIIIII
3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) {
3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glCopyTexImage2D(
3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)internalformat,
3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)border
3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */
3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCopyTexSubImage2D__IIIIIIII
3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) {
3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glCopyTexSubImage2D(
3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)xoffset,
3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)yoffset,
3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height
3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCullFace ( GLenum mode ) */
3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCullFace__I
3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode) {
3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glCullFace(
3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode
3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */
3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__I_3II
3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) {
4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures_base = (GLuint *) 0;
4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures = (GLuint *) 0;
4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!textures_ref) {
4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "textures == null");
4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(textures_ref) - offset;
4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < n");
4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures_base = (GLuint *)
4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0);
4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures = textures_base + offset;
4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDeleteTextures(
4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)textures
4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (textures_base) {
4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base,
4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */
4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteTextures__ILjava_nio_IntBuffer_2
4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) {
4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures = (GLuint *) 0;
4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining);
4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < n");
4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDeleteTextures(
4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)textures
4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, textures, JNI_FALSE);
4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthFunc ( GLenum func ) */
4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthFunc__I
4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint func) {
4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDepthFunc(
4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)func
4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthMask ( GLboolean flag ) */
4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthMask__Z
4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jboolean flag) {
4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDepthMask(
4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)flag
4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */
4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangef__FF
4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) {
4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDepthRangef(
4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)zNear,
4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)zFar
4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */
4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDepthRangex__II
4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint zNear, jint zFar) {
4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDepthRangex(
4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)zNear,
4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)zFar
4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisable ( GLenum cap ) */
4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisable__I
4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint cap) {
4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDisable(
5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)cap
5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDisableClientState ( GLenum array ) */
5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDisableClientState__I
5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint array) {
5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDisableClientState(
5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)array
5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */
5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawArrays__III
5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) {
5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawArrays(
5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode,
5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)first,
5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)count
5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */
5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIILjava_nio_Buffer_2
5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) {
5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *indices = (GLvoid *) 0;
5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining);
5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < count) {
5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(AIOOBEClass, "remaining() < count");
5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawElements(
5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode,
5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)count,
5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)indices
5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, indices, JNI_FALSE);
5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnable ( GLenum cap ) */
5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnable__I
5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint cap) {
5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glEnable(
5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)cap
5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glEnableClientState ( GLenum array ) */
5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glEnableClientState__I
5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint array) {
5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glEnableClientState(
5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)array
5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFinish ( void ) */
5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFinish__
5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFinish();
5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFlush ( void ) */
5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFlush__
5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFlush();
5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogf ( GLenum pname, GLfloat param ) */
5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogf__IF
5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogf(
5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */
5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__I_3FI
5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogfv(
6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogfv ( GLenum pname, const GLfloat *params ) */
6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogfv__ILjava_nio_FloatBuffer_2
6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogfv(
6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogx ( GLenum pname, GLfixed param ) */
7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogx__II
7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jint param) {
7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogx(
7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */
7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__I_3II
7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
7569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogxv(
7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFogxv ( GLenum pname, const GLfixed *params ) */
7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFogxv__ILjava_nio_IntBuffer_2
7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFogxv(
8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrontFace ( GLenum mode ) */
8259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrontFace__I
8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode) {
8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFrontFace(
8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode
8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumf__FFFFFF
8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFrustumf(
8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)left,
8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)right,
8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)bottom,
8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)top,
8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)zNear,
8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)zFar
8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFrustumx__IIIIII
8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glFrustumx(
8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)left,
8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)right,
8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)bottom,
8559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)top,
8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)zNear,
8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)zFar
8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */
8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__I_3II
8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) {
8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
8669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures_base = (GLuint *) 0;
8679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures = (GLuint *) 0;
8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!textures_ref) {
8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "textures == null");
8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(textures_ref) - offset;
8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
8829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
8839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < n");
8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
8869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures_base = (GLuint *)
8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0);
8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures = textures_base + offset;
8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGenTextures(
8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
8929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)textures
8939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
8949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (textures_base) {
8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base,
8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenTextures ( GLsizei n, GLuint *textures ) */
9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenTextures__ILjava_nio_IntBuffer_2
9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) {
9069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *textures = (GLuint *) 0;
9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining);
9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
9139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < n");
9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
9179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGenTextures(
9189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)textures
9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
9219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
9239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
9249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE);
9259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLenum glGetError ( void ) */
9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint
9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetError__
9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLenum _returnValue;
9339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glGetError();
9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */
9389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__I_3II
9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params_base = (GLint *) 0;
9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
9489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
9509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
9559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
9589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS)
9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_BITS:
9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS)
9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC)
9639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_TEST_FUNC:
9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC)
9659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF)
9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_TEST_REF:
9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF)
9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST)
9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_BLEND_DST:
9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST)
9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS)
9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_BLUE_BITS:
9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS)
9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING)
9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_BUFFER_BINDING:
9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING)
9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE)
9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_SIZE:
9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE)
9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE)
9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_STRIDE:
9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE)
9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE)
9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_TYPE:
9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE)
9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE)
9879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CULL_FACE:
9889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE)
9899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS)
9909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_BITS:
9919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS)
9929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE)
9939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_CLEAR_VALUE:
9949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE)
9959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC)
9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_FUNC:
9979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC)
9989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK)
9999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_WRITEMASK:
10009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK)
10019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
10059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
10079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE)
10149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FRONT_FACE:
10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE)
10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS)
10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_GREEN_BITS:
10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS)
10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES:
10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES:
10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT)
10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINE_SMOOTH_HINT:
10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT)
10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH)
10329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINE_WIDTH:
10339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH)
10349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE)
10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LOGIC_OP_MODE:
10369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE)
10379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
10389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES:
10399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
10409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_SIZE_OES:
10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
10439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
10449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_STRIDE_OES:
10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
10469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
10479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_TYPE_OES:
10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE)
10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_MODE:
10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE)
10529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES)
10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_CLIP_PLANES:
10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES)
10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES)
10569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_ELEMENTS_INDICES:
10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES)
10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES)
10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_ELEMENTS_VERTICES:
10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES)
10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS)
10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_LIGHTS:
10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS)
10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH)
10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_MODELVIEW_STACK_DEPTH:
10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH)
10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES)
10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_PALETTE_MATRICES_OES:
10699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES)
10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH)
10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_PROJECTION_STACK_DEPTH:
10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH)
10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE)
10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_SIZE:
10759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE)
10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH)
10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_STACK_DEPTH:
10789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH)
10799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS)
10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_UNITS:
10819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS)
10829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES)
10839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_VERTEX_UNITS_OES:
10849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES)
10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH)
10869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_STACK_DEPTH:
10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH)
10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_BUFFER_BINDING:
10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE)
10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_STRIDE:
10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE)
10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE)
10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_TYPE:
10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE)
10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
10989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
10999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
11009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT)
11019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PACK_ALIGNMENT:
11029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT)
11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT)
11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PERSPECTIVE_CORRECTION_HINT:
11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT)
11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE)
11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE:
11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE)
11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
11109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES:
11119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
11129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
11139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_STRIDE_OES:
11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
11159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_TYPE_OES:
11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
11189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT)
11199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SMOOTH_HINT:
11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT)
11219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR)
11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POLYGON_OFFSET_FACTOR:
11239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR)
11249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS)
11259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POLYGON_OFFSET_UNITS:
11269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS)
11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH)
11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_STACK_DEPTH:
11299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH)
11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS)
11319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_RED_BITS:
11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS)
11339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL)
11349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHADE_MODEL:
11359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL)
11369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS)
11379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_BITS:
11389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS)
11399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE)
11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_CLEAR_VALUE:
11419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE)
11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL)
11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_FAIL:
11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL)
11459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC)
11469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_FUNC:
11479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC)
11489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL)
11499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_PASS_DEPTH_FAIL:
11509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL)
11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS)
11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_PASS_DEPTH_PASS:
11539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS)
11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF)
11559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_REF:
11569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF)
11579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK)
11589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_VALUE_MASK:
11599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK)
11609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK)
11619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_WRITEMASK:
11629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK)
11639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS)
11649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SUBPIXEL_BITS:
11659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS)
11669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D)
11679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_BINDING_2D:
11689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D)
11699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
11709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING:
11719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
11729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE)
11739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_SIZE:
11749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE)
11759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
11769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_STRIDE:
11779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
11789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE)
11799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_TYPE:
11809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE)
11819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH)
11829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_STACK_DEPTH:
11839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH)
11849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT)
11859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_UNPACK_ALIGNMENT:
11869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT)
11879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
11889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_BUFFER_BINDING:
11899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
11909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE)
11919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_SIZE:
11929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE)
11939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE)
11949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_STRIDE:
11959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE)
11969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE)
11979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_TYPE:
11989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE)
11999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
12009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES:
12019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
12029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES)
12039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_SIZE_OES:
12049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES)
12059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES)
12069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_STRIDE_OES:
12079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES)
12089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES)
12099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_TYPE_OES:
12109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES)
12119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
12129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE)
12149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALIASED_POINT_SIZE_RANGE:
12159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE)
12169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE)
12179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALIASED_LINE_WIDTH_RANGE:
12189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE)
12199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE)
12209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_RANGE:
12219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE)
12229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS)
12239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_VIEWPORT_DIMS:
12249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS)
12259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE)
12269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SMOOTH_LINE_WIDTH_RANGE:
12279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE)
12289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE)
12299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SMOOTH_POINT_SIZE_RANGE:
12309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE)
12319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 2;
12329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE)
12349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_CLEAR_VALUE:
12359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE)
12369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK)
12379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_WRITEMASK:
12389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK)
12399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX)
12409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SCISSOR_BOX:
12419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX)
12429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT)
12439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VIEWPORT:
12449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT)
12459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
12469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX)
12489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_MATRIX:
12499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX)
12509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
12519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES:
12529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
12539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX)
12549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_MATRIX:
12559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX)
12569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
12579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES:
12589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
12599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX)
12609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_MATRIX:
12619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX)
12629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
12639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES:
12649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
12659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 16;
12669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS)
12689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMPRESSED_TEXTURE_FORMATS:
12699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS)
12709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
12719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
12729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
12739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
12749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
12759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
12769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = _NUM_COMPRESSED_TEXTURE_FORMATS;
12779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
12799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
12809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
12819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
12829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
12839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
12849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
12859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
12869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
12879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLint *)
12889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
12899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
12909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
12919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetIntegerv(
12929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
12939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
12949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
12959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
12969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
12979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
12989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
12999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
13009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
13019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
13029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
13039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetIntegerv ( GLenum pname, GLint *params ) */
13049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
13059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetIntegerv__ILjava_nio_IntBuffer_2
13069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
13079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
13089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
13099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
13109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
13119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
13129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
13139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
13149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
13159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_BITS)
13169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_BITS:
13179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_BITS)
13189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_FUNC)
13199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_TEST_FUNC:
13209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_FUNC)
13219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALPHA_TEST_REF)
13229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALPHA_TEST_REF:
13239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALPHA_TEST_REF)
13249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLEND_DST)
13259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_BLEND_DST:
13269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLEND_DST)
13279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_BLUE_BITS)
13289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_BLUE_BITS:
13299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_BLUE_BITS)
13309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_BUFFER_BINDING)
13319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_BUFFER_BINDING:
13329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING)
13339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_SIZE)
13349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_SIZE:
13359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_SIZE)
13369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_STRIDE)
13379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_STRIDE:
13389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_STRIDE)
13399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_ARRAY_TYPE)
13409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_ARRAY_TYPE:
13419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_ARRAY_TYPE)
13429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CULL_FACE)
13439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CULL_FACE:
13449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CULL_FACE)
13459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_BITS)
13469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_BITS:
13479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_BITS)
13489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_CLEAR_VALUE)
13499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_CLEAR_VALUE:
13509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_CLEAR_VALUE)
13519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_FUNC)
13529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_FUNC:
13539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_FUNC)
13549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_WRITEMASK)
13559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_WRITEMASK:
13569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_WRITEMASK)
13579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_DENSITY)
13589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_DENSITY:
13599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_DENSITY)
13609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_END)
13619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_END:
13629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_END)
13639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_MODE)
13649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_MODE:
13659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_MODE)
13669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_START)
13679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_START:
13689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_START)
13699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FRONT_FACE)
13709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FRONT_FACE:
13719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FRONT_FACE)
13729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_GREEN_BITS)
13739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_GREEN_BITS:
13749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_GREEN_BITS)
13759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
13769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES:
13779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES)
13789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
13799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES:
13809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
13819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
13829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
13839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
13849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_SMOOTH_HINT)
13859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINE_SMOOTH_HINT:
13869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_SMOOTH_HINT)
13879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINE_WIDTH)
13889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINE_WIDTH:
13899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINE_WIDTH)
13909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LOGIC_OP_MODE)
13919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LOGIC_OP_MODE:
13929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LOGIC_OP_MODE)
13939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
13949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES:
13959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES)
13969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
13979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_SIZE_OES:
13989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES)
13999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
14009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_STRIDE_OES:
14019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES)
14029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
14039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_INDEX_ARRAY_TYPE_OES:
14049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES)
14059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MATRIX_MODE)
14069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MATRIX_MODE:
14079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MATRIX_MODE)
14089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_CLIP_PLANES)
14099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_CLIP_PLANES:
14109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_CLIP_PLANES)
14119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_INDICES)
14129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_ELEMENTS_INDICES:
14139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_INDICES)
14149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_ELEMENTS_VERTICES)
14159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_ELEMENTS_VERTICES:
14169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_ELEMENTS_VERTICES)
14179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_LIGHTS)
14189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_LIGHTS:
14199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_LIGHTS)
14209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_MODELVIEW_STACK_DEPTH)
14219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_MODELVIEW_STACK_DEPTH:
14229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH)
14239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PALETTE_MATRICES_OES)
14249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_PALETTE_MATRICES_OES:
14259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PALETTE_MATRICES_OES)
14269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_PROJECTION_STACK_DEPTH)
14279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_PROJECTION_STACK_DEPTH:
14289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH)
14299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_SIZE)
14309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_SIZE:
14319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_SIZE)
14329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_STACK_DEPTH)
14339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_STACK_DEPTH:
14349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH)
14359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_TEXTURE_UNITS)
14369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_TEXTURE_UNITS:
14379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_TEXTURE_UNITS)
14389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VERTEX_UNITS_OES)
14399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_VERTEX_UNITS_OES:
14409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VERTEX_UNITS_OES)
14419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_STACK_DEPTH)
14429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_STACK_DEPTH:
14439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_STACK_DEPTH)
14449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
14459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_BUFFER_BINDING:
14469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING)
14479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_STRIDE)
14489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_STRIDE:
14499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_STRIDE)
14509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NORMAL_ARRAY_TYPE)
14519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NORMAL_ARRAY_TYPE:
14529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NORMAL_ARRAY_TYPE)
14539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
14549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
14559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
14569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PACK_ALIGNMENT)
14579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PACK_ALIGNMENT:
14589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PACK_ALIGNMENT)
14599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PERSPECTIVE_CORRECTION_HINT)
14609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PERSPECTIVE_CORRECTION_HINT:
14619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT)
14629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE)
14639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE:
14649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE)
14659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
14669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES:
14679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES)
14689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
14699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_STRIDE_OES:
14709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES)
14719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
14729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SIZE_ARRAY_TYPE_OES:
14739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES)
14749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POINT_SMOOTH_HINT)
14759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POINT_SMOOTH_HINT:
14769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POINT_SMOOTH_HINT)
14779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_FACTOR)
14789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POLYGON_OFFSET_FACTOR:
14799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_FACTOR)
14809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_POLYGON_OFFSET_UNITS)
14819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_POLYGON_OFFSET_UNITS:
14829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_POLYGON_OFFSET_UNITS)
14839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_STACK_DEPTH)
14849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_STACK_DEPTH:
14859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_STACK_DEPTH)
14869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_RED_BITS)
14879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_RED_BITS:
14889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_RED_BITS)
14899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHADE_MODEL)
14909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHADE_MODEL:
14919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHADE_MODEL)
14929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_BITS)
14939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_BITS:
14949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_BITS)
14959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_CLEAR_VALUE)
14969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_CLEAR_VALUE:
14979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_CLEAR_VALUE)
14989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FAIL)
14999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_FAIL:
15009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FAIL)
15019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_FUNC)
15029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_FUNC:
15039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_FUNC)
15049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_FAIL)
15059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_PASS_DEPTH_FAIL:
15069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL)
15079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_PASS_DEPTH_PASS)
15089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_PASS_DEPTH_PASS:
15099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_PASS_DEPTH_PASS)
15109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_REF)
15119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_REF:
15129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_REF)
15139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_VALUE_MASK)
15149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_VALUE_MASK:
15159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_VALUE_MASK)
15169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_STENCIL_WRITEMASK)
15179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_STENCIL_WRITEMASK:
15189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_STENCIL_WRITEMASK)
15199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SUBPIXEL_BITS)
15209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SUBPIXEL_BITS:
15219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SUBPIXEL_BITS)
15229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_BINDING_2D)
15239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_BINDING_2D:
15249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_BINDING_2D)
15259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
15269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING:
15279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING)
15289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_SIZE)
15299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_SIZE:
15309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE)
15319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
15329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_STRIDE:
15339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE)
15349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_COORD_ARRAY_TYPE)
15359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_COORD_ARRAY_TYPE:
15369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE)
15379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_STACK_DEPTH)
15389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_STACK_DEPTH:
15399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_STACK_DEPTH)
15409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_UNPACK_ALIGNMENT)
15419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_UNPACK_ALIGNMENT:
15429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_UNPACK_ALIGNMENT)
15439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
15449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_BUFFER_BINDING:
15459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING)
15469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_SIZE)
15479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_SIZE:
15489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_SIZE)
15499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_STRIDE)
15509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_STRIDE:
15519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_STRIDE)
15529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VERTEX_ARRAY_TYPE)
15539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VERTEX_ARRAY_TYPE:
15549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VERTEX_ARRAY_TYPE)
15559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
15569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES:
15579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES)
15589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_SIZE_OES)
15599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_SIZE_OES:
15609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES)
15619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_STRIDE_OES)
15629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_STRIDE_OES:
15639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES)
15649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_WEIGHT_ARRAY_TYPE_OES)
15659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_WEIGHT_ARRAY_TYPE_OES:
15669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES)
15679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
15689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
15699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_POINT_SIZE_RANGE)
15709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALIASED_POINT_SIZE_RANGE:
15719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_POINT_SIZE_RANGE)
15729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_ALIASED_LINE_WIDTH_RANGE)
15739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_ALIASED_LINE_WIDTH_RANGE:
15749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE)
15759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DEPTH_RANGE)
15769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DEPTH_RANGE:
15779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DEPTH_RANGE)
15789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MAX_VIEWPORT_DIMS)
15799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MAX_VIEWPORT_DIMS:
15809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MAX_VIEWPORT_DIMS)
15819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_LINE_WIDTH_RANGE)
15829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SMOOTH_LINE_WIDTH_RANGE:
15839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE)
15849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SMOOTH_POINT_SIZE_RANGE)
15859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SMOOTH_POINT_SIZE_RANGE:
15869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE)
15879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 2;
15889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
15899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_CLEAR_VALUE)
15909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_CLEAR_VALUE:
15919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_CLEAR_VALUE)
15929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COLOR_WRITEMASK)
15939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COLOR_WRITEMASK:
15949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COLOR_WRITEMASK)
15959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SCISSOR_BOX)
15969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SCISSOR_BOX:
15979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SCISSOR_BOX)
15989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_VIEWPORT)
15999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_VIEWPORT:
16009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_VIEWPORT)
16019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
16029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
16039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX)
16049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_MATRIX:
16059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX)
16069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
16079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES:
16089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES)
16099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX)
16109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_MATRIX:
16119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX)
16129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
16139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES:
16149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES)
16159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX)
16169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_MATRIX:
16179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX)
16189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
16199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES:
16209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES)
16219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 16;
16229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
16239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMPRESSED_TEXTURE_FORMATS)
16249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMPRESSED_TEXTURE_FORMATS:
16259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS)
16269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_FOG_COLOR)
16279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_FOG_COLOR:
16289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_FOG_COLOR)
16299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
16309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
16319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
16329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = _NUM_COMPRESSED_TEXTURE_FORMATS;
16339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
16349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
16359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
16369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
16379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
16389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
16399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
16409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
16419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
16429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
16439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetIntegerv(
16449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
16459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
16469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
16479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
16499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
16509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
16519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
16529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
16539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#include <string.h>
16559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* const GLubyte * glGetString ( GLenum name ) */
165727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic
16589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectjstring
16599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetString
16609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint name) {
16619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    const char * chars = (const char *)glGetString((GLenum)name);
16629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jstring output = _env->NewStringUTF(chars);
16639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return output;
16649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
16659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glHint ( GLenum target, GLenum mode ) */
16669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
16679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glHint__II
16689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint mode) {
16699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glHint(
16709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
16719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode
16729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
16739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
16749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelf ( GLenum pname, GLfloat param ) */
16769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
16779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelf__IF
16789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
16799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelf(
16809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
16819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
16829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
16839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
16849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */
16869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
16879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__I_3FI
16889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
16899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
16909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
16919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
16929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
16939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
16949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
16959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
16969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
16979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
16989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
16999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
17009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
17029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
17039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
17049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
17059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
17069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
17079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
17089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
17109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
17119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
17129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
17139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
17159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
17169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
17199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
17209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
17219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
17239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
17249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
17259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelfv(
17279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
17289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
17299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
17309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
17329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
17339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
17349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
17359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
17379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */
17399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
17409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelfv__ILjava_nio_FloatBuffer_2
17419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
17429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
17439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
17449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
17459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
17479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
17489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
17499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
17509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
17519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
17529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
17539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
17559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
17569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
17579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
17589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
17609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
17619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
17629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
17649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
17659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
17669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelfv(
17689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
17699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
17709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
17719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
17739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
17749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
17759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
17769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
17779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelx ( GLenum pname, GLfixed param ) */
17799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
17809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelx__II
17819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jint param) {
17829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelx(
17839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
17849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
17859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
17869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
17879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */
17899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
17909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__I_3II
17919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
17929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
17939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
17949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
17959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
17969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
17979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
17989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
17999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
18019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
18029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
18039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
18059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
18069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
18079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
18089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
18099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
18109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
18119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
18139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
18149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
18159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
18169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
18189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
18199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
18229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
18239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
18249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
18269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
18279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
18289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelxv(
18309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
18319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
18329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
18339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
18359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
18369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
18379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
18389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
18409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */
18429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
18439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightModelxv__ILjava_nio_IntBuffer_2
18449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
18459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
18469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
18479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
18489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
18509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
18519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
18529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_TWO_SIDE)
18539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_TWO_SIDE:
18549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_TWO_SIDE)
18559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
18569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LIGHT_MODEL_AMBIENT)
18589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LIGHT_MODEL_AMBIENT:
18599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LIGHT_MODEL_AMBIENT)
18609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
18619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
18639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
18649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
18659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
18679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
18689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
18699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightModelxv(
18719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
18729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
18739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
18749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
18769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
18779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
18789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
18799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
18809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */
18829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
18839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightf__IIF
18849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) {
18859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightf(
18869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
18879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
18889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
18899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
18909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
18919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
18929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */
18939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
18949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__II_3FI
18959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) {
18969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
18979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
18989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
18999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
19019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
19029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
19039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
19049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
19059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
19069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
19079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
19089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
19099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
19109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
19119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
19129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
19139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
19149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
19159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
19169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
19179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
19189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
19199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
19209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
19219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
19229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
19239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
19249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
19259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
19269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
19279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
19289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
19299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
19309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
19319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
19329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
19339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
19349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
19359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
19369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
19379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
19389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
19399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
19409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
19419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
19429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
19439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
19449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
19459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
19469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
19479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
19489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
19499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
19509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
19519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
19529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
19539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
19549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
19559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
19569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
19579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
19589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightfv(
19609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
19619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
19629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
19639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
19649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
19669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
19679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
19689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
19699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
19709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
19719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */
19739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
19749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightfv__IILjava_nio_FloatBuffer_2
19759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
19769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
19779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
19789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
19799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
19809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
19819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
19829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
19839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
19849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
19859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
19869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
19879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
19889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
19899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
19909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
19919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
19929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
19939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
19949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
19959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
19969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
19979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
19989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
19999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
20019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
20029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
20039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
20049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
20069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
20079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
20089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
20099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
20109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
20119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
20129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
20139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
20149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
20159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
20169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
20179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
20189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
20209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
20219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
20239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
20249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
20259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
20269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
20279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightfv(
20289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
20299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
20309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
20319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
20329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
20339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
20349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
20359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
20369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
20379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
20389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
20399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */
20409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
20419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightx__III
20429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) {
20439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightx(
20449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
20459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
20469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
20479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
20489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
20499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
20509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */
20519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
20529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__II_3II
20539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
20549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
20559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
20569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
20579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
20589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
20599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
20609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
20619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
20629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
20639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
20649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
20659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
20669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
20679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
20689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
20699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
20709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
20719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
20729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
20739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
20749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
20759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
20769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
20779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
20789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
20799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
20809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
20819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
20829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
20839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
20849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
20859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
20879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
20889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
20899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
20909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
20919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
20929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
20939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
20949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
20959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
20969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
20979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
20989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
20999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
21009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
21019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
21029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
21039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
21049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
21069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
21079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
21109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
21119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
21129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
21149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
21159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
21169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightxv(
21189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
21199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
21209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
21219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
21229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
21249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
21259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
21269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
21279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
21299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */
21319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
21329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLightxv__IILjava_nio_IntBuffer_2
21339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
21349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
21359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
21369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
21379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
21399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
21409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
21419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
21429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
21439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
21449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
21459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
21469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
21479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
21489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
21499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
21509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
21519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
21529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
21539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
21549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
21559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
21569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
21579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
21599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
21609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
21619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
21629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
21649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
21659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
21669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
21679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
21689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
21699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
21709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
21719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
21729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
21739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
21749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
21759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
21769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
21789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
21799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
21809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
21829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
21839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
21849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLightxv(
21869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
21879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
21889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
21899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
21909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
21929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
21939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
21949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
21959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
21969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
21979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidth ( GLfloat width ) */
21989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
21999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidth__F
22009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat width) {
22019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLineWidth(
22029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)width
22039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
22049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
22059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLineWidthx ( GLfixed width ) */
22079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
22089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLineWidthx__I
22099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint width) {
22109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLineWidthx(
22119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)width
22129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
22139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
22149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadIdentity ( void ) */
22169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
22179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadIdentity__
22189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
22199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLoadIdentity();
22209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
22219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */
22239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
22249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf___3FI
22259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) {
22269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m_base = (GLfloat *) 0;
22279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
22289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m = (GLfloat *) 0;
22299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!m_ref) {
22319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "m == null");
22329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
22339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
22359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
22369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
22379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(m_ref) - offset;
22399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m_base = (GLfloat *)
22409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
22419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = m_base + offset;
22429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLoadMatrixf(
22449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)m
22459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
22469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
22489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (m_base) {
22499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
22509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
22519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
22539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixf ( const GLfloat *m ) */
22559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
22569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixf__Ljava_nio_FloatBuffer_2
22579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject m_buf) {
22589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
22599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
22609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m = (GLfloat *) 0;
22619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining);
22639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLoadMatrixf(
22649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)m
22659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
22669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
22679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, m, JNI_FALSE);
22689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
22709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */
22729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
22739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx___3II
22749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
22759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m_base = (GLfixed *) 0;
22769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
22779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m = (GLfixed *) 0;
22789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!m_ref) {
22809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "m == null");
22819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
22829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
22849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
22859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
22869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
22879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(m_ref) - offset;
22889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m_base = (GLfixed *)
22899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
22909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = m_base + offset;
22919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLoadMatrixx(
22939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)m
22949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
22959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
22969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
22979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (m_base) {
22989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
22999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
23009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
23029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadMatrixx ( const GLfixed *m ) */
23049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
23059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadMatrixx__Ljava_nio_IntBuffer_2
23069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject m_buf) {
23079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
23089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
23099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m = (GLfixed *) 0;
23109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining);
23129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLoadMatrixx(
23139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)m
23149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
23159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
23169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, m, JNI_FALSE);
23179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
23199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLogicOp ( GLenum opcode ) */
23219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
23229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLogicOp__I
23239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint opcode) {
23249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glLogicOp(
23259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)opcode
23269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
23279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
23289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */
23309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
23319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialf__IIF
23329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) {
23339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialf(
23349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
23359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
23369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
23379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
23389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
23399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */
23419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
23429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__II_3FI
23439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) {
23449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
23459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
23469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
23479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
23499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
23509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
23519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
23539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
23549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
23559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
23579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
23589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
23599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
23609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
23619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
23629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
23639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
23649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
23659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
23669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
23679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
23689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
23699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
23709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
23719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
23729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
23739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
23749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
23759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
23769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
23779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
23789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
23799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
23809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
23819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
23829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
23839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
23849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
23869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
23879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
23889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
23899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
23909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
23919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
23929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialfv(
23949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
23959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
23969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
23979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
23989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
23999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
24009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
24019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
24029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
24039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
24059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */
24079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
24089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialfv__IILjava_nio_FloatBuffer_2
24099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
24109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
24119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
24129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
24139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
24159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
24169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
24179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
24189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
24199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
24209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
24219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
24229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
24239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
24249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
24259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
24269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
24279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
24289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
24299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
24309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
24319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
24329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
24339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
24349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
24359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
24369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
24379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
24389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
24399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
24409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
24419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
24429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
24449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
24459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
24469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialfv(
24489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
24499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
24509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
24519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
24529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
24549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
24559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
24569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
24589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */
24609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
24619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialx__III
24629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) {
24639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialx(
24649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
24659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
24669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
24679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
24689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
24699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */
24719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
24729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__II_3II
24739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
24749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
24759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
24769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
24779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
24799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
24809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
24819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
24839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
24849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
24859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
24869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
24879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
24889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
24899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
24909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
24919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
24929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
24939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
24949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
24959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
24969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
24979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
24989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
24999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
25009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
25019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
25029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
25039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
25049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
25059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
25069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
25079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
25089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
25099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
25109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
25119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
25129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
25139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
25149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
25169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
25179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
25189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
25209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
25219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
25229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialxv(
25249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
25259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
25269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
25279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
25289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
25309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
25319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
25329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
25339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
25359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */
25379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
25389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMaterialxv__IILjava_nio_IntBuffer_2
25399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
25409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
25419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
25429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
25439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
25459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
25469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
25479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
25489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
25499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
25509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
25519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
25529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
25539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
25549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
25559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
25569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
25579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
25589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
25599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
25609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
25619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
25629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
25639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
25649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
25659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
25669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
25679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
25689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
25699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
25709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
25719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
25729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
25749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
25759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
25769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMaterialxv(
25789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
25799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
25809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
25819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
25829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
25849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
25859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
25869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
25879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
25889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixMode ( GLenum mode ) */
25909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
25919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixMode__I
25929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode) {
25939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMatrixMode(
25949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode
25959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
25969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
25979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
25989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */
25999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
26009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf___3FI
26019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) {
26029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m_base = (GLfloat *) 0;
26039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
26049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m = (GLfloat *) 0;
26059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!m_ref) {
26079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "m == null");
26089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
26099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
26119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
26129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
26139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(m_ref) - offset;
26159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m_base = (GLfloat *)
26169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
26179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = m_base + offset;
26189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultMatrixf(
26209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)m
26219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
26229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
26249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (m_base) {
26259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
26269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
26279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
26299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixf ( const GLfloat *m ) */
26319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
26329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixf__Ljava_nio_FloatBuffer_2
26339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject m_buf) {
26349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
26359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
26369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *m = (GLfloat *) 0;
26379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining);
26399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultMatrixf(
26409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)m
26419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
26429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
26439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, m, JNI_FALSE);
26449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
26469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */
26489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
26499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx___3II
26509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) {
26519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m_base = (GLfixed *) 0;
26529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
26539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m = (GLfixed *) 0;
26549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!m_ref) {
26569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "m == null");
26579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
26589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
26609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
26619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
26629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(m_ref) - offset;
26649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m_base = (GLfixed *)
26659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0);
26669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = m_base + offset;
26679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultMatrixx(
26699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)m
26709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
26719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
26739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (m_base) {
26749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(m_ref, m_base,
26759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
26769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
26789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultMatrixx ( const GLfixed *m ) */
26809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
26819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultMatrixx__Ljava_nio_IntBuffer_2
26829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject m_buf) {
26839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
26849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
26859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *m = (GLfixed *) 0;
26869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining);
26889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultMatrixx(
26899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)m
26909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
26919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
26929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, m, JNI_FALSE);
26939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
26949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
26959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
26969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */
26979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
26989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4f__IFFFF
26999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) {
27009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultiTexCoord4f(
27019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
27029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)s,
27039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)t,
27049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)r,
27059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)q
27069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */
27109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMultiTexCoord4x__IIIII
27129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) {
27139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glMultiTexCoord4x(
27149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
27159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)s,
27169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)t,
27179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)r,
27189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)q
27199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */
27239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3f__FFF
27259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) {
27269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glNormal3f(
27279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)nx,
27289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)ny,
27299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)nz
27309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */
27349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormal3x__III
27369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) {
27379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glNormal3x(
27389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)nx,
27399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)ny,
27409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)nz
27419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */
27459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointerBounds__IILjava_nio_Buffer_2I
27479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) {
27489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
27499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
27509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pointer = (GLvoid *) 0;
27519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining);
27539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glNormalPointerBounds(
27549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
27559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
27569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pointer,
27579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)remaining
27589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
27609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pointer, JNI_FALSE);
27619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
27629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */
27659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthof__FFFFFF
27679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) {
27689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glOrthof(
27699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)left,
27709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)right,
27719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)bottom,
27729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)top,
27739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)zNear,
27749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)zFar
27759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */
27799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glOrthox__IIIIII
27819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) {
27829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glOrthox(
27839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)left,
27849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)right,
27859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)bottom,
27869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)top,
27879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)zNear,
27889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)zFar
27899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
27909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
27919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
27929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPixelStorei ( GLenum pname, GLint param ) */
27939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
27949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPixelStorei__II
27959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jint param) {
27969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPixelStorei(
27979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
27989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)param
27999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSize ( GLfloat size ) */
28039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSize__F
28059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat size) {
28069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointSize(
28079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)size
28089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizex ( GLfixed size ) */
28129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSizex__I
28149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size) {
28159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointSizex(
28169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)size
28179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */
28219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffset__FF
28239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) {
28249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPolygonOffset(
28259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)factor,
28269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)units
28279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */
28319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPolygonOffsetx__II
28339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint factor, jint units) {
28349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPolygonOffsetx(
28359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)factor,
28369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)units
28379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPopMatrix ( void ) */
28419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPopMatrix__
28439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
28449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPopMatrix();
28459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPushMatrix ( void ) */
28489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPushMatrix__
28509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
28519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPushMatrix();
28529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */
28559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glReadPixels__IIIIIILjava_nio_Buffer_2
28579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) {
28589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
28599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
28609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
28619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pixels = (GLvoid *) 0;
28629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining);
28649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glReadPixels(
28659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
28669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
28679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
28689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
28699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)format,
28709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
28719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pixels
28729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
28749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE);
28759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
28769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */
28799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatef__FFFF
28819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) {
28829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glRotatef(
28839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)angle,
28849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)x,
28859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)y,
28869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)z
28879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
28889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
28899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
28909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */
28919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
28929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRotatex__IIII
28939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) {
28949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glRotatex(
28959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)angle,
28969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)x,
28979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)y,
28989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)z
28999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */
29039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoverage__FZ
29059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) {
29069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glSampleCoverage(
29079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampf)value,
29089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)invert
29099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */
29139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glSampleCoveragex__IZ
29159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint value, jboolean invert) {
29169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glSampleCoveragex(
29179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLclampx)value,
29189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean)invert
29199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */
29239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalef__FFF
29259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) {
29269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glScalef(
29279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)x,
29289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)y,
29299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)z
29309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */
29349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScalex__III
29369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
29379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glScalex(
29389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)x,
29399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)y,
29409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)z
29419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */
29459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glScissor__IIII
29479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) {
29489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glScissor(
29499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
29509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
29519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
29529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height
29539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glShadeModel ( GLenum mode ) */
29579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glShadeModel__I
29599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode) {
29609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glShadeModel(
29619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode
29629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */
29669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilFunc__III
29689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) {
29699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glStencilFunc(
29709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)func,
29719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)ref,
29729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)mask
29739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilMask ( GLuint mask ) */
29779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilMask__I
29799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mask) {
29809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glStencilMask(
29819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)mask
29829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */
29869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glStencilOp__III
29889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) {
29899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glStencilOp(
29909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)fail,
29919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)zfail,
29929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)zpass
29939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
29949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
29959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
29969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
29979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
29989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I
29999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
30009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
30019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
30029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pointer = (GLvoid *) 0;
30039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining);
30059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexCoordPointerBounds(
30069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
30079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
30089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
30099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pointer,
30109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)remaining
30119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
30129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
30139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pointer, JNI_FALSE);
30149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
30169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */
30189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
30199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvf__IIF
30209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) {
30219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvf(
30229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
30239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
30249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
30259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
30269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
30279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */
30299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
30309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__II_3FI
30319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
30329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
30339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
30349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
30359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
30379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
30389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
30399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
30419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
30429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
30439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
30459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
30469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
30479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
30489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
30499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
30509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
30519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
30529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
30539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
30549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
30559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
30569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
30579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
30589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
30599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
30609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
30619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
30629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
30639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
30649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
30659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
30669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
30689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
30699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
30709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
30729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
30739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
30749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvfv(
30769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
30779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
30789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
30799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
30809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
30829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
30839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
30849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
30859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
30869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
30879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */
30899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
30909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvfv__IILjava_nio_FloatBuffer_2
30919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
30929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
30939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
30949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
30959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
30969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
30979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
30989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
30999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
31009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
31019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
31029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
31039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
31049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
31059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
31069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
31079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
31089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
31099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
31119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
31129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
31139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
31149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
31169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
31179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
31209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
31219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
31229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvfv(
31249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
31259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
31269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
31279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
31289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
31309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
31319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
31329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
31349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */
31369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
31379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvx__III
31389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
31399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvx(
31409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
31419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
31429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
31439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
31449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
31459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */
31479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
31489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__II_3II
31499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
31509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
31519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
31529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
31539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
31559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
31569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
31579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
31599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
31609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
31619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
31639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
31649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
31659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
31669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
31679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
31689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
31699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
31709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
31719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
31729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
31739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
31749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
31759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
31779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
31789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
31799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
31809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
31829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
31839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
31849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
31869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
31879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
31889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
31899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
31909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
31919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
31929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvxv(
31949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
31959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
31969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
31979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
31989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
31999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
32009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
32019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
32029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
32039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
32059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */
32079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
32089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvxv__IILjava_nio_IntBuffer_2
32099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
32109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
32119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
32129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
32139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
32159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
32169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
32179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
32189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
32199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
32209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
32219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
32229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
32239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
32249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
32259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
32269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
32279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
32289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
32299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
32309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
32319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
32329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
32339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
32349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
32359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
32369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
32389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
32399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
32409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvxv(
32429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
32439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
32449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
32459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
32469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
32489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
32499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
32509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
32529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */
32549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
32559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexImage2D__IIIIIIIILjava_nio_Buffer_2
32569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) {
32579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
32589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
32599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pixels = (GLvoid *) 0;
32609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (pixels_buf) {
32629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining);
32639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexImage2D(
32659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
32669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
32679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)internalformat,
32689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
32699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
32709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)border,
32719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)format,
32729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
32739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pixels
32749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
32759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
32769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pixels, JNI_FALSE);
32779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
32789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
32799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */
32819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
32829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterf__IIF
32839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) {
32849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterf(
32859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
32869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
32879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
32889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
32899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
32909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
32919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */
32929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
32939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterx__III
32949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
32959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterx(
32969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
32979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
32989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
32999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */
33039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
33049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2
33059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) {
33069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
33079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
33089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pixels = (GLvoid *) 0;
33099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (pixels_buf) {
33119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining);
33129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
33139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexSubImage2D(
33149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
33159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)level,
33169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)xoffset,
33179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)yoffset,
33189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
33199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height,
33209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)format,
33219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
33229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pixels
33239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
33259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pixels, JNI_FALSE);
33269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
33279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */
33309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
33319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatef__FFF
33329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) {
33339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTranslatef(
33349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)x,
33359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)y,
33369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)z
33379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */
33419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
33429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTranslatex__III
33439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint z) {
33449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTranslatex(
33459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)x,
33469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)y,
33479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)z
33489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
33529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
33539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointerBounds__IIILjava_nio_Buffer_2I
33549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) {
33559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
33569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
33579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pointer = (GLvoid *) 0;
33589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining);
33609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glVertexPointerBounds(
33619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
33629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
33639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
33649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pointer,
33659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)remaining
33669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
33689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pointer, JNI_FALSE);
33699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
33709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */
33739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
33749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glViewport__IIII
33759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) {
33769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glViewport(
33779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
33789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
33799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)width,
33809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)height
33819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
33829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
33839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */
33859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint
33869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES___3II_3II
33879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jintArray mantissa_ref, jint mantissaOffset, jintArray exponent_ref, jint exponentOffset) {
33889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
33899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLbitfield _returnValue = -1;
33909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *mantissa_base = (GLfixed *) 0;
33919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _mantissaRemaining;
33929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *mantissa = (GLfixed *) 0;
33939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *exponent_base = (GLint *) 0;
33949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exponentRemaining;
33959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *exponent = (GLint *) 0;
33969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!mantissa_ref) {
33989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
33999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "mantissa == null");
34009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (mantissaOffset < 0) {
34039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "mantissaOffset < 0");
34059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _mantissaRemaining = _env->GetArrayLength(mantissa_ref) - mantissaOffset;
34089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_mantissaRemaining < 16) {
34099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - mantissaOffset < 16");
34119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    mantissa_base = (GLfixed *)
34149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(mantissa_ref, (jboolean *)0);
34159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    mantissa = mantissa_base + mantissaOffset;
34169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!exponent_ref) {
34189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "exponent == null");
34209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (exponentOffset < 0) {
34239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "exponentOffset < 0");
34259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _exponentRemaining = _env->GetArrayLength(exponent_ref) - exponentOffset;
34289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_exponentRemaining < 16) {
34299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - exponentOffset < 16");
34319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    exponent_base = (GLint *)
34349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(exponent_ref, (jboolean *)0);
34359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    exponent = exponent_base + exponentOffset;
34369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glQueryMatrixxOES(
34389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)mantissa,
34399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)exponent
34409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
34419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
34439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (exponent_base) {
34449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(exponent_ref, exponent_base,
34459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
34469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (mantissa_base) {
34489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(mantissa_ref, mantissa_base,
34499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
34509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
34529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
34539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */
34559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint
34569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2
34579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject mantissa_buf, jobject exponent_buf) {
34589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
34599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _mantissaArray = (jarray) 0;
34609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _exponentArray = (jarray) 0;
34619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLbitfield _returnValue = -1;
34629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _mantissaRemaining;
34639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *mantissa = (GLfixed *) 0;
34649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exponentRemaining;
34659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *exponent = (GLint *) 0;
34669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    mantissa = (GLfixed *)getPointer(_env, mantissa_buf, &_mantissaArray, &_mantissaRemaining);
34689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_mantissaRemaining < 16) {
34699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 16");
34719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    exponent = (GLint *)getPointer(_env, exponent_buf, &_exponentArray, &_exponentRemaining);
34749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_exponentRemaining < 16) {
34759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
34769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 16");
34779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
34789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glQueryMatrixxOES(
34809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)mantissa,
34819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)exponent
34829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
34839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
34859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_mantissaArray) {
34869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _mantissaArray, exponent, _exception ? JNI_FALSE : JNI_TRUE);
34879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_exponentArray) {
34899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _exponentArray, mantissa, _exception ? JNI_FALSE : JNI_TRUE);
34909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
34919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
34929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
34939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
34949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindBuffer ( GLenum target, GLuint buffer ) */
34959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
34969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindBuffer__II
34979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint buffer) {
34989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glBindBuffer(
34999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
35009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)buffer
35019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
35029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
35039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */
35059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
35069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferData__IILjava_nio_Buffer_2I
35079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) {
35089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
35099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
35109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *data = (GLvoid *) 0;
35119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (data_buf) {
35139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining);
35149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glBufferData(
35169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
35179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizeiptr)size,
35189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)data,
35199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)usage
35209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
35219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
35229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, data, JNI_FALSE);
35239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
35259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */
35279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
35289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBufferSubData__IIILjava_nio_Buffer_2
35299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) {
35309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
35319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
35329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *data = (GLvoid *) 0;
35339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining);
35359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glBufferSubData(
35369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
35379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLintptr)offset,
35389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizeiptr)size,
35399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)data
35409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
35419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
35429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, data, JNI_FALSE);
35439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
35459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */
35479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
35489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__I_3FI
35499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) {
35509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *equation_base = (GLfloat *) 0;
35519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
35529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *equation = (GLfloat *) 0;
35539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!equation_ref) {
35559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "equation == null");
35569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
35579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
35599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
35609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
35619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(equation_ref) - offset;
35639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 4) {
35649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 4");
35659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
35669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation_base = (GLfloat *)
35689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
35699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation = equation_base + offset;
35709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClipPlanef(
35729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)plane,
35739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)equation
35749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
35759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
35779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (equation_base) {
35789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
35799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
35809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
35829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */
35849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
35859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanef__ILjava_nio_FloatBuffer_2
35869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
35879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
35889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
35899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *equation = (GLfloat *) 0;
35909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
35919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining);
35929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 4) {
35939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 4");
35949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
35959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
35969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClipPlanef(
35979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)plane,
35989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)equation
35999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
36009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
36029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
36039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, equation, JNI_FALSE);
36049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
36069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */
36089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
36099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__I_3II
36109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) {
36119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *equation_base = (GLfixed *) 0;
36129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
36139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *equation = (GLfixed *) 0;
36149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!equation_ref) {
36169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "equation == null");
36179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
36189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
36209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
36219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
36229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(equation_ref) - offset;
36249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 4) {
36259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 4");
36269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
36279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation_base = (GLfixed *)
36299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0);
36309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation = equation_base + offset;
36319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClipPlanex(
36339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)plane,
36349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)equation
36359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
36369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
36389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (equation_base) {
36399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base,
36409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
36419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
36439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */
36459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
36469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glClipPlanex__ILjava_nio_IntBuffer_2
36479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) {
36489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
36499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
36509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *equation = (GLfixed *) 0;
36519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining);
36539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 4) {
36549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 4");
36559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
36569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glClipPlanex(
36589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)plane,
36599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)equation
36609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
36619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
36639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
36649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, equation, JNI_FALSE);
36659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
36669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
36679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */
36699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
36709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColor4ub__BBBB
36719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) {
36729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColor4ub(
36739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLubyte)red,
36749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLubyte)green,
36759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLubyte)blue,
36769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLubyte)alpha
36779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
36789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
36799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
36819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
36829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glColorPointer__IIII
36839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
36849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glColorPointer(
36859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
36869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
36879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
36889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (const GLvoid *)offset
36899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
36909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
36919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */
36939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
36949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__I_3II
36959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) {
36969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers_base = (GLuint *) 0;
36979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
36989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers = (GLuint *) 0;
36999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!buffers_ref) {
37019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "buffers == null");
37029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
37059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
37069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(buffers_ref) - offset;
37099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
37109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < n");
37119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers_base = (GLuint *)
37149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0);
37159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers = buffers_base + offset;
37169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDeleteBuffers(
37189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
37199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)buffers
37209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
37219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
37239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (buffers_base) {
37249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base,
37259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
37269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
37289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */
37309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
37319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteBuffers__ILjava_nio_IntBuffer_2
37329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) {
37339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
37349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
37359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers = (GLuint *) 0;
37369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining);
37389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
37399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < n");
37409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDeleteBuffers(
37439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
37449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)buffers
37459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
37469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
37489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
37499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, buffers, JNI_FALSE);
37509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
37529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */
37549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
37559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawElements__IIII
37569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) {
37579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawElements(
37589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)mode,
37599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)count,
37609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
37619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (const GLvoid *)offset
37629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
37639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
37649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */
37669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
37679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__I_3II
37689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) {
37699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
37709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers_base = (GLuint *) 0;
37719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
37729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers = (GLuint *) 0;
37739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!buffers_ref) {
37759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
37769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "buffers == null");
37779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
37809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
37819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
37829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(buffers_ref) - offset;
37859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
37869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
37879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < n");
37889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
37899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
37909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers_base = (GLuint *)
37919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0);
37929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers = buffers_base + offset;
37939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGenBuffers(
37959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
37969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)buffers
37979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
37989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
37999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
38009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (buffers_base) {
38019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base,
38029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
38039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
38059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */
38079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
38089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenBuffers__ILjava_nio_IntBuffer_2
38099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) {
38109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
38119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
38129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
38139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLuint *buffers = (GLuint *) 0;
38149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining);
38169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < n) {
38179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
38189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < n");
38199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
38209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGenBuffers(
38229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)n,
38239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint *)buffers
38249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
38259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
38279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
38289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE);
38299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
38319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */
38339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
38349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__I_3ZI
38359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) {
38369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
38379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean *params_base = (GLboolean *) 0;
38389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
38399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean *params = (GLboolean *) 0;
38409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
38429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
38439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
38449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
38459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
38479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
38489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
38499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
38509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
38529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLboolean *)
38539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
38549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
38559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetBooleanv(
38579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
38589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean *)params
38599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
38609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
38629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
38639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
38649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
38659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
38679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */
38699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
38709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBooleanv__ILjava_nio_IntBuffer_2
38719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
38729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
38739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
38749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
38759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean *params = (GLboolean *) 0;
38769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining);
38789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetBooleanv(
38799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
38809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLboolean *)params
38819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
38829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
38839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
38849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
38859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
38869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */
38889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
38899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__II_3II
38909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
38919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
38929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetBufferParameteriv");
38939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
38949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
38959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */
38969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
38979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetBufferParameteriv__IILjava_nio_IntBuffer_2
38989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
38999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
39009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetBufferParameteriv");
39019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
39029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */
39049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
39059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__I_3FI
39069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) {
39079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
39089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *eqn_base = (GLfloat *) 0;
39099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
39109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *eqn = (GLfloat *) 0;
39119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!eqn_ref) {
39139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
39149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "eqn == null");
39159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
39169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
39189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
39199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
39209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
39219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(eqn_ref) - offset;
39239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn_base = (GLfloat *)
39249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
39259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn = eqn_base + offset;
39269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetClipPlanef(
39289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
39299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)eqn
39309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
39319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
39339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (eqn_base) {
39349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
39359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
39369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
39389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */
39409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
39419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanef__ILjava_nio_FloatBuffer_2
39429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
39439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
39449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
39459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
39469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *eqn = (GLfloat *) 0;
39479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining);
39499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetClipPlanef(
39509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
39519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)eqn
39529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
39539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
39549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
39559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
39579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */
39599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
39609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__I_3II
39619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) {
39629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
39639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *eqn_base = (GLfixed *) 0;
39649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
39659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *eqn = (GLfixed *) 0;
39669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!eqn_ref) {
39689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
39699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "eqn == null");
39709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
39719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
39739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
39749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
39759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
39769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(eqn_ref) - offset;
39789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn_base = (GLfixed *)
39799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0);
39809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn = eqn_base + offset;
39819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetClipPlanex(
39839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
39849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)eqn
39859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
39869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
39889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (eqn_base) {
39899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base,
39909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
39919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
39929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
39939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
39949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */
39959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
39969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetClipPlanex__ILjava_nio_IntBuffer_2
39979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) {
39989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
39999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
40009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
40019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *eqn = (GLfixed *) 0;
40029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining);
40049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetClipPlanex(
40059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
40069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)eqn
40079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
40089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
40099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE);
40109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
40129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */
40149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
40159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__I_3II
40169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
40179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
40189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
40199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
40209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
40219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
40239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
40249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
40259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
40269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
40289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
40299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
40309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
40319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
40339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
40349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
40359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
40369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetFixedv(
40389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
40399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
40409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
40419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
40439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
40449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
40459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
40469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
40489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFixedv ( GLenum pname, GLfixed *params ) */
40509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
40519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFixedv__ILjava_nio_IntBuffer_2
40529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
40539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
40549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
40559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
40569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
40579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
40599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetFixedv(
40609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
40619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
40629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
40639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
40649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
40659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
40679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */
40699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
40709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__I_3FI
40719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
40729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
40739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
40749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
40759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
40769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
40789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
40799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
40809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
40819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
40839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
40849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
40859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
40869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
40879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
40889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
40899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
40909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
40919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetFloatv(
40939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
40949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
40959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
40969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
40979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
40989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
40999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
41009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
41019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
41039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
41049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFloatv ( GLenum pname, GLfloat *params ) */
41059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
41069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFloatv__ILjava_nio_FloatBuffer_2
41079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
41089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
41099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
41109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
41119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
41129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
41139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
41149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetFloatv(
41159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
41169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
41179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
41189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
41199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
41209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
41229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
41239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */
41249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
41259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__II_3FI
41269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) {
41279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
41289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
41299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
41309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
41319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
41329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
41339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
41349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
41359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
41369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
41389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
41399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
41409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
41419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
41439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
41449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
41459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
41469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
41479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
41489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
41499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
41509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
41519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
41529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
41539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
41549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
41559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
41569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
41579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
41589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
41599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
41609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
41619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
41629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
41639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
41649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
41659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
41669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
41679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
41689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
41699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
41709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
41719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
41729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
41739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
41749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
41759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
41769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
41779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
41789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
41799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
41809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
41819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
41829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
41839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
41849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
41869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
41879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
41889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
41899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
41909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
41919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
41929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
41939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
41949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetLightfv(
41959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
41969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
41979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
41989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
41999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
42019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
42029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
42039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
42049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
42069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */
42089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
42099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightfv__IILjava_nio_FloatBuffer_2
42109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
42119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
42129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
42139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
42149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
42159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
42179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
42189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
42199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
42209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
42219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
42229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
42239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
42249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
42259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
42269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
42279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
42289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
42299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
42309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
42319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
42329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
42339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
42349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
42359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
42369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
42379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
42389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
42399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
42409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
42419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
42429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
42439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
42449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
42459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
42469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
42479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
42489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
42499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
42509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
42519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
42529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
42539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
42549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
42559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
42569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
42579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
42589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
42609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
42619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
42629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
42639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetLightfv(
42659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
42669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
42679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
42689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
42699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
42719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
42729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
42739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
42759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */
42779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
42789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__II_3II
42799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) {
42809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
42819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
42829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
42839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
42849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
42859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
42869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
42879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
42889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
42899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
42919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
42929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
42939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
42949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
42959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
42969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
42979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
42989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
42999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
43009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
43019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
43029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
43039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
43049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
43059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
43069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
43079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
43089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
43099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
43109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
43119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
43129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
43139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
43149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
43169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
43179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
43189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
43199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
43219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
43229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
43239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
43249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
43259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
43269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
43279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
43289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
43299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
43309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
43319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
43329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
43339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
43359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
43369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
43389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
43399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
43409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
43419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
43429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
43439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
43449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
43459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
43469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
43479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetLightxv(
43489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
43499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
43509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
43519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
43529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
43539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
43549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
43559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
43569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
43579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
43589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
43599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
43609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */
43619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
43629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetLightxv__IILjava_nio_IntBuffer_2
43639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) {
43649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
43659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
43669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
43679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
43689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
43699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
43709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
43719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
43729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_EXPONENT)
43739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_EXPONENT:
43749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_EXPONENT)
43759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_CUTOFF)
43769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_CUTOFF:
43779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_CUTOFF)
43789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_CONSTANT_ATTENUATION)
43799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_CONSTANT_ATTENUATION:
43809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_CONSTANT_ATTENUATION)
43819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_LINEAR_ATTENUATION)
43829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_LINEAR_ATTENUATION:
43839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_LINEAR_ATTENUATION)
43849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_QUADRATIC_ATTENUATION)
43859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_QUADRATIC_ATTENUATION:
43869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_QUADRATIC_ATTENUATION)
43879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
43889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPOT_DIRECTION)
43909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPOT_DIRECTION:
43919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPOT_DIRECTION)
43929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 3;
43939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
43949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
43959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
43969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
43979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
43989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
43999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
44009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
44019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
44029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
44039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
44049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
44059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
44069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
44079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
44089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
44099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
44109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
44119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
44139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
44149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
44159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
44169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetLightxv(
44189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)light,
44199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
44209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
44219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
44229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
44249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
44259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
44269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
44289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */
44309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
44319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__II_3FI
44329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) {
44339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
44349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
44359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
44369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
44379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
44399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
44409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
44419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
44429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
44449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
44459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
44469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
44479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
44499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
44509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
44519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
44529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
44539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
44549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
44559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
44569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
44579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
44589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
44599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
44609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
44619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
44629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
44639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
44649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
44659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
44669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
44679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
44689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
44699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
44709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
44719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
44729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
44739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
44749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
44759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
44769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
44789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
44799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
44809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
44819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
44839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
44849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
44859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetMaterialfv(
44879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
44889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
44899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
44909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
44919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
44939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
44949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
44959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
44969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
44979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
44989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
44999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */
45009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
45019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialfv__IILjava_nio_FloatBuffer_2
45029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
45039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
45049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
45059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
45069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
45079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
45089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
45099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
45109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
45119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
45129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
45139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
45149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
45159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
45169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
45179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
45189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
45199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
45209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
45219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
45229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
45239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
45249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
45259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
45269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
45279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
45289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
45299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
45309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
45319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
45329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
45339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
45349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
45359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
45369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
45379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
45389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
45399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
45409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
45419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
45429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetMaterialfv(
45439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
45449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
45459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
45469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
45479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
45489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
45499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
45509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
45519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
45529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
45539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
45549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */
45559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
45569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__II_3II
45579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) {
45589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
45599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
45609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
45619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
45629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
45639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
45649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
45659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
45669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
45679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
45689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
45699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
45709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
45719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
45729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
45739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
45749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
45759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
45769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
45779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
45789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
45799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
45809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
45819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
45829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
45839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
45849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
45859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
45869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
45879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
45889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
45899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
45909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
45919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
45929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
45939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
45949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
45959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
45969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
45979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
45989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
45999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
46009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
46019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
46039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
46049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
46059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
46069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
46089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
46099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
46109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetMaterialxv(
46129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
46139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
46149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
46159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
46169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
46189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
46199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
46209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
46219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
46239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */
46259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
46269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetMaterialxv__IILjava_nio_IntBuffer_2
46279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) {
46289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
46299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
46309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
46319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
46329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
46349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
46359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
46369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SHININESS)
46379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SHININESS:
46389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SHININESS)
46399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
46409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
46419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT)
46429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT:
46439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT)
46449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_DIFFUSE)
46459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_DIFFUSE:
46469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_DIFFUSE)
46479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_SPECULAR)
46489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_SPECULAR:
46499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_SPECULAR)
46509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_EMISSION)
46519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_EMISSION:
46529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_EMISSION)
46539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_AMBIENT_AND_DIFFUSE)
46549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_AMBIENT_AND_DIFFUSE:
46559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_AMBIENT_AND_DIFFUSE)
46569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
46579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
46589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
46599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
46609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
46619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
46639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
46649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
46659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
46669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetMaterialxv(
46689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)face,
46699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
46709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
46719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
46729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
46749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
46759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
46769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
46789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */
46809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
46819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__II_3II
46829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
46839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
46849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params_base = (GLint *) 0;
46859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
46869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
46879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
46889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
46899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
46909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
46919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
46929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
46949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
46959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
46969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
46979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
46989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
46999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
47009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
47019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
47029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
47039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
47049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
47059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
47069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
47079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
47089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
47099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
47109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
47119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
47139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
47149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
47159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
47169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
47189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
47199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
47229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
47239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
47249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
47259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLint *)
47279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
47289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
47299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexEnviv(
47319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)env,
47329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
47339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
47349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
47359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
47379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
47389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
47399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
47409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
47429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */
47449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
47459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnviv__IILjava_nio_IntBuffer_2
47469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
47479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
47489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
47499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
47509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
47519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
47539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
47549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
47559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
47569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
47579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
47589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
47599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
47609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
47619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
47629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
47639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
47649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
47659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
47679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
47689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
47699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
47709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
47729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
47739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
47749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
47769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
47779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
47789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
47799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexEnviv(
47819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)env,
47829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
47839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
47849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
47859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
47879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
47889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
47899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
47909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
47919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
47929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */
47939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
47949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__II_3II
47959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) {
47969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
47979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
47989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
47999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
48009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
48029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
48039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
48049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
48059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
48079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
48089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
48099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
48109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
48129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
48139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
48149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
48159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
48169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
48179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
48189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
48199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
48209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
48219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
48229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
48239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
48249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
48269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
48279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
48289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
48299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
48319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
48329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
48359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
48369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
48379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
48389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
48409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
48419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
48429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexEnvxv(
48449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)env,
48459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
48469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
48479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
48489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
48509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
48519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
48529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
48539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
48559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */
48579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
48589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexEnvxv__IILjava_nio_IntBuffer_2
48599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) {
48609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
48619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
48629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
48639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
48649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
48669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
48679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
48689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
48699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
48709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
48719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
48729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
48739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
48749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
48759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
48769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
48779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
48789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
48809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
48819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
48829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
48839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
48859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
48869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
48879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
48899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
48909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
48919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
48929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
48939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexEnvxv(
48949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)env,
48959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
48969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
48979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
48989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
48999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
49009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
49019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
49029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
49049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */
49069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
49079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__II_3FI
49089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
49099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
49109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
49119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
49129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
49139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
49159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
49179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
49209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
49229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
49259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
49269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
49289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
49319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
49329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
49339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameterfv(
49359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
49369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
49379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
49389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
49399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
49419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
49429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
49439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
49449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
49469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */
49489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
49499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterfv__IILjava_nio_FloatBuffer_2
49509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
49519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
49529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
49539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
49549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
49559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
49579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
49589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
49609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameterfv(
49639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
49649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
49659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
49669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
49679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
49699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
49709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
49719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
49739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */
49759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
49769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__II_3II
49779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
49789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
49799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params_base = (GLint *) 0;
49809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
49819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
49829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
49839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
49849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
49869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
49899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
49919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
49949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
49959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
49969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
49979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
49989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
49999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLint *)
50009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
50019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
50029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameteriv(
50049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
50059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
50069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
50079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
50089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
50109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
50119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
50129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
50139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
50159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */
50179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
50189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameteriv__IILjava_nio_IntBuffer_2
50199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
50209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
50219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
50229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
50239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
50249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
50269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
50279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
50289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
50299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
50309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameteriv(
50329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
50339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
50349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
50359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
50369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
50389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
50399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
50409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
50429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */
50449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
50459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__II_3II
50469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
50479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
50489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
50499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
50509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
50519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
50539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
50549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
50559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
50569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
50589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
50599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
50609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
50619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
50639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
50649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
50659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
50669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
50679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
50699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
50709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
50719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameterxv(
50739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
50749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
50759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
50769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
50779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
50799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
50809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
50819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _exception ? JNI_ABORT: 0);
50829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
50839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
50849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */
50869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
50879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexParameterxv__IILjava_nio_IntBuffer_2
50889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
50899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _exception = 0;
50909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
50919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
50929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
50939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
50949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
50959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
50969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _exception = 1;
50979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
50989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
50999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
51009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glGetTexParameterxv(
51019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
51029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
51039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
51049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
51079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
51089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE);
51099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
51109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsBuffer ( GLuint buffer ) */
51139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean
51149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsBuffer__I
51159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint buffer) {
51169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean _returnValue;
51179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glIsBuffer(
51189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)buffer
51199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
51219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsEnabled ( GLenum cap ) */
51249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean
51259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsEnabled__I
51269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint cap) {
51279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean _returnValue;
51289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glIsEnabled(
51299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)cap
51309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
51329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsTexture ( GLuint texture ) */
51359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean
51369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsTexture__I
51379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint texture) {
51389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLboolean _returnValue;
51399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _returnValue = glIsTexture(
51409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLuint)texture
51419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return _returnValue;
51439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */
51469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
51479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glNormalPointer__III
51489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) {
51499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glNormalPointer(
51509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
51519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
51529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (const GLvoid *)offset
51539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterf ( GLenum pname, GLfloat param ) */
51579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
51589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterf__IF
51599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloat param) {
51609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterf(
51619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
51629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)param
51639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
51659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */
51679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
51689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__I_3FI
51699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) {
51709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
51719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
51729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
51739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
51759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
51769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
51779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
51789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
51799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
51809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
51819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
51829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
51839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
51849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
51859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
51869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
51879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
51889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
51899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
51909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterfv(
51929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
51939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
51949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
51959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
51969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
51979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
51989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
51999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
52009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
52029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */
52049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
52059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterfv__ILjava_nio_FloatBuffer_2
52069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
52079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
52089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
52099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
52109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
52129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
52139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
52149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
52159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterfv(
52179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
52189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
52199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
52209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
52229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
52239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
52249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
52269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterx ( GLenum pname, GLfixed param ) */
52289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
52299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterx__II
52309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jint param) {
52319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterx(
52329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
52339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)param
52349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
52359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
52369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */
52389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
52399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__I_3II
52409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) {
52419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
52429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
52439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
52449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
52469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
52479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
52489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
52509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
52519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
52529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
52549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
52559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
52569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
52579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
52599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
52609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
52619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterxv(
52639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
52649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
52659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
52669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
52689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
52699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
52709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
52719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
52739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */
52759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
52769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointParameterxv__ILjava_nio_IntBuffer_2
52779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) {
52789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
52799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
52809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
52819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
52839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
52849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
52859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
52869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointParameterxv(
52889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
52899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
52909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
52919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
52939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
52949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
52959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
52969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
52979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
52989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */
52999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
53009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glPointSizePointerOES__IILjava_nio_Buffer_2
53019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf) {
53029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
53039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
53049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLvoid *pointer = (GLvoid *) 0;
53059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining);
53079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glPointSizePointerOES(
53089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
53099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
53109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLvoid *)pointer
53119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
53129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
53139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, pointer, JNI_FALSE);
53149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
53169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
53189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
53199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexCoordPointer__IIII
53209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
53219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexCoordPointer(
53229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
53239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
53249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
53259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (const GLvoid *)offset
53269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
53279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
53289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */
53309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
53319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnvi__III
53329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
53339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnvi(
53349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
53359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
53369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)param
53379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
53389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
53399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */
53419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
53429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__II_3II
53439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
53449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params_base = (GLint *) 0;
53459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
53469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
53479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
53499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
53509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
53519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
53539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
53549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
53559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
53579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
53589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
53599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
53609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
53619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
53629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
53639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
53649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
53659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
53669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
53679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
53689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
53699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
53709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
53719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
53729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
53739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
53749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
53759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
53769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
53779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
53789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
53809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < needed");
53819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
53829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLint *)
53849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
53859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
53869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnviv(
53889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
53899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
53909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
53919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
53929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
53939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
53949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
53959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
53969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
53979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
53989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
53999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */
54019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
54029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexEnviv__IILjava_nio_IntBuffer_2
54039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
54049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
54059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
54069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
54079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
54099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int _needed;
54109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    switch (pname) {
54119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_MODE)
54129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_MODE:
54139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_MODE)
54149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_RGB)
54159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_RGB:
54169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_RGB)
54179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_COMBINE_ALPHA)
54189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_COMBINE_ALPHA:
54199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_COMBINE_ALPHA)
54209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 1;
54219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
54229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#if defined(GL_TEXTURE_ENV_COLOR)
54239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        case GL_TEXTURE_ENV_COLOR:
54249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif // defined(GL_TEXTURE_ENV_COLOR)
54259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 4;
54269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
54279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        default:
54289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            _needed = 0;
54299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            break;
54309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < _needed) {
54329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < needed");
54339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
54349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexEnviv(
54369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
54379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
54389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
54399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
54409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
54429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
54439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
54449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
54469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */
54489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
54499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__II_3FI
54509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) {
54519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params_base = (GLfloat *) 0;
54529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
54539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
54549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
54569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
54579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
54589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
54609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
54619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
54629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
54649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
54659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
54669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
54679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfloat *)
54699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
54709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
54719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterfv(
54739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
54749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
54759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
54769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
54779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
54799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
54809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
54819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
54829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
54849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */
54869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
54879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterfv__IILjava_nio_FloatBuffer_2
54889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
54899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
54909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
54919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *params = (GLfloat *) 0;
54929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining);
54949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
54959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
54969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
54979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
54989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterfv(
54999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
55009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
55019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)params
55029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
55039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
55059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
55069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
55079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
55099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */
55119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
55129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteri__III
55139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) {
55149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameteri(
55159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
55169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
55179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)param
55189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
55199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
55209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */
55229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
55239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__II_3II
55249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
55259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params_base = (GLint *) 0;
55269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
55279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
55289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
55309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
55319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
55349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
55359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
55389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
55399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
55409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLint *)
55439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
55449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
55459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameteriv(
55479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
55489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
55499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
55509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
55519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
55539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
55549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
55559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
55569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
55589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */
55609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
55619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameteriv__IILjava_nio_IntBuffer_2
55629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
55639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
55649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
55659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *params = (GLint *) 0;
55669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining);
55689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
55699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
55709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameteriv(
55739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
55749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
55759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)params
55769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
55779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
55799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
55809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
55819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
55839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */
55859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
55869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__II_3II
55879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
55889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params_base = (GLfixed *) 0;
55899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
55909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
55919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
55929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!params_ref) {
55939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "params == null");
55949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
55969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
55979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
55989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
55999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(params_ref) - offset;
56019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
56029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 1");
56039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
56049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params_base = (GLfixed *)
56069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0);
56079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = params_base + offset;
56089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterxv(
56109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
56119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
56129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
56139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
56149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
56169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (params_base) {
56179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(params_ref, params_base,
56189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
56199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */
56239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
56249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexParameterxv__IILjava_nio_IntBuffer_2
56259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
56269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
56279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
56289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *params = (GLfixed *) 0;
56299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining);
56319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 1) {
56329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 1");
56339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
56349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glTexParameterxv(
56369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)target,
56379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)pname,
56389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)params
56399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
56409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
56429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
56439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, params, JNI_FALSE);
56449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
56489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
56499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glVertexPointer__IIII
56509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
56519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glVertexPointer(
56529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)size,
56539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLenum)type,
56549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLsizei)stride,
56559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (const GLvoid *)offset
56569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
56579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */
56609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
56619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCurrentPaletteMatrixOES__I
56629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint matrixpaletteindex) {
56639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
56649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glCurrentPaletteMatrixOES");
56659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */
56689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
56699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfOES__FFFFF
56709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) {
56719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexfOES(
56729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)x,
56739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)y,
56749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)z,
56759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)width,
56769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat)height
56779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
56789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */
56819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
56829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES___3FI
56839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) {
56849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *coords_base = (GLfloat *) 0;
56859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
56869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *coords = (GLfloat *) 0;
56879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!coords_ref) {
56899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "coords == null");
56909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
56919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
56939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
56949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
56959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
56969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(coords_ref) - offset;
56979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
56989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 5");
56999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
57009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords_base = (GLfloat *)
57029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
57039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = coords_base + offset;
57049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexfvOES(
57069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)coords
57079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
57089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
57109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (coords_base) {
57119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
57129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
57139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
57159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexfvOES ( const GLfloat *coords ) */
57179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
57189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2
57199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject coords_buf) {
57209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
57219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
57229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfloat *coords = (GLfloat *) 0;
57239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining);
57259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
57269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 5");
57279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
57289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexfvOES(
57309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfloat *)coords
57319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
57329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
57349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
57359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, coords, JNI_FALSE);
57369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
57389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */
57409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
57419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexiOES__IIIII
57429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
57439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexiOES(
57449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)x,
57459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)y,
57469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)z,
57479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)width,
57489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint)height
57499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
57509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
57519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */
57539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
57549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES___3II
57559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
57569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *coords_base = (GLint *) 0;
57579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
57589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *coords = (GLint *) 0;
57599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!coords_ref) {
57619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "coords == null");
57629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
57639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
57659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
57669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
57679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(coords_ref) - offset;
57699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
57709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 5");
57719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
57729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords_base = (GLint *)
57749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
57759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = coords_base + offset;
57769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexivOES(
57789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)coords
57799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
57809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
57829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (coords_base) {
57839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
57849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
57859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
57869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
57879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexivOES ( const GLint *coords ) */
57899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
57909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2
57919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject coords_buf) {
57929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
57939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
57949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLint *coords = (GLint *) 0;
57959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
57969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining);
57979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
57989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 5");
57999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
58009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexivOES(
58029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLint *)coords
58039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
58049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
58069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
58079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, coords, JNI_FALSE);
58089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */
58129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
58139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsOES__SSSSS
58149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) {
58159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexsOES(
58169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort)x,
58179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort)y,
58189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort)z,
58199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort)width,
58209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort)height
58219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
58229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */
58259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
58269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES___3SI
58279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) {
58289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLshort *coords_base = (GLshort *) 0;
58299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
58309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLshort *coords = (GLshort *) 0;
58319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!coords_ref) {
58339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "coords == null");
58349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
58359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
58379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
58389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
58399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(coords_ref) - offset;
58419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
58429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 5");
58439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
58449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords_base = (GLshort *)
58469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
58479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = coords_base + offset;
58489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexsvOES(
58509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort *)coords
58519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
58529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
58549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (coords_base) {
58559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
58569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
58579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexsvOES ( const GLshort *coords ) */
58619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
58629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2
58639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject coords_buf) {
58649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
58659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
58669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLshort *coords = (GLshort *) 0;
58679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining);
58699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
58709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 5");
58719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
58729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexsvOES(
58749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLshort *)coords
58759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
58769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
58789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
58799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, coords, JNI_FALSE);
58809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
58819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */
58849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
58859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxOES__IIIII
58869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) {
58879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexxOES(
58889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)x,
58899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)y,
58909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)z,
58919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)width,
58929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed)height
58939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
58949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
58959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
58969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */
58979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
58989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES___3II
58999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) {
59009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *coords_base = (GLfixed *) 0;
59019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
59029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *coords = (GLfixed *) 0;
59039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (!coords_ref) {
59059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "coords == null");
59069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
59079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (offset < 0) {
59099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "offset < 0");
59109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
59119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _remaining = _env->GetArrayLength(coords_ref) - offset;
59139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
59149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "length - offset < 5");
59159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
59169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords_base = (GLfixed *)
59189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0);
59199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = coords_base + offset;
59209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexxvOES(
59229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)coords
59239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
59249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
59269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (coords_base) {
59279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base,
59289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            JNI_ABORT);
59299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDrawTexxvOES ( const GLfixed *coords ) */
59339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2
59359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jobject coords_buf) {
59369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jarray _array = (jarray) 0;
59379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    jint _remaining;
59389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    GLfixed *coords = (GLfixed *) 0;
59399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining);
59419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_remaining < 5) {
59429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        _env->ThrowNew(IAEClass, "remaining() < 5");
59439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        goto exit;
59449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    glDrawTexxvOES(
59469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        (GLfixed *)coords
59479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
59489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectexit:
59509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    if (_array) {
59519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        releasePointer(_env, _array, coords, JNI_FALSE);
59529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
59539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glLoadPaletteFromModelViewMatrixOES ( void ) */
59569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glLoadPaletteFromModelViewMatrixOES__
59589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this) {
59599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
59609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glLoadPaletteFromModelViewMatrixOES");
59619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
59649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixIndexPointerOES__IIILjava_nio_Buffer_2
59669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf) {
59679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
59689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glMatrixIndexPointerOES");
59699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
59729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glMatrixIndexPointerOES__IIII
59749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
59759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
59769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glMatrixIndexPointerOES");
59779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */
59809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glWeightPointerOES__IIILjava_nio_Buffer_2
59829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf) {
59839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
59849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glWeightPointerOES");
59859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */
59889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glWeightPointerOES__IIII
59909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) {
59919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
59929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glWeightPointerOES");
59939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
59949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
59959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindFramebufferOES ( GLint target, GLint framebuffer ) */
59969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
59979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindFramebufferOES__II
59989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint framebuffer) {
59999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glBindFramebufferOES");
60019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBindRenderbufferOES ( GLint target, GLint renderbuffer ) */
60049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBindRenderbufferOES__II
60069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) {
60079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glBindRenderbufferOES");
60099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquation ( GLint mode ) */
60129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquation__I
60149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint mode) {
60159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glBlendEquation");
60179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendEquationSeparate ( GLint modeRGB, GLint modeAlpha ) */
60209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendEquationSeparate__II
60229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) {
60239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glBlendEquationSeparate");
60259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glBlendFuncSeparate ( GLint srcRGB, GLint dstRGB, GLint srcAlpha, GLint dstAlpha ) */
60289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glBlendFuncSeparate__IIII
60309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) {
60319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glBlendFuncSeparate");
60339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLint glCheckFramebufferStatusOES ( GLint target ) */
60369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jint
60379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glCheckFramebufferStatusOES__I
60389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target) {
60399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glCheckFramebufferStatusOES");
60419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return 0;
60429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteFramebuffersOES ( GLint n, GLint *framebuffers ) */
60459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__I_3II
60479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
60489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glDeleteFramebuffersOES");
60509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteFramebuffersOES ( GLint n, GLint *framebuffers ) */
60539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2
60559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
60569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glDeleteFramebuffersOES");
60589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteRenderbuffersOES ( GLint n, GLint *renderbuffers ) */
60619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__I_3II
60639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
60649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glDeleteRenderbuffersOES");
60669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glDeleteRenderbuffersOES ( GLint n, GLint *renderbuffers ) */
60699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2
60719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
60729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glDeleteRenderbuffersOES");
60749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferRenderbufferOES ( GLint target, GLint attachment, GLint renderbuffertarget, GLint renderbuffer ) */
60779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferRenderbufferOES__IIII
60799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) {
60809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glFramebufferRenderbufferOES");
60829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glFramebufferTexture2DOES ( GLint target, GLint attachment, GLint textarget, GLint texture, GLint level ) */
60859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glFramebufferTexture2DOES__IIIII
60879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) {
60889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glFramebufferTexture2DOES");
60909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
60929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenerateMipmapOES ( GLint target ) */
60939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
60949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenerateMipmapOES__I
60959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target) {
60969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
60979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGenerateMipmapOES");
60989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
60999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenFramebuffersOES ( GLint n, GLint *framebuffers ) */
61019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__I_3II
61039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) {
61049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGenFramebuffersOES");
61069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenFramebuffersOES ( GLint n, GLint *framebuffers ) */
61099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2
61119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) {
61129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGenFramebuffersOES");
61149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenRenderbuffersOES ( GLint n, GLint *renderbuffers ) */
61179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__I_3II
61199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) {
61209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGenRenderbuffersOES");
61229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGenRenderbuffersOES ( GLint n, GLint *renderbuffers ) */
61259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2
61279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) {
61289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGenRenderbuffersOES");
61309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */
61339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFramebufferAttachmentParameterivOES__III_3II
61359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) {
61369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetFramebufferAttachmentParameterivOES");
61389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */
61419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2
61439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) {
61449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetFramebufferAttachmentParameterivOES");
61469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */
61499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__II_3II
61519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) {
61529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetRenderbufferParameterivOES");
61549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */
61579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2
61599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) {
61609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetRenderbufferParameterivOES");
61629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
61659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__II_3FI
61679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
61689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGenfv");
61709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
61739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenfv__IILjava_nio_FloatBuffer_2
61759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
61769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGenfv");
61789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */
61819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__II_3II
61839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
61849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGeniv");
61869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */
61899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGeniv__IILjava_nio_IntBuffer_2
61919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
61929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
61939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGeniv");
61949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
61959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
61969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */
61979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
61989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__II_3II
61999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
62009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGenxv");
62029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */
62059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glGetTexGenxv__IILjava_nio_IntBuffer_2
62079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
62089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glGetTexGenxv");
62109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsFramebufferOES ( GLint framebuffer ) */
62139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean
62149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsFramebufferOES__I
62159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint framebuffer) {
62169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glIsFramebufferOES");
62189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return JNI_FALSE;
62199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* GLboolean glIsRenderbufferOES ( GLint renderbuffer ) */
62229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic jboolean
62239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glIsRenderbufferOES__I
62249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint renderbuffer) {
62259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glIsRenderbufferOES");
62279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return JNI_FALSE;
62289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glRenderbufferStorageOES ( GLint target, GLint internalformat, GLint width, GLint height ) */
62319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glRenderbufferStorageOES__IIII
62339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) {
62349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glRenderbufferStorageOES");
62369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenf ( GLint coord, GLint pname, GLfloat param ) */
62399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenf__IIF
62419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) {
62429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenf");
62449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
62479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__II_3FI
62499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) {
62509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenfv");
62529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */
62559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenfv__IILjava_nio_FloatBuffer_2
62579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
62589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenfv");
62609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeni ( GLint coord, GLint pname, GLint param ) */
62639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeni__III
62659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
62669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGeni");
62689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */
62719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__II_3II
62739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
62749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGeniv");
62769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */
62799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGeniv__IILjava_nio_IntBuffer_2
62819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
62829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGeniv");
62849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenx ( GLint coord, GLint pname, GLint param ) */
62879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenx__III
62899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) {
62909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenx");
62929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
62939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
62949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */
62959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
62969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__II_3II
62979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) {
62989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
62999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenxv");
63009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
63019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
63029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */
63039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic void
63049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid_glTexGenxv__IILjava_nio_IntBuffer_2
63059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project  (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) {
63069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    _env->ThrowNew(UOEClass,
63079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "glTexGenxv");
63089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
63099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
63109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic const char *classPathName = "com/google/android/gles_jni/GLImpl";
63119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
63129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectstatic JNINativeMethod methods[] = {
63139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_nativeClassInit", "()V", (void*)nativeClassInit },
63149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I },
63159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF },
63169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II },
63179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindTexture", "(II)V", (void *) android_glBindTexture__II },
63189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II },
63199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClear", "(I)V", (void *) android_glClear__I },
63209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF },
63219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII },
63229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F },
63239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I },
63249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClearStencil", "(I)V", (void *) android_glClearStencil__I },
63259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I },
63269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF },
63279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII },
63289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ },
63299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I },
63309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 },
63319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 },
63329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII },
63339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII },
63349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCullFace", "(I)V", (void *) android_glCullFace__I },
63359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II },
63369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 },
63379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I },
63389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z },
63399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF },
63409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II },
63419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisable", "(I)V", (void *) android_glDisable__I },
63429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I },
63439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III },
63449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 },
63459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnable", "(I)V", (void *) android_glEnable__I },
63469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I },
63479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFinish", "()V", (void *) android_glFinish__ },
63489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFlush", "()V", (void *) android_glFlush__ },
63499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogf", "(IF)V", (void *) android_glFogf__IF },
63509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI },
63519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 },
63529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogx", "(II)V", (void *) android_glFogx__II },
63539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II },
63549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 },
63559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrontFace", "(I)V", (void *) android_glFrontFace__I },
63569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF },
63579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII },
63589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II },
63599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 },
63609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetError", "()I", (void *) android_glGetError__ },
63619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II },
63629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 },
63639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString },
63649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glHint", "(II)V", (void *) android_glHint__II },
63659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF },
63669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI },
63679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 },
63689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelx", "(II)V", (void *) android_glLightModelx__II },
63699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II },
63709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 },
63719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightf", "(IIF)V", (void *) android_glLightf__IIF },
63729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI },
63739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 },
63749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightx", "(III)V", (void *) android_glLightx__III },
63759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II },
63769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 },
63779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidth", "(F)V", (void *) android_glLineWidth__F },
63789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I },
63799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ },
63809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI },
63819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 },
63829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II },
63839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 },
63849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLogicOp", "(I)V", (void *) android_glLogicOp__I },
63859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF },
63869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI },
63879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 },
63889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialx", "(III)V", (void *) android_glMaterialx__III },
63899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II },
63909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 },
63919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I },
63929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI },
63939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 },
63949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II },
63959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 },
63969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF },
63979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII },
63989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF },
63999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormal3x", "(III)V", (void *) android_glNormal3x__III },
64009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I },
64019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF },
64029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII },
64039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II },
64049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSize", "(F)V", (void *) android_glPointSize__F },
64059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSizex", "(I)V", (void *) android_glPointSizex__I },
64069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF },
64079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II },
64089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPopMatrix", "()V", (void *) android_glPopMatrix__ },
64099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPushMatrix", "()V", (void *) android_glPushMatrix__ },
64109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 },
64119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF },
64129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII },
64139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ },
64149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ },
64159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalef", "(FFF)V", (void *) android_glScalef__FFF },
64169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScalex", "(III)V", (void *) android_glScalex__III },
64179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glScissor", "(IIII)V", (void *) android_glScissor__IIII },
64189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glShadeModel", "(I)V", (void *) android_glShadeModel__I },
64199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III },
64209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilMask", "(I)V", (void *) android_glStencilMask__I },
64219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glStencilOp", "(III)V", (void *) android_glStencilOp__III },
64229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I },
64239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF },
64249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI },
64259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 },
64269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III },
64279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II },
64289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 },
64299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 },
64309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF },
64319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III },
64329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 },
64339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF },
64349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTranslatex", "(III)V", (void *) android_glTranslatex__III },
64359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I },
64369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glViewport", "(IIII)V", (void *) android_glViewport__IIII },
64379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "([II[II)I", (void *) android_glQueryMatrixxOES___3II_3II },
64389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glQueryMatrixxOES", "(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I", (void *) android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 },
64399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II },
64409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I },
64419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 },
64429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI },
64439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 },
64449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II },
64459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 },
64469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB },
64479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII },
64489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II },
64499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 },
64509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII },
64519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II },
64529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 },
64539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI },
64549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 },
64559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II },
64569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 },
64579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI },
64589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 },
64599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II },
64609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 },
64619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II },
64629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 },
64639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI },
64649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 },
64659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI },
64669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 },
64679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II },
64689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 },
64699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI },
64709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 },
64719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II },
64729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 },
64739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II },
64749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 },
64759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II },
64769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 },
64779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI },
64789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 },
64799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II },
64809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 },
64819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II },
64829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 },
64839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I },
64849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I },
64859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I },
64869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III },
64879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF },
64889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI },
64899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 },
64909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II },
64919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II },
64929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 },
64939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glPointSizePointerOES", "(IILjava/nio/Buffer;)V", (void *) android_glPointSizePointerOES__IILjava_nio_Buffer_2 },
64949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII },
64959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III },
64969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II },
64979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 },
64989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI },
64999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 },
65009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III },
65019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II },
65029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 },
65039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II },
65049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 },
65059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII },
65069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I },
65079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF },
65089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI },
65099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 },
65109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII },
65119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II },
65129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 },
65139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS },
65149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI },
65159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 },
65169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII },
65179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II },
65189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 },
65199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ },
65209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixIndexPointerOES", "(IIILjava/nio/Buffer;)V", (void *) android_glMatrixIndexPointerOES__IIILjava_nio_Buffer_2 },
65219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glMatrixIndexPointerOES", "(IIII)V", (void *) android_glMatrixIndexPointerOES__IIII },
65229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glWeightPointerOES", "(IIILjava/nio/Buffer;)V", (void *) android_glWeightPointerOES__IIILjava_nio_Buffer_2 },
65239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glWeightPointerOES", "(IIII)V", (void *) android_glWeightPointerOES__IIII },
65249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II },
65259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II },
65269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I },
65279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II },
65289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII },
65299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I },
65309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II },
65319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 },
65329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II },
65339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 },
65349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII },
65359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII },
65369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I },
65379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II },
65389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 },
65399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II },
65409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 },
65419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II },
65429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 },
65439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II },
65449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 },
65459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(II[FI)V", (void *) android_glGetTexGenfv__II_3FI },
65469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 },
65479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(II[II)V", (void *) android_glGetTexGeniv__II_3II },
65489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGeniv__IILjava_nio_IntBuffer_2 },
65499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(II[II)V", (void *) android_glGetTexGenxv__II_3II },
65509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glGetTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxv__IILjava_nio_IntBuffer_2 },
65519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I },
65529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I },
65539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII },
65549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenf", "(IIF)V", (void *) android_glTexGenf__IIF },
65559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(II[FI)V", (void *) android_glTexGenfv__II_3FI },
65569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfv__IILjava_nio_FloatBuffer_2 },
65579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeni", "(III)V", (void *) android_glTexGeni__III },
65589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(II[II)V", (void *) android_glTexGeniv__II_3II },
65599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGeniv__IILjava_nio_IntBuffer_2 },
65609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenx", "(III)V", (void *) android_glTexGenx__III },
65619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(II[II)V", (void *) android_glTexGenxv__II_3II },
65629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{"glTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxv__IILjava_nio_IntBuffer_2 },
65639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project};
65649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
65659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectint register_com_google_android_gles_jni_GLImpl(JNIEnv *_env)
65669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
65679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    int err;
65689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods));
65699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    return err;
65709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
6571