127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* 227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** Copyright 2009, The Android Open Source Project 427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Licensed under the Apache License, Version 2.0 (the "License"); 624ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** you may not use this file except in compliance with the License. 724ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** You may obtain a copy of the License at 827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 924ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** http://www.apache.org/licenses/LICENSE-2.0 1027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** 1124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** Unless required by applicable law or agreed to in writing, software 1224ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** distributed under the License is distributed on an "AS IS" BASIS, 1324ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes** See the License for the specific language governing permissions and 1527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich** limitations under the License. 1627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich*/ 1727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 1827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// This source file is automatically generated 1927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 20bfe6333c3cf529600f41f14e3b8c5846e632c9a2Andreas Gampe#pragma GCC diagnostic ignored "-Wunused-variable" 21bfe6333c3cf529600f41f14e3b8c5846e632c9a2Andreas Gampe#pragma GCC diagnostic ignored "-Wunused-but-set-variable" 22bfe6333c3cf529600f41f14e3b8c5846e632c9a2Andreas Gampe#pragma GCC diagnostic ignored "-Wunused-function" 23bfe6333c3cf529600f41f14e3b8c5846e632c9a2Andreas Gampe 242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#include <GLES/gl.h> 252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#include <GLES/glext.h> 262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 279626f8203a8c222b8960a49cdc66d540fdb688b0Jesse Hall#include <jni.h> 289626f8203a8c222b8960a49cdc66d540fdb688b0Jesse Hall#include <JNIHelp.h> 2927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <android_runtime/AndroidRuntime.h> 3027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <utils/misc.h> 3127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich#include <assert.h> 32be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 3327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic int initialized = 0; 3427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 3527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass nioAccessClass; 3627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jclass bufferClass; 3727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBasePointerID; 3827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayID; 3927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jmethodID getBaseArrayOffsetID; 4027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID positionID; 4127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID limitID; 4227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jfieldID elementSizeShiftID; 4327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian/* special calls implemented in Android's GLES wrapper used to more 462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * efficiently bound-check passed arrays */ 472ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianextern "C" { 482ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_VERSION_ES_CM_1_1 492ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, 502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const GLvoid *ptr, GLsizei count); 512ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, 522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const GLvoid *pointer, GLsizei count); 532ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, 542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 552ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, 562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 572ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, 582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 592ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, 602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 612ad0477f16c64dc3126741933f11e27353521bb4Mathias AgopianGL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, 622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLsizei stride, const GLvoid *pointer, GLsizei count); 632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif 642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_ES_VERSION_2_0 652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type, 662ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) { 672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian glVertexAttribPointer(indx, size, type, normalized, stride, pointer); 682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian} 692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif 70cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden#ifdef GL_ES_VERSION_3_0 71cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFaddenstatic void glVertexAttribIPointerBounds(GLuint indx, GLint size, GLenum type, 72cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden GLsizei stride, const GLvoid *pointer, GLsizei count) { 73cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden glVertexAttribIPointer(indx, size, type, stride, pointer); 74cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden} 75cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden#endif 762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian} 772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 7827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* Cache method IDs each time the class is loaded. */ 7927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 8027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 8124ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott HughesnativeClassInit(JNIEnv *_env, jclass glImplClass) 8227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 8327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 8427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 8527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 8627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 8727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 8827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 8927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 9027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBasePointer", "(Ljava/nio/Buffer;)J"); 9127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 9227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 9327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 9427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 9527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 9627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich positionID = _env->GetFieldID(bufferClass, "position", "I"); 9727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich limitID = _env->GetFieldID(bufferClass, "limit", "I"); 9827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich elementSizeShiftID = 9927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 10027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 10127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 10227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void * 10317045a16575ece34cfadb63da4791f115625df78Thomas TafertshofergetPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset) 10427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 10527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint position; 10627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint limit; 10727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint elementSizeShift; 10827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jlong pointer; 10927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 11027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich position = _env->GetIntField(buffer, positionID); 11127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich limit = _env->GetIntField(buffer, limitID); 11227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 11327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *remaining = (limit - position) << elementSizeShift; 11427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich pointer = _env->CallStaticLongMethod(nioAccessClass, 11527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBasePointerID, buffer); 11627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (pointer != 0L) { 11727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *array = NULL; 11801c26ea89d4bbea3cf550e9328742302dd9a2b25Ashok Bhat return reinterpret_cast<void*>(pointer); 11927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 12024ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes 12127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 12227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayID, buffer); 12317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer *offset = _env->CallStaticIntMethod(nioAccessClass, 12427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich getBaseArrayOffsetID, buffer); 1252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 12617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer return NULL; 12727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 12827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 1293b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass ByteArrayGetter { 1303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1313b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jbyteArray array, jboolean* is_copy) { 1323b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetByteArrayElements(array, is_copy); 1333b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass BooleanArrayGetter { 1363b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1373b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jbooleanArray array, jboolean* is_copy) { 1383b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetBooleanArrayElements(array, is_copy); 1393b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1403b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1413b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass CharArrayGetter { 1423b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1433b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jcharArray array, jboolean* is_copy) { 1443b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetCharArrayElements(array, is_copy); 1453b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1463b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1473b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass ShortArrayGetter { 1483b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1493b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jshortArray array, jboolean* is_copy) { 1503b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetShortArrayElements(array, is_copy); 1513b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1523b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1533b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass IntArrayGetter { 1543b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jintArray array, jboolean* is_copy) { 1563b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetIntArrayElements(array, is_copy); 1573b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1583b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1593b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass LongArrayGetter { 1603b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1613b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jlongArray array, jboolean* is_copy) { 1623b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetLongArrayElements(array, is_copy); 1633b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1643b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1653b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass FloatArrayGetter { 1663b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1673b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jfloatArray array, jboolean* is_copy) { 1683b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetFloatArrayElements(array, is_copy); 1693b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1703b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1713b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass DoubleArrayGetter { 1723b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1733b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void* Get(JNIEnv* _env, jdoubleArray array, jboolean* is_copy) { 1743b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return _env->GetDoubleArrayElements(array, is_copy); 1753b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1763b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1773b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi 1783b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchitemplate<typename JTYPEARRAY, typename ARRAYGETTER> 1793b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchistatic void* 1803b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi YamauchigetArrayPointer(JNIEnv *_env, JTYPEARRAY array, jboolean* is_copy) { 1813b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi return ARRAYGETTER::Get(_env, array, is_copy); 1823b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi} 1833b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi 1843b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass ByteArrayReleaser { 1853b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1863b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jbyteArray array, jbyte* data, jboolean commit) { 1873b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseByteArrayElements(array, data, commit ? 0 : JNI_ABORT); 1883b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1893b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1903b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass BooleanArrayReleaser { 1913b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1923b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jbooleanArray array, jboolean* data, jboolean commit) { 1933b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseBooleanArrayElements(array, data, commit ? 0 : JNI_ABORT); 1943b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 1953b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 1963b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass CharArrayReleaser { 1973b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 1983b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jcharArray array, jchar* data, jboolean commit) { 1993b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseCharArrayElements(array, data, commit ? 0 : JNI_ABORT); 2003b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2013b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2023b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass ShortArrayReleaser { 2033b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 2043b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jshortArray array, jshort* data, jboolean commit) { 2053b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseShortArrayElements(array, data, commit ? 0 : JNI_ABORT); 2063b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2083b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass IntArrayReleaser { 2093b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 2103b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jintArray array, jint* data, jboolean commit) { 2113b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(array, data, commit ? 0 : JNI_ABORT); 2123b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2133b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2143b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass LongArrayReleaser { 2153b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 2163b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jlongArray array, jlong* data, jboolean commit) { 2173b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseLongArrayElements(array, data, commit ? 0 : JNI_ABORT); 2183b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2193b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2203b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass FloatArrayReleaser { 2213b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 2223b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jfloatArray array, jfloat* data, jboolean commit) { 2233b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(array, data, commit ? 0 : JNI_ABORT); 2243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2253b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2263b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchiclass DoubleArrayReleaser { 2273b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchipublic: 2283b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi static void Release(JNIEnv* _env, jdoubleArray array, jdouble* data, jboolean commit) { 2293b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseDoubleArrayElements(array, data, commit ? 0 : JNI_ABORT); 2303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi } 2313b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi}; 2323b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi 2333b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchitemplate<typename JTYPEARRAY, typename NTYPEARRAY, typename ARRAYRELEASER> 2343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchistatic void 2353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi YamauchireleaseArrayPointer(JNIEnv *_env, JTYPEARRAY array, NTYPEARRAY data, jboolean commit) { 2363b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi ARRAYRELEASER::Release(_env, array, data, commit); 2373b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi} 2383b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi 23927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 24027f8002e591b5c579f75b2580183b5d1c4219cd4Jack PalevichreleasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 24127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 24227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _env->ReleasePrimitiveArrayCritical(array, data, 2432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian commit ? 0 : JNI_ABORT); 24427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 24527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 246be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichstatic void * 247be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack PalevichgetDirectBufferPointer(JNIEnv *_env, jobject buffer) { 248be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich char* buf = (char*) _env->GetDirectBufferAddress(buffer); 249be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (buf) { 250be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint position = _env->GetIntField(buffer, positionID); 251be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 252be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich buf += position << elementSizeShift; 253be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } else { 25424ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes jniThrowException(_env, "java/lang/IllegalArgumentException", 25524ce5fb2cc09d0a14406e7b935f8648c5720d27eElliott Hughes "Must use a native order direct Buffer"); 256be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 257be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return (void*) buf; 258be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich} 2592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 2602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian// -------------------------------------------------------------------------- 2612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 2622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian/* 2632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * returns the number of values glGet returns for a given pname. 2642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * 2652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * The code below is written such that pnames requiring only one values 2662ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * are the default (and are not explicitely tested for). This makes the 2672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * checking code much shorter/readable/efficient. 2682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * 2692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * This means that unknown pnames (e.g.: extensions) will default to 1. If 2702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * that unknown pname needs more than 1 value, then the validation check 2712ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian * is incomplete and the app may crash if it passed the wrong number params. 2722ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian */ 2732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic int getNeededCount(GLint pname) { 2742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian int needed = 1; 2752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_ES_VERSION_2_0 2762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // GLES 2.x pnames 2772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian switch (pname) { 2782ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_ALIASED_LINE_WIDTH_RANGE: 2792ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_ALIASED_POINT_SIZE_RANGE: 2802ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 2; 2812ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 2822ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 2832ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_BLEND_COLOR: 2842ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COLOR_CLEAR_VALUE: 2852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COLOR_WRITEMASK: 2862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_SCISSOR_BOX: 2872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_VIEWPORT: 2882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 4; 2892ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 2902ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 2912ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COMPRESSED_TEXTURE_FORMATS: 2922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); 2932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 2942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 2952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_SHADER_BINARY_FORMATS: 2962ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &needed); 2972ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 2982ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 2992ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif 3002ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3012ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#ifdef GL_VERSION_ES_CM_1_1 3022ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // GLES 1.x pnames 3032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian switch (pname) { 3042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_ALIASED_LINE_WIDTH_RANGE: 3052ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_ALIASED_POINT_SIZE_RANGE: 3062ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_DEPTH_RANGE: 3072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_SMOOTH_LINE_WIDTH_RANGE: 3082ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_SMOOTH_POINT_SIZE_RANGE: 3092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 2; 3102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 3112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_CURRENT_NORMAL: 3132ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_POINT_DISTANCE_ATTENUATION: 3142ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 3; 3152ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 3162ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COLOR_CLEAR_VALUE: 3182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COLOR_WRITEMASK: 3192ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_CURRENT_COLOR: 3202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_CURRENT_TEXTURE_COORDS: 3212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_FOG_COLOR: 3222ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_LIGHT_MODEL_AMBIENT: 3232ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_SCISSOR_BOX: 3242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_VIEWPORT: 3252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 4; 3262ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 3272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_MODELVIEW_MATRIX: 3292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_PROJECTION_MATRIX: 3302ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_TEXTURE_MATRIX: 3312ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian needed = 16; 3322ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 3332ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3342ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian case GL_COMPRESSED_TEXTURE_FORMATS: 3352ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &needed); 3362ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian break; 3372ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3382ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian#endif 3392ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian return needed; 3402ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian} 3412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3423b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchitemplate <typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY, 3433b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi typename ARRAYRELEASER, typename CTYPE, void GET(GLenum, CTYPE*)> 3442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void 3452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianget 3462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (JNIEnv *_env, jobject _this, jint pname, JTYPEARRAY params_ref, jint offset) { 3472ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jint _exception = 0; 3482ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType; 3492ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage; 3502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian CTYPE *params_base = (CTYPE *) 0; 3512ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jint _remaining; 3522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian CTYPE *params = (CTYPE *) 0; 3532ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian int _needed = 0; 3542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (!params_ref) { 3562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exception = 1; 3572ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionType = "java/lang/IllegalArgumentException"; 3582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionMessage = "params == null"; 3592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian goto exit; 3602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (offset < 0) { 3622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exception = 1; 3632ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionType = "java/lang/IllegalArgumentException"; 3642ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionMessage = "offset < 0"; 3652ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian goto exit; 3662ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _remaining = _env->GetArrayLength(params_ref) - offset; 3682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _needed = getNeededCount(pname); 3692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // if we didn't find this pname, we just assume the user passed 3702ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // an array of the right size -- this might happen with extensions 3712ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // or if we forget an enum here. 3722ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (_remaining < _needed) { 3732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exception = 1; 3742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionType = "java/lang/IllegalArgumentException"; 3752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionMessage = "length - offset < needed"; 3762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian goto exit; 3772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3783b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params_base = (CTYPE *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>( 3793b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env, params_ref, (jboolean *)0); 3802ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian params = params_base + offset; 3812ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3822ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GET( 3832ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (GLenum)pname, 3842ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (CTYPE *)params 3852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian ); 3862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianexit: 3882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (params_base) { 3893b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>( 3903b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env, params_ref, params_base, !_exception); 3912ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (_exception) { 3932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jniThrowException(_env, _exceptionType, _exceptionMessage); 3942ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 3952ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian} 3962ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3972ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 3983b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchitemplate <typename CTYPE, typename JTYPEARRAY, typename ARRAYGETTER, typename NTYPEARRAY, 3993b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi typename ARRAYRELEASER, void GET(GLenum, CTYPE*)> 4002ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianstatic void 4012ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopiangetarray 4022ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 4032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jint _exception = 0; 4042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType; 4052ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage; 4063b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi JTYPEARRAY _array = (JTYPEARRAY) 0; 4072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jint _bufferOffset = (jint) 0; 4082ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jint _remaining; 4092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian CTYPE *params = (CTYPE *) 0; 4102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian int _needed = 0; 4112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 4123b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (CTYPE *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 413cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden _remaining /= sizeof(CTYPE); // convert from bytes to item count 4142ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _needed = getNeededCount(pname); 4152ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // if we didn't find this pname, we just assume the user passed 4162ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // an array of the right size -- this might happen with extensions 4172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian // or if we forget an enum here. 4182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (_needed>0 && _remaining < _needed) { 4192ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exception = 1; 4202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionType = "java/lang/IllegalArgumentException"; 4212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian _exceptionMessage = "remaining() < needed"; 4222ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian goto exit; 4232ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 4242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (params == NULL) { 4253b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *) getArrayPointer<JTYPEARRAY, ARRAYGETTER>( 4263b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env, _array, (jboolean *) 0); 4272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian params = (CTYPE *) (_paramsBase + _bufferOffset); 4282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 4292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian GET( 4302ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (GLenum)pname, 4312ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian (CTYPE *)params 4322ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian ); 4332ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 4342ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopianexit: 4352ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (_array) { 4363b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi releaseArrayPointer<JTYPEARRAY, NTYPEARRAY, ARRAYRELEASER>( 4373b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env, _array, (NTYPEARRAY)params, _exception ? JNI_FALSE : JNI_TRUE); 4382ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 4392ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian if (_exception) { 4402ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian jniThrowException(_env, _exceptionType, _exceptionMessage); 4412ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian } 4422ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian} 4432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian 44427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich// -------------------------------------------------------------------------- 44527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationSeparateOES ( GLenum modeRGB, GLenum modeAlpha ) */ 44627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 44727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationSeparateOES__II 44827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 449a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glBlendEquationSeparateOES( 450a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)modeRGB, 451a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)modeAlpha 452a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 45327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 45427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 45527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendFuncSeparateOES ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */ 45627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 45727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendFuncSeparateOES__IIII 45827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 459a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glBlendFuncSeparateOES( 460a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)srcRGB, 461a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)dstRGB, 462a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)srcAlpha, 463a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)dstAlpha 464a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 46527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 46627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 46727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBlendEquationOES ( GLenum mode ) */ 46827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 46927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBlendEquationOES__I 47027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint mode) { 471a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glBlendEquationOES( 472a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)mode 473a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 47427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 47527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 47627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */ 47727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 47827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsOES__SSSSS 47927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) { 48027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexsOES( 48127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort)x, 48227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort)y, 48327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort)z, 48427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort)width, 48527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort)height 48627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 48727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 48827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 48927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */ 49027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 49127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexiOES__IIIII 49227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 49327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexiOES( 49427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)x, 49527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)y, 49627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)z, 49727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)width, 49827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint)height 49927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 50027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 50127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 50227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */ 50327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 50427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxOES__IIIII 50527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 50627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexxOES( 50727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)x, 50827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)y, 50927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)z, 51027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)width, 51127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed)height 51227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 51327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 51427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 51527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */ 51627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 51727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES___3SI 51827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) { 5192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 5202ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 5212ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 52227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLshort *coords_base = (GLshort *) 0; 52327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 52427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLshort *coords = (GLshort *) 0; 52527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 52627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!coords_ref) { 5272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5292545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 53027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 53127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 53227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 5332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 53627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 53727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 53827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(coords_ref) - offset; 53927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 5402545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 54327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 54427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 54527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords_base = (GLshort *) 5463b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetShortArrayElements(coords_ref, (jboolean *)0); 54727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords = coords_base + offset; 54827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 54927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexsvOES( 55027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort *)coords 55127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 55227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 55327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 55427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (coords_base) { 5553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseShortArrayElements(coords_ref, (jshort*)coords_base, 55627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 55727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 5582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 5592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 5602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 56127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 56227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 56327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexsvOES ( const GLshort *coords ) */ 56427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 56527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 56627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject coords_buf) { 5672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 5682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 5692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 5703b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jshortArray _array = (jshortArray) 0; 57117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 57227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 57327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLshort *coords = (GLshort *) 0; 57427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 5753b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi coords = (GLshort *)getPointer(_env, coords_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 57627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 5772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 5782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 5792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 58027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 58127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 58217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 5833b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _coordsBase = (char *)_env->GetShortArrayElements(_array, (jboolean *) 0); 58417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLshort *) (_coordsBase + _bufferOffset); 58517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 58627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexsvOES( 58727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLshort *)coords 58827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 58927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 59027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 59127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 5923b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseShortArrayElements(_array, (jshort*)coords, JNI_ABORT); 59327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 5942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 5952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 5962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 59727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 59827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 59927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */ 60027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 60127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES___3II 60227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 6032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 6042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 6052ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 60627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *coords_base = (GLint *) 0; 60727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 60827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *coords = (GLint *) 0; 60927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 61027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!coords_ref) { 6112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 61427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 61527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 61627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 6172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 62027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 62127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 62227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(coords_ref) - offset; 62327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 6242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 62727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 62827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 62927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords_base = (GLint *) 6303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(coords_ref, (jboolean *)0); 63127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords = coords_base + offset; 63227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 63327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexivOES( 63427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint *)coords 63527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 63627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 63727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 63827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (coords_base) { 6393b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(coords_ref, (jint*)coords_base, 64027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 64127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 6422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 6432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 6442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 64527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 64627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 64727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexivOES ( const GLint *coords ) */ 64827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 64927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexivOES__Ljava_nio_IntBuffer_2 65027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject coords_buf) { 6512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 6522ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 6532ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 6543b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 65517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 65627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 65727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLint *coords = (GLint *) 0; 65827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 6593b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi coords = (GLint *)getPointer(_env, coords_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 66027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 6612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 66427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 66527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 66617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 6673b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _coordsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 66817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLint *) (_coordsBase + _bufferOffset); 66917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 67027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexivOES( 67127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLint *)coords 67227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 67327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 67427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 67527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 6763b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)coords, JNI_ABORT); 67727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 6782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 6792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 6802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 68127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 68227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 68327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */ 68427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 68527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES___3II 68627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 6872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 6882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 6892ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 69027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *coords_base = (GLfixed *) 0; 69127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 69227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *coords = (GLfixed *) 0; 69327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 69427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!coords_ref) { 6952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 6962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 6972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 69827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 69927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 70027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 7012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 70427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 70527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 70627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(coords_ref) - offset; 70727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 7082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 71127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 71227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 71327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords_base = (GLfixed *) 7143b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(coords_ref, (jboolean *)0); 71527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords = coords_base + offset; 71627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 71727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexxvOES( 71827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)coords 71927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 72027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 72127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 72227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (coords_base) { 7233b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(coords_ref, (jint*)coords_base, 72427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 72527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 7262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 7272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 7282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 72927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 73027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 73127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexxvOES ( const GLfixed *coords ) */ 73227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 73327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexxvOES__Ljava_nio_IntBuffer_2 73427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject coords_buf) { 7352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 7362ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 7372ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 7383b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 73917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 74027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 74127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfixed *coords = (GLfixed *) 0; 74227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 7433b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi coords = (GLfixed *)getPointer(_env, coords_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 74427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 7452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 74827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 74927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 75017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 7513b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _coordsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 75217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfixed *) (_coordsBase + _bufferOffset); 75317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 75427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexxvOES( 75527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfixed *)coords 75627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 75727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 75827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 75927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 7603b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)coords, JNI_ABORT); 76127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 7622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 7632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 7642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 76527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 76627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 76727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */ 76827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 76927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfOES__FFFFF 77027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) { 77127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexfOES( 77227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)x, 77327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)y, 77427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)z, 77527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)width, 77627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat)height 77727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 77827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 77927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 78027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */ 78127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 78227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES___3FI 78327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) { 7842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 7852ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 7862ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 78727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *coords_base = (GLfloat *) 0; 78827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 78927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *coords = (GLfloat *) 0; 79027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 79127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (!coords_ref) { 7922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 7942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "coords == null"; 79527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 79627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 79727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (offset < 0) { 7982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 7992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 8002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 80127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 80227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 80327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich _remaining = _env->GetArrayLength(coords_ref) - offset; 80427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 8052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 8062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 8072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 5 < needed"; 80827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 80927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 81027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords_base = (GLfloat *) 8113b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetFloatArrayElements(coords_ref, (jboolean *)0); 81227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich coords = coords_base + offset; 81327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 81427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexfvOES( 81527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)coords 81627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 81727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 81827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 81927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (coords_base) { 8203b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(coords_ref, (jfloat*)coords_base, 82127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich JNI_ABORT); 82227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 8232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 8242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 8252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 82627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 82727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 82827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDrawTexfvOES ( const GLfloat *coords ) */ 82927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 83027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 83127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject coords_buf) { 8322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 8332ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 8342ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 8353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jfloatArray _array = (jfloatArray) 0; 83617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 83727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich jint _remaining; 83827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich GLfloat *coords = (GLfloat *) 0; 83927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 8403b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi coords = (GLfloat *)getPointer(_env, coords_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 84127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_remaining < 5) { 8422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 8432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 8442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 5 < needed"; 84527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich goto exit; 84627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 84717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (coords == NULL) { 8483b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _coordsBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); 84917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer coords = (GLfloat *) (_coordsBase + _bufferOffset); 85017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 85127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich glDrawTexfvOES( 85227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (GLfloat *)coords 85327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich ); 85427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 85527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichexit: 85627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich if (_array) { 8573b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(_array, (jfloat*)coords, JNI_ABORT); 85827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich } 8592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 8602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 8612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 86227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 86327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 86427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetTexture2DOES ( GLenum target, GLeglImageOES image ) */ 86527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 86627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2 86727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jobject image_buf) { 868a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jarray _array = (jarray) 0; 86917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 870a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLeglImageOES image = (GLeglImageOES) 0; 872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 8733b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi image = (GLeglImageOES)getPointer(_env, image_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 87417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (image == NULL) { 87517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 87617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer image = (GLeglImageOES) (_imageBase + _bufferOffset); 87717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glEGLImageTargetTexture2DOES( 879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLeglImageOES)image 881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 8832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, image, JNI_TRUE); 884a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 88527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 88627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 88727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glEGLImageTargetRenderbufferStorageOES ( GLenum target, GLeglImageOES image ) */ 88827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 88927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2 89027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jobject image_buf) { 891a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jarray _array = (jarray) 0; 89217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 893a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 894a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLeglImageOES image = (GLeglImageOES) 0; 895a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 8963b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi image = (GLeglImageOES)getPointer(_env, image_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 89717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (image == NULL) { 89817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer char * _imageBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); 89917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer image = (GLeglImageOES) (_imageBase + _bufferOffset); 90017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 901a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glEGLImageTargetRenderbufferStorageOES( 902a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 903a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLeglImageOES)image 904a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 905a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 9062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer releasePointer(_env, _array, image, JNI_TRUE); 907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 90827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 90927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 91027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glAlphaFuncxOES ( GLenum func, GLclampx ref ) */ 91127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 91227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glAlphaFuncxOES__II 91327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint func, jint ref) { 914a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glAlphaFuncxOES( 915a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)func, 916a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)ref 917a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 91827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 91927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 92027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearColorxOES ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 92127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 92227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearColorxOES__IIII 92327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClearColorxOES( 925a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)red, 926a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)green, 927a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)blue, 928a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)alpha 929a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 93027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 93127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 93227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthxOES ( GLclampx depth ) */ 93327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 93427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthxOES__I 93527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint depth) { 936a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClearDepthxOES( 937a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)depth 938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 93927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 94027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 94127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */ 94227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 94327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__I_3II 94427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { 9452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 9462ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 9472ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *equation_base = (GLfixed *) 0; 949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *equation = (GLfixed *) 0; 951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!equation_ref) { 9532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 9542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 9552545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "equation == null"; 956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 9592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 9602545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 9612545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 962a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 964a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(equation_ref) - offset; 965a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich equation_base = (GLfixed *) 9663b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(equation_ref, (jboolean *)0); 967a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich equation = equation_base + offset; 968a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClipPlanexOES( 970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)plane, 971a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)equation 972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 974a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 975a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (equation_base) { 9763b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(equation_ref, (jint*)equation_base, 977a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 978a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 9792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 9802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 9812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 98227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 98327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 98427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanexOES ( GLenum plane, const GLfixed *equation ) */ 98527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 98627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanexOES__ILjava_nio_IntBuffer_2 98727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 9883b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 98917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 990a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 991a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *equation = (GLfixed *) 0; 992a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 9933b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi equation = (GLfixed *)getPointer(_env, equation_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 99417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (equation == NULL) { 9953b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _equationBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 99617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfixed *) (_equationBase + _bufferOffset); 99717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClipPlanexOES( 999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)plane, 1000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)equation 1001a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1002a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 10033b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)equation, JNI_ABORT); 1004a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 100527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 100627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 100727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glColor4xOES ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 100827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 100927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glColor4xOES__IIII 101027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 1011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glColor4xOES( 1012a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)red, 1013a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)green, 1014a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)blue, 1015a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)alpha 1016a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 101727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 101827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 101927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangexOES ( GLclampx zNear, GLclampx zFar ) */ 102027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 102127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangexOES__II 102227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 1023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glDepthRangexOES( 1024a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)zNear, 1025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)zFar 1026a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 102727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 102827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 102927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxOES ( GLenum pname, GLfixed param ) */ 103027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 103127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxOES__II 103227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 1033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glFogxOES( 1034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1035a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 1036a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 103727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 103827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 103927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */ 104027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 104127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__I_3II 104227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 10432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 10442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 10452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1046a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1047a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1050a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 10512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 10522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 10532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 10572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 10582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 10592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 10643b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1065a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1066a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glFogxvOES( 1068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1069a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1070a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1071a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1072a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 10743b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 10772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 10782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 10792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 108027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 108127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 108227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFogxvOES ( GLenum pname, const GLfixed *params ) */ 108327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 108427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFogxvOES__ILjava_nio_IntBuffer_2 108527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 10863b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 108717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1089a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1090a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 10913b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 109217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 10933b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 109417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 109517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1096a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glFogxvOES( 1097a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 11013b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 1102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 110327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 110427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 110527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 110627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 110727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumxOES__IIIIII 110827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 1109a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glFrustumxOES( 1110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)left, 1111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)right, 1112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)bottom, 1113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)top, 1114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)zNear, 1115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)zFar 1116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 111727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 111827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 111927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */ 112027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 112127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__I_3II 112227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { 1123a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 11242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 11252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *eqn_base = (GLfixed *) 0; 1127a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *eqn = (GLfixed *) 0; 1129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1130a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!eqn_ref) { 1131a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 11322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "eqn == null"; 1134a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1135a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1136a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 11382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1140a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1142a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(eqn_ref) - offset; 1143a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_remaining < 4) { 1144a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 11452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 4 < needed"; 1147a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1148a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich eqn_base = (GLfixed *) 11503b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(eqn_ref, (jboolean *)0); 1151a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich eqn = eqn_base + offset; 1152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetClipPlanexOES( 1154a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1155a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)eqn 1156a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1157a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1158a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1159a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (eqn_base) { 11603b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(eqn_ref, (jint*)eqn_base, 1161a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1162a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 11632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 11642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 11652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 116627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 116727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 116827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanexOES ( GLenum pname, GLfixed *eqn ) */ 116927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 117027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanexOES__ILjava_nio_IntBuffer_2 117127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 1172a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 11732ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 11742ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 11753b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 117617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *eqn = (GLfixed *) 0; 1179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 11803b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi eqn = (GLfixed *)getPointer(_env, eqn_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 1181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_remaining < 4) { 1182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 11832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 11842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 4 < needed"; 1185a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1186a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 118717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (eqn == NULL) { 11883b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _eqnBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 118917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfixed *) (_eqnBase + _bufferOffset); 119017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetClipPlanexOES( 1192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)eqn 1194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1196a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1197a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 11983b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)eqn, _exception ? JNI_ABORT : 0); 1199a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 12002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 12012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 12022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 120327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 120427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 120527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */ 120627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 120727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__I_3II 120827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 12102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 12112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1212a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1213a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1214a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1215a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1216a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 1217a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 12182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1222a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1223a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 12242545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1226a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1227a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1228a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1229a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 12303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetFixedvOES( 1234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1236a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1237a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 12403b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1241a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 12432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 12442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 12452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 124627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 124727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 124827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFixedvOES ( GLenum pname, GLfixed *params ) */ 124927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 125027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFixedvOES__ILjava_nio_IntBuffer_2 125127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 12523b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 125317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 12573b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 125817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 12593b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 126017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 126117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1262a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetFixedvOES( 1263a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1264a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1265a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1266a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 12673b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 1268a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 126927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 127027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 127127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */ 127227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 127327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__II_3II 127427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 1275a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 12762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 12772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1278a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1279a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1280a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1282a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 1283a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 12842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1287a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1289a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 12902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 12912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1292a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1293a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1294a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1295a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 12963b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1297a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1298a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1299a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetLightxvOES( 1300a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)light, 1301a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1302a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1303a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1304a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1305a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1306a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 13073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1308a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1309a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 13102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 13112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 13122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 131327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 131427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 131527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetLightxvOES ( GLenum light, GLenum pname, GLfixed *params ) */ 131627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 131727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetLightxvOES__IILjava_nio_IntBuffer_2 131827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 13193b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 132017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1321a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1322a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 13243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 132517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 13263b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 132717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 132817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1329a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetLightxvOES( 1330a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)light, 1331a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1332a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1333a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1334a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 13353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 1336a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 133727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 133827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 133927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */ 134027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 134127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__II_3II 134227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 1343a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 13442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 13452ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1346a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1347a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1348a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1349a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1350a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 1351a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 13522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 13532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1354a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1355a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1356a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1357a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 13582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 13592545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1360a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1361a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1362a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1363a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 13643b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1366a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1367a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetMaterialxvOES( 1368a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)face, 1369a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1370a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1371a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1372a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1373a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1374a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 13753b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1376a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1377a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 13782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 13792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 13802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 138127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 138227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 138327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetMaterialxvOES ( GLenum face, GLenum pname, GLfixed *params ) */ 138427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 138527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetMaterialxvOES__IILjava_nio_IntBuffer_2 138627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 13873b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 138817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1389a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1390a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 13923b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 139317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 13943b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 139517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 139617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1397a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetMaterialxvOES( 1398a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)face, 1399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1401a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1402a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 14033b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 1404a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 140527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 140627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 140727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */ 140827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 140927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__II_3II 141027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 1411a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 14122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 14132ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1414a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1415a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1416a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1417a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1418a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 1419a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 14202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 14212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1423a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1424a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1425a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 14262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 14272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1428a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1429a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1430a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1431a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 14323b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1433a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1434a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1435a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexEnvxvOES( 1436a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)env, 1437a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1438a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1439a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1440a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1441a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 14433b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1444a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 14462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 14472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 14482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 144927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 145027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 145127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexEnvxvOES ( GLenum env, GLenum pname, GLfixed *params ) */ 145227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 145327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2 145427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 14553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 145617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1457a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1458a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1459a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 14603b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 146117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 14623b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 146317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 146417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1465a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexEnvxvOES( 1466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)env, 1467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1468a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1469a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1470a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 14713b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 1472a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 147327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 147427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 147527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */ 147627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 147727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__II_3II 147827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 1479a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 14802ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 14812ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1482a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1483a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1484a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1485a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1486a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 1487a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 14882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 14892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1490a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1491a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1492a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 1493a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 14942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 14952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1499a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 15003b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1501a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1502a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1503a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexParameterxvOES( 1504a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 1505a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1506a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1507a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1508a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1509a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 15113b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1512a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 1513a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 15142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 15152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 15162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 151727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 151827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 151927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexParameterxvOES ( GLenum target, GLenum pname, GLfixed *params ) */ 152027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 152127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2 152227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 15233b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 152417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1525a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1526a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1527a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 15283b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 152917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 15303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 153117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 153217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1533a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexParameterxvOES( 1534a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 1535a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1536a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1537a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 15393b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 1540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 154127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 154227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 154327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxOES ( GLenum pname, GLfixed param ) */ 154427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 154527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxOES__II 154627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 1547a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightModelxOES( 1548a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1549a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 1550a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 155127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 155227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 155327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */ 155427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 155527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__I_3II 155627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 15572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 15582ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 15592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1560a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1561a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1562a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1563a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 15652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 15662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 15672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1568a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1569a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1570a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 15712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 15722545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 15732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1574a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1575a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1576a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1577a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 15783b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1579a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1580a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1581a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightModelxvOES( 1582a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1583a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1584a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1585a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1586a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1587a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 15883b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1589a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1590a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 15912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 15922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 15932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 159427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 159527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 159627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightModelxvOES ( GLenum pname, const GLfixed *params ) */ 159727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 159827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightModelxvOES__ILjava_nio_IntBuffer_2 159927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 16003b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 160117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1602a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1603a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1604a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 16053b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 160617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 16073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 160817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 160917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1610a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightModelxvOES( 1611a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1612a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1613a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1614a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 16153b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 1616a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 161727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 161827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 161927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxOES ( GLenum light, GLenum pname, GLfixed param ) */ 162027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 162127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxOES__III 162227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 1623a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightxOES( 1624a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)light, 1625a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1626a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 1627a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 162827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 162927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 163027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */ 163127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 163227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__II_3II 163327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 16342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 16352ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 16362ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1637a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1638a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1639a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1640a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1641a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 16422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 16432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 16442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1645a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1646a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1647a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 16482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 16492545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 16502545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1651a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1652a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1653a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1654a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 16553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1656a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1657a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1658a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightxvOES( 1659a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)light, 1660a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1661a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1662a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1663a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1664a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1665a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 16663b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1667a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1668a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 16692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 16702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 16712545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 167227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 167327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 167427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLightxvOES ( GLenum light, GLenum pname, const GLfixed *params ) */ 167527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 167627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLightxvOES__IILjava_nio_IntBuffer_2 167727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 16783b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 167917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1680a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1681a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1682a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 16833b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 168417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 16853b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 168617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 168717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1688a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLightxvOES( 1689a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)light, 1690a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1691a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1692a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1693a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 16943b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 1695a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 169627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 169727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 169827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLineWidthxOES ( GLfixed width ) */ 169927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 170027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLineWidthxOES__I 170127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint width) { 1702a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLineWidthxOES( 1703a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)width 1704a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 170527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 170627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 170727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */ 170827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 170927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES___3II 171027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 17112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 17122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 17132ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1714a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m_base = (GLfixed *) 0; 1715a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1716a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m = (GLfixed *) 0; 171727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 1718a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!m_ref) { 17192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 17202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 17212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 1722a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1723a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1724a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 17252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 17262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 17272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1728a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1729a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1730a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 1731a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich m_base = (GLfixed *) 17323b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(m_ref, (jboolean *)0); 1733a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich m = m_base + offset; 1734a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1735a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLoadMatrixxOES( 1736a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)m 1737a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1738a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1739a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1740a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (m_base) { 17413b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(m_ref, (jint*)m_base, 1742a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1743a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 17442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 17452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 17462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 1747a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich} 1748a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1749a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich/* void glLoadMatrixxOES ( const GLfixed *m ) */ 1750a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichstatic void 175127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadMatrixxOES__Ljava_nio_IntBuffer_2 175227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 17533b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 175417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1755a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1756a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m = (GLfixed *) 0; 1757a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 17583b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi m = (GLfixed *)getPointer(_env, m_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 175917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 17603b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _mBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 176117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *) (_mBase + _bufferOffset); 176217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1763a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glLoadMatrixxOES( 1764a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)m 1765a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1766a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 17673b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)m, JNI_ABORT); 1768a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 176927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 177027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 177127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxOES ( GLenum face, GLenum pname, GLfixed param ) */ 177227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 177327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxOES__III 177427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 1775a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMaterialxOES( 1776a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)face, 1777a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1778a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 1779a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 178027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 178127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 178227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */ 178327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 178427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__II_3II 178527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 17862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 17872ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 17882ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1789a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1790a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1791a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1792a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1793a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 17942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 17952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 17962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1797a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1798a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1799a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 18002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 18012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 18022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1803a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1804a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1805a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1806a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 18073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1808a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1809a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1810a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMaterialxvOES( 1811a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)face, 1812a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1813a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1814a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1815a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1816a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1817a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 18183b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1819a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1820a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 18212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 18222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 18232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 182427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 182527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 182627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMaterialxvOES ( GLenum face, GLenum pname, const GLfixed *params ) */ 182727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 182827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMaterialxvOES__IILjava_nio_IntBuffer_2 182927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 18303b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 183117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1832a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1833a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1834a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 18353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 183617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 18373b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 183817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 183917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1840a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMaterialxvOES( 1841a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)face, 1842a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1843a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1844a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1845a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 18463b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 1847a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 184827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 184927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 185027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */ 185127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 185227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES___3II 185327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 18542545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 18552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 18562ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1857a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m_base = (GLfixed *) 0; 1858a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1859a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m = (GLfixed *) 0; 1860a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1861a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!m_ref) { 18622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 18632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 18642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "m == null"; 1865a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1866a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1867a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 18682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 18692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 18702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1871a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1872a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1873a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(m_ref) - offset; 1874a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich m_base = (GLfixed *) 18753b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(m_ref, (jboolean *)0); 1876a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich m = m_base + offset; 1877a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1878a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMultMatrixxOES( 1879a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)m 1880a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1881a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1882a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1883a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (m_base) { 18843b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(m_ref, (jint*)m_base, 1885a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1886a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 18872545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 18882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 18892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 189027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 189127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 189227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultMatrixxOES ( const GLfixed *m ) */ 189327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 189427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultMatrixxOES__Ljava_nio_IntBuffer_2 189527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jobject m_buf) { 18963b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 189717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 1898a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1899a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *m = (GLfixed *) 0; 1900a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 19013b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi m = (GLfixed *)getPointer(_env, m_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 190217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (m == NULL) { 19033b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _mBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 190417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer m = (GLfixed *) (_mBase + _bufferOffset); 190517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 1906a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMultMatrixxOES( 1907a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)m 1908a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1909a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 19103b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)m, JNI_ABORT); 1911a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 191227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 191327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 191427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMultiTexCoord4xOES ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 191527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 191627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glMultiTexCoord4xOES__IIIII 191727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 1918a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glMultiTexCoord4xOES( 1919a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 1920a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)s, 1921a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)t, 1922a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)r, 1923a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)q 1924a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 192527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 192627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 192727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glNormal3xOES ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 192827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 192927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glNormal3xOES__III 193027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 1931a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glNormal3xOES( 1932a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)nx, 1933a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)ny, 1934a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)nz 1935a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 193627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 193727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 193827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthoxOES ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 193927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 194027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthoxOES__IIIIII 194127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 1942a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glOrthoxOES( 1943a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)left, 1944a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)right, 1945a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)bottom, 1946a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)top, 1947a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)zNear, 1948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)zFar 1949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 195027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 195127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 195227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxOES ( GLenum pname, GLfixed param ) */ 195327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 195427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxOES__II 195527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jint param) { 1956a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glPointParameterxOES( 1957a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1958a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 1959a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 196027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 196127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 196227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */ 196327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 196427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__I_3II 196527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 19662545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 19672ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 19682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 1969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 1970a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 1971a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 1972a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1973a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 19742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 19752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 19762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 1977a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1978a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1979a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 19802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 19812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 19822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 1983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 1984a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 1985a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 1986a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 19873b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 1988a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 1989a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1990a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glPointParameterxvOES( 1991a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 1992a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 1993a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 1994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 1995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 1996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 19973b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 1998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 1999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 20002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 20012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 20022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 200327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 200427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 200527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointParameterxvOES ( GLenum pname, const GLfixed *params ) */ 200627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 200727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointParameterxvOES__ILjava_nio_IntBuffer_2 200827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 20093b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 201017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 2011a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2012a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 2013a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 20143b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 201517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 20163b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 201717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 201817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 2019a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glPointParameterxvOES( 2020a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2021a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 2022a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 2023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 20243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 2025a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 202627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 202727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 202827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPointSizexOES ( GLfixed size ) */ 202927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 203027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPointSizexOES__I 203127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint size) { 2032a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glPointSizexOES( 2033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)size 2034a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 203527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 203627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 203727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glPolygonOffsetxOES ( GLfixed factor, GLfixed units ) */ 203827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 203927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glPolygonOffsetxOES__II 204027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint factor, jint units) { 2041a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glPolygonOffsetxOES( 2042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)factor, 2043a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)units 2044a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 204527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 204627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 204727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRotatexOES ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 204827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 204927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRotatexOES__IIII 205027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 2051a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glRotatexOES( 2052a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)angle, 2053a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)x, 2054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)y, 2055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)z 2056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 205727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 205827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 205927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glSampleCoveragexOES ( GLclampx value, GLboolean invert ) */ 206027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 206127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glSampleCoveragexOES__IZ 206227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 2063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glSampleCoveragexOES( 2064a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampx)value, 2065a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLboolean)invert 2066a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 206727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 206827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 206927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glScalexOES ( GLfixed x, GLfixed y, GLfixed z ) */ 207027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 207127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glScalexOES__III 207227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 2073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glScalexOES( 2074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)x, 2075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)y, 2076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)z 2077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 207827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 207927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 208027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxOES ( GLenum target, GLenum pname, GLfixed param ) */ 208127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 208227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxOES__III 208327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 2084a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexEnvxOES( 2085a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2086a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2087a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 2088a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 208927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 209027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 209127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */ 209227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 209327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__II_3II 209427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 20952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 20962ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 20972ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 2098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 2099a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 2101a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2102a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 21032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21042545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21052545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 2106a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2107a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2108a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 21092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 2112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 21163b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 2117a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 2118a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2119a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexEnvxvOES( 2120a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2121a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2122a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 2123a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 2124a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2125a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 2126a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 21273b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 2128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 2129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 21302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 21312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 21322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 213327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 213427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 213527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexEnvxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */ 213627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 213727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexEnvxvOES__IILjava_nio_IntBuffer_2 213827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 21393b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 214017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 2141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2142a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 2143a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 21443b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 214517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 21463b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 214717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 214817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 2149a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexEnvxvOES( 2150a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2151a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 2153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 2154a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 21553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 2156a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 215727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 215827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 215927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxOES ( GLenum target, GLenum pname, GLfixed param ) */ 216027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 216127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxOES__III 216227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 2163a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexParameterxOES( 2164a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2166a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 2167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 216827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 216927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 217027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */ 217127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 217227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__II_3II 217327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 21742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 21752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 21762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 2177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 2178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 2180a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 21822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 2185a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2186a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2187a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 21882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 21892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 21902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 2191a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2192a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2193a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 2194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 21953b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 2196a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 2197a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2198a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexParameterxvOES( 2199a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2200a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2201a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 2202a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 2203a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 2205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 22063b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 2207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 2208a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 22092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 22102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 22112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 221227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 221327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 221427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexParameterxvOES ( GLenum target, GLenum pname, const GLfixed *params ) */ 221527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 221627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexParameterxvOES__IILjava_nio_IntBuffer_2 221727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 22183b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 221917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 2220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2221a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 2222a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 22233b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 222417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 22253b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 222617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 222717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 2228a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexParameterxvOES( 2229a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)target, 2230a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 2231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 2232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 2233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 22343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 2235a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 223627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 223727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 223827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTranslatexOES ( GLfixed x, GLfixed y, GLfixed z ) */ 223927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 224027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTranslatexOES__III 224127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 2242a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTranslatexOES( 2243a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)x, 2244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)y, 2245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)z 2246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 224727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 224827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 224927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsRenderbufferOES ( GLuint renderbuffer ) */ 225027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean 225127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsRenderbufferOES__I 225227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint renderbuffer) { 225373108675c944ab4ee89631dced23566b12341b66Jack Palevich GLboolean _returnValue; 225473108675c944ab4ee89631dced23566b12341b66Jack Palevich _returnValue = glIsRenderbufferOES( 225573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)renderbuffer 225673108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 2257cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden return (jboolean)_returnValue; 225827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 225927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 226027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindRenderbufferOES ( GLenum target, GLuint renderbuffer ) */ 226127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 226227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindRenderbufferOES__II 226327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 226473108675c944ab4ee89631dced23566b12341b66Jack Palevich glBindRenderbufferOES( 226573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 226673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)renderbuffer 226773108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 226827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 226927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 227027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */ 227127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 227227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__I_3II 227327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 22742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 22752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 22762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 227773108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 227873108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 227973108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 228073108675c944ab4ee89631dced23566b12341b66Jack Palevich 228173108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!renderbuffers_ref) { 22822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "renderbuffers == null"; 228573108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 228673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 228773108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 22882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 229173108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 229273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 229373108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 229473108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 22952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 22962545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 22972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 229873108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 229973108675c944ab4ee89631dced23566b12341b66Jack Palevich } 230073108675c944ab4ee89631dced23566b12341b66Jack Palevich renderbuffers_base = (GLuint *) 23013b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(renderbuffers_ref, (jboolean *)0); 230273108675c944ab4ee89631dced23566b12341b66Jack Palevich renderbuffers = renderbuffers_base + offset; 230373108675c944ab4ee89631dced23566b12341b66Jack Palevich 230473108675c944ab4ee89631dced23566b12341b66Jack Palevich glDeleteRenderbuffersOES( 230573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 230673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)renderbuffers 230773108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 230873108675c944ab4ee89631dced23566b12341b66Jack Palevich 230973108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 231073108675c944ab4ee89631dced23566b12341b66Jack Palevich if (renderbuffers_base) { 23113b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(renderbuffers_ref, (jint*)renderbuffers_base, 231273108675c944ab4ee89631dced23566b12341b66Jack Palevich JNI_ABORT); 231373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 23142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 23152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 23162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 231727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 231827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 231927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteRenderbuffersOES ( GLsizei n, const GLuint *renderbuffers ) */ 232027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 232127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 232227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 23232545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 23242ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 23252ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 23263b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 232717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 232873108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 232973108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 233073108675c944ab4ee89631dced23566b12341b66Jack Palevich 23313b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 233273108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 23332545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 23342545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 23352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 233673108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 233773108675c944ab4ee89631dced23566b12341b66Jack Palevich } 233817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (renderbuffers == NULL) { 23393b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _renderbuffersBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 234017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset); 234117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 234273108675c944ab4ee89631dced23566b12341b66Jack Palevich glDeleteRenderbuffersOES( 234373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 234473108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)renderbuffers 234573108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 234673108675c944ab4ee89631dced23566b12341b66Jack Palevich 234773108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 234873108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 23493b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)renderbuffers, JNI_ABORT); 235073108675c944ab4ee89631dced23566b12341b66Jack Palevich } 23512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 23522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 23532545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 235427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 235527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 235627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */ 235727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 235827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__I_3II 235927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 236073108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 23612ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 23622ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 236373108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers_base = (GLuint *) 0; 236473108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 236573108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 236673108675c944ab4ee89631dced23566b12341b66Jack Palevich 236773108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!renderbuffers_ref) { 236873108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 23692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 23702545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "renderbuffers == null"; 237173108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 237273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 237373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 237473108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 23752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 23762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 237773108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 237873108675c944ab4ee89631dced23566b12341b66Jack Palevich } 237973108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 238073108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 238173108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 23822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 23832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 238473108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 238573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 238673108675c944ab4ee89631dced23566b12341b66Jack Palevich renderbuffers_base = (GLuint *) 23873b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(renderbuffers_ref, (jboolean *)0); 238873108675c944ab4ee89631dced23566b12341b66Jack Palevich renderbuffers = renderbuffers_base + offset; 238973108675c944ab4ee89631dced23566b12341b66Jack Palevich 239073108675c944ab4ee89631dced23566b12341b66Jack Palevich glGenRenderbuffersOES( 239173108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 239273108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)renderbuffers 239373108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 239473108675c944ab4ee89631dced23566b12341b66Jack Palevich 239573108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 239673108675c944ab4ee89631dced23566b12341b66Jack Palevich if (renderbuffers_base) { 23973b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(renderbuffers_ref, (jint*)renderbuffers_base, 239873108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception ? JNI_ABORT: 0); 239973108675c944ab4ee89631dced23566b12341b66Jack Palevich } 24002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 24012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 24022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 240327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 240427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 240527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenRenderbuffersOES ( GLsizei n, GLuint *renderbuffers ) */ 240627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 240727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 240827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 240973108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 24102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 24112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 24123b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 241317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 241473108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 241573108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *renderbuffers = (GLuint *) 0; 241673108675c944ab4ee89631dced23566b12341b66Jack Palevich 24173b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 241873108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 241973108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 24202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 242273108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 242373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 242417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (renderbuffers == NULL) { 24253b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _renderbuffersBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 242617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer renderbuffers = (GLuint *) (_renderbuffersBase + _bufferOffset); 242717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 242873108675c944ab4ee89631dced23566b12341b66Jack Palevich glGenRenderbuffersOES( 242973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 243073108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)renderbuffers 243173108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 243273108675c944ab4ee89631dced23566b12341b66Jack Palevich 243373108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 243473108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 24353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)renderbuffers, _exception ? JNI_ABORT : 0); 243673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 24372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 24382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 24392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 244027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 244127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 244227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glRenderbufferStorageOES ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */ 244327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 244427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glRenderbufferStorageOES__IIII 244527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 244673108675c944ab4ee89631dced23566b12341b66Jack Palevich glRenderbufferStorageOES( 244773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 244873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)internalformat, 244973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)width, 245073108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)height 245173108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 245227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 245327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 245427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */ 245527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 245627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__II_3II 245727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 245873108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 24592ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 24602ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 246173108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params_base = (GLint *) 0; 246273108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 246373108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 246473108675c944ab4ee89631dced23566b12341b66Jack Palevich 246573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!params_ref) { 246673108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 24672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 246973108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 247073108675c944ab4ee89631dced23566b12341b66Jack Palevich } 247173108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 247273108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 24732545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24742545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 247573108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 247673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 247773108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 247873108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 247973108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 24802545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 24812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 248273108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 248373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 248473108675c944ab4ee89631dced23566b12341b66Jack Palevich params_base = (GLint *) 24853b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 248673108675c944ab4ee89631dced23566b12341b66Jack Palevich params = params_base + offset; 248773108675c944ab4ee89631dced23566b12341b66Jack Palevich 248873108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetRenderbufferParameterivOES( 248973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 249073108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 249173108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 249273108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 249373108675c944ab4ee89631dced23566b12341b66Jack Palevich 249473108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 249573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (params_base) { 24963b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 249773108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception ? JNI_ABORT: 0); 249873108675c944ab4ee89631dced23566b12341b66Jack Palevich } 24992545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 25002545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 25012545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 250227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 250327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 250427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetRenderbufferParameterivOES ( GLenum target, GLenum pname, GLint *params ) */ 250527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 250627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 250727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 250873108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 25092ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 25102ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 25113b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 251217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 251373108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 251473108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 251573108675c944ab4ee89631dced23566b12341b66Jack Palevich 25163b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 251773108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 251873108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 25192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 25202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 252173108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 252273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 252317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 25243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 252517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 252617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 252773108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetRenderbufferParameterivOES( 252873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 252973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 253073108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 253173108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 253273108675c944ab4ee89631dced23566b12341b66Jack Palevich 253373108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 253473108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 25353b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0); 253673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 25372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 25382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 25392545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 254027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 254127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 254227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLboolean glIsFramebufferOES ( GLuint framebuffer ) */ 254327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jboolean 254427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glIsFramebufferOES__I 254527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint framebuffer) { 254673108675c944ab4ee89631dced23566b12341b66Jack Palevich GLboolean _returnValue; 254773108675c944ab4ee89631dced23566b12341b66Jack Palevich _returnValue = glIsFramebufferOES( 254873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)framebuffer 254973108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 2550cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden return (jboolean)_returnValue; 255127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 255227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 255327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glBindFramebufferOES ( GLenum target, GLuint framebuffer ) */ 255427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 255527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glBindFramebufferOES__II 255627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 255773108675c944ab4ee89631dced23566b12341b66Jack Palevich glBindFramebufferOES( 255873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 255973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)framebuffer 256073108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 256127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 256227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 256327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */ 256427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 256527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__I_3II 256627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 25672545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 25682ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 25692ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 257073108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers_base = (GLuint *) 0; 257173108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 257273108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers = (GLuint *) 0; 257373108675c944ab4ee89631dced23566b12341b66Jack Palevich 257473108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!framebuffers_ref) { 25752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 25762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 25772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "framebuffers == null"; 257873108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 257973108675c944ab4ee89631dced23566b12341b66Jack Palevich } 258073108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 25812545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 25822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 25832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 258473108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 258573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 258673108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 258773108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 25882545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 25892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 25902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 259173108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 259273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 259373108675c944ab4ee89631dced23566b12341b66Jack Palevich framebuffers_base = (GLuint *) 25943b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(framebuffers_ref, (jboolean *)0); 259573108675c944ab4ee89631dced23566b12341b66Jack Palevich framebuffers = framebuffers_base + offset; 259673108675c944ab4ee89631dced23566b12341b66Jack Palevich 259773108675c944ab4ee89631dced23566b12341b66Jack Palevich glDeleteFramebuffersOES( 259873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 259973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)framebuffers 260073108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 260173108675c944ab4ee89631dced23566b12341b66Jack Palevich 260273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 260373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (framebuffers_base) { 26043b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(framebuffers_ref, (jint*)framebuffers_base, 260573108675c944ab4ee89631dced23566b12341b66Jack Palevich JNI_ABORT); 260673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 26072545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 26082545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 26092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 261027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 261127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 261227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDeleteFramebuffersOES ( GLsizei n, const GLuint *framebuffers ) */ 261327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 261427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 261527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 26162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 26172ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 26182ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 26193b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 262017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 262173108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 262273108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers = (GLuint *) 0; 262373108675c944ab4ee89631dced23566b12341b66Jack Palevich 26243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 262573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 26262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 26272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26282545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 262973108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 263073108675c944ab4ee89631dced23566b12341b66Jack Palevich } 263117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (framebuffers == NULL) { 26323b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _framebuffersBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 263317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset); 263417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 263573108675c944ab4ee89631dced23566b12341b66Jack Palevich glDeleteFramebuffersOES( 263673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 263773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)framebuffers 263873108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 263973108675c944ab4ee89631dced23566b12341b66Jack Palevich 264073108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 264173108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 26423b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)framebuffers, JNI_ABORT); 264373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 26442545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 26452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 26462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 264727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 264827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 264927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */ 265027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 265127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__I_3II 265227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 265373108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 26542ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 26552ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 265673108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers_base = (GLuint *) 0; 265773108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 265873108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers = (GLuint *) 0; 265973108675c944ab4ee89631dced23566b12341b66Jack Palevich 266073108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!framebuffers_ref) { 266173108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 26622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "framebuffers == null"; 266473108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 266573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 266673108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 266773108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 26682545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26692545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 267073108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 267173108675c944ab4ee89631dced23566b12341b66Jack Palevich } 267273108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 267373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 267473108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 26752545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 26762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < n < needed"; 267773108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 267873108675c944ab4ee89631dced23566b12341b66Jack Palevich } 267973108675c944ab4ee89631dced23566b12341b66Jack Palevich framebuffers_base = (GLuint *) 26803b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(framebuffers_ref, (jboolean *)0); 268173108675c944ab4ee89631dced23566b12341b66Jack Palevich framebuffers = framebuffers_base + offset; 268273108675c944ab4ee89631dced23566b12341b66Jack Palevich 268373108675c944ab4ee89631dced23566b12341b66Jack Palevich glGenFramebuffersOES( 268473108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 268573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)framebuffers 268673108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 268773108675c944ab4ee89631dced23566b12341b66Jack Palevich 268873108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 268973108675c944ab4ee89631dced23566b12341b66Jack Palevich if (framebuffers_base) { 26903b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(framebuffers_ref, (jint*)framebuffers_base, 269173108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception ? JNI_ABORT: 0); 269273108675c944ab4ee89631dced23566b12341b66Jack Palevich } 26932545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 26942545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 26952545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 269627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 269727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 269827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenFramebuffersOES ( GLsizei n, GLuint *framebuffers ) */ 269927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 270027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 270127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 270273108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 27032ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 27042ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 27053b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 270617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 270773108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 270873108675c944ab4ee89631dced23566b12341b66Jack Palevich GLuint *framebuffers = (GLuint *) 0; 270973108675c944ab4ee89631dced23566b12341b66Jack Palevich 27103b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 271173108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < n) { 271273108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 27132545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < n < needed"; 271573108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 271673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 271717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (framebuffers == NULL) { 27183b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _framebuffersBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 271917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer framebuffers = (GLuint *) (_framebuffersBase + _bufferOffset); 272017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 272173108675c944ab4ee89631dced23566b12341b66Jack Palevich glGenFramebuffersOES( 272273108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLsizei)n, 272373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint *)framebuffers 272473108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 272573108675c944ab4ee89631dced23566b12341b66Jack Palevich 272673108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 272773108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 27283b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)framebuffers, _exception ? JNI_ABORT : 0); 272973108675c944ab4ee89631dced23566b12341b66Jack Palevich } 27302545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 27312545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 27322545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 273327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 273427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 273527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* GLenum glCheckFramebufferStatusOES ( GLenum target ) */ 273627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic jint 273727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCheckFramebufferStatusOES__I 273827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target) { 273973108675c944ab4ee89631dced23566b12341b66Jack Palevich GLenum _returnValue; 274073108675c944ab4ee89631dced23566b12341b66Jack Palevich _returnValue = glCheckFramebufferStatusOES( 274173108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target 274273108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 2743cee5198e7199fcbb131ff0d30165fb1d5c0107cfAndy McFadden return (jint)_returnValue; 274427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 274527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 274627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferRenderbufferOES ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */ 274727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 274827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferRenderbufferOES__IIII 274927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 275073108675c944ab4ee89631dced23566b12341b66Jack Palevich glFramebufferRenderbufferOES( 275173108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 275273108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)attachment, 275373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)renderbuffertarget, 275473108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)renderbuffer 275573108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 275627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 275727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 275827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFramebufferTexture2DOES ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */ 275927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 276027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFramebufferTexture2DOES__IIIII 276127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 276273108675c944ab4ee89631dced23566b12341b66Jack Palevich glFramebufferTexture2DOES( 276373108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 276473108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)attachment, 276573108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)textarget, 276673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLuint)texture, 276773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint)level 276873108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 276927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 277027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 277127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 277227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 277327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__III_3II 277427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 277573108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 27762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 27772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 277873108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params_base = (GLint *) 0; 277973108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 278073108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 278173108675c944ab4ee89631dced23566b12341b66Jack Palevich 278273108675c944ab4ee89631dced23566b12341b66Jack Palevich if (!params_ref) { 278373108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 27842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 278673108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 278773108675c944ab4ee89631dced23566b12341b66Jack Palevich } 278873108675c944ab4ee89631dced23566b12341b66Jack Palevich if (offset < 0) { 278973108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 27902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 279273108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 279373108675c944ab4ee89631dced23566b12341b66Jack Palevich } 279473108675c944ab4ee89631dced23566b12341b66Jack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 279573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 279673108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 27972545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 27982545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 1 < needed"; 279973108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 280073108675c944ab4ee89631dced23566b12341b66Jack Palevich } 280173108675c944ab4ee89631dced23566b12341b66Jack Palevich params_base = (GLint *) 28023b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 280373108675c944ab4ee89631dced23566b12341b66Jack Palevich params = params_base + offset; 280473108675c944ab4ee89631dced23566b12341b66Jack Palevich 280573108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetFramebufferAttachmentParameterivOES( 280673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 280773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)attachment, 280873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 280973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 281073108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 281173108675c944ab4ee89631dced23566b12341b66Jack Palevich 281273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 281373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (params_base) { 28143b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 281573108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception ? JNI_ABORT: 0); 281673108675c944ab4ee89631dced23566b12341b66Jack Palevich } 28172545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 28182545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 28192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 282027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 282127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 282227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetFramebufferAttachmentParameterivOES ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 282327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 282427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 282527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 282673108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _exception = 0; 28272ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 28282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 28293b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 283017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 283173108675c944ab4ee89631dced23566b12341b66Jack Palevich jint _remaining; 283273108675c944ab4ee89631dced23566b12341b66Jack Palevich GLint *params = (GLint *) 0; 283373108675c944ab4ee89631dced23566b12341b66Jack Palevich 28343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 283573108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_remaining < 1) { 283673108675c944ab4ee89631dced23566b12341b66Jack Palevich _exception = 1; 28372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 28382545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 1 < needed"; 283973108675c944ab4ee89631dced23566b12341b66Jack Palevich goto exit; 284073108675c944ab4ee89631dced23566b12341b66Jack Palevich } 284117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 28423b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 284317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 284417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 284573108675c944ab4ee89631dced23566b12341b66Jack Palevich glGetFramebufferAttachmentParameterivOES( 284673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target, 284773108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)attachment, 284873108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)pname, 284973108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLint *)params 285073108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 285173108675c944ab4ee89631dced23566b12341b66Jack Palevich 285273108675c944ab4ee89631dced23566b12341b66Jack Palevichexit: 285373108675c944ab4ee89631dced23566b12341b66Jack Palevich if (_array) { 28543b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, _exception ? JNI_ABORT : 0); 285573108675c944ab4ee89631dced23566b12341b66Jack Palevich } 28562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 28572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 28582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 285927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 286027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 286127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGenerateMipmapOES ( GLenum target ) */ 286227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 286327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGenerateMipmapOES__I 286427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint target) { 286573108675c944ab4ee89631dced23566b12341b66Jack Palevich glGenerateMipmapOES( 286673108675c944ab4ee89631dced23566b12341b66Jack Palevich (GLenum)target 286773108675c944ab4ee89631dced23566b12341b66Jack Palevich ); 286827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 286927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 287027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */ 287127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 287227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glCurrentPaletteMatrixOES__I 287327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint matrixpaletteindex) { 2874be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glCurrentPaletteMatrixOES( 2875be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLuint)matrixpaletteindex 2876be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 287727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 287827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 287927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glLoadPaletteFromModelViewMatrixOES ( void ) */ 288027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 288127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glLoadPaletteFromModelViewMatrixOES__ 288227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this) { 2883be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glLoadPaletteFromModelViewMatrixOES(); 288427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 288527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 288627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 288727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 2888be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I 2889be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 2890be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 289117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 2892be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 2893be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 2894be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 2895be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 2896be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2897be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 2898be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 2899be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 2900be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 2901be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glMatrixIndexPointerOESBounds( 2902be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 2903be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 2904be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 2905be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 2906be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 2907be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 290827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 290927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 291027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 291127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 2912be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevichandroid_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I 2913be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 2914be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jarray _array = (jarray) 0; 291517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 2916be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich jint _remaining; 2917be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich GLvoid *pointer = (GLvoid *) 0; 2918be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich 2919be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if (pointer_buf) { 2920be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2921be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich if ( ! pointer ) { 2922be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich return; 2923be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 2924be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich } 2925be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich glWeightPointerOESBounds( 2926be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLint)size, 2927be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLenum)type, 2928be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)stride, 2929be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLvoid *)pointer, 2930be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich (GLsizei)remaining 2931be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich ); 293227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 293327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 293427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glDepthRangefOES ( GLclampf zNear, GLclampf zFar ) */ 293527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 293627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glDepthRangefOES__FF 293727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 2938a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glDepthRangefOES( 2939a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampf)zNear, 2940a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampf)zFar 2941a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 294227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 294327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 294427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glFrustumfOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 294527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 294627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glFrustumfOES__FFFFFF 294727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 2948a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glFrustumfOES( 2949a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)left, 2950a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)right, 2951a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)bottom, 2952a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)top, 2953a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)zNear, 2954a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)zFar 2955a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 295627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 295727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 295827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glOrthofOES ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 295927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 296027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glOrthofOES__FFFFFF 296127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 2962a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glOrthofOES( 2963a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)left, 2964a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)right, 2965a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)bottom, 2966a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)top, 2967a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)zNear, 2968a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)zFar 2969a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 297027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 297127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 297227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */ 297327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 297427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__I_3FI 297527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { 29762545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 29772ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 29782ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 2979a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *equation_base = (GLfloat *) 0; 2980a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 2981a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *equation = (GLfloat *) 0; 2982a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 2983a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!equation_ref) { 29842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 29852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 29862545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "equation == null"; 2987a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2988a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2989a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 29902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 29912545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 29922545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 2993a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 2994a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 2995a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(equation_ref) - offset; 2996a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich equation_base = (GLfloat *) 29973b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetFloatArrayElements(equation_ref, (jboolean *)0); 2998a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich equation = equation_base + offset; 2999a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3000a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClipPlanefOES( 3001a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)plane, 3002a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)equation 3003a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3004a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3005a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3006a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (equation_base) { 30073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(equation_ref, (jfloat*)equation_base, 3008a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 3009a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 30102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 30112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 30122545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 301327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 301427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 301527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClipPlanefOES ( GLenum plane, const GLfloat *equation ) */ 301627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 301727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClipPlanefOES__ILjava_nio_FloatBuffer_2 301827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 30193b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jfloatArray _array = (jfloatArray) 0; 302017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3021a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3022a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *equation = (GLfloat *) 0; 3023a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 30243b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi equation = (GLfloat *)getPointer(_env, equation_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 302517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (equation == NULL) { 30263b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _equationBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); 302717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer equation = (GLfloat *) (_equationBase + _bufferOffset); 302817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3029a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClipPlanefOES( 3030a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)plane, 3031a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)equation 3032a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3033a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 30343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(_array, (jfloat*)equation, JNI_ABORT); 3035a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 303627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 303727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 303827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */ 303927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 304027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__I_3FI 304127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { 3042a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 30432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 30442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3045a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *eqn_base = (GLfloat *) 0; 3046a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3047a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *eqn = (GLfloat *) 0; 3048a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3049a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!eqn_ref) { 3050a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 30512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "eqn == null"; 3053a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3054a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3055a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 3056a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 30572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3059a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3060a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3061a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(eqn_ref) - offset; 3062a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_remaining < 4) { 3063a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 30642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 30652545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "length - offset < 4 < needed"; 3066a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3067a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3068a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich eqn_base = (GLfloat *) 30693b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetFloatArrayElements(eqn_ref, (jboolean *)0); 3070a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich eqn = eqn_base + offset; 3071a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3072a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetClipPlanefOES( 3073a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3074a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)eqn 3075a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3076a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3077a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3078a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (eqn_base) { 30793b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(eqn_ref, (jfloat*)eqn_base, 3080a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 3081a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 30822545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 30832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 30842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 308527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 308627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 308727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetClipPlanefOES ( GLenum pname, GLfloat *eqn ) */ 308827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 308927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2 309027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 3091a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 30922ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 30932ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 30943b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jfloatArray _array = (jfloatArray) 0; 309517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3096a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3097a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *eqn = (GLfloat *) 0; 3098a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 30993b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi eqn = (GLfloat *)getPointer(_env, eqn_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 3100a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_remaining < 4) { 3101a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 31022545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 31032545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "remaining() < 4 < needed"; 3104a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3105a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 310617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (eqn == NULL) { 31073b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _eqnBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); 310817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer eqn = (GLfloat *) (_eqnBase + _bufferOffset); 310917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3110a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetClipPlanefOES( 3111a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3112a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)eqn 3113a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3114a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3115a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3116a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 31173b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(_array, (jfloat*)eqn, _exception ? JNI_ABORT : 0); 3118a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 31192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 31202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 31212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 312227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 312327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 312427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glClearDepthfOES ( GLclampf depth ) */ 312527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 312627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glClearDepthfOES__F 312727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jfloat depth) { 3128a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glClearDepthfOES( 3129a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLclampf)depth 3130a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 313127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 313227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 313327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfOES ( GLenum coord, GLenum pname, GLfloat param ) */ 313427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 313527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfOES__IIF 313627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) { 3137a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenfOES( 3138a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3139a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3140a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat)param 3141a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 314227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 314327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 314427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */ 314527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 314627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__II_3FI 314727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 31482545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 31492ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 31502ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3151a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params_base = (GLfloat *) 0; 3152a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3153a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params = (GLfloat *) 0; 3154a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3155a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 31562545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 31572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 31582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3159a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3160a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3161a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 31622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 31632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 31642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3165a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3166a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3167a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3168a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfloat *) 31693b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetFloatArrayElements(params_ref, (jboolean *)0); 3170a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3171a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3172a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenfvOES( 3173a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3174a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3175a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)params 3176a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3177a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3178a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3179a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 31803b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(params_ref, (jfloat*)params_base, 3181a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 3182a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 31832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 31842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 31852545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 318627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 318727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 318827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenfvOES ( GLenum coord, GLenum pname, const GLfloat *params ) */ 318927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 319027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenfvOES__IILjava_nio_FloatBuffer_2 319127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 31923b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jfloatArray _array = (jfloatArray) 0; 319317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3194a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3195a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params = (GLfloat *) 0; 3196a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 31973b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfloat *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 319817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 31993b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); 320017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 320117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3202a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenfvOES( 3203a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3204a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3205a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)params 3206a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3207a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 32083b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(_array, (jfloat*)params, JNI_ABORT); 3209a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 321027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 321127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 321227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGeniOES ( GLenum coord, GLenum pname, GLint param ) */ 321327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 321427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGeniOES__III 321527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 3216a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGeniOES( 3217a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3218a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3219a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLint)param 3220a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 322127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 322227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 322327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */ 322427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 322527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__II_3II 322627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 32272545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 32282ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 32292ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3230a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params_base = (GLint *) 0; 3231a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3232a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params = (GLint *) 0; 3233a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3234a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 32352545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 32362545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 32372545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3238a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3239a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3240a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 32412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 32422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 32432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3244a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3245a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3246a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3247a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLint *) 32483b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 3249a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3250a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3251a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenivOES( 3252a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3253a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3254a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLint *)params 3255a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3256a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3257a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3258a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 32593b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 3260a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 3261a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 32622545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 32632545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 32642545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 326527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 326627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 326727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenivOES ( GLenum coord, GLenum pname, const GLint *params ) */ 326827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 326927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenivOES__IILjava_nio_IntBuffer_2 327027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 32713b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 327217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3273a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3274a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params = (GLint *) 0; 3275a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 32763b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 327717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 32783b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 327917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 328017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3281a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenivOES( 3282a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3283a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3284a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLint *)params 3285a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3286a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 32873b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 3288a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 328927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 329027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 329127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxOES ( GLenum coord, GLenum pname, GLfixed param ) */ 329227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 329327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxOES__III 329427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 3295a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenxOES( 3296a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3297a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3298a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed)param 3299a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 330027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 330127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 330227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */ 330327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 330427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__II_3II 330527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 33062545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jint _exception = 0; 33072ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 33082ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3309a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 3310a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3311a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 3312a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3313a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 33142545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 33152545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 33162545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3317a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3318a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3319a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 33202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exception = 1; 33212545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 33222545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3323a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3324a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3325a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3326a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 33273b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 3328a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3329a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3330a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenxvOES( 3331a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3332a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3333a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 3334a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3335a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3336a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3337a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 33383b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 3339a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich JNI_ABORT); 3340a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 33412545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 33422545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 33432545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 334427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 334527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 334627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glTexGenxvOES ( GLenum coord, GLenum pname, const GLfixed *params ) */ 334727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 334827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glTexGenxvOES__IILjava_nio_IntBuffer_2 334927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 33503b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 335117045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3352a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3353a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 3354a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 33553b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 335617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 33573b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 335817045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 335917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3360a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glTexGenxvOES( 3361a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3362a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3363a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 3364a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3365a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 33663b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, JNI_ABORT); 3367a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 336827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 336927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 337027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */ 337127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 337227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__II_3FI 337327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 3374a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 33752ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 33762ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3377a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params_base = (GLfloat *) 0; 3378a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3379a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params = (GLfloat *) 0; 3380a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3381a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 3382a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 33832545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 33842545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3385a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3386a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3387a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 3388a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 33892545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 33902545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3391a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3392a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3393a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3394a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfloat *) 33953b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetFloatArrayElements(params_ref, (jboolean *)0); 3396a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3397a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3398a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenfvOES( 3399a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3400a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3401a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)params 3402a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3403a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3404a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3405a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 34063b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(params_ref, (jfloat*)params_base, 3407a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 3408a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 34092545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 34102545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 34112545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 341227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 341327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 341427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenfvOES ( GLenum coord, GLenum pname, GLfloat *params ) */ 341527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 341627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2 341727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 34183b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jfloatArray _array = (jfloatArray) 0; 341917045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3420a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3421a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfloat *params = (GLfloat *) 0; 3422a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 34233b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfloat *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 342417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 34253b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetFloatArrayElements(_array, (jboolean *) 0); 342617045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfloat *) (_paramsBase + _bufferOffset); 342717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3428a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenfvOES( 3429a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3430a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3431a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfloat *)params 3432a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3433a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 34343b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseFloatArrayElements(_array, (jfloat*)params, 0); 3435a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 343627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 343727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 343827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */ 343927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 344027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__II_3II 344127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 3442a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 34432ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 34442ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3445a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params_base = (GLint *) 0; 3446a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3447a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params = (GLint *) 0; 3448a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3449a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 3450a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 34512545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 34522545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3453a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3454a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3455a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 3456a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 34572545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 34582545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3459a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3460a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3461a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3462a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLint *) 34633b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 3464a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3465a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3466a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenivOES( 3467a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3468a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3469a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLint *)params 3470a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3471a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3472a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3473a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 34743b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 3475a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 3476a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 34772545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 34782545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 34792545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 348027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 348127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 348227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenivOES ( GLenum coord, GLenum pname, GLint *params ) */ 348327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 348427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenivOES__IILjava_nio_IntBuffer_2 348527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 34863b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 348717045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3488a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3489a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLint *params = (GLint *) 0; 3490a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 34913b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLint *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 349217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 34933b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 349417045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLint *) (_paramsBase + _bufferOffset); 349517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3496a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenivOES( 3497a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3498a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3499a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLint *)params 3500a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3501a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 35023b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 3503a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 350427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 350527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 350627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */ 350727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 350827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__II_3II 350927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 3510a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _exception = 0; 35112ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionType = NULL; 35122ad0477f16c64dc3126741933f11e27353521bb4Mathias Agopian const char * _exceptionMessage = NULL; 3513a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params_base = (GLfixed *) 0; 3514a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3515a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 3516a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3517a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (!params_ref) { 3518a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 35192545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 35202545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "params == null"; 3521a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3522a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3523a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (offset < 0) { 3524a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception = 1; 35252545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionType = "java/lang/IllegalArgumentException"; 35262545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer _exceptionMessage = "offset < 0"; 3527a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich goto exit; 3528a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 3529a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _remaining = _env->GetArrayLength(params_ref) - offset; 3530a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params_base = (GLfixed *) 35313b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->GetIntArrayElements(params_ref, (jboolean *)0); 3532a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich params = params_base + offset; 3533a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3534a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenxvOES( 3535a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3536a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3537a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 3538a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3539a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 3540a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevichexit: 3541a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (params_base) { 35423b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(params_ref, (jint*)params_base, 3543a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich _exception ? JNI_ABORT: 0); 3544a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 35452545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer if (_exception) { 35462545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer jniThrowException(_env, _exceptionType, _exceptionMessage); 35472545b32ced69100fe70685b95315c6adf411083bThomas Tafertshofer } 354827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 354927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 355027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich/* void glGetTexGenxvOES ( GLenum coord, GLenum pname, GLfixed *params ) */ 355127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic void 355227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichandroid_glGetTexGenxvOES__IILjava_nio_IntBuffer_2 355327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 35543b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi jintArray _array = (jintArray) 0; 355517045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer jint _bufferOffset = (jint) 0; 3556a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich jint _remaining; 3557a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich GLfixed *params = (GLfixed *) 0; 3558a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich 35593b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi params = (GLfixed *)getPointer(_env, params_buf, (jarray*)&_array, &_remaining, &_bufferOffset); 356017045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer if (params == NULL) { 35613b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi char * _paramsBase = (char *)_env->GetIntArrayElements(_array, (jboolean *) 0); 356217045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer params = (GLfixed *) (_paramsBase + _bufferOffset); 356317045a16575ece34cfadb63da4791f115625df78Thomas Tafertshofer } 3564a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich glGetTexGenxvOES( 3565a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)coord, 3566a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLenum)pname, 3567a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich (GLfixed *)params 3568a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich ); 3569a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich if (_array) { 35703b1d46e809ed38cd5662c110c511b8d98868ed72Hiroshi Yamauchi _env->ReleaseIntArrayElements(_array, (jint*)params, 0); 3571a379585e6e3ff41db6d71a5cd0a0403931bc525dJack Palevich } 357227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 357327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 357427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichstatic const char *classPathName = "android/opengl/GLES11Ext"; 357527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 357676f6a86de25e1bf74717e047e55fd44b089673f3Daniel Micaystatic const JNINativeMethod methods[] = { 357727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"_nativeClassInit", "()V", (void*)nativeClassInit }, 357827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationSeparateOES", "(II)V", (void *) android_glBlendEquationSeparateOES__II }, 357927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendFuncSeparateOES", "(IIII)V", (void *) android_glBlendFuncSeparateOES__IIII }, 358027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBlendEquationOES", "(I)V", (void *) android_glBlendEquationOES__I }, 358127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS }, 358227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII }, 358327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII }, 358427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI }, 358527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 }, 358627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II }, 358727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 }, 358827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II }, 358927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 }, 359027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF }, 359127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI }, 359227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 }, 359327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetTexture2DOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetTexture2DOES__ILjava_nio_Buffer_2 }, 359427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glEGLImageTargetRenderbufferStorageOES", "(ILjava/nio/Buffer;)V", (void *) android_glEGLImageTargetRenderbufferStorageOES__ILjava_nio_Buffer_2 }, 359527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glAlphaFuncxOES", "(II)V", (void *) android_glAlphaFuncxOES__II }, 359627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearColorxOES", "(IIII)V", (void *) android_glClearColorxOES__IIII }, 359727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthxOES", "(I)V", (void *) android_glClearDepthxOES__I }, 359827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(I[II)V", (void *) android_glClipPlanexOES__I_3II }, 359927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanexOES__ILjava_nio_IntBuffer_2 }, 360027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glColor4xOES", "(IIII)V", (void *) android_glColor4xOES__IIII }, 360127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangexOES", "(II)V", (void *) android_glDepthRangexOES__II }, 360227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxOES", "(II)V", (void *) android_glFogxOES__II }, 360327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(I[II)V", (void *) android_glFogxvOES__I_3II }, 360427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFogxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxvOES__ILjava_nio_IntBuffer_2 }, 360527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumxOES", "(IIIIII)V", (void *) android_glFrustumxOES__IIIIII }, 360627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(I[II)V", (void *) android_glGetClipPlanexOES__I_3II }, 360727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanexOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanexOES__ILjava_nio_IntBuffer_2 }, 360827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(I[II)V", (void *) android_glGetFixedvOES__I_3II }, 360927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFixedvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedvOES__ILjava_nio_IntBuffer_2 }, 361027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(II[II)V", (void *) android_glGetLightxvOES__II_3II }, 361127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxvOES__IILjava_nio_IntBuffer_2 }, 361227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(II[II)V", (void *) android_glGetMaterialxvOES__II_3II }, 361327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxvOES__IILjava_nio_IntBuffer_2 }, 361427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(II[II)V", (void *) android_glGetTexEnvxvOES__II_3II }, 361527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxvOES__IILjava_nio_IntBuffer_2 }, 361627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(II[II)V", (void *) android_glGetTexParameterxvOES__II_3II }, 361727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxvOES__IILjava_nio_IntBuffer_2 }, 361827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxOES", "(II)V", (void *) android_glLightModelxOES__II }, 361927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(I[II)V", (void *) android_glLightModelxvOES__I_3II }, 362027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightModelxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxvOES__ILjava_nio_IntBuffer_2 }, 362127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxOES", "(III)V", (void *) android_glLightxOES__III }, 362227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(II[II)V", (void *) android_glLightxvOES__II_3II }, 362327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLightxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxvOES__IILjava_nio_IntBuffer_2 }, 362427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLineWidthxOES", "(I)V", (void *) android_glLineWidthxOES__I }, 362527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "([II)V", (void *) android_glLoadMatrixxOES___3II }, 362627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixxOES__Ljava_nio_IntBuffer_2 }, 362727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxOES", "(III)V", (void *) android_glMaterialxOES__III }, 362827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(II[II)V", (void *) android_glMaterialxvOES__II_3II }, 362927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMaterialxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxvOES__IILjava_nio_IntBuffer_2 }, 363027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "([II)V", (void *) android_glMultMatrixxOES___3II }, 363127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultMatrixxOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixxOES__Ljava_nio_IntBuffer_2 }, 363227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glMultiTexCoord4xOES", "(IIIII)V", (void *) android_glMultiTexCoord4xOES__IIIII }, 363327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glNormal3xOES", "(III)V", (void *) android_glNormal3xOES__III }, 363427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthoxOES", "(IIIIII)V", (void *) android_glOrthoxOES__IIIIII }, 363527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxOES", "(II)V", (void *) android_glPointParameterxOES__II }, 363627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(I[II)V", (void *) android_glPointParameterxvOES__I_3II }, 363727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointParameterxvOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxvOES__ILjava_nio_IntBuffer_2 }, 363827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPointSizexOES", "(I)V", (void *) android_glPointSizexOES__I }, 363927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glPolygonOffsetxOES", "(II)V", (void *) android_glPolygonOffsetxOES__II }, 364027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRotatexOES", "(IIII)V", (void *) android_glRotatexOES__IIII }, 364127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glSampleCoveragexOES", "(IZ)V", (void *) android_glSampleCoveragexOES__IZ }, 364227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glScalexOES", "(III)V", (void *) android_glScalexOES__III }, 364327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxOES", "(III)V", (void *) android_glTexEnvxOES__III }, 364427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(II[II)V", (void *) android_glTexEnvxvOES__II_3II }, 364527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexEnvxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxvOES__IILjava_nio_IntBuffer_2 }, 364627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxOES", "(III)V", (void *) android_glTexParameterxOES__III }, 364727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(II[II)V", (void *) android_glTexParameterxvOES__II_3II }, 364827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexParameterxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxvOES__IILjava_nio_IntBuffer_2 }, 364927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTranslatexOES", "(III)V", (void *) android_glTranslatexOES__III }, 365027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I }, 365127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II }, 365227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II }, 365327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 365427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II }, 365527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 365627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII }, 365727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II }, 365827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 }, 365927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I }, 366027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II }, 366127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II }, 366227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 }, 366327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II }, 366427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 }, 366527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I }, 366627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII }, 366727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII }, 366827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II }, 366927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 }, 367027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I }, 367127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I }, 367227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ }, 3673be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I }, 3674be6eac828f5af8b608c3fa6749330f1dcd6b6206Jack Palevich{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I }, 367527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glDepthRangefOES", "(FF)V", (void *) android_glDepthRangefOES__FF }, 367627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glFrustumfOES", "(FFFFFF)V", (void *) android_glFrustumfOES__FFFFFF }, 367727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glOrthofOES", "(FFFFFF)V", (void *) android_glOrthofOES__FFFFFF }, 367827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(I[FI)V", (void *) android_glClipPlanefOES__I_3FI }, 367927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanefOES__ILjava_nio_FloatBuffer_2 }, 368027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(I[FI)V", (void *) android_glGetClipPlanefOES__I_3FI }, 368127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetClipPlanefOES", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanefOES__ILjava_nio_FloatBuffer_2 }, 368227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glClearDepthfOES", "(F)V", (void *) android_glClearDepthfOES__F }, 368327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfOES", "(IIF)V", (void *) android_glTexGenfOES__IIF }, 368427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(II[FI)V", (void *) android_glTexGenfvOES__II_3FI }, 368527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfvOES__IILjava_nio_FloatBuffer_2 }, 368627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGeniOES", "(III)V", (void *) android_glTexGeniOES__III }, 368727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(II[II)V", (void *) android_glTexGenivOES__II_3II }, 368827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenivOES__IILjava_nio_IntBuffer_2 }, 368927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxOES", "(III)V", (void *) android_glTexGenxOES__III }, 369027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(II[II)V", (void *) android_glTexGenxvOES__II_3II }, 369127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxvOES__IILjava_nio_IntBuffer_2 }, 369227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(II[FI)V", (void *) android_glGetTexGenfvOES__II_3FI }, 369327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenfvOES", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfvOES__IILjava_nio_FloatBuffer_2 }, 369427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(II[II)V", (void *) android_glGetTexGenivOES__II_3II }, 369527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenivOES__IILjava_nio_IntBuffer_2 }, 369627f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(II[II)V", (void *) android_glGetTexGenxvOES__II_3II }, 369727f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{"glGetTexGenxvOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxvOES__IILjava_nio_IntBuffer_2 }, 369827f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich}; 369927f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich 370027f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevichint register_android_opengl_jni_GLES11Ext(JNIEnv *_env) 370127f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich{ 370227f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich int err; 370327f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 370427f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich return err; 370527f8002e591b5c579f75b2580183b5d1c4219cd4Jack Palevich} 3706