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