com_google_android_gles_jni_GLImpl.cpp revision 8a4de4be9ed522c704a45a44a265669e10a8f2eb
1/* //device/libs/android_runtime/com_google_android_gles_jni_GLImpl.cpp 2** 3** Copyright 2006, The Android Open Source Project 4** 5** Licensed under the Apache License, Version 2.0 (the "License"); 6** you may not use this file except in compliance with the License. 7** You may obtain a copy of the License at 8** 9** http://www.apache.org/licenses/LICENSE-2.0 10** 11** Unless required by applicable law or agreed to in writing, software 12** distributed under the License is distributed on an "AS IS" BASIS, 13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14** See the License for the specific language governing permissions and 15** limitations under the License. 16*/ 17 18// This source file is automatically generated 19 20#include <android_runtime/AndroidRuntime.h> 21#include <utils/misc.h> 22 23#include <assert.h> 24#include <GLES/gl.h> 25#include <GLES/glext.h> 26 27// Work around differences between the generated name and the actual name. 28 29#define glBlendEquation glBlendEquationOES 30#define glBlendEquationSeparate glBlendEquationSeparateOES 31#define glBlendFuncSeparate glBlendFuncSeparateOES 32#define glGetTexGenfv glGetTexGenfvOES 33#define glGetTexGeniv glGetTexGenivOES 34#define glGetTexGenxv glGetTexGenxvOES 35#define glTexGenf glTexGenfOES 36#define glTexGenfv glTexGenfvOES 37#define glTexGeni glTexGeniOES 38#define glTexGeniv glTexGenivOES 39#define glTexGenx glTexGenxOES 40#define glTexGenxv glTexGenxvOES 41 42 43 44/* special calls implemented in Android's GLES wrapper used to more 45 * efficiently bound-check passed arrays */ 46extern "C" { 47GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, 48 const GLvoid *ptr, GLsizei count); 49GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, 50 const GLvoid *pointer, GLsizei count); 51GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, 52 GLsizei stride, const GLvoid *pointer, GLsizei count); 53GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, 54 GLsizei stride, const GLvoid *pointer, GLsizei count); 55GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, 56 GLsizei stride, const GLvoid *pointer, GLsizei count); 57GL_API void GL_APIENTRY glMatrixIndexPointerOESBounds(GLint size, GLenum type, 58 GLsizei stride, const GLvoid *pointer, GLsizei count); 59GL_API void GL_APIENTRY glWeightPointerOESBounds(GLint size, GLenum type, 60 GLsizei stride, const GLvoid *pointer, GLsizei count); 61} 62 63static int initialized = 0; 64 65static jclass nioAccessClass; 66static jclass bufferClass; 67static jclass OOMEClass; 68static jclass UOEClass; 69static jclass IAEClass; 70static jclass AIOOBEClass; 71static jclass G11ImplClass; 72static jmethodID getBasePointerID; 73static jmethodID getBaseArrayID; 74static jmethodID getBaseArrayOffsetID; 75static jmethodID allowIndirectBuffersID; 76static jfieldID positionID; 77static jfieldID limitID; 78static jfieldID elementSizeShiftID; 79static jfieldID haveCheckedExtensionsID; 80static jfieldID have_OES_blend_equation_separateID; 81static jfieldID have_OES_blend_subtractID; 82static jfieldID have_OES_framebuffer_objectID; 83static jfieldID have_OES_texture_cube_mapID; 84 85/* Cache method IDs each time the class is loaded. */ 86 87static void 88nativeClassInitBuffer(JNIEnv *_env) 89{ 90 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 91 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 92 93 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 94 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 95 96 jclass g11impClassLocal = _env->FindClass("com/google/android/gles_jni/GLImpl"); 97 G11ImplClass = (jclass) _env->NewGlobalRef(g11impClassLocal); 98 haveCheckedExtensionsID = _env->GetFieldID(G11ImplClass, "haveCheckedExtensions", "Z"); 99 have_OES_blend_equation_separateID = _env->GetFieldID(G11ImplClass, "have_OES_blend_equation_separate", "Z"); 100 have_OES_blend_subtractID = _env->GetFieldID(G11ImplClass, "have_OES_blend_subtract", "Z"); 101 have_OES_framebuffer_objectID = _env->GetFieldID(G11ImplClass, "have_OES_framebuffer_object", "Z"); 102 have_OES_texture_cube_mapID = _env->GetFieldID(G11ImplClass, "have_OES_texture_cube_map", "Z"); 103 104 getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 105 "getBasePointer", "(Ljava/nio/Buffer;)J"); 106 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 107 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 108 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 109 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 110 allowIndirectBuffersID = _env->GetStaticMethodID(g11impClassLocal, 111 "allowIndirectBuffers", "(Ljava/lang/String;)Z"); 112 positionID = _env->GetFieldID(bufferClass, "position", "I"); 113 limitID = _env->GetFieldID(bufferClass, "limit", "I"); 114 elementSizeShiftID = 115 _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 116} 117 118static void 119nativeClassInit(JNIEnv *_env, jclass glImplClass) 120{ 121 nativeClassInitBuffer(_env); 122 123 jclass IAEClassLocal = 124 _env->FindClass("java/lang/IllegalArgumentException"); 125 jclass OOMEClassLocal = 126 _env->FindClass("java/lang/OutOfMemoryError"); 127 jclass UOEClassLocal = 128 _env->FindClass("java/lang/UnsupportedOperationException"); 129 jclass AIOOBEClassLocal = 130 _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); 131 132 IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); 133 OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); 134 UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); 135 AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); 136} 137 138static void * 139getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 140{ 141 jint position; 142 jint limit; 143 jint elementSizeShift; 144 jlong pointer; 145 jint offset; 146 void *data; 147 148 position = _env->GetIntField(buffer, positionID); 149 limit = _env->GetIntField(buffer, limitID); 150 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 151 *remaining = (limit - position) << elementSizeShift; 152 pointer = _env->CallStaticLongMethod(nioAccessClass, 153 getBasePointerID, buffer); 154 if (pointer != 0L) { 155 *array = NULL; 156 return (void *) (jint) pointer; 157 } 158 159 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 160 getBaseArrayID, buffer); 161 if (*array == NULL) { 162 return (void*) NULL; 163 } 164 offset = _env->CallStaticIntMethod(nioAccessClass, 165 getBaseArrayOffsetID, buffer); 166 data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 167 168 return (void *) ((char *) data + offset); 169} 170 171static void 172releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 173{ 174 _env->ReleasePrimitiveArrayCritical(array, data, 175 commit ? 0 : JNI_ABORT); 176} 177 178extern "C" { 179extern char* __progname; 180} 181 182static bool 183allowIndirectBuffers(JNIEnv *_env) { 184 static jint sIndirectBufferCompatability; 185 if (sIndirectBufferCompatability == 0) { 186 jobject appName = _env->NewStringUTF(::__progname); 187 sIndirectBufferCompatability = _env->CallStaticBooleanMethod(G11ImplClass, allowIndirectBuffersID, appName) ? 2 : 1; 188 } 189 return sIndirectBufferCompatability == 2; 190} 191 192static void * 193getDirectBufferPointer(JNIEnv *_env, jobject buffer) { 194 if (!buffer) { 195 return NULL; 196 } 197 void* buf = _env->GetDirectBufferAddress(buffer); 198 if (buf) { 199 jint position = _env->GetIntField(buffer, positionID); 200 jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 201 buf = ((char*) buf) + (position << elementSizeShift); 202 } else { 203 if (allowIndirectBuffers(_env)) { 204 jarray array = 0; 205 jint remaining; 206 buf = getPointer(_env, buffer, &array, &remaining); 207 if (array) { 208 releasePointer(_env, array, buf, 0); 209 } 210 } else { 211 _env->ThrowNew(IAEClass, "Must use a native order direct Buffer"); 212 } 213 } 214 return buf; 215} 216 217static int 218getNumCompressedTextureFormats() { 219 int numCompressedTextureFormats = 0; 220 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 221 return numCompressedTextureFormats; 222} 223 224// Check if the extension at the head of pExtensions is pExtension. Note that pExtensions is 225// terminated by either 0 or space, while pExtension is terminated by 0. 226 227static bool 228extensionEqual(const GLubyte* pExtensions, const GLubyte* pExtension) { 229 while (true) { 230 char a = *pExtensions++; 231 char b = *pExtension++; 232 bool aEnd = a == '\0' || a == ' '; 233 bool bEnd = b == '\0'; 234 if ( aEnd || bEnd) { 235 return aEnd == bEnd; 236 } 237 if ( a != b ) { 238 return false; 239 } 240 } 241} 242 243static const GLubyte* 244nextExtension(const GLubyte* pExtensions) { 245 while (true) { 246 char a = *pExtensions++; 247 if ( a == '\0') { 248 return pExtensions-1; 249 } else if ( a == ' ') { 250 return pExtensions; 251 } 252 } 253} 254 255static bool 256checkForExtension(const GLubyte* pExtensions, const GLubyte* pExtension) { 257 for (;*pExtensions != '\0'; pExtensions = nextExtension(pExtensions)) { 258 if (extensionEqual(pExtensions, pExtension)) { 259 return true; 260 } 261 } 262 return false; 263} 264 265static bool 266supportsExtension(JNIEnv *_env, jobject impl, jfieldID fieldId) { 267 if (!_env->GetBooleanField(impl, haveCheckedExtensionsID)) { 268 _env->SetBooleanField(impl, haveCheckedExtensionsID, true); 269 const GLubyte* sExtensions = glGetString(GL_EXTENSIONS); 270 _env->SetBooleanField(impl, have_OES_blend_equation_separateID, 271 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_equation_separate")); 272 _env->SetBooleanField(impl, have_OES_blend_subtractID, 273 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_blend_subtract")); 274 _env->SetBooleanField(impl, have_OES_framebuffer_objectID, 275 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_framebuffer_object")); 276 _env->SetBooleanField(impl, have_OES_texture_cube_mapID, 277 checkForExtension(sExtensions, (const GLubyte*) "GL_OES_texture_cube_map")); 278 } 279 return _env->GetBooleanField(impl, fieldId); 280} 281 282// -------------------------------------------------------------------------- 283 284/* void glActiveTexture ( GLenum texture ) */ 285static void 286android_glActiveTexture__I 287 (JNIEnv *_env, jobject _this, jint texture) { 288 glActiveTexture( 289 (GLenum)texture 290 ); 291} 292 293/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 294static void 295android_glAlphaFunc__IF 296 (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 297 glAlphaFunc( 298 (GLenum)func, 299 (GLclampf)ref 300 ); 301} 302 303/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 304static void 305android_glAlphaFuncx__II 306 (JNIEnv *_env, jobject _this, jint func, jint ref) { 307 glAlphaFuncx( 308 (GLenum)func, 309 (GLclampx)ref 310 ); 311} 312 313/* void glBindTexture ( GLenum target, GLuint texture ) */ 314static void 315android_glBindTexture__II 316 (JNIEnv *_env, jobject _this, jint target, jint texture) { 317 glBindTexture( 318 (GLenum)target, 319 (GLuint)texture 320 ); 321} 322 323/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 324static void 325android_glBlendFunc__II 326 (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 327 glBlendFunc( 328 (GLenum)sfactor, 329 (GLenum)dfactor 330 ); 331} 332 333/* void glClear ( GLbitfield mask ) */ 334static void 335android_glClear__I 336 (JNIEnv *_env, jobject _this, jint mask) { 337 glClear( 338 (GLbitfield)mask 339 ); 340} 341 342/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 343static void 344android_glClearColor__FFFF 345 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 346 glClearColor( 347 (GLclampf)red, 348 (GLclampf)green, 349 (GLclampf)blue, 350 (GLclampf)alpha 351 ); 352} 353 354/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 355static void 356android_glClearColorx__IIII 357 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 358 glClearColorx( 359 (GLclampx)red, 360 (GLclampx)green, 361 (GLclampx)blue, 362 (GLclampx)alpha 363 ); 364} 365 366/* void glClearDepthf ( GLclampf depth ) */ 367static void 368android_glClearDepthf__F 369 (JNIEnv *_env, jobject _this, jfloat depth) { 370 glClearDepthf( 371 (GLclampf)depth 372 ); 373} 374 375/* void glClearDepthx ( GLclampx depth ) */ 376static void 377android_glClearDepthx__I 378 (JNIEnv *_env, jobject _this, jint depth) { 379 glClearDepthx( 380 (GLclampx)depth 381 ); 382} 383 384/* void glClearStencil ( GLint s ) */ 385static void 386android_glClearStencil__I 387 (JNIEnv *_env, jobject _this, jint s) { 388 glClearStencil( 389 (GLint)s 390 ); 391} 392 393/* void glClientActiveTexture ( GLenum texture ) */ 394static void 395android_glClientActiveTexture__I 396 (JNIEnv *_env, jobject _this, jint texture) { 397 glClientActiveTexture( 398 (GLenum)texture 399 ); 400} 401 402/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 403static void 404android_glColor4f__FFFF 405 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 406 glColor4f( 407 (GLfloat)red, 408 (GLfloat)green, 409 (GLfloat)blue, 410 (GLfloat)alpha 411 ); 412} 413 414/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 415static void 416android_glColor4x__IIII 417 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 418 glColor4x( 419 (GLfixed)red, 420 (GLfixed)green, 421 (GLfixed)blue, 422 (GLfixed)alpha 423 ); 424} 425 426/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 427static void 428android_glColorMask__ZZZZ 429 (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 430 glColorMask( 431 (GLboolean)red, 432 (GLboolean)green, 433 (GLboolean)blue, 434 (GLboolean)alpha 435 ); 436} 437 438/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 439static void 440android_glColorPointerBounds__IIILjava_nio_Buffer_2I 441 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 442 jarray _array = (jarray) 0; 443 jint _remaining; 444 GLvoid *pointer = (GLvoid *) 0; 445 446 if (pointer_buf) { 447 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 448 if ( ! pointer ) { 449 return; 450 } 451 } 452 glColorPointerBounds( 453 (GLint)size, 454 (GLenum)type, 455 (GLsizei)stride, 456 (GLvoid *)pointer, 457 (GLsizei)remaining 458 ); 459} 460 461/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 462static void 463android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 464 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 465 jarray _array = (jarray) 0; 466 jint _remaining; 467 GLvoid *data = (GLvoid *) 0; 468 469 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 470 glCompressedTexImage2D( 471 (GLenum)target, 472 (GLint)level, 473 (GLenum)internalformat, 474 (GLsizei)width, 475 (GLsizei)height, 476 (GLint)border, 477 (GLsizei)imageSize, 478 (GLvoid *)data 479 ); 480 if (_array) { 481 releasePointer(_env, _array, data, JNI_FALSE); 482 } 483} 484 485/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 486static void 487android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 488 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 489 jarray _array = (jarray) 0; 490 jint _remaining; 491 GLvoid *data = (GLvoid *) 0; 492 493 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 494 glCompressedTexSubImage2D( 495 (GLenum)target, 496 (GLint)level, 497 (GLint)xoffset, 498 (GLint)yoffset, 499 (GLsizei)width, 500 (GLsizei)height, 501 (GLenum)format, 502 (GLsizei)imageSize, 503 (GLvoid *)data 504 ); 505 if (_array) { 506 releasePointer(_env, _array, data, JNI_FALSE); 507 } 508} 509 510/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 511static void 512android_glCopyTexImage2D__IIIIIIII 513 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 514 glCopyTexImage2D( 515 (GLenum)target, 516 (GLint)level, 517 (GLenum)internalformat, 518 (GLint)x, 519 (GLint)y, 520 (GLsizei)width, 521 (GLsizei)height, 522 (GLint)border 523 ); 524} 525 526/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 527static void 528android_glCopyTexSubImage2D__IIIIIIII 529 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 530 glCopyTexSubImage2D( 531 (GLenum)target, 532 (GLint)level, 533 (GLint)xoffset, 534 (GLint)yoffset, 535 (GLint)x, 536 (GLint)y, 537 (GLsizei)width, 538 (GLsizei)height 539 ); 540} 541 542/* void glCullFace ( GLenum mode ) */ 543static void 544android_glCullFace__I 545 (JNIEnv *_env, jobject _this, jint mode) { 546 glCullFace( 547 (GLenum)mode 548 ); 549} 550 551/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 552static void 553android_glDeleteTextures__I_3II 554 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 555 GLuint *textures_base = (GLuint *) 0; 556 jint _remaining; 557 GLuint *textures = (GLuint *) 0; 558 559 if (!textures_ref) { 560 _env->ThrowNew(IAEClass, "textures == null"); 561 goto exit; 562 } 563 if (offset < 0) { 564 _env->ThrowNew(IAEClass, "offset < 0"); 565 goto exit; 566 } 567 _remaining = _env->GetArrayLength(textures_ref) - offset; 568 if (_remaining < n) { 569 _env->ThrowNew(IAEClass, "length - offset < n"); 570 goto exit; 571 } 572 textures_base = (GLuint *) 573 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 574 textures = textures_base + offset; 575 576 glDeleteTextures( 577 (GLsizei)n, 578 (GLuint *)textures 579 ); 580 581exit: 582 if (textures_base) { 583 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 584 JNI_ABORT); 585 } 586} 587 588/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 589static void 590android_glDeleteTextures__ILjava_nio_IntBuffer_2 591 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 592 jarray _array = (jarray) 0; 593 jint _remaining; 594 GLuint *textures = (GLuint *) 0; 595 596 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 597 if (_remaining < n) { 598 _env->ThrowNew(IAEClass, "remaining() < n"); 599 goto exit; 600 } 601 glDeleteTextures( 602 (GLsizei)n, 603 (GLuint *)textures 604 ); 605 606exit: 607 if (_array) { 608 releasePointer(_env, _array, textures, JNI_FALSE); 609 } 610} 611 612/* void glDepthFunc ( GLenum func ) */ 613static void 614android_glDepthFunc__I 615 (JNIEnv *_env, jobject _this, jint func) { 616 glDepthFunc( 617 (GLenum)func 618 ); 619} 620 621/* void glDepthMask ( GLboolean flag ) */ 622static void 623android_glDepthMask__Z 624 (JNIEnv *_env, jobject _this, jboolean flag) { 625 glDepthMask( 626 (GLboolean)flag 627 ); 628} 629 630/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 631static void 632android_glDepthRangef__FF 633 (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 634 glDepthRangef( 635 (GLclampf)zNear, 636 (GLclampf)zFar 637 ); 638} 639 640/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 641static void 642android_glDepthRangex__II 643 (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 644 glDepthRangex( 645 (GLclampx)zNear, 646 (GLclampx)zFar 647 ); 648} 649 650/* void glDisable ( GLenum cap ) */ 651static void 652android_glDisable__I 653 (JNIEnv *_env, jobject _this, jint cap) { 654 glDisable( 655 (GLenum)cap 656 ); 657} 658 659/* void glDisableClientState ( GLenum array ) */ 660static void 661android_glDisableClientState__I 662 (JNIEnv *_env, jobject _this, jint array) { 663 glDisableClientState( 664 (GLenum)array 665 ); 666} 667 668/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 669static void 670android_glDrawArrays__III 671 (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 672 glDrawArrays( 673 (GLenum)mode, 674 (GLint)first, 675 (GLsizei)count 676 ); 677} 678 679/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 680static void 681android_glDrawElements__IIILjava_nio_Buffer_2 682 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 683 jarray _array = (jarray) 0; 684 jint _remaining; 685 GLvoid *indices = (GLvoid *) 0; 686 687 indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 688 if (_remaining < count) { 689 _env->ThrowNew(AIOOBEClass, "remaining() < count"); 690 goto exit; 691 } 692 glDrawElements( 693 (GLenum)mode, 694 (GLsizei)count, 695 (GLenum)type, 696 (GLvoid *)indices 697 ); 698 699exit: 700 if (_array) { 701 releasePointer(_env, _array, indices, JNI_FALSE); 702 } 703} 704 705/* void glEnable ( GLenum cap ) */ 706static void 707android_glEnable__I 708 (JNIEnv *_env, jobject _this, jint cap) { 709 glEnable( 710 (GLenum)cap 711 ); 712} 713 714/* void glEnableClientState ( GLenum array ) */ 715static void 716android_glEnableClientState__I 717 (JNIEnv *_env, jobject _this, jint array) { 718 glEnableClientState( 719 (GLenum)array 720 ); 721} 722 723/* void glFinish ( void ) */ 724static void 725android_glFinish__ 726 (JNIEnv *_env, jobject _this) { 727 glFinish(); 728} 729 730/* void glFlush ( void ) */ 731static void 732android_glFlush__ 733 (JNIEnv *_env, jobject _this) { 734 glFlush(); 735} 736 737/* void glFogf ( GLenum pname, GLfloat param ) */ 738static void 739android_glFogf__IF 740 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 741 glFogf( 742 (GLenum)pname, 743 (GLfloat)param 744 ); 745} 746 747/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 748static void 749android_glFogfv__I_3FI 750 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 751 GLfloat *params_base = (GLfloat *) 0; 752 jint _remaining; 753 GLfloat *params = (GLfloat *) 0; 754 755 if (!params_ref) { 756 _env->ThrowNew(IAEClass, "params == null"); 757 goto exit; 758 } 759 if (offset < 0) { 760 _env->ThrowNew(IAEClass, "offset < 0"); 761 goto exit; 762 } 763 _remaining = _env->GetArrayLength(params_ref) - offset; 764 int _needed; 765 switch (pname) { 766#if defined(GL_FOG_MODE) 767 case GL_FOG_MODE: 768#endif // defined(GL_FOG_MODE) 769#if defined(GL_FOG_DENSITY) 770 case GL_FOG_DENSITY: 771#endif // defined(GL_FOG_DENSITY) 772#if defined(GL_FOG_START) 773 case GL_FOG_START: 774#endif // defined(GL_FOG_START) 775#if defined(GL_FOG_END) 776 case GL_FOG_END: 777#endif // defined(GL_FOG_END) 778 _needed = 1; 779 break; 780#if defined(GL_FOG_COLOR) 781 case GL_FOG_COLOR: 782#endif // defined(GL_FOG_COLOR) 783 _needed = 4; 784 break; 785 default: 786 _needed = 0; 787 break; 788 } 789 if (_remaining < _needed) { 790 _env->ThrowNew(IAEClass, "length - offset < needed"); 791 goto exit; 792 } 793 params_base = (GLfloat *) 794 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 795 params = params_base + offset; 796 797 glFogfv( 798 (GLenum)pname, 799 (GLfloat *)params 800 ); 801 802exit: 803 if (params_base) { 804 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 805 JNI_ABORT); 806 } 807} 808 809/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 810static void 811android_glFogfv__ILjava_nio_FloatBuffer_2 812 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 813 jarray _array = (jarray) 0; 814 jint _remaining; 815 GLfloat *params = (GLfloat *) 0; 816 817 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 818 int _needed; 819 switch (pname) { 820#if defined(GL_FOG_MODE) 821 case GL_FOG_MODE: 822#endif // defined(GL_FOG_MODE) 823#if defined(GL_FOG_DENSITY) 824 case GL_FOG_DENSITY: 825#endif // defined(GL_FOG_DENSITY) 826#if defined(GL_FOG_START) 827 case GL_FOG_START: 828#endif // defined(GL_FOG_START) 829#if defined(GL_FOG_END) 830 case GL_FOG_END: 831#endif // defined(GL_FOG_END) 832 _needed = 1; 833 break; 834#if defined(GL_FOG_COLOR) 835 case GL_FOG_COLOR: 836#endif // defined(GL_FOG_COLOR) 837 _needed = 4; 838 break; 839 default: 840 _needed = 0; 841 break; 842 } 843 if (_remaining < _needed) { 844 _env->ThrowNew(IAEClass, "remaining() < needed"); 845 goto exit; 846 } 847 glFogfv( 848 (GLenum)pname, 849 (GLfloat *)params 850 ); 851 852exit: 853 if (_array) { 854 releasePointer(_env, _array, params, JNI_FALSE); 855 } 856} 857 858/* void glFogx ( GLenum pname, GLfixed param ) */ 859static void 860android_glFogx__II 861 (JNIEnv *_env, jobject _this, jint pname, jint param) { 862 glFogx( 863 (GLenum)pname, 864 (GLfixed)param 865 ); 866} 867 868/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 869static void 870android_glFogxv__I_3II 871 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 872 GLfixed *params_base = (GLfixed *) 0; 873 jint _remaining; 874 GLfixed *params = (GLfixed *) 0; 875 876 if (!params_ref) { 877 _env->ThrowNew(IAEClass, "params == null"); 878 goto exit; 879 } 880 if (offset < 0) { 881 _env->ThrowNew(IAEClass, "offset < 0"); 882 goto exit; 883 } 884 _remaining = _env->GetArrayLength(params_ref) - offset; 885 int _needed; 886 switch (pname) { 887#if defined(GL_FOG_MODE) 888 case GL_FOG_MODE: 889#endif // defined(GL_FOG_MODE) 890#if defined(GL_FOG_DENSITY) 891 case GL_FOG_DENSITY: 892#endif // defined(GL_FOG_DENSITY) 893#if defined(GL_FOG_START) 894 case GL_FOG_START: 895#endif // defined(GL_FOG_START) 896#if defined(GL_FOG_END) 897 case GL_FOG_END: 898#endif // defined(GL_FOG_END) 899 _needed = 1; 900 break; 901#if defined(GL_FOG_COLOR) 902 case GL_FOG_COLOR: 903#endif // defined(GL_FOG_COLOR) 904 _needed = 4; 905 break; 906 default: 907 _needed = 0; 908 break; 909 } 910 if (_remaining < _needed) { 911 _env->ThrowNew(IAEClass, "length - offset < needed"); 912 goto exit; 913 } 914 params_base = (GLfixed *) 915 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 916 params = params_base + offset; 917 918 glFogxv( 919 (GLenum)pname, 920 (GLfixed *)params 921 ); 922 923exit: 924 if (params_base) { 925 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 926 JNI_ABORT); 927 } 928} 929 930/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 931static void 932android_glFogxv__ILjava_nio_IntBuffer_2 933 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 934 jarray _array = (jarray) 0; 935 jint _remaining; 936 GLfixed *params = (GLfixed *) 0; 937 938 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 939 int _needed; 940 switch (pname) { 941#if defined(GL_FOG_MODE) 942 case GL_FOG_MODE: 943#endif // defined(GL_FOG_MODE) 944#if defined(GL_FOG_DENSITY) 945 case GL_FOG_DENSITY: 946#endif // defined(GL_FOG_DENSITY) 947#if defined(GL_FOG_START) 948 case GL_FOG_START: 949#endif // defined(GL_FOG_START) 950#if defined(GL_FOG_END) 951 case GL_FOG_END: 952#endif // defined(GL_FOG_END) 953 _needed = 1; 954 break; 955#if defined(GL_FOG_COLOR) 956 case GL_FOG_COLOR: 957#endif // defined(GL_FOG_COLOR) 958 _needed = 4; 959 break; 960 default: 961 _needed = 0; 962 break; 963 } 964 if (_remaining < _needed) { 965 _env->ThrowNew(IAEClass, "remaining() < needed"); 966 goto exit; 967 } 968 glFogxv( 969 (GLenum)pname, 970 (GLfixed *)params 971 ); 972 973exit: 974 if (_array) { 975 releasePointer(_env, _array, params, JNI_FALSE); 976 } 977} 978 979/* void glFrontFace ( GLenum mode ) */ 980static void 981android_glFrontFace__I 982 (JNIEnv *_env, jobject _this, jint mode) { 983 glFrontFace( 984 (GLenum)mode 985 ); 986} 987 988/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 989static void 990android_glFrustumf__FFFFFF 991 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 992 glFrustumf( 993 (GLfloat)left, 994 (GLfloat)right, 995 (GLfloat)bottom, 996 (GLfloat)top, 997 (GLfloat)zNear, 998 (GLfloat)zFar 999 ); 1000} 1001 1002/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 1003static void 1004android_glFrustumx__IIIIII 1005 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 1006 glFrustumx( 1007 (GLfixed)left, 1008 (GLfixed)right, 1009 (GLfixed)bottom, 1010 (GLfixed)top, 1011 (GLfixed)zNear, 1012 (GLfixed)zFar 1013 ); 1014} 1015 1016/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1017static void 1018android_glGenTextures__I_3II 1019 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 1020 jint _exception = 0; 1021 GLuint *textures_base = (GLuint *) 0; 1022 jint _remaining; 1023 GLuint *textures = (GLuint *) 0; 1024 1025 if (!textures_ref) { 1026 _exception = 1; 1027 _env->ThrowNew(IAEClass, "textures == null"); 1028 goto exit; 1029 } 1030 if (offset < 0) { 1031 _exception = 1; 1032 _env->ThrowNew(IAEClass, "offset < 0"); 1033 goto exit; 1034 } 1035 _remaining = _env->GetArrayLength(textures_ref) - offset; 1036 if (_remaining < n) { 1037 _exception = 1; 1038 _env->ThrowNew(IAEClass, "length - offset < n"); 1039 goto exit; 1040 } 1041 textures_base = (GLuint *) 1042 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 1043 textures = textures_base + offset; 1044 1045 glGenTextures( 1046 (GLsizei)n, 1047 (GLuint *)textures 1048 ); 1049 1050exit: 1051 if (textures_base) { 1052 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 1053 _exception ? JNI_ABORT: 0); 1054 } 1055} 1056 1057/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1058static void 1059android_glGenTextures__ILjava_nio_IntBuffer_2 1060 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 1061 jint _exception = 0; 1062 jarray _array = (jarray) 0; 1063 jint _remaining; 1064 GLuint *textures = (GLuint *) 0; 1065 1066 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 1067 if (_remaining < n) { 1068 _exception = 1; 1069 _env->ThrowNew(IAEClass, "remaining() < n"); 1070 goto exit; 1071 } 1072 glGenTextures( 1073 (GLsizei)n, 1074 (GLuint *)textures 1075 ); 1076 1077exit: 1078 if (_array) { 1079 releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 1080 } 1081} 1082 1083/* GLenum glGetError ( void ) */ 1084static jint 1085android_glGetError__ 1086 (JNIEnv *_env, jobject _this) { 1087 GLenum _returnValue; 1088 _returnValue = glGetError(); 1089 return _returnValue; 1090} 1091 1092/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1093static void 1094android_glGetIntegerv__I_3II 1095 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1096 jint _exception = 0; 1097 GLint *params_base = (GLint *) 0; 1098 jint _remaining; 1099 GLint *params = (GLint *) 0; 1100 1101 if (!params_ref) { 1102 _exception = 1; 1103 _env->ThrowNew(IAEClass, "params == null"); 1104 goto exit; 1105 } 1106 if (offset < 0) { 1107 _exception = 1; 1108 _env->ThrowNew(IAEClass, "offset < 0"); 1109 goto exit; 1110 } 1111 _remaining = _env->GetArrayLength(params_ref) - offset; 1112 int _needed; 1113 switch (pname) { 1114#if defined(GL_ALPHA_BITS) 1115 case GL_ALPHA_BITS: 1116#endif // defined(GL_ALPHA_BITS) 1117#if defined(GL_ALPHA_TEST_FUNC) 1118 case GL_ALPHA_TEST_FUNC: 1119#endif // defined(GL_ALPHA_TEST_FUNC) 1120#if defined(GL_ALPHA_TEST_REF) 1121 case GL_ALPHA_TEST_REF: 1122#endif // defined(GL_ALPHA_TEST_REF) 1123#if defined(GL_BLEND_DST) 1124 case GL_BLEND_DST: 1125#endif // defined(GL_BLEND_DST) 1126#if defined(GL_BLUE_BITS) 1127 case GL_BLUE_BITS: 1128#endif // defined(GL_BLUE_BITS) 1129#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1130 case GL_COLOR_ARRAY_BUFFER_BINDING: 1131#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1132#if defined(GL_COLOR_ARRAY_SIZE) 1133 case GL_COLOR_ARRAY_SIZE: 1134#endif // defined(GL_COLOR_ARRAY_SIZE) 1135#if defined(GL_COLOR_ARRAY_STRIDE) 1136 case GL_COLOR_ARRAY_STRIDE: 1137#endif // defined(GL_COLOR_ARRAY_STRIDE) 1138#if defined(GL_COLOR_ARRAY_TYPE) 1139 case GL_COLOR_ARRAY_TYPE: 1140#endif // defined(GL_COLOR_ARRAY_TYPE) 1141#if defined(GL_CULL_FACE) 1142 case GL_CULL_FACE: 1143#endif // defined(GL_CULL_FACE) 1144#if defined(GL_DEPTH_BITS) 1145 case GL_DEPTH_BITS: 1146#endif // defined(GL_DEPTH_BITS) 1147#if defined(GL_DEPTH_CLEAR_VALUE) 1148 case GL_DEPTH_CLEAR_VALUE: 1149#endif // defined(GL_DEPTH_CLEAR_VALUE) 1150#if defined(GL_DEPTH_FUNC) 1151 case GL_DEPTH_FUNC: 1152#endif // defined(GL_DEPTH_FUNC) 1153#if defined(GL_DEPTH_WRITEMASK) 1154 case GL_DEPTH_WRITEMASK: 1155#endif // defined(GL_DEPTH_WRITEMASK) 1156#if defined(GL_FOG_DENSITY) 1157 case GL_FOG_DENSITY: 1158#endif // defined(GL_FOG_DENSITY) 1159#if defined(GL_FOG_END) 1160 case GL_FOG_END: 1161#endif // defined(GL_FOG_END) 1162#if defined(GL_FOG_MODE) 1163 case GL_FOG_MODE: 1164#endif // defined(GL_FOG_MODE) 1165#if defined(GL_FOG_START) 1166 case GL_FOG_START: 1167#endif // defined(GL_FOG_START) 1168#if defined(GL_FRONT_FACE) 1169 case GL_FRONT_FACE: 1170#endif // defined(GL_FRONT_FACE) 1171#if defined(GL_GREEN_BITS) 1172 case GL_GREEN_BITS: 1173#endif // defined(GL_GREEN_BITS) 1174#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1175 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1176#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1177#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1178 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1179#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1180#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1181 case GL_LIGHT_MODEL_COLOR_CONTROL: 1182#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1183#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1184 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1185#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1186#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1187 case GL_LIGHT_MODEL_TWO_SIDE: 1188#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1189#if defined(GL_LINE_SMOOTH_HINT) 1190 case GL_LINE_SMOOTH_HINT: 1191#endif // defined(GL_LINE_SMOOTH_HINT) 1192#if defined(GL_LINE_WIDTH) 1193 case GL_LINE_WIDTH: 1194#endif // defined(GL_LINE_WIDTH) 1195#if defined(GL_LOGIC_OP_MODE) 1196 case GL_LOGIC_OP_MODE: 1197#endif // defined(GL_LOGIC_OP_MODE) 1198#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1199 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1200#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1201#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1202 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1203#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1204#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1205 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1206#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1207#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1208 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1209#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1210#if defined(GL_MATRIX_MODE) 1211 case GL_MATRIX_MODE: 1212#endif // defined(GL_MATRIX_MODE) 1213#if defined(GL_MAX_CLIP_PLANES) 1214 case GL_MAX_CLIP_PLANES: 1215#endif // defined(GL_MAX_CLIP_PLANES) 1216#if defined(GL_MAX_ELEMENTS_INDICES) 1217 case GL_MAX_ELEMENTS_INDICES: 1218#endif // defined(GL_MAX_ELEMENTS_INDICES) 1219#if defined(GL_MAX_ELEMENTS_VERTICES) 1220 case GL_MAX_ELEMENTS_VERTICES: 1221#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1222#if defined(GL_MAX_LIGHTS) 1223 case GL_MAX_LIGHTS: 1224#endif // defined(GL_MAX_LIGHTS) 1225#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1226 case GL_MAX_MODELVIEW_STACK_DEPTH: 1227#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1228#if defined(GL_MAX_PALETTE_MATRICES_OES) 1229 case GL_MAX_PALETTE_MATRICES_OES: 1230#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1231#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1232 case GL_MAX_PROJECTION_STACK_DEPTH: 1233#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1234#if defined(GL_MAX_TEXTURE_SIZE) 1235 case GL_MAX_TEXTURE_SIZE: 1236#endif // defined(GL_MAX_TEXTURE_SIZE) 1237#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1238 case GL_MAX_TEXTURE_STACK_DEPTH: 1239#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1240#if defined(GL_MAX_TEXTURE_UNITS) 1241 case GL_MAX_TEXTURE_UNITS: 1242#endif // defined(GL_MAX_TEXTURE_UNITS) 1243#if defined(GL_MAX_VERTEX_UNITS_OES) 1244 case GL_MAX_VERTEX_UNITS_OES: 1245#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1246#if defined(GL_MODELVIEW_STACK_DEPTH) 1247 case GL_MODELVIEW_STACK_DEPTH: 1248#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1249#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1250 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1251#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1252#if defined(GL_NORMAL_ARRAY_STRIDE) 1253 case GL_NORMAL_ARRAY_STRIDE: 1254#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1255#if defined(GL_NORMAL_ARRAY_TYPE) 1256 case GL_NORMAL_ARRAY_TYPE: 1257#endif // defined(GL_NORMAL_ARRAY_TYPE) 1258#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1259 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1260#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1261#if defined(GL_PACK_ALIGNMENT) 1262 case GL_PACK_ALIGNMENT: 1263#endif // defined(GL_PACK_ALIGNMENT) 1264#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1265 case GL_PERSPECTIVE_CORRECTION_HINT: 1266#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1267#if defined(GL_POINT_SIZE) 1268 case GL_POINT_SIZE: 1269#endif // defined(GL_POINT_SIZE) 1270#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1271 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1272#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1273#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1274 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1275#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1276#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1277 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1278#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1279#if defined(GL_POINT_SMOOTH_HINT) 1280 case GL_POINT_SMOOTH_HINT: 1281#endif // defined(GL_POINT_SMOOTH_HINT) 1282#if defined(GL_POLYGON_OFFSET_FACTOR) 1283 case GL_POLYGON_OFFSET_FACTOR: 1284#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1285#if defined(GL_POLYGON_OFFSET_UNITS) 1286 case GL_POLYGON_OFFSET_UNITS: 1287#endif // defined(GL_POLYGON_OFFSET_UNITS) 1288#if defined(GL_PROJECTION_STACK_DEPTH) 1289 case GL_PROJECTION_STACK_DEPTH: 1290#endif // defined(GL_PROJECTION_STACK_DEPTH) 1291#if defined(GL_RED_BITS) 1292 case GL_RED_BITS: 1293#endif // defined(GL_RED_BITS) 1294#if defined(GL_SHADE_MODEL) 1295 case GL_SHADE_MODEL: 1296#endif // defined(GL_SHADE_MODEL) 1297#if defined(GL_STENCIL_BITS) 1298 case GL_STENCIL_BITS: 1299#endif // defined(GL_STENCIL_BITS) 1300#if defined(GL_STENCIL_CLEAR_VALUE) 1301 case GL_STENCIL_CLEAR_VALUE: 1302#endif // defined(GL_STENCIL_CLEAR_VALUE) 1303#if defined(GL_STENCIL_FAIL) 1304 case GL_STENCIL_FAIL: 1305#endif // defined(GL_STENCIL_FAIL) 1306#if defined(GL_STENCIL_FUNC) 1307 case GL_STENCIL_FUNC: 1308#endif // defined(GL_STENCIL_FUNC) 1309#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1310 case GL_STENCIL_PASS_DEPTH_FAIL: 1311#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1312#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1313 case GL_STENCIL_PASS_DEPTH_PASS: 1314#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1315#if defined(GL_STENCIL_REF) 1316 case GL_STENCIL_REF: 1317#endif // defined(GL_STENCIL_REF) 1318#if defined(GL_STENCIL_VALUE_MASK) 1319 case GL_STENCIL_VALUE_MASK: 1320#endif // defined(GL_STENCIL_VALUE_MASK) 1321#if defined(GL_STENCIL_WRITEMASK) 1322 case GL_STENCIL_WRITEMASK: 1323#endif // defined(GL_STENCIL_WRITEMASK) 1324#if defined(GL_SUBPIXEL_BITS) 1325 case GL_SUBPIXEL_BITS: 1326#endif // defined(GL_SUBPIXEL_BITS) 1327#if defined(GL_TEXTURE_BINDING_2D) 1328 case GL_TEXTURE_BINDING_2D: 1329#endif // defined(GL_TEXTURE_BINDING_2D) 1330#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1331 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1332#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1333#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1334 case GL_TEXTURE_COORD_ARRAY_SIZE: 1335#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1336#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1337 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1338#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1339#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1340 case GL_TEXTURE_COORD_ARRAY_TYPE: 1341#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1342#if defined(GL_TEXTURE_STACK_DEPTH) 1343 case GL_TEXTURE_STACK_DEPTH: 1344#endif // defined(GL_TEXTURE_STACK_DEPTH) 1345#if defined(GL_UNPACK_ALIGNMENT) 1346 case GL_UNPACK_ALIGNMENT: 1347#endif // defined(GL_UNPACK_ALIGNMENT) 1348#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1349 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1350#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1351#if defined(GL_VERTEX_ARRAY_SIZE) 1352 case GL_VERTEX_ARRAY_SIZE: 1353#endif // defined(GL_VERTEX_ARRAY_SIZE) 1354#if defined(GL_VERTEX_ARRAY_STRIDE) 1355 case GL_VERTEX_ARRAY_STRIDE: 1356#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1357#if defined(GL_VERTEX_ARRAY_TYPE) 1358 case GL_VERTEX_ARRAY_TYPE: 1359#endif // defined(GL_VERTEX_ARRAY_TYPE) 1360#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1361 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1362#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1363#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1364 case GL_WEIGHT_ARRAY_SIZE_OES: 1365#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1366#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1367 case GL_WEIGHT_ARRAY_STRIDE_OES: 1368#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1369#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1370 case GL_WEIGHT_ARRAY_TYPE_OES: 1371#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1372 _needed = 1; 1373 break; 1374#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1375 case GL_ALIASED_POINT_SIZE_RANGE: 1376#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1377#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1378 case GL_ALIASED_LINE_WIDTH_RANGE: 1379#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1380#if defined(GL_DEPTH_RANGE) 1381 case GL_DEPTH_RANGE: 1382#endif // defined(GL_DEPTH_RANGE) 1383#if defined(GL_MAX_VIEWPORT_DIMS) 1384 case GL_MAX_VIEWPORT_DIMS: 1385#endif // defined(GL_MAX_VIEWPORT_DIMS) 1386#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1387 case GL_SMOOTH_LINE_WIDTH_RANGE: 1388#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1389#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1390 case GL_SMOOTH_POINT_SIZE_RANGE: 1391#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1392 _needed = 2; 1393 break; 1394#if defined(GL_COLOR_CLEAR_VALUE) 1395 case GL_COLOR_CLEAR_VALUE: 1396#endif // defined(GL_COLOR_CLEAR_VALUE) 1397#if defined(GL_COLOR_WRITEMASK) 1398 case GL_COLOR_WRITEMASK: 1399#endif // defined(GL_COLOR_WRITEMASK) 1400#if defined(GL_FOG_COLOR) 1401 case GL_FOG_COLOR: 1402#endif // defined(GL_FOG_COLOR) 1403#if defined(GL_LIGHT_MODEL_AMBIENT) 1404 case GL_LIGHT_MODEL_AMBIENT: 1405#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1406#if defined(GL_SCISSOR_BOX) 1407 case GL_SCISSOR_BOX: 1408#endif // defined(GL_SCISSOR_BOX) 1409#if defined(GL_VIEWPORT) 1410 case GL_VIEWPORT: 1411#endif // defined(GL_VIEWPORT) 1412 _needed = 4; 1413 break; 1414#if defined(GL_MODELVIEW_MATRIX) 1415 case GL_MODELVIEW_MATRIX: 1416#endif // defined(GL_MODELVIEW_MATRIX) 1417#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1418 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1419#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1420#if defined(GL_PROJECTION_MATRIX) 1421 case GL_PROJECTION_MATRIX: 1422#endif // defined(GL_PROJECTION_MATRIX) 1423#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1424 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1425#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1426#if defined(GL_TEXTURE_MATRIX) 1427 case GL_TEXTURE_MATRIX: 1428#endif // defined(GL_TEXTURE_MATRIX) 1429#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1430 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1431#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1432 _needed = 16; 1433 break; 1434#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1435 case GL_COMPRESSED_TEXTURE_FORMATS: 1436#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1437 _needed = getNumCompressedTextureFormats(); 1438 break; 1439 default: 1440 _needed = 0; 1441 break; 1442 } 1443 if (_remaining < _needed) { 1444 _exception = 1; 1445 _env->ThrowNew(IAEClass, "length - offset < needed"); 1446 goto exit; 1447 } 1448 params_base = (GLint *) 1449 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1450 params = params_base + offset; 1451 1452 glGetIntegerv( 1453 (GLenum)pname, 1454 (GLint *)params 1455 ); 1456 1457exit: 1458 if (params_base) { 1459 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1460 _exception ? JNI_ABORT: 0); 1461 } 1462} 1463 1464/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1465static void 1466android_glGetIntegerv__ILjava_nio_IntBuffer_2 1467 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1468 jint _exception = 0; 1469 jarray _array = (jarray) 0; 1470 jint _remaining; 1471 GLint *params = (GLint *) 0; 1472 1473 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1474 int _needed; 1475 switch (pname) { 1476#if defined(GL_ALPHA_BITS) 1477 case GL_ALPHA_BITS: 1478#endif // defined(GL_ALPHA_BITS) 1479#if defined(GL_ALPHA_TEST_FUNC) 1480 case GL_ALPHA_TEST_FUNC: 1481#endif // defined(GL_ALPHA_TEST_FUNC) 1482#if defined(GL_ALPHA_TEST_REF) 1483 case GL_ALPHA_TEST_REF: 1484#endif // defined(GL_ALPHA_TEST_REF) 1485#if defined(GL_BLEND_DST) 1486 case GL_BLEND_DST: 1487#endif // defined(GL_BLEND_DST) 1488#if defined(GL_BLUE_BITS) 1489 case GL_BLUE_BITS: 1490#endif // defined(GL_BLUE_BITS) 1491#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1492 case GL_COLOR_ARRAY_BUFFER_BINDING: 1493#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1494#if defined(GL_COLOR_ARRAY_SIZE) 1495 case GL_COLOR_ARRAY_SIZE: 1496#endif // defined(GL_COLOR_ARRAY_SIZE) 1497#if defined(GL_COLOR_ARRAY_STRIDE) 1498 case GL_COLOR_ARRAY_STRIDE: 1499#endif // defined(GL_COLOR_ARRAY_STRIDE) 1500#if defined(GL_COLOR_ARRAY_TYPE) 1501 case GL_COLOR_ARRAY_TYPE: 1502#endif // defined(GL_COLOR_ARRAY_TYPE) 1503#if defined(GL_CULL_FACE) 1504 case GL_CULL_FACE: 1505#endif // defined(GL_CULL_FACE) 1506#if defined(GL_DEPTH_BITS) 1507 case GL_DEPTH_BITS: 1508#endif // defined(GL_DEPTH_BITS) 1509#if defined(GL_DEPTH_CLEAR_VALUE) 1510 case GL_DEPTH_CLEAR_VALUE: 1511#endif // defined(GL_DEPTH_CLEAR_VALUE) 1512#if defined(GL_DEPTH_FUNC) 1513 case GL_DEPTH_FUNC: 1514#endif // defined(GL_DEPTH_FUNC) 1515#if defined(GL_DEPTH_WRITEMASK) 1516 case GL_DEPTH_WRITEMASK: 1517#endif // defined(GL_DEPTH_WRITEMASK) 1518#if defined(GL_FOG_DENSITY) 1519 case GL_FOG_DENSITY: 1520#endif // defined(GL_FOG_DENSITY) 1521#if defined(GL_FOG_END) 1522 case GL_FOG_END: 1523#endif // defined(GL_FOG_END) 1524#if defined(GL_FOG_MODE) 1525 case GL_FOG_MODE: 1526#endif // defined(GL_FOG_MODE) 1527#if defined(GL_FOG_START) 1528 case GL_FOG_START: 1529#endif // defined(GL_FOG_START) 1530#if defined(GL_FRONT_FACE) 1531 case GL_FRONT_FACE: 1532#endif // defined(GL_FRONT_FACE) 1533#if defined(GL_GREEN_BITS) 1534 case GL_GREEN_BITS: 1535#endif // defined(GL_GREEN_BITS) 1536#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1537 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1538#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1539#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1540 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1541#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1542#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1543 case GL_LIGHT_MODEL_COLOR_CONTROL: 1544#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1545#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1546 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1547#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1548#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1549 case GL_LIGHT_MODEL_TWO_SIDE: 1550#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1551#if defined(GL_LINE_SMOOTH_HINT) 1552 case GL_LINE_SMOOTH_HINT: 1553#endif // defined(GL_LINE_SMOOTH_HINT) 1554#if defined(GL_LINE_WIDTH) 1555 case GL_LINE_WIDTH: 1556#endif // defined(GL_LINE_WIDTH) 1557#if defined(GL_LOGIC_OP_MODE) 1558 case GL_LOGIC_OP_MODE: 1559#endif // defined(GL_LOGIC_OP_MODE) 1560#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1561 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1562#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1563#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1564 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1565#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1566#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1567 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1568#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1569#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1570 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1571#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1572#if defined(GL_MATRIX_MODE) 1573 case GL_MATRIX_MODE: 1574#endif // defined(GL_MATRIX_MODE) 1575#if defined(GL_MAX_CLIP_PLANES) 1576 case GL_MAX_CLIP_PLANES: 1577#endif // defined(GL_MAX_CLIP_PLANES) 1578#if defined(GL_MAX_ELEMENTS_INDICES) 1579 case GL_MAX_ELEMENTS_INDICES: 1580#endif // defined(GL_MAX_ELEMENTS_INDICES) 1581#if defined(GL_MAX_ELEMENTS_VERTICES) 1582 case GL_MAX_ELEMENTS_VERTICES: 1583#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1584#if defined(GL_MAX_LIGHTS) 1585 case GL_MAX_LIGHTS: 1586#endif // defined(GL_MAX_LIGHTS) 1587#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1588 case GL_MAX_MODELVIEW_STACK_DEPTH: 1589#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1590#if defined(GL_MAX_PALETTE_MATRICES_OES) 1591 case GL_MAX_PALETTE_MATRICES_OES: 1592#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1593#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1594 case GL_MAX_PROJECTION_STACK_DEPTH: 1595#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1596#if defined(GL_MAX_TEXTURE_SIZE) 1597 case GL_MAX_TEXTURE_SIZE: 1598#endif // defined(GL_MAX_TEXTURE_SIZE) 1599#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1600 case GL_MAX_TEXTURE_STACK_DEPTH: 1601#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1602#if defined(GL_MAX_TEXTURE_UNITS) 1603 case GL_MAX_TEXTURE_UNITS: 1604#endif // defined(GL_MAX_TEXTURE_UNITS) 1605#if defined(GL_MAX_VERTEX_UNITS_OES) 1606 case GL_MAX_VERTEX_UNITS_OES: 1607#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1608#if defined(GL_MODELVIEW_STACK_DEPTH) 1609 case GL_MODELVIEW_STACK_DEPTH: 1610#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1611#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1612 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1613#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1614#if defined(GL_NORMAL_ARRAY_STRIDE) 1615 case GL_NORMAL_ARRAY_STRIDE: 1616#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1617#if defined(GL_NORMAL_ARRAY_TYPE) 1618 case GL_NORMAL_ARRAY_TYPE: 1619#endif // defined(GL_NORMAL_ARRAY_TYPE) 1620#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1621 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1622#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1623#if defined(GL_PACK_ALIGNMENT) 1624 case GL_PACK_ALIGNMENT: 1625#endif // defined(GL_PACK_ALIGNMENT) 1626#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1627 case GL_PERSPECTIVE_CORRECTION_HINT: 1628#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1629#if defined(GL_POINT_SIZE) 1630 case GL_POINT_SIZE: 1631#endif // defined(GL_POINT_SIZE) 1632#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1633 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1634#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1635#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1636 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1637#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1638#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1639 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1640#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1641#if defined(GL_POINT_SMOOTH_HINT) 1642 case GL_POINT_SMOOTH_HINT: 1643#endif // defined(GL_POINT_SMOOTH_HINT) 1644#if defined(GL_POLYGON_OFFSET_FACTOR) 1645 case GL_POLYGON_OFFSET_FACTOR: 1646#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1647#if defined(GL_POLYGON_OFFSET_UNITS) 1648 case GL_POLYGON_OFFSET_UNITS: 1649#endif // defined(GL_POLYGON_OFFSET_UNITS) 1650#if defined(GL_PROJECTION_STACK_DEPTH) 1651 case GL_PROJECTION_STACK_DEPTH: 1652#endif // defined(GL_PROJECTION_STACK_DEPTH) 1653#if defined(GL_RED_BITS) 1654 case GL_RED_BITS: 1655#endif // defined(GL_RED_BITS) 1656#if defined(GL_SHADE_MODEL) 1657 case GL_SHADE_MODEL: 1658#endif // defined(GL_SHADE_MODEL) 1659#if defined(GL_STENCIL_BITS) 1660 case GL_STENCIL_BITS: 1661#endif // defined(GL_STENCIL_BITS) 1662#if defined(GL_STENCIL_CLEAR_VALUE) 1663 case GL_STENCIL_CLEAR_VALUE: 1664#endif // defined(GL_STENCIL_CLEAR_VALUE) 1665#if defined(GL_STENCIL_FAIL) 1666 case GL_STENCIL_FAIL: 1667#endif // defined(GL_STENCIL_FAIL) 1668#if defined(GL_STENCIL_FUNC) 1669 case GL_STENCIL_FUNC: 1670#endif // defined(GL_STENCIL_FUNC) 1671#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1672 case GL_STENCIL_PASS_DEPTH_FAIL: 1673#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1674#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1675 case GL_STENCIL_PASS_DEPTH_PASS: 1676#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1677#if defined(GL_STENCIL_REF) 1678 case GL_STENCIL_REF: 1679#endif // defined(GL_STENCIL_REF) 1680#if defined(GL_STENCIL_VALUE_MASK) 1681 case GL_STENCIL_VALUE_MASK: 1682#endif // defined(GL_STENCIL_VALUE_MASK) 1683#if defined(GL_STENCIL_WRITEMASK) 1684 case GL_STENCIL_WRITEMASK: 1685#endif // defined(GL_STENCIL_WRITEMASK) 1686#if defined(GL_SUBPIXEL_BITS) 1687 case GL_SUBPIXEL_BITS: 1688#endif // defined(GL_SUBPIXEL_BITS) 1689#if defined(GL_TEXTURE_BINDING_2D) 1690 case GL_TEXTURE_BINDING_2D: 1691#endif // defined(GL_TEXTURE_BINDING_2D) 1692#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1693 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1694#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1695#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1696 case GL_TEXTURE_COORD_ARRAY_SIZE: 1697#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1698#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1699 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1700#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1701#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1702 case GL_TEXTURE_COORD_ARRAY_TYPE: 1703#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1704#if defined(GL_TEXTURE_STACK_DEPTH) 1705 case GL_TEXTURE_STACK_DEPTH: 1706#endif // defined(GL_TEXTURE_STACK_DEPTH) 1707#if defined(GL_UNPACK_ALIGNMENT) 1708 case GL_UNPACK_ALIGNMENT: 1709#endif // defined(GL_UNPACK_ALIGNMENT) 1710#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1711 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1712#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1713#if defined(GL_VERTEX_ARRAY_SIZE) 1714 case GL_VERTEX_ARRAY_SIZE: 1715#endif // defined(GL_VERTEX_ARRAY_SIZE) 1716#if defined(GL_VERTEX_ARRAY_STRIDE) 1717 case GL_VERTEX_ARRAY_STRIDE: 1718#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1719#if defined(GL_VERTEX_ARRAY_TYPE) 1720 case GL_VERTEX_ARRAY_TYPE: 1721#endif // defined(GL_VERTEX_ARRAY_TYPE) 1722#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1723 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1724#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1725#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1726 case GL_WEIGHT_ARRAY_SIZE_OES: 1727#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1728#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1729 case GL_WEIGHT_ARRAY_STRIDE_OES: 1730#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1731#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1732 case GL_WEIGHT_ARRAY_TYPE_OES: 1733#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1734 _needed = 1; 1735 break; 1736#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1737 case GL_ALIASED_POINT_SIZE_RANGE: 1738#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1739#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1740 case GL_ALIASED_LINE_WIDTH_RANGE: 1741#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1742#if defined(GL_DEPTH_RANGE) 1743 case GL_DEPTH_RANGE: 1744#endif // defined(GL_DEPTH_RANGE) 1745#if defined(GL_MAX_VIEWPORT_DIMS) 1746 case GL_MAX_VIEWPORT_DIMS: 1747#endif // defined(GL_MAX_VIEWPORT_DIMS) 1748#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1749 case GL_SMOOTH_LINE_WIDTH_RANGE: 1750#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1751#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1752 case GL_SMOOTH_POINT_SIZE_RANGE: 1753#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1754 _needed = 2; 1755 break; 1756#if defined(GL_COLOR_CLEAR_VALUE) 1757 case GL_COLOR_CLEAR_VALUE: 1758#endif // defined(GL_COLOR_CLEAR_VALUE) 1759#if defined(GL_COLOR_WRITEMASK) 1760 case GL_COLOR_WRITEMASK: 1761#endif // defined(GL_COLOR_WRITEMASK) 1762#if defined(GL_FOG_COLOR) 1763 case GL_FOG_COLOR: 1764#endif // defined(GL_FOG_COLOR) 1765#if defined(GL_LIGHT_MODEL_AMBIENT) 1766 case GL_LIGHT_MODEL_AMBIENT: 1767#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1768#if defined(GL_SCISSOR_BOX) 1769 case GL_SCISSOR_BOX: 1770#endif // defined(GL_SCISSOR_BOX) 1771#if defined(GL_VIEWPORT) 1772 case GL_VIEWPORT: 1773#endif // defined(GL_VIEWPORT) 1774 _needed = 4; 1775 break; 1776#if defined(GL_MODELVIEW_MATRIX) 1777 case GL_MODELVIEW_MATRIX: 1778#endif // defined(GL_MODELVIEW_MATRIX) 1779#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1780 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1781#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1782#if defined(GL_PROJECTION_MATRIX) 1783 case GL_PROJECTION_MATRIX: 1784#endif // defined(GL_PROJECTION_MATRIX) 1785#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1786 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1787#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1788#if defined(GL_TEXTURE_MATRIX) 1789 case GL_TEXTURE_MATRIX: 1790#endif // defined(GL_TEXTURE_MATRIX) 1791#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1792 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1793#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1794 _needed = 16; 1795 break; 1796#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1797 case GL_COMPRESSED_TEXTURE_FORMATS: 1798#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1799 _needed = getNumCompressedTextureFormats(); 1800 break; 1801 default: 1802 _needed = 0; 1803 break; 1804 } 1805 if (_remaining < _needed) { 1806 _exception = 1; 1807 _env->ThrowNew(IAEClass, "remaining() < needed"); 1808 goto exit; 1809 } 1810 glGetIntegerv( 1811 (GLenum)pname, 1812 (GLint *)params 1813 ); 1814 1815exit: 1816 if (_array) { 1817 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1818 } 1819} 1820 1821#include <string.h> 1822 1823/* const GLubyte * glGetString ( GLenum name ) */ 1824static 1825jstring 1826android_glGetString 1827 (JNIEnv *_env, jobject _this, jint name) { 1828 const char * chars = (const char *)glGetString((GLenum)name); 1829 jstring output = _env->NewStringUTF(chars); 1830 return output; 1831} 1832/* void glHint ( GLenum target, GLenum mode ) */ 1833static void 1834android_glHint__II 1835 (JNIEnv *_env, jobject _this, jint target, jint mode) { 1836 glHint( 1837 (GLenum)target, 1838 (GLenum)mode 1839 ); 1840} 1841 1842/* void glLightModelf ( GLenum pname, GLfloat param ) */ 1843static void 1844android_glLightModelf__IF 1845 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 1846 glLightModelf( 1847 (GLenum)pname, 1848 (GLfloat)param 1849 ); 1850} 1851 1852/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 1853static void 1854android_glLightModelfv__I_3FI 1855 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 1856 GLfloat *params_base = (GLfloat *) 0; 1857 jint _remaining; 1858 GLfloat *params = (GLfloat *) 0; 1859 1860 if (!params_ref) { 1861 _env->ThrowNew(IAEClass, "params == null"); 1862 goto exit; 1863 } 1864 if (offset < 0) { 1865 _env->ThrowNew(IAEClass, "offset < 0"); 1866 goto exit; 1867 } 1868 _remaining = _env->GetArrayLength(params_ref) - offset; 1869 int _needed; 1870 switch (pname) { 1871#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1872 case GL_LIGHT_MODEL_TWO_SIDE: 1873#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1874 _needed = 1; 1875 break; 1876#if defined(GL_LIGHT_MODEL_AMBIENT) 1877 case GL_LIGHT_MODEL_AMBIENT: 1878#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1879 _needed = 4; 1880 break; 1881 default: 1882 _needed = 0; 1883 break; 1884 } 1885 if (_remaining < _needed) { 1886 _env->ThrowNew(IAEClass, "length - offset < needed"); 1887 goto exit; 1888 } 1889 params_base = (GLfloat *) 1890 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1891 params = params_base + offset; 1892 1893 glLightModelfv( 1894 (GLenum)pname, 1895 (GLfloat *)params 1896 ); 1897 1898exit: 1899 if (params_base) { 1900 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1901 JNI_ABORT); 1902 } 1903} 1904 1905/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 1906static void 1907android_glLightModelfv__ILjava_nio_FloatBuffer_2 1908 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1909 jarray _array = (jarray) 0; 1910 jint _remaining; 1911 GLfloat *params = (GLfloat *) 0; 1912 1913 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1914 int _needed; 1915 switch (pname) { 1916#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1917 case GL_LIGHT_MODEL_TWO_SIDE: 1918#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1919 _needed = 1; 1920 break; 1921#if defined(GL_LIGHT_MODEL_AMBIENT) 1922 case GL_LIGHT_MODEL_AMBIENT: 1923#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1924 _needed = 4; 1925 break; 1926 default: 1927 _needed = 0; 1928 break; 1929 } 1930 if (_remaining < _needed) { 1931 _env->ThrowNew(IAEClass, "remaining() < needed"); 1932 goto exit; 1933 } 1934 glLightModelfv( 1935 (GLenum)pname, 1936 (GLfloat *)params 1937 ); 1938 1939exit: 1940 if (_array) { 1941 releasePointer(_env, _array, params, JNI_FALSE); 1942 } 1943} 1944 1945/* void glLightModelx ( GLenum pname, GLfixed param ) */ 1946static void 1947android_glLightModelx__II 1948 (JNIEnv *_env, jobject _this, jint pname, jint param) { 1949 glLightModelx( 1950 (GLenum)pname, 1951 (GLfixed)param 1952 ); 1953} 1954 1955/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 1956static void 1957android_glLightModelxv__I_3II 1958 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1959 GLfixed *params_base = (GLfixed *) 0; 1960 jint _remaining; 1961 GLfixed *params = (GLfixed *) 0; 1962 1963 if (!params_ref) { 1964 _env->ThrowNew(IAEClass, "params == null"); 1965 goto exit; 1966 } 1967 if (offset < 0) { 1968 _env->ThrowNew(IAEClass, "offset < 0"); 1969 goto exit; 1970 } 1971 _remaining = _env->GetArrayLength(params_ref) - offset; 1972 int _needed; 1973 switch (pname) { 1974#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1975 case GL_LIGHT_MODEL_TWO_SIDE: 1976#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1977 _needed = 1; 1978 break; 1979#if defined(GL_LIGHT_MODEL_AMBIENT) 1980 case GL_LIGHT_MODEL_AMBIENT: 1981#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1982 _needed = 4; 1983 break; 1984 default: 1985 _needed = 0; 1986 break; 1987 } 1988 if (_remaining < _needed) { 1989 _env->ThrowNew(IAEClass, "length - offset < needed"); 1990 goto exit; 1991 } 1992 params_base = (GLfixed *) 1993 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1994 params = params_base + offset; 1995 1996 glLightModelxv( 1997 (GLenum)pname, 1998 (GLfixed *)params 1999 ); 2000 2001exit: 2002 if (params_base) { 2003 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2004 JNI_ABORT); 2005 } 2006} 2007 2008/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 2009static void 2010android_glLightModelxv__ILjava_nio_IntBuffer_2 2011 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 2012 jarray _array = (jarray) 0; 2013 jint _remaining; 2014 GLfixed *params = (GLfixed *) 0; 2015 2016 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2017 int _needed; 2018 switch (pname) { 2019#if defined(GL_LIGHT_MODEL_TWO_SIDE) 2020 case GL_LIGHT_MODEL_TWO_SIDE: 2021#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 2022 _needed = 1; 2023 break; 2024#if defined(GL_LIGHT_MODEL_AMBIENT) 2025 case GL_LIGHT_MODEL_AMBIENT: 2026#endif // defined(GL_LIGHT_MODEL_AMBIENT) 2027 _needed = 4; 2028 break; 2029 default: 2030 _needed = 0; 2031 break; 2032 } 2033 if (_remaining < _needed) { 2034 _env->ThrowNew(IAEClass, "remaining() < needed"); 2035 goto exit; 2036 } 2037 glLightModelxv( 2038 (GLenum)pname, 2039 (GLfixed *)params 2040 ); 2041 2042exit: 2043 if (_array) { 2044 releasePointer(_env, _array, params, JNI_FALSE); 2045 } 2046} 2047 2048/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ 2049static void 2050android_glLightf__IIF 2051 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { 2052 glLightf( 2053 (GLenum)light, 2054 (GLenum)pname, 2055 (GLfloat)param 2056 ); 2057} 2058 2059/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 2060static void 2061android_glLightfv__II_3FI 2062 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 2063 GLfloat *params_base = (GLfloat *) 0; 2064 jint _remaining; 2065 GLfloat *params = (GLfloat *) 0; 2066 2067 if (!params_ref) { 2068 _env->ThrowNew(IAEClass, "params == null"); 2069 goto exit; 2070 } 2071 if (offset < 0) { 2072 _env->ThrowNew(IAEClass, "offset < 0"); 2073 goto exit; 2074 } 2075 _remaining = _env->GetArrayLength(params_ref) - offset; 2076 int _needed; 2077 switch (pname) { 2078#if defined(GL_SPOT_EXPONENT) 2079 case GL_SPOT_EXPONENT: 2080#endif // defined(GL_SPOT_EXPONENT) 2081#if defined(GL_SPOT_CUTOFF) 2082 case GL_SPOT_CUTOFF: 2083#endif // defined(GL_SPOT_CUTOFF) 2084#if defined(GL_CONSTANT_ATTENUATION) 2085 case GL_CONSTANT_ATTENUATION: 2086#endif // defined(GL_CONSTANT_ATTENUATION) 2087#if defined(GL_LINEAR_ATTENUATION) 2088 case GL_LINEAR_ATTENUATION: 2089#endif // defined(GL_LINEAR_ATTENUATION) 2090#if defined(GL_QUADRATIC_ATTENUATION) 2091 case GL_QUADRATIC_ATTENUATION: 2092#endif // defined(GL_QUADRATIC_ATTENUATION) 2093 _needed = 1; 2094 break; 2095#if defined(GL_SPOT_DIRECTION) 2096 case GL_SPOT_DIRECTION: 2097#endif // defined(GL_SPOT_DIRECTION) 2098 _needed = 3; 2099 break; 2100#if defined(GL_AMBIENT) 2101 case GL_AMBIENT: 2102#endif // defined(GL_AMBIENT) 2103#if defined(GL_DIFFUSE) 2104 case GL_DIFFUSE: 2105#endif // defined(GL_DIFFUSE) 2106#if defined(GL_SPECULAR) 2107 case GL_SPECULAR: 2108#endif // defined(GL_SPECULAR) 2109#if defined(GL_EMISSION) 2110 case GL_EMISSION: 2111#endif // defined(GL_EMISSION) 2112 _needed = 4; 2113 break; 2114 default: 2115 _needed = 0; 2116 break; 2117 } 2118 if (_remaining < _needed) { 2119 _env->ThrowNew(IAEClass, "length - offset < needed"); 2120 goto exit; 2121 } 2122 params_base = (GLfloat *) 2123 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2124 params = params_base + offset; 2125 2126 glLightfv( 2127 (GLenum)light, 2128 (GLenum)pname, 2129 (GLfloat *)params 2130 ); 2131 2132exit: 2133 if (params_base) { 2134 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2135 JNI_ABORT); 2136 } 2137} 2138 2139/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 2140static void 2141android_glLightfv__IILjava_nio_FloatBuffer_2 2142 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 2143 jarray _array = (jarray) 0; 2144 jint _remaining; 2145 GLfloat *params = (GLfloat *) 0; 2146 2147 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2148 int _needed; 2149 switch (pname) { 2150#if defined(GL_SPOT_EXPONENT) 2151 case GL_SPOT_EXPONENT: 2152#endif // defined(GL_SPOT_EXPONENT) 2153#if defined(GL_SPOT_CUTOFF) 2154 case GL_SPOT_CUTOFF: 2155#endif // defined(GL_SPOT_CUTOFF) 2156#if defined(GL_CONSTANT_ATTENUATION) 2157 case GL_CONSTANT_ATTENUATION: 2158#endif // defined(GL_CONSTANT_ATTENUATION) 2159#if defined(GL_LINEAR_ATTENUATION) 2160 case GL_LINEAR_ATTENUATION: 2161#endif // defined(GL_LINEAR_ATTENUATION) 2162#if defined(GL_QUADRATIC_ATTENUATION) 2163 case GL_QUADRATIC_ATTENUATION: 2164#endif // defined(GL_QUADRATIC_ATTENUATION) 2165 _needed = 1; 2166 break; 2167#if defined(GL_SPOT_DIRECTION) 2168 case GL_SPOT_DIRECTION: 2169#endif // defined(GL_SPOT_DIRECTION) 2170 _needed = 3; 2171 break; 2172#if defined(GL_AMBIENT) 2173 case GL_AMBIENT: 2174#endif // defined(GL_AMBIENT) 2175#if defined(GL_DIFFUSE) 2176 case GL_DIFFUSE: 2177#endif // defined(GL_DIFFUSE) 2178#if defined(GL_SPECULAR) 2179 case GL_SPECULAR: 2180#endif // defined(GL_SPECULAR) 2181#if defined(GL_EMISSION) 2182 case GL_EMISSION: 2183#endif // defined(GL_EMISSION) 2184 _needed = 4; 2185 break; 2186 default: 2187 _needed = 0; 2188 break; 2189 } 2190 if (_remaining < _needed) { 2191 _env->ThrowNew(IAEClass, "remaining() < needed"); 2192 goto exit; 2193 } 2194 glLightfv( 2195 (GLenum)light, 2196 (GLenum)pname, 2197 (GLfloat *)params 2198 ); 2199 2200exit: 2201 if (_array) { 2202 releasePointer(_env, _array, params, JNI_FALSE); 2203 } 2204} 2205 2206/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ 2207static void 2208android_glLightx__III 2209 (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 2210 glLightx( 2211 (GLenum)light, 2212 (GLenum)pname, 2213 (GLfixed)param 2214 ); 2215} 2216 2217/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 2218static void 2219android_glLightxv__II_3II 2220 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 2221 GLfixed *params_base = (GLfixed *) 0; 2222 jint _remaining; 2223 GLfixed *params = (GLfixed *) 0; 2224 2225 if (!params_ref) { 2226 _env->ThrowNew(IAEClass, "params == null"); 2227 goto exit; 2228 } 2229 if (offset < 0) { 2230 _env->ThrowNew(IAEClass, "offset < 0"); 2231 goto exit; 2232 } 2233 _remaining = _env->GetArrayLength(params_ref) - offset; 2234 int _needed; 2235 switch (pname) { 2236#if defined(GL_SPOT_EXPONENT) 2237 case GL_SPOT_EXPONENT: 2238#endif // defined(GL_SPOT_EXPONENT) 2239#if defined(GL_SPOT_CUTOFF) 2240 case GL_SPOT_CUTOFF: 2241#endif // defined(GL_SPOT_CUTOFF) 2242#if defined(GL_CONSTANT_ATTENUATION) 2243 case GL_CONSTANT_ATTENUATION: 2244#endif // defined(GL_CONSTANT_ATTENUATION) 2245#if defined(GL_LINEAR_ATTENUATION) 2246 case GL_LINEAR_ATTENUATION: 2247#endif // defined(GL_LINEAR_ATTENUATION) 2248#if defined(GL_QUADRATIC_ATTENUATION) 2249 case GL_QUADRATIC_ATTENUATION: 2250#endif // defined(GL_QUADRATIC_ATTENUATION) 2251 _needed = 1; 2252 break; 2253#if defined(GL_SPOT_DIRECTION) 2254 case GL_SPOT_DIRECTION: 2255#endif // defined(GL_SPOT_DIRECTION) 2256 _needed = 3; 2257 break; 2258#if defined(GL_AMBIENT) 2259 case GL_AMBIENT: 2260#endif // defined(GL_AMBIENT) 2261#if defined(GL_DIFFUSE) 2262 case GL_DIFFUSE: 2263#endif // defined(GL_DIFFUSE) 2264#if defined(GL_SPECULAR) 2265 case GL_SPECULAR: 2266#endif // defined(GL_SPECULAR) 2267#if defined(GL_EMISSION) 2268 case GL_EMISSION: 2269#endif // defined(GL_EMISSION) 2270 _needed = 4; 2271 break; 2272 default: 2273 _needed = 0; 2274 break; 2275 } 2276 if (_remaining < _needed) { 2277 _env->ThrowNew(IAEClass, "length - offset < needed"); 2278 goto exit; 2279 } 2280 params_base = (GLfixed *) 2281 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2282 params = params_base + offset; 2283 2284 glLightxv( 2285 (GLenum)light, 2286 (GLenum)pname, 2287 (GLfixed *)params 2288 ); 2289 2290exit: 2291 if (params_base) { 2292 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2293 JNI_ABORT); 2294 } 2295} 2296 2297/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 2298static void 2299android_glLightxv__IILjava_nio_IntBuffer_2 2300 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 2301 jarray _array = (jarray) 0; 2302 jint _remaining; 2303 GLfixed *params = (GLfixed *) 0; 2304 2305 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2306 int _needed; 2307 switch (pname) { 2308#if defined(GL_SPOT_EXPONENT) 2309 case GL_SPOT_EXPONENT: 2310#endif // defined(GL_SPOT_EXPONENT) 2311#if defined(GL_SPOT_CUTOFF) 2312 case GL_SPOT_CUTOFF: 2313#endif // defined(GL_SPOT_CUTOFF) 2314#if defined(GL_CONSTANT_ATTENUATION) 2315 case GL_CONSTANT_ATTENUATION: 2316#endif // defined(GL_CONSTANT_ATTENUATION) 2317#if defined(GL_LINEAR_ATTENUATION) 2318 case GL_LINEAR_ATTENUATION: 2319#endif // defined(GL_LINEAR_ATTENUATION) 2320#if defined(GL_QUADRATIC_ATTENUATION) 2321 case GL_QUADRATIC_ATTENUATION: 2322#endif // defined(GL_QUADRATIC_ATTENUATION) 2323 _needed = 1; 2324 break; 2325#if defined(GL_SPOT_DIRECTION) 2326 case GL_SPOT_DIRECTION: 2327#endif // defined(GL_SPOT_DIRECTION) 2328 _needed = 3; 2329 break; 2330#if defined(GL_AMBIENT) 2331 case GL_AMBIENT: 2332#endif // defined(GL_AMBIENT) 2333#if defined(GL_DIFFUSE) 2334 case GL_DIFFUSE: 2335#endif // defined(GL_DIFFUSE) 2336#if defined(GL_SPECULAR) 2337 case GL_SPECULAR: 2338#endif // defined(GL_SPECULAR) 2339#if defined(GL_EMISSION) 2340 case GL_EMISSION: 2341#endif // defined(GL_EMISSION) 2342 _needed = 4; 2343 break; 2344 default: 2345 _needed = 0; 2346 break; 2347 } 2348 if (_remaining < _needed) { 2349 _env->ThrowNew(IAEClass, "remaining() < needed"); 2350 goto exit; 2351 } 2352 glLightxv( 2353 (GLenum)light, 2354 (GLenum)pname, 2355 (GLfixed *)params 2356 ); 2357 2358exit: 2359 if (_array) { 2360 releasePointer(_env, _array, params, JNI_FALSE); 2361 } 2362} 2363 2364/* void glLineWidth ( GLfloat width ) */ 2365static void 2366android_glLineWidth__F 2367 (JNIEnv *_env, jobject _this, jfloat width) { 2368 glLineWidth( 2369 (GLfloat)width 2370 ); 2371} 2372 2373/* void glLineWidthx ( GLfixed width ) */ 2374static void 2375android_glLineWidthx__I 2376 (JNIEnv *_env, jobject _this, jint width) { 2377 glLineWidthx( 2378 (GLfixed)width 2379 ); 2380} 2381 2382/* void glLoadIdentity ( void ) */ 2383static void 2384android_glLoadIdentity__ 2385 (JNIEnv *_env, jobject _this) { 2386 glLoadIdentity(); 2387} 2388 2389/* void glLoadMatrixf ( const GLfloat *m ) */ 2390static void 2391android_glLoadMatrixf___3FI 2392 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 2393 GLfloat *m_base = (GLfloat *) 0; 2394 jint _remaining; 2395 GLfloat *m = (GLfloat *) 0; 2396 2397 if (!m_ref) { 2398 _env->ThrowNew(IAEClass, "m == null"); 2399 goto exit; 2400 } 2401 if (offset < 0) { 2402 _env->ThrowNew(IAEClass, "offset < 0"); 2403 goto exit; 2404 } 2405 _remaining = _env->GetArrayLength(m_ref) - offset; 2406 m_base = (GLfloat *) 2407 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2408 m = m_base + offset; 2409 2410 glLoadMatrixf( 2411 (GLfloat *)m 2412 ); 2413 2414exit: 2415 if (m_base) { 2416 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2417 JNI_ABORT); 2418 } 2419} 2420 2421/* void glLoadMatrixf ( const GLfloat *m ) */ 2422static void 2423android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 2424 (JNIEnv *_env, jobject _this, jobject m_buf) { 2425 jarray _array = (jarray) 0; 2426 jint _remaining; 2427 GLfloat *m = (GLfloat *) 0; 2428 2429 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 2430 glLoadMatrixf( 2431 (GLfloat *)m 2432 ); 2433 if (_array) { 2434 releasePointer(_env, _array, m, JNI_FALSE); 2435 } 2436} 2437 2438/* void glLoadMatrixx ( const GLfixed *m ) */ 2439static void 2440android_glLoadMatrixx___3II 2441 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 2442 GLfixed *m_base = (GLfixed *) 0; 2443 jint _remaining; 2444 GLfixed *m = (GLfixed *) 0; 2445 2446 if (!m_ref) { 2447 _env->ThrowNew(IAEClass, "m == null"); 2448 goto exit; 2449 } 2450 if (offset < 0) { 2451 _env->ThrowNew(IAEClass, "offset < 0"); 2452 goto exit; 2453 } 2454 _remaining = _env->GetArrayLength(m_ref) - offset; 2455 m_base = (GLfixed *) 2456 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2457 m = m_base + offset; 2458 2459 glLoadMatrixx( 2460 (GLfixed *)m 2461 ); 2462 2463exit: 2464 if (m_base) { 2465 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2466 JNI_ABORT); 2467 } 2468} 2469 2470/* void glLoadMatrixx ( const GLfixed *m ) */ 2471static void 2472android_glLoadMatrixx__Ljava_nio_IntBuffer_2 2473 (JNIEnv *_env, jobject _this, jobject m_buf) { 2474 jarray _array = (jarray) 0; 2475 jint _remaining; 2476 GLfixed *m = (GLfixed *) 0; 2477 2478 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 2479 glLoadMatrixx( 2480 (GLfixed *)m 2481 ); 2482 if (_array) { 2483 releasePointer(_env, _array, m, JNI_FALSE); 2484 } 2485} 2486 2487/* void glLogicOp ( GLenum opcode ) */ 2488static void 2489android_glLogicOp__I 2490 (JNIEnv *_env, jobject _this, jint opcode) { 2491 glLogicOp( 2492 (GLenum)opcode 2493 ); 2494} 2495 2496/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ 2497static void 2498android_glMaterialf__IIF 2499 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { 2500 glMaterialf( 2501 (GLenum)face, 2502 (GLenum)pname, 2503 (GLfloat)param 2504 ); 2505} 2506 2507/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 2508static void 2509android_glMaterialfv__II_3FI 2510 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 2511 GLfloat *params_base = (GLfloat *) 0; 2512 jint _remaining; 2513 GLfloat *params = (GLfloat *) 0; 2514 2515 if (!params_ref) { 2516 _env->ThrowNew(IAEClass, "params == null"); 2517 goto exit; 2518 } 2519 if (offset < 0) { 2520 _env->ThrowNew(IAEClass, "offset < 0"); 2521 goto exit; 2522 } 2523 _remaining = _env->GetArrayLength(params_ref) - offset; 2524 int _needed; 2525 switch (pname) { 2526#if defined(GL_SHININESS) 2527 case GL_SHININESS: 2528#endif // defined(GL_SHININESS) 2529 _needed = 1; 2530 break; 2531#if defined(GL_AMBIENT) 2532 case GL_AMBIENT: 2533#endif // defined(GL_AMBIENT) 2534#if defined(GL_DIFFUSE) 2535 case GL_DIFFUSE: 2536#endif // defined(GL_DIFFUSE) 2537#if defined(GL_SPECULAR) 2538 case GL_SPECULAR: 2539#endif // defined(GL_SPECULAR) 2540#if defined(GL_EMISSION) 2541 case GL_EMISSION: 2542#endif // defined(GL_EMISSION) 2543#if defined(GL_AMBIENT_AND_DIFFUSE) 2544 case GL_AMBIENT_AND_DIFFUSE: 2545#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2546 _needed = 4; 2547 break; 2548 default: 2549 _needed = 0; 2550 break; 2551 } 2552 if (_remaining < _needed) { 2553 _env->ThrowNew(IAEClass, "length - offset < needed"); 2554 goto exit; 2555 } 2556 params_base = (GLfloat *) 2557 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2558 params = params_base + offset; 2559 2560 glMaterialfv( 2561 (GLenum)face, 2562 (GLenum)pname, 2563 (GLfloat *)params 2564 ); 2565 2566exit: 2567 if (params_base) { 2568 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2569 JNI_ABORT); 2570 } 2571} 2572 2573/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 2574static void 2575android_glMaterialfv__IILjava_nio_FloatBuffer_2 2576 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 2577 jarray _array = (jarray) 0; 2578 jint _remaining; 2579 GLfloat *params = (GLfloat *) 0; 2580 2581 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2582 int _needed; 2583 switch (pname) { 2584#if defined(GL_SHININESS) 2585 case GL_SHININESS: 2586#endif // defined(GL_SHININESS) 2587 _needed = 1; 2588 break; 2589#if defined(GL_AMBIENT) 2590 case GL_AMBIENT: 2591#endif // defined(GL_AMBIENT) 2592#if defined(GL_DIFFUSE) 2593 case GL_DIFFUSE: 2594#endif // defined(GL_DIFFUSE) 2595#if defined(GL_SPECULAR) 2596 case GL_SPECULAR: 2597#endif // defined(GL_SPECULAR) 2598#if defined(GL_EMISSION) 2599 case GL_EMISSION: 2600#endif // defined(GL_EMISSION) 2601#if defined(GL_AMBIENT_AND_DIFFUSE) 2602 case GL_AMBIENT_AND_DIFFUSE: 2603#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2604 _needed = 4; 2605 break; 2606 default: 2607 _needed = 0; 2608 break; 2609 } 2610 if (_remaining < _needed) { 2611 _env->ThrowNew(IAEClass, "remaining() < needed"); 2612 goto exit; 2613 } 2614 glMaterialfv( 2615 (GLenum)face, 2616 (GLenum)pname, 2617 (GLfloat *)params 2618 ); 2619 2620exit: 2621 if (_array) { 2622 releasePointer(_env, _array, params, JNI_FALSE); 2623 } 2624} 2625 2626/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ 2627static void 2628android_glMaterialx__III 2629 (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 2630 glMaterialx( 2631 (GLenum)face, 2632 (GLenum)pname, 2633 (GLfixed)param 2634 ); 2635} 2636 2637/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 2638static void 2639android_glMaterialxv__II_3II 2640 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 2641 GLfixed *params_base = (GLfixed *) 0; 2642 jint _remaining; 2643 GLfixed *params = (GLfixed *) 0; 2644 2645 if (!params_ref) { 2646 _env->ThrowNew(IAEClass, "params == null"); 2647 goto exit; 2648 } 2649 if (offset < 0) { 2650 _env->ThrowNew(IAEClass, "offset < 0"); 2651 goto exit; 2652 } 2653 _remaining = _env->GetArrayLength(params_ref) - offset; 2654 int _needed; 2655 switch (pname) { 2656#if defined(GL_SHININESS) 2657 case GL_SHININESS: 2658#endif // defined(GL_SHININESS) 2659 _needed = 1; 2660 break; 2661#if defined(GL_AMBIENT) 2662 case GL_AMBIENT: 2663#endif // defined(GL_AMBIENT) 2664#if defined(GL_DIFFUSE) 2665 case GL_DIFFUSE: 2666#endif // defined(GL_DIFFUSE) 2667#if defined(GL_SPECULAR) 2668 case GL_SPECULAR: 2669#endif // defined(GL_SPECULAR) 2670#if defined(GL_EMISSION) 2671 case GL_EMISSION: 2672#endif // defined(GL_EMISSION) 2673#if defined(GL_AMBIENT_AND_DIFFUSE) 2674 case GL_AMBIENT_AND_DIFFUSE: 2675#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2676 _needed = 4; 2677 break; 2678 default: 2679 _needed = 0; 2680 break; 2681 } 2682 if (_remaining < _needed) { 2683 _env->ThrowNew(IAEClass, "length - offset < needed"); 2684 goto exit; 2685 } 2686 params_base = (GLfixed *) 2687 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2688 params = params_base + offset; 2689 2690 glMaterialxv( 2691 (GLenum)face, 2692 (GLenum)pname, 2693 (GLfixed *)params 2694 ); 2695 2696exit: 2697 if (params_base) { 2698 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2699 JNI_ABORT); 2700 } 2701} 2702 2703/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 2704static void 2705android_glMaterialxv__IILjava_nio_IntBuffer_2 2706 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 2707 jarray _array = (jarray) 0; 2708 jint _remaining; 2709 GLfixed *params = (GLfixed *) 0; 2710 2711 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2712 int _needed; 2713 switch (pname) { 2714#if defined(GL_SHININESS) 2715 case GL_SHININESS: 2716#endif // defined(GL_SHININESS) 2717 _needed = 1; 2718 break; 2719#if defined(GL_AMBIENT) 2720 case GL_AMBIENT: 2721#endif // defined(GL_AMBIENT) 2722#if defined(GL_DIFFUSE) 2723 case GL_DIFFUSE: 2724#endif // defined(GL_DIFFUSE) 2725#if defined(GL_SPECULAR) 2726 case GL_SPECULAR: 2727#endif // defined(GL_SPECULAR) 2728#if defined(GL_EMISSION) 2729 case GL_EMISSION: 2730#endif // defined(GL_EMISSION) 2731#if defined(GL_AMBIENT_AND_DIFFUSE) 2732 case GL_AMBIENT_AND_DIFFUSE: 2733#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2734 _needed = 4; 2735 break; 2736 default: 2737 _needed = 0; 2738 break; 2739 } 2740 if (_remaining < _needed) { 2741 _env->ThrowNew(IAEClass, "remaining() < needed"); 2742 goto exit; 2743 } 2744 glMaterialxv( 2745 (GLenum)face, 2746 (GLenum)pname, 2747 (GLfixed *)params 2748 ); 2749 2750exit: 2751 if (_array) { 2752 releasePointer(_env, _array, params, JNI_FALSE); 2753 } 2754} 2755 2756/* void glMatrixMode ( GLenum mode ) */ 2757static void 2758android_glMatrixMode__I 2759 (JNIEnv *_env, jobject _this, jint mode) { 2760 glMatrixMode( 2761 (GLenum)mode 2762 ); 2763} 2764 2765/* void glMultMatrixf ( const GLfloat *m ) */ 2766static void 2767android_glMultMatrixf___3FI 2768 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 2769 GLfloat *m_base = (GLfloat *) 0; 2770 jint _remaining; 2771 GLfloat *m = (GLfloat *) 0; 2772 2773 if (!m_ref) { 2774 _env->ThrowNew(IAEClass, "m == null"); 2775 goto exit; 2776 } 2777 if (offset < 0) { 2778 _env->ThrowNew(IAEClass, "offset < 0"); 2779 goto exit; 2780 } 2781 _remaining = _env->GetArrayLength(m_ref) - offset; 2782 m_base = (GLfloat *) 2783 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2784 m = m_base + offset; 2785 2786 glMultMatrixf( 2787 (GLfloat *)m 2788 ); 2789 2790exit: 2791 if (m_base) { 2792 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2793 JNI_ABORT); 2794 } 2795} 2796 2797/* void glMultMatrixf ( const GLfloat *m ) */ 2798static void 2799android_glMultMatrixf__Ljava_nio_FloatBuffer_2 2800 (JNIEnv *_env, jobject _this, jobject m_buf) { 2801 jarray _array = (jarray) 0; 2802 jint _remaining; 2803 GLfloat *m = (GLfloat *) 0; 2804 2805 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 2806 glMultMatrixf( 2807 (GLfloat *)m 2808 ); 2809 if (_array) { 2810 releasePointer(_env, _array, m, JNI_FALSE); 2811 } 2812} 2813 2814/* void glMultMatrixx ( const GLfixed *m ) */ 2815static void 2816android_glMultMatrixx___3II 2817 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 2818 GLfixed *m_base = (GLfixed *) 0; 2819 jint _remaining; 2820 GLfixed *m = (GLfixed *) 0; 2821 2822 if (!m_ref) { 2823 _env->ThrowNew(IAEClass, "m == null"); 2824 goto exit; 2825 } 2826 if (offset < 0) { 2827 _env->ThrowNew(IAEClass, "offset < 0"); 2828 goto exit; 2829 } 2830 _remaining = _env->GetArrayLength(m_ref) - offset; 2831 m_base = (GLfixed *) 2832 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2833 m = m_base + offset; 2834 2835 glMultMatrixx( 2836 (GLfixed *)m 2837 ); 2838 2839exit: 2840 if (m_base) { 2841 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2842 JNI_ABORT); 2843 } 2844} 2845 2846/* void glMultMatrixx ( const GLfixed *m ) */ 2847static void 2848android_glMultMatrixx__Ljava_nio_IntBuffer_2 2849 (JNIEnv *_env, jobject _this, jobject m_buf) { 2850 jarray _array = (jarray) 0; 2851 jint _remaining; 2852 GLfixed *m = (GLfixed *) 0; 2853 2854 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 2855 glMultMatrixx( 2856 (GLfixed *)m 2857 ); 2858 if (_array) { 2859 releasePointer(_env, _array, m, JNI_FALSE); 2860 } 2861} 2862 2863/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ 2864static void 2865android_glMultiTexCoord4f__IFFFF 2866 (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { 2867 glMultiTexCoord4f( 2868 (GLenum)target, 2869 (GLfloat)s, 2870 (GLfloat)t, 2871 (GLfloat)r, 2872 (GLfloat)q 2873 ); 2874} 2875 2876/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 2877static void 2878android_glMultiTexCoord4x__IIIII 2879 (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 2880 glMultiTexCoord4x( 2881 (GLenum)target, 2882 (GLfixed)s, 2883 (GLfixed)t, 2884 (GLfixed)r, 2885 (GLfixed)q 2886 ); 2887} 2888 2889/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ 2890static void 2891android_glNormal3f__FFF 2892 (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { 2893 glNormal3f( 2894 (GLfloat)nx, 2895 (GLfloat)ny, 2896 (GLfloat)nz 2897 ); 2898} 2899 2900/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 2901static void 2902android_glNormal3x__III 2903 (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 2904 glNormal3x( 2905 (GLfixed)nx, 2906 (GLfixed)ny, 2907 (GLfixed)nz 2908 ); 2909} 2910 2911/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 2912static void 2913android_glNormalPointerBounds__IILjava_nio_Buffer_2I 2914 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 2915 jarray _array = (jarray) 0; 2916 jint _remaining; 2917 GLvoid *pointer = (GLvoid *) 0; 2918 2919 if (pointer_buf) { 2920 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2921 if ( ! pointer ) { 2922 return; 2923 } 2924 } 2925 glNormalPointerBounds( 2926 (GLenum)type, 2927 (GLsizei)stride, 2928 (GLvoid *)pointer, 2929 (GLsizei)remaining 2930 ); 2931} 2932 2933/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 2934static void 2935android_glOrthof__FFFFFF 2936 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 2937 glOrthof( 2938 (GLfloat)left, 2939 (GLfloat)right, 2940 (GLfloat)bottom, 2941 (GLfloat)top, 2942 (GLfloat)zNear, 2943 (GLfloat)zFar 2944 ); 2945} 2946 2947/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 2948static void 2949android_glOrthox__IIIIII 2950 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 2951 glOrthox( 2952 (GLfixed)left, 2953 (GLfixed)right, 2954 (GLfixed)bottom, 2955 (GLfixed)top, 2956 (GLfixed)zNear, 2957 (GLfixed)zFar 2958 ); 2959} 2960 2961/* void glPixelStorei ( GLenum pname, GLint param ) */ 2962static void 2963android_glPixelStorei__II 2964 (JNIEnv *_env, jobject _this, jint pname, jint param) { 2965 glPixelStorei( 2966 (GLenum)pname, 2967 (GLint)param 2968 ); 2969} 2970 2971/* void glPointSize ( GLfloat size ) */ 2972static void 2973android_glPointSize__F 2974 (JNIEnv *_env, jobject _this, jfloat size) { 2975 glPointSize( 2976 (GLfloat)size 2977 ); 2978} 2979 2980/* void glPointSizex ( GLfixed size ) */ 2981static void 2982android_glPointSizex__I 2983 (JNIEnv *_env, jobject _this, jint size) { 2984 glPointSizex( 2985 (GLfixed)size 2986 ); 2987} 2988 2989/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 2990static void 2991android_glPolygonOffset__FF 2992 (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 2993 glPolygonOffset( 2994 (GLfloat)factor, 2995 (GLfloat)units 2996 ); 2997} 2998 2999/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 3000static void 3001android_glPolygonOffsetx__II 3002 (JNIEnv *_env, jobject _this, jint factor, jint units) { 3003 glPolygonOffsetx( 3004 (GLfixed)factor, 3005 (GLfixed)units 3006 ); 3007} 3008 3009/* void glPopMatrix ( void ) */ 3010static void 3011android_glPopMatrix__ 3012 (JNIEnv *_env, jobject _this) { 3013 glPopMatrix(); 3014} 3015 3016/* void glPushMatrix ( void ) */ 3017static void 3018android_glPushMatrix__ 3019 (JNIEnv *_env, jobject _this) { 3020 glPushMatrix(); 3021} 3022 3023/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 3024static void 3025android_glReadPixels__IIIIIILjava_nio_Buffer_2 3026 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3027 jint _exception = 0; 3028 jarray _array = (jarray) 0; 3029 jint _remaining; 3030 GLvoid *pixels = (GLvoid *) 0; 3031 3032 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3033 glReadPixels( 3034 (GLint)x, 3035 (GLint)y, 3036 (GLsizei)width, 3037 (GLsizei)height, 3038 (GLenum)format, 3039 (GLenum)type, 3040 (GLvoid *)pixels 3041 ); 3042 if (_array) { 3043 releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 3044 } 3045} 3046 3047/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 3048static void 3049android_glRotatef__FFFF 3050 (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 3051 glRotatef( 3052 (GLfloat)angle, 3053 (GLfloat)x, 3054 (GLfloat)y, 3055 (GLfloat)z 3056 ); 3057} 3058 3059/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 3060static void 3061android_glRotatex__IIII 3062 (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 3063 glRotatex( 3064 (GLfixed)angle, 3065 (GLfixed)x, 3066 (GLfixed)y, 3067 (GLfixed)z 3068 ); 3069} 3070 3071/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 3072static void 3073android_glSampleCoverage__FZ 3074 (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 3075 glSampleCoverage( 3076 (GLclampf)value, 3077 (GLboolean)invert 3078 ); 3079} 3080 3081/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 3082static void 3083android_glSampleCoveragex__IZ 3084 (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 3085 glSampleCoveragex( 3086 (GLclampx)value, 3087 (GLboolean)invert 3088 ); 3089} 3090 3091/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 3092static void 3093android_glScalef__FFF 3094 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 3095 glScalef( 3096 (GLfloat)x, 3097 (GLfloat)y, 3098 (GLfloat)z 3099 ); 3100} 3101 3102/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 3103static void 3104android_glScalex__III 3105 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 3106 glScalex( 3107 (GLfixed)x, 3108 (GLfixed)y, 3109 (GLfixed)z 3110 ); 3111} 3112 3113/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3114static void 3115android_glScissor__IIII 3116 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3117 glScissor( 3118 (GLint)x, 3119 (GLint)y, 3120 (GLsizei)width, 3121 (GLsizei)height 3122 ); 3123} 3124 3125/* void glShadeModel ( GLenum mode ) */ 3126static void 3127android_glShadeModel__I 3128 (JNIEnv *_env, jobject _this, jint mode) { 3129 glShadeModel( 3130 (GLenum)mode 3131 ); 3132} 3133 3134/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 3135static void 3136android_glStencilFunc__III 3137 (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 3138 glStencilFunc( 3139 (GLenum)func, 3140 (GLint)ref, 3141 (GLuint)mask 3142 ); 3143} 3144 3145/* void glStencilMask ( GLuint mask ) */ 3146static void 3147android_glStencilMask__I 3148 (JNIEnv *_env, jobject _this, jint mask) { 3149 glStencilMask( 3150 (GLuint)mask 3151 ); 3152} 3153 3154/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 3155static void 3156android_glStencilOp__III 3157 (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 3158 glStencilOp( 3159 (GLenum)fail, 3160 (GLenum)zfail, 3161 (GLenum)zpass 3162 ); 3163} 3164 3165/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3166static void 3167android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 3168 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3169 jarray _array = (jarray) 0; 3170 jint _remaining; 3171 GLvoid *pointer = (GLvoid *) 0; 3172 3173 if (pointer_buf) { 3174 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3175 if ( ! pointer ) { 3176 return; 3177 } 3178 } 3179 glTexCoordPointerBounds( 3180 (GLint)size, 3181 (GLenum)type, 3182 (GLsizei)stride, 3183 (GLvoid *)pointer, 3184 (GLsizei)remaining 3185 ); 3186} 3187 3188/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 3189static void 3190android_glTexEnvf__IIF 3191 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3192 glTexEnvf( 3193 (GLenum)target, 3194 (GLenum)pname, 3195 (GLfloat)param 3196 ); 3197} 3198 3199/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3200static void 3201android_glTexEnvfv__II_3FI 3202 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 3203 GLfloat *params_base = (GLfloat *) 0; 3204 jint _remaining; 3205 GLfloat *params = (GLfloat *) 0; 3206 3207 if (!params_ref) { 3208 _env->ThrowNew(IAEClass, "params == null"); 3209 goto exit; 3210 } 3211 if (offset < 0) { 3212 _env->ThrowNew(IAEClass, "offset < 0"); 3213 goto exit; 3214 } 3215 _remaining = _env->GetArrayLength(params_ref) - offset; 3216 int _needed; 3217 switch (pname) { 3218#if defined(GL_TEXTURE_ENV_MODE) 3219 case GL_TEXTURE_ENV_MODE: 3220#endif // defined(GL_TEXTURE_ENV_MODE) 3221#if defined(GL_COMBINE_RGB) 3222 case GL_COMBINE_RGB: 3223#endif // defined(GL_COMBINE_RGB) 3224#if defined(GL_COMBINE_ALPHA) 3225 case GL_COMBINE_ALPHA: 3226#endif // defined(GL_COMBINE_ALPHA) 3227 _needed = 1; 3228 break; 3229#if defined(GL_TEXTURE_ENV_COLOR) 3230 case GL_TEXTURE_ENV_COLOR: 3231#endif // defined(GL_TEXTURE_ENV_COLOR) 3232 _needed = 4; 3233 break; 3234 default: 3235 _needed = 0; 3236 break; 3237 } 3238 if (_remaining < _needed) { 3239 _env->ThrowNew(IAEClass, "length - offset < needed"); 3240 goto exit; 3241 } 3242 params_base = (GLfloat *) 3243 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3244 params = params_base + offset; 3245 3246 glTexEnvfv( 3247 (GLenum)target, 3248 (GLenum)pname, 3249 (GLfloat *)params 3250 ); 3251 3252exit: 3253 if (params_base) { 3254 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3255 JNI_ABORT); 3256 } 3257} 3258 3259/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3260static void 3261android_glTexEnvfv__IILjava_nio_FloatBuffer_2 3262 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3263 jarray _array = (jarray) 0; 3264 jint _remaining; 3265 GLfloat *params = (GLfloat *) 0; 3266 3267 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3268 int _needed; 3269 switch (pname) { 3270#if defined(GL_TEXTURE_ENV_MODE) 3271 case GL_TEXTURE_ENV_MODE: 3272#endif // defined(GL_TEXTURE_ENV_MODE) 3273#if defined(GL_COMBINE_RGB) 3274 case GL_COMBINE_RGB: 3275#endif // defined(GL_COMBINE_RGB) 3276#if defined(GL_COMBINE_ALPHA) 3277 case GL_COMBINE_ALPHA: 3278#endif // defined(GL_COMBINE_ALPHA) 3279 _needed = 1; 3280 break; 3281#if defined(GL_TEXTURE_ENV_COLOR) 3282 case GL_TEXTURE_ENV_COLOR: 3283#endif // defined(GL_TEXTURE_ENV_COLOR) 3284 _needed = 4; 3285 break; 3286 default: 3287 _needed = 0; 3288 break; 3289 } 3290 if (_remaining < _needed) { 3291 _env->ThrowNew(IAEClass, "remaining() < needed"); 3292 goto exit; 3293 } 3294 glTexEnvfv( 3295 (GLenum)target, 3296 (GLenum)pname, 3297 (GLfloat *)params 3298 ); 3299 3300exit: 3301 if (_array) { 3302 releasePointer(_env, _array, params, JNI_FALSE); 3303 } 3304} 3305 3306/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 3307static void 3308android_glTexEnvx__III 3309 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3310 glTexEnvx( 3311 (GLenum)target, 3312 (GLenum)pname, 3313 (GLfixed)param 3314 ); 3315} 3316 3317/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3318static void 3319android_glTexEnvxv__II_3II 3320 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3321 GLfixed *params_base = (GLfixed *) 0; 3322 jint _remaining; 3323 GLfixed *params = (GLfixed *) 0; 3324 3325 if (!params_ref) { 3326 _env->ThrowNew(IAEClass, "params == null"); 3327 goto exit; 3328 } 3329 if (offset < 0) { 3330 _env->ThrowNew(IAEClass, "offset < 0"); 3331 goto exit; 3332 } 3333 _remaining = _env->GetArrayLength(params_ref) - offset; 3334 int _needed; 3335 switch (pname) { 3336#if defined(GL_TEXTURE_ENV_MODE) 3337 case GL_TEXTURE_ENV_MODE: 3338#endif // defined(GL_TEXTURE_ENV_MODE) 3339#if defined(GL_COMBINE_RGB) 3340 case GL_COMBINE_RGB: 3341#endif // defined(GL_COMBINE_RGB) 3342#if defined(GL_COMBINE_ALPHA) 3343 case GL_COMBINE_ALPHA: 3344#endif // defined(GL_COMBINE_ALPHA) 3345 _needed = 1; 3346 break; 3347#if defined(GL_TEXTURE_ENV_COLOR) 3348 case GL_TEXTURE_ENV_COLOR: 3349#endif // defined(GL_TEXTURE_ENV_COLOR) 3350 _needed = 4; 3351 break; 3352 default: 3353 _needed = 0; 3354 break; 3355 } 3356 if (_remaining < _needed) { 3357 _env->ThrowNew(IAEClass, "length - offset < needed"); 3358 goto exit; 3359 } 3360 params_base = (GLfixed *) 3361 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3362 params = params_base + offset; 3363 3364 glTexEnvxv( 3365 (GLenum)target, 3366 (GLenum)pname, 3367 (GLfixed *)params 3368 ); 3369 3370exit: 3371 if (params_base) { 3372 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3373 JNI_ABORT); 3374 } 3375} 3376 3377/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3378static void 3379android_glTexEnvxv__IILjava_nio_IntBuffer_2 3380 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3381 jarray _array = (jarray) 0; 3382 jint _remaining; 3383 GLfixed *params = (GLfixed *) 0; 3384 3385 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 3386 int _needed; 3387 switch (pname) { 3388#if defined(GL_TEXTURE_ENV_MODE) 3389 case GL_TEXTURE_ENV_MODE: 3390#endif // defined(GL_TEXTURE_ENV_MODE) 3391#if defined(GL_COMBINE_RGB) 3392 case GL_COMBINE_RGB: 3393#endif // defined(GL_COMBINE_RGB) 3394#if defined(GL_COMBINE_ALPHA) 3395 case GL_COMBINE_ALPHA: 3396#endif // defined(GL_COMBINE_ALPHA) 3397 _needed = 1; 3398 break; 3399#if defined(GL_TEXTURE_ENV_COLOR) 3400 case GL_TEXTURE_ENV_COLOR: 3401#endif // defined(GL_TEXTURE_ENV_COLOR) 3402 _needed = 4; 3403 break; 3404 default: 3405 _needed = 0; 3406 break; 3407 } 3408 if (_remaining < _needed) { 3409 _env->ThrowNew(IAEClass, "remaining() < needed"); 3410 goto exit; 3411 } 3412 glTexEnvxv( 3413 (GLenum)target, 3414 (GLenum)pname, 3415 (GLfixed *)params 3416 ); 3417 3418exit: 3419 if (_array) { 3420 releasePointer(_env, _array, params, JNI_FALSE); 3421 } 3422} 3423 3424/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 3425static void 3426android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 3427 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 3428 jarray _array = (jarray) 0; 3429 jint _remaining; 3430 GLvoid *pixels = (GLvoid *) 0; 3431 3432 if (pixels_buf) { 3433 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3434 } 3435 glTexImage2D( 3436 (GLenum)target, 3437 (GLint)level, 3438 (GLint)internalformat, 3439 (GLsizei)width, 3440 (GLsizei)height, 3441 (GLint)border, 3442 (GLenum)format, 3443 (GLenum)type, 3444 (GLvoid *)pixels 3445 ); 3446 if (_array) { 3447 releasePointer(_env, _array, pixels, JNI_FALSE); 3448 } 3449} 3450 3451/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 3452static void 3453android_glTexParameterf__IIF 3454 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3455 glTexParameterf( 3456 (GLenum)target, 3457 (GLenum)pname, 3458 (GLfloat)param 3459 ); 3460} 3461 3462/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 3463static void 3464android_glTexParameterx__III 3465 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3466 glTexParameterx( 3467 (GLenum)target, 3468 (GLenum)pname, 3469 (GLfixed)param 3470 ); 3471} 3472 3473/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 3474static void 3475android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 3476 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3477 jarray _array = (jarray) 0; 3478 jint _remaining; 3479 GLvoid *pixels = (GLvoid *) 0; 3480 3481 if (pixels_buf) { 3482 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3483 } 3484 glTexSubImage2D( 3485 (GLenum)target, 3486 (GLint)level, 3487 (GLint)xoffset, 3488 (GLint)yoffset, 3489 (GLsizei)width, 3490 (GLsizei)height, 3491 (GLenum)format, 3492 (GLenum)type, 3493 (GLvoid *)pixels 3494 ); 3495 if (_array) { 3496 releasePointer(_env, _array, pixels, JNI_FALSE); 3497 } 3498} 3499 3500/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 3501static void 3502android_glTranslatef__FFF 3503 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 3504 glTranslatef( 3505 (GLfloat)x, 3506 (GLfloat)y, 3507 (GLfloat)z 3508 ); 3509} 3510 3511/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 3512static void 3513android_glTranslatex__III 3514 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 3515 glTranslatex( 3516 (GLfixed)x, 3517 (GLfixed)y, 3518 (GLfixed)z 3519 ); 3520} 3521 3522/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3523static void 3524android_glVertexPointerBounds__IIILjava_nio_Buffer_2I 3525 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3526 jarray _array = (jarray) 0; 3527 jint _remaining; 3528 GLvoid *pointer = (GLvoid *) 0; 3529 3530 if (pointer_buf) { 3531 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3532 if ( ! pointer ) { 3533 return; 3534 } 3535 } 3536 glVertexPointerBounds( 3537 (GLint)size, 3538 (GLenum)type, 3539 (GLsizei)stride, 3540 (GLvoid *)pointer, 3541 (GLsizei)remaining 3542 ); 3543} 3544 3545/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3546static void 3547android_glViewport__IIII 3548 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3549 glViewport( 3550 (GLint)x, 3551 (GLint)y, 3552 (GLsizei)width, 3553 (GLsizei)height 3554 ); 3555} 3556 3557/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 3558static jint 3559android_glQueryMatrixxOES___3II_3II 3560 (JNIEnv *_env, jobject _this, jintArray mantissa_ref, jint mantissaOffset, jintArray exponent_ref, jint exponentOffset) { 3561 jint _exception = 0; 3562 GLbitfield _returnValue = -1; 3563 GLfixed *mantissa_base = (GLfixed *) 0; 3564 jint _mantissaRemaining; 3565 GLfixed *mantissa = (GLfixed *) 0; 3566 GLint *exponent_base = (GLint *) 0; 3567 jint _exponentRemaining; 3568 GLint *exponent = (GLint *) 0; 3569 3570 if (!mantissa_ref) { 3571 _exception = 1; 3572 _env->ThrowNew(IAEClass, "mantissa == null"); 3573 goto exit; 3574 } 3575 if (mantissaOffset < 0) { 3576 _exception = 1; 3577 _env->ThrowNew(IAEClass, "mantissaOffset < 0"); 3578 goto exit; 3579 } 3580 _mantissaRemaining = _env->GetArrayLength(mantissa_ref) - mantissaOffset; 3581 if (_mantissaRemaining < 16) { 3582 _exception = 1; 3583 _env->ThrowNew(IAEClass, "length - mantissaOffset < 16"); 3584 goto exit; 3585 } 3586 mantissa_base = (GLfixed *) 3587 _env->GetPrimitiveArrayCritical(mantissa_ref, (jboolean *)0); 3588 mantissa = mantissa_base + mantissaOffset; 3589 3590 if (!exponent_ref) { 3591 _exception = 1; 3592 _env->ThrowNew(IAEClass, "exponent == null"); 3593 goto exit; 3594 } 3595 if (exponentOffset < 0) { 3596 _exception = 1; 3597 _env->ThrowNew(IAEClass, "exponentOffset < 0"); 3598 goto exit; 3599 } 3600 _exponentRemaining = _env->GetArrayLength(exponent_ref) - exponentOffset; 3601 if (_exponentRemaining < 16) { 3602 _exception = 1; 3603 _env->ThrowNew(IAEClass, "length - exponentOffset < 16"); 3604 goto exit; 3605 } 3606 exponent_base = (GLint *) 3607 _env->GetPrimitiveArrayCritical(exponent_ref, (jboolean *)0); 3608 exponent = exponent_base + exponentOffset; 3609 3610 _returnValue = glQueryMatrixxOES( 3611 (GLfixed *)mantissa, 3612 (GLint *)exponent 3613 ); 3614 3615exit: 3616 if (exponent_base) { 3617 _env->ReleasePrimitiveArrayCritical(exponent_ref, exponent_base, 3618 _exception ? JNI_ABORT: 0); 3619 } 3620 if (mantissa_base) { 3621 _env->ReleasePrimitiveArrayCritical(mantissa_ref, mantissa_base, 3622 _exception ? JNI_ABORT: 0); 3623 } 3624 return _returnValue; 3625} 3626 3627/* GLbitfield glQueryMatrixxOES ( GLfixed *mantissa, GLint *exponent ) */ 3628static jint 3629android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 3630 (JNIEnv *_env, jobject _this, jobject mantissa_buf, jobject exponent_buf) { 3631 jint _exception = 0; 3632 jarray _mantissaArray = (jarray) 0; 3633 jarray _exponentArray = (jarray) 0; 3634 GLbitfield _returnValue = -1; 3635 jint _mantissaRemaining; 3636 GLfixed *mantissa = (GLfixed *) 0; 3637 jint _exponentRemaining; 3638 GLint *exponent = (GLint *) 0; 3639 3640 mantissa = (GLfixed *)getPointer(_env, mantissa_buf, &_mantissaArray, &_mantissaRemaining); 3641 if (_mantissaRemaining < 16) { 3642 _exception = 1; 3643 _env->ThrowNew(IAEClass, "remaining() < 16"); 3644 goto exit; 3645 } 3646 exponent = (GLint *)getPointer(_env, exponent_buf, &_exponentArray, &_exponentRemaining); 3647 if (_exponentRemaining < 16) { 3648 _exception = 1; 3649 _env->ThrowNew(IAEClass, "remaining() < 16"); 3650 goto exit; 3651 } 3652 _returnValue = glQueryMatrixxOES( 3653 (GLfixed *)mantissa, 3654 (GLint *)exponent 3655 ); 3656 3657exit: 3658 if (_mantissaArray) { 3659 releasePointer(_env, _mantissaArray, exponent, _exception ? JNI_FALSE : JNI_TRUE); 3660 } 3661 if (_exponentArray) { 3662 releasePointer(_env, _exponentArray, mantissa, _exception ? JNI_FALSE : JNI_TRUE); 3663 } 3664 return _returnValue; 3665} 3666 3667/* void glBindBuffer ( GLenum target, GLuint buffer ) */ 3668static void 3669android_glBindBuffer__II 3670 (JNIEnv *_env, jobject _this, jint target, jint buffer) { 3671 glBindBuffer( 3672 (GLenum)target, 3673 (GLuint)buffer 3674 ); 3675} 3676 3677/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 3678static void 3679android_glBufferData__IILjava_nio_Buffer_2I 3680 (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 3681 jarray _array = (jarray) 0; 3682 jint _remaining; 3683 GLvoid *data = (GLvoid *) 0; 3684 3685 if (data_buf) { 3686 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 3687 if (_remaining < size) { 3688 _env->ThrowNew(IAEClass, "remaining() < size"); 3689 goto exit; 3690 } 3691 } 3692 glBufferData( 3693 (GLenum)target, 3694 (GLsizeiptr)size, 3695 (GLvoid *)data, 3696 (GLenum)usage 3697 ); 3698 3699exit: 3700 if (_array) { 3701 releasePointer(_env, _array, data, JNI_FALSE); 3702 } 3703} 3704 3705/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 3706static void 3707android_glBufferSubData__IIILjava_nio_Buffer_2 3708 (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 3709 jarray _array = (jarray) 0; 3710 jint _remaining; 3711 GLvoid *data = (GLvoid *) 0; 3712 3713 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 3714 if (_remaining < size) { 3715 _env->ThrowNew(IAEClass, "remaining() < size"); 3716 goto exit; 3717 } 3718 glBufferSubData( 3719 (GLenum)target, 3720 (GLintptr)offset, 3721 (GLsizeiptr)size, 3722 (GLvoid *)data 3723 ); 3724 3725exit: 3726 if (_array) { 3727 releasePointer(_env, _array, data, JNI_FALSE); 3728 } 3729} 3730 3731/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 3732static void 3733android_glClipPlanef__I_3FI 3734 (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { 3735 GLfloat *equation_base = (GLfloat *) 0; 3736 jint _remaining; 3737 GLfloat *equation = (GLfloat *) 0; 3738 3739 if (!equation_ref) { 3740 _env->ThrowNew(IAEClass, "equation == null"); 3741 goto exit; 3742 } 3743 if (offset < 0) { 3744 _env->ThrowNew(IAEClass, "offset < 0"); 3745 goto exit; 3746 } 3747 _remaining = _env->GetArrayLength(equation_ref) - offset; 3748 if (_remaining < 4) { 3749 _env->ThrowNew(IAEClass, "length - offset < 4"); 3750 goto exit; 3751 } 3752 equation_base = (GLfloat *) 3753 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 3754 equation = equation_base + offset; 3755 3756 glClipPlanef( 3757 (GLenum)plane, 3758 (GLfloat *)equation 3759 ); 3760 3761exit: 3762 if (equation_base) { 3763 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 3764 JNI_ABORT); 3765 } 3766} 3767 3768/* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 3769static void 3770android_glClipPlanef__ILjava_nio_FloatBuffer_2 3771 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 3772 jarray _array = (jarray) 0; 3773 jint _remaining; 3774 GLfloat *equation = (GLfloat *) 0; 3775 3776 equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining); 3777 if (_remaining < 4) { 3778 _env->ThrowNew(IAEClass, "remaining() < 4"); 3779 goto exit; 3780 } 3781 glClipPlanef( 3782 (GLenum)plane, 3783 (GLfloat *)equation 3784 ); 3785 3786exit: 3787 if (_array) { 3788 releasePointer(_env, _array, equation, JNI_FALSE); 3789 } 3790} 3791 3792/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 3793static void 3794android_glClipPlanex__I_3II 3795 (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { 3796 GLfixed *equation_base = (GLfixed *) 0; 3797 jint _remaining; 3798 GLfixed *equation = (GLfixed *) 0; 3799 3800 if (!equation_ref) { 3801 _env->ThrowNew(IAEClass, "equation == null"); 3802 goto exit; 3803 } 3804 if (offset < 0) { 3805 _env->ThrowNew(IAEClass, "offset < 0"); 3806 goto exit; 3807 } 3808 _remaining = _env->GetArrayLength(equation_ref) - offset; 3809 if (_remaining < 4) { 3810 _env->ThrowNew(IAEClass, "length - offset < 4"); 3811 goto exit; 3812 } 3813 equation_base = (GLfixed *) 3814 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 3815 equation = equation_base + offset; 3816 3817 glClipPlanex( 3818 (GLenum)plane, 3819 (GLfixed *)equation 3820 ); 3821 3822exit: 3823 if (equation_base) { 3824 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 3825 JNI_ABORT); 3826 } 3827} 3828 3829/* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 3830static void 3831android_glClipPlanex__ILjava_nio_IntBuffer_2 3832 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 3833 jarray _array = (jarray) 0; 3834 jint _remaining; 3835 GLfixed *equation = (GLfixed *) 0; 3836 3837 equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining); 3838 if (_remaining < 4) { 3839 _env->ThrowNew(IAEClass, "remaining() < 4"); 3840 goto exit; 3841 } 3842 glClipPlanex( 3843 (GLenum)plane, 3844 (GLfixed *)equation 3845 ); 3846 3847exit: 3848 if (_array) { 3849 releasePointer(_env, _array, equation, JNI_FALSE); 3850 } 3851} 3852 3853/* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */ 3854static void 3855android_glColor4ub__BBBB 3856 (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) { 3857 glColor4ub( 3858 (GLubyte)red, 3859 (GLubyte)green, 3860 (GLubyte)blue, 3861 (GLubyte)alpha 3862 ); 3863} 3864 3865/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 3866static void 3867android_glColorPointer__IIII 3868 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 3869 glColorPointer( 3870 (GLint)size, 3871 (GLenum)type, 3872 (GLsizei)stride, 3873 (const GLvoid *)offset 3874 ); 3875} 3876 3877/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 3878static void 3879android_glDeleteBuffers__I_3II 3880 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 3881 GLuint *buffers_base = (GLuint *) 0; 3882 jint _remaining; 3883 GLuint *buffers = (GLuint *) 0; 3884 3885 if (!buffers_ref) { 3886 _env->ThrowNew(IAEClass, "buffers == null"); 3887 goto exit; 3888 } 3889 if (offset < 0) { 3890 _env->ThrowNew(IAEClass, "offset < 0"); 3891 goto exit; 3892 } 3893 _remaining = _env->GetArrayLength(buffers_ref) - offset; 3894 if (_remaining < n) { 3895 _env->ThrowNew(IAEClass, "length - offset < n"); 3896 goto exit; 3897 } 3898 buffers_base = (GLuint *) 3899 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 3900 buffers = buffers_base + offset; 3901 3902 glDeleteBuffers( 3903 (GLsizei)n, 3904 (GLuint *)buffers 3905 ); 3906 3907exit: 3908 if (buffers_base) { 3909 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 3910 JNI_ABORT); 3911 } 3912} 3913 3914/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 3915static void 3916android_glDeleteBuffers__ILjava_nio_IntBuffer_2 3917 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 3918 jarray _array = (jarray) 0; 3919 jint _remaining; 3920 GLuint *buffers = (GLuint *) 0; 3921 3922 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 3923 if (_remaining < n) { 3924 _env->ThrowNew(IAEClass, "remaining() < n"); 3925 goto exit; 3926 } 3927 glDeleteBuffers( 3928 (GLsizei)n, 3929 (GLuint *)buffers 3930 ); 3931 3932exit: 3933 if (_array) { 3934 releasePointer(_env, _array, buffers, JNI_FALSE); 3935 } 3936} 3937 3938/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 3939static void 3940android_glDrawElements__IIII 3941 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 3942 glDrawElements( 3943 (GLenum)mode, 3944 (GLsizei)count, 3945 (GLenum)type, 3946 (const GLvoid *)offset 3947 ); 3948} 3949 3950/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 3951static void 3952android_glGenBuffers__I_3II 3953 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 3954 jint _exception = 0; 3955 GLuint *buffers_base = (GLuint *) 0; 3956 jint _remaining; 3957 GLuint *buffers = (GLuint *) 0; 3958 3959 if (!buffers_ref) { 3960 _exception = 1; 3961 _env->ThrowNew(IAEClass, "buffers == null"); 3962 goto exit; 3963 } 3964 if (offset < 0) { 3965 _exception = 1; 3966 _env->ThrowNew(IAEClass, "offset < 0"); 3967 goto exit; 3968 } 3969 _remaining = _env->GetArrayLength(buffers_ref) - offset; 3970 if (_remaining < n) { 3971 _exception = 1; 3972 _env->ThrowNew(IAEClass, "length - offset < n"); 3973 goto exit; 3974 } 3975 buffers_base = (GLuint *) 3976 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 3977 buffers = buffers_base + offset; 3978 3979 glGenBuffers( 3980 (GLsizei)n, 3981 (GLuint *)buffers 3982 ); 3983 3984exit: 3985 if (buffers_base) { 3986 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 3987 _exception ? JNI_ABORT: 0); 3988 } 3989} 3990 3991/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 3992static void 3993android_glGenBuffers__ILjava_nio_IntBuffer_2 3994 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 3995 jint _exception = 0; 3996 jarray _array = (jarray) 0; 3997 jint _remaining; 3998 GLuint *buffers = (GLuint *) 0; 3999 4000 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 4001 if (_remaining < n) { 4002 _exception = 1; 4003 _env->ThrowNew(IAEClass, "remaining() < n"); 4004 goto exit; 4005 } 4006 glGenBuffers( 4007 (GLsizei)n, 4008 (GLuint *)buffers 4009 ); 4010 4011exit: 4012 if (_array) { 4013 releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 4014 } 4015} 4016 4017/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 4018static void 4019android_glGetBooleanv__I_3ZI 4020 (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 4021 jint _exception = 0; 4022 GLboolean *params_base = (GLboolean *) 0; 4023 jint _remaining; 4024 GLboolean *params = (GLboolean *) 0; 4025 4026 if (!params_ref) { 4027 _exception = 1; 4028 _env->ThrowNew(IAEClass, "params == null"); 4029 goto exit; 4030 } 4031 if (offset < 0) { 4032 _exception = 1; 4033 _env->ThrowNew(IAEClass, "offset < 0"); 4034 goto exit; 4035 } 4036 _remaining = _env->GetArrayLength(params_ref) - offset; 4037 params_base = (GLboolean *) 4038 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4039 params = params_base + offset; 4040 4041 glGetBooleanv( 4042 (GLenum)pname, 4043 (GLboolean *)params 4044 ); 4045 4046exit: 4047 if (params_base) { 4048 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4049 _exception ? JNI_ABORT: 0); 4050 } 4051} 4052 4053/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 4054static void 4055android_glGetBooleanv__ILjava_nio_IntBuffer_2 4056 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 4057 jint _exception = 0; 4058 jarray _array = (jarray) 0; 4059 jint _remaining; 4060 GLboolean *params = (GLboolean *) 0; 4061 4062 params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining); 4063 glGetBooleanv( 4064 (GLenum)pname, 4065 (GLboolean *)params 4066 ); 4067 if (_array) { 4068 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4069 } 4070} 4071 4072/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 4073static void 4074android_glGetBufferParameteriv__II_3II 4075 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 4076 _env->ThrowNew(UOEClass, 4077 "glGetBufferParameteriv"); 4078} 4079 4080/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 4081static void 4082android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 4083 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 4084 _env->ThrowNew(UOEClass, 4085 "glGetBufferParameteriv"); 4086} 4087 4088/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 4089static void 4090android_glGetClipPlanef__I_3FI 4091 (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { 4092 jint _exception = 0; 4093 GLfloat *eqn_base = (GLfloat *) 0; 4094 jint _remaining; 4095 GLfloat *eqn = (GLfloat *) 0; 4096 4097 if (!eqn_ref) { 4098 _exception = 1; 4099 _env->ThrowNew(IAEClass, "eqn == null"); 4100 goto exit; 4101 } 4102 if (offset < 0) { 4103 _exception = 1; 4104 _env->ThrowNew(IAEClass, "offset < 0"); 4105 goto exit; 4106 } 4107 _remaining = _env->GetArrayLength(eqn_ref) - offset; 4108 eqn_base = (GLfloat *) 4109 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 4110 eqn = eqn_base + offset; 4111 4112 glGetClipPlanef( 4113 (GLenum)pname, 4114 (GLfloat *)eqn 4115 ); 4116 4117exit: 4118 if (eqn_base) { 4119 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 4120 _exception ? JNI_ABORT: 0); 4121 } 4122} 4123 4124/* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 4125static void 4126android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 4127 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 4128 jint _exception = 0; 4129 jarray _array = (jarray) 0; 4130 jint _remaining; 4131 GLfloat *eqn = (GLfloat *) 0; 4132 4133 eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining); 4134 glGetClipPlanef( 4135 (GLenum)pname, 4136 (GLfloat *)eqn 4137 ); 4138 if (_array) { 4139 releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 4140 } 4141} 4142 4143/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 4144static void 4145android_glGetClipPlanex__I_3II 4146 (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { 4147 jint _exception = 0; 4148 GLfixed *eqn_base = (GLfixed *) 0; 4149 jint _remaining; 4150 GLfixed *eqn = (GLfixed *) 0; 4151 4152 if (!eqn_ref) { 4153 _exception = 1; 4154 _env->ThrowNew(IAEClass, "eqn == null"); 4155 goto exit; 4156 } 4157 if (offset < 0) { 4158 _exception = 1; 4159 _env->ThrowNew(IAEClass, "offset < 0"); 4160 goto exit; 4161 } 4162 _remaining = _env->GetArrayLength(eqn_ref) - offset; 4163 eqn_base = (GLfixed *) 4164 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 4165 eqn = eqn_base + offset; 4166 4167 glGetClipPlanex( 4168 (GLenum)pname, 4169 (GLfixed *)eqn 4170 ); 4171 4172exit: 4173 if (eqn_base) { 4174 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 4175 _exception ? JNI_ABORT: 0); 4176 } 4177} 4178 4179/* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 4180static void 4181android_glGetClipPlanex__ILjava_nio_IntBuffer_2 4182 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 4183 jint _exception = 0; 4184 jarray _array = (jarray) 0; 4185 jint _remaining; 4186 GLfixed *eqn = (GLfixed *) 0; 4187 4188 eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining); 4189 glGetClipPlanex( 4190 (GLenum)pname, 4191 (GLfixed *)eqn 4192 ); 4193 if (_array) { 4194 releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 4195 } 4196} 4197 4198/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 4199static void 4200android_glGetFixedv__I_3II 4201 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 4202 jint _exception = 0; 4203 GLfixed *params_base = (GLfixed *) 0; 4204 jint _remaining; 4205 GLfixed *params = (GLfixed *) 0; 4206 4207 if (!params_ref) { 4208 _exception = 1; 4209 _env->ThrowNew(IAEClass, "params == null"); 4210 goto exit; 4211 } 4212 if (offset < 0) { 4213 _exception = 1; 4214 _env->ThrowNew(IAEClass, "offset < 0"); 4215 goto exit; 4216 } 4217 _remaining = _env->GetArrayLength(params_ref) - offset; 4218 params_base = (GLfixed *) 4219 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4220 params = params_base + offset; 4221 4222 glGetFixedv( 4223 (GLenum)pname, 4224 (GLfixed *)params 4225 ); 4226 4227exit: 4228 if (params_base) { 4229 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4230 _exception ? JNI_ABORT: 0); 4231 } 4232} 4233 4234/* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 4235static void 4236android_glGetFixedv__ILjava_nio_IntBuffer_2 4237 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 4238 jint _exception = 0; 4239 jarray _array = (jarray) 0; 4240 jint _remaining; 4241 GLfixed *params = (GLfixed *) 0; 4242 4243 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 4244 glGetFixedv( 4245 (GLenum)pname, 4246 (GLfixed *)params 4247 ); 4248 if (_array) { 4249 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4250 } 4251} 4252 4253/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 4254static void 4255android_glGetFloatv__I_3FI 4256 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 4257 jint _exception = 0; 4258 GLfloat *params_base = (GLfloat *) 0; 4259 jint _remaining; 4260 GLfloat *params = (GLfloat *) 0; 4261 4262 if (!params_ref) { 4263 _exception = 1; 4264 _env->ThrowNew(IAEClass, "params == null"); 4265 goto exit; 4266 } 4267 if (offset < 0) { 4268 _exception = 1; 4269 _env->ThrowNew(IAEClass, "offset < 0"); 4270 goto exit; 4271 } 4272 _remaining = _env->GetArrayLength(params_ref) - offset; 4273 params_base = (GLfloat *) 4274 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4275 params = params_base + offset; 4276 4277 glGetFloatv( 4278 (GLenum)pname, 4279 (GLfloat *)params 4280 ); 4281 4282exit: 4283 if (params_base) { 4284 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4285 _exception ? JNI_ABORT: 0); 4286 } 4287} 4288 4289/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 4290static void 4291android_glGetFloatv__ILjava_nio_FloatBuffer_2 4292 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 4293 jint _exception = 0; 4294 jarray _array = (jarray) 0; 4295 jint _remaining; 4296 GLfloat *params = (GLfloat *) 0; 4297 4298 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 4299 glGetFloatv( 4300 (GLenum)pname, 4301 (GLfloat *)params 4302 ); 4303 if (_array) { 4304 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4305 } 4306} 4307 4308/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 4309static void 4310android_glGetLightfv__II_3FI 4311 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 4312 jint _exception = 0; 4313 GLfloat *params_base = (GLfloat *) 0; 4314 jint _remaining; 4315 GLfloat *params = (GLfloat *) 0; 4316 4317 if (!params_ref) { 4318 _exception = 1; 4319 _env->ThrowNew(IAEClass, "params == null"); 4320 goto exit; 4321 } 4322 if (offset < 0) { 4323 _exception = 1; 4324 _env->ThrowNew(IAEClass, "offset < 0"); 4325 goto exit; 4326 } 4327 _remaining = _env->GetArrayLength(params_ref) - offset; 4328 int _needed; 4329 switch (pname) { 4330#if defined(GL_SPOT_EXPONENT) 4331 case GL_SPOT_EXPONENT: 4332#endif // defined(GL_SPOT_EXPONENT) 4333#if defined(GL_SPOT_CUTOFF) 4334 case GL_SPOT_CUTOFF: 4335#endif // defined(GL_SPOT_CUTOFF) 4336#if defined(GL_CONSTANT_ATTENUATION) 4337 case GL_CONSTANT_ATTENUATION: 4338#endif // defined(GL_CONSTANT_ATTENUATION) 4339#if defined(GL_LINEAR_ATTENUATION) 4340 case GL_LINEAR_ATTENUATION: 4341#endif // defined(GL_LINEAR_ATTENUATION) 4342#if defined(GL_QUADRATIC_ATTENUATION) 4343 case GL_QUADRATIC_ATTENUATION: 4344#endif // defined(GL_QUADRATIC_ATTENUATION) 4345 _needed = 1; 4346 break; 4347#if defined(GL_SPOT_DIRECTION) 4348 case GL_SPOT_DIRECTION: 4349#endif // defined(GL_SPOT_DIRECTION) 4350 _needed = 3; 4351 break; 4352#if defined(GL_AMBIENT) 4353 case GL_AMBIENT: 4354#endif // defined(GL_AMBIENT) 4355#if defined(GL_DIFFUSE) 4356 case GL_DIFFUSE: 4357#endif // defined(GL_DIFFUSE) 4358#if defined(GL_SPECULAR) 4359 case GL_SPECULAR: 4360#endif // defined(GL_SPECULAR) 4361#if defined(GL_EMISSION) 4362 case GL_EMISSION: 4363#endif // defined(GL_EMISSION) 4364 _needed = 4; 4365 break; 4366 default: 4367 _needed = 0; 4368 break; 4369 } 4370 if (_remaining < _needed) { 4371 _exception = 1; 4372 _env->ThrowNew(IAEClass, "length - offset < needed"); 4373 goto exit; 4374 } 4375 params_base = (GLfloat *) 4376 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4377 params = params_base + offset; 4378 4379 glGetLightfv( 4380 (GLenum)light, 4381 (GLenum)pname, 4382 (GLfloat *)params 4383 ); 4384 4385exit: 4386 if (params_base) { 4387 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4388 _exception ? JNI_ABORT: 0); 4389 } 4390} 4391 4392/* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 4393static void 4394android_glGetLightfv__IILjava_nio_FloatBuffer_2 4395 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 4396 jint _exception = 0; 4397 jarray _array = (jarray) 0; 4398 jint _remaining; 4399 GLfloat *params = (GLfloat *) 0; 4400 4401 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 4402 int _needed; 4403 switch (pname) { 4404#if defined(GL_SPOT_EXPONENT) 4405 case GL_SPOT_EXPONENT: 4406#endif // defined(GL_SPOT_EXPONENT) 4407#if defined(GL_SPOT_CUTOFF) 4408 case GL_SPOT_CUTOFF: 4409#endif // defined(GL_SPOT_CUTOFF) 4410#if defined(GL_CONSTANT_ATTENUATION) 4411 case GL_CONSTANT_ATTENUATION: 4412#endif // defined(GL_CONSTANT_ATTENUATION) 4413#if defined(GL_LINEAR_ATTENUATION) 4414 case GL_LINEAR_ATTENUATION: 4415#endif // defined(GL_LINEAR_ATTENUATION) 4416#if defined(GL_QUADRATIC_ATTENUATION) 4417 case GL_QUADRATIC_ATTENUATION: 4418#endif // defined(GL_QUADRATIC_ATTENUATION) 4419 _needed = 1; 4420 break; 4421#if defined(GL_SPOT_DIRECTION) 4422 case GL_SPOT_DIRECTION: 4423#endif // defined(GL_SPOT_DIRECTION) 4424 _needed = 3; 4425 break; 4426#if defined(GL_AMBIENT) 4427 case GL_AMBIENT: 4428#endif // defined(GL_AMBIENT) 4429#if defined(GL_DIFFUSE) 4430 case GL_DIFFUSE: 4431#endif // defined(GL_DIFFUSE) 4432#if defined(GL_SPECULAR) 4433 case GL_SPECULAR: 4434#endif // defined(GL_SPECULAR) 4435#if defined(GL_EMISSION) 4436 case GL_EMISSION: 4437#endif // defined(GL_EMISSION) 4438 _needed = 4; 4439 break; 4440 default: 4441 _needed = 0; 4442 break; 4443 } 4444 if (_remaining < _needed) { 4445 _exception = 1; 4446 _env->ThrowNew(IAEClass, "remaining() < needed"); 4447 goto exit; 4448 } 4449 glGetLightfv( 4450 (GLenum)light, 4451 (GLenum)pname, 4452 (GLfloat *)params 4453 ); 4454 4455exit: 4456 if (_array) { 4457 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4458 } 4459} 4460 4461/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 4462static void 4463android_glGetLightxv__II_3II 4464 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 4465 jint _exception = 0; 4466 GLfixed *params_base = (GLfixed *) 0; 4467 jint _remaining; 4468 GLfixed *params = (GLfixed *) 0; 4469 4470 if (!params_ref) { 4471 _exception = 1; 4472 _env->ThrowNew(IAEClass, "params == null"); 4473 goto exit; 4474 } 4475 if (offset < 0) { 4476 _exception = 1; 4477 _env->ThrowNew(IAEClass, "offset < 0"); 4478 goto exit; 4479 } 4480 _remaining = _env->GetArrayLength(params_ref) - offset; 4481 int _needed; 4482 switch (pname) { 4483#if defined(GL_SPOT_EXPONENT) 4484 case GL_SPOT_EXPONENT: 4485#endif // defined(GL_SPOT_EXPONENT) 4486#if defined(GL_SPOT_CUTOFF) 4487 case GL_SPOT_CUTOFF: 4488#endif // defined(GL_SPOT_CUTOFF) 4489#if defined(GL_CONSTANT_ATTENUATION) 4490 case GL_CONSTANT_ATTENUATION: 4491#endif // defined(GL_CONSTANT_ATTENUATION) 4492#if defined(GL_LINEAR_ATTENUATION) 4493 case GL_LINEAR_ATTENUATION: 4494#endif // defined(GL_LINEAR_ATTENUATION) 4495#if defined(GL_QUADRATIC_ATTENUATION) 4496 case GL_QUADRATIC_ATTENUATION: 4497#endif // defined(GL_QUADRATIC_ATTENUATION) 4498 _needed = 1; 4499 break; 4500#if defined(GL_SPOT_DIRECTION) 4501 case GL_SPOT_DIRECTION: 4502#endif // defined(GL_SPOT_DIRECTION) 4503 _needed = 3; 4504 break; 4505#if defined(GL_AMBIENT) 4506 case GL_AMBIENT: 4507#endif // defined(GL_AMBIENT) 4508#if defined(GL_DIFFUSE) 4509 case GL_DIFFUSE: 4510#endif // defined(GL_DIFFUSE) 4511#if defined(GL_SPECULAR) 4512 case GL_SPECULAR: 4513#endif // defined(GL_SPECULAR) 4514#if defined(GL_EMISSION) 4515 case GL_EMISSION: 4516#endif // defined(GL_EMISSION) 4517 _needed = 4; 4518 break; 4519 default: 4520 _needed = 0; 4521 break; 4522 } 4523 if (_remaining < _needed) { 4524 _exception = 1; 4525 _env->ThrowNew(IAEClass, "length - offset < needed"); 4526 goto exit; 4527 } 4528 params_base = (GLfixed *) 4529 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4530 params = params_base + offset; 4531 4532 glGetLightxv( 4533 (GLenum)light, 4534 (GLenum)pname, 4535 (GLfixed *)params 4536 ); 4537 4538exit: 4539 if (params_base) { 4540 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4541 _exception ? JNI_ABORT: 0); 4542 } 4543} 4544 4545/* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 4546static void 4547android_glGetLightxv__IILjava_nio_IntBuffer_2 4548 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 4549 jint _exception = 0; 4550 jarray _array = (jarray) 0; 4551 jint _remaining; 4552 GLfixed *params = (GLfixed *) 0; 4553 4554 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 4555 int _needed; 4556 switch (pname) { 4557#if defined(GL_SPOT_EXPONENT) 4558 case GL_SPOT_EXPONENT: 4559#endif // defined(GL_SPOT_EXPONENT) 4560#if defined(GL_SPOT_CUTOFF) 4561 case GL_SPOT_CUTOFF: 4562#endif // defined(GL_SPOT_CUTOFF) 4563#if defined(GL_CONSTANT_ATTENUATION) 4564 case GL_CONSTANT_ATTENUATION: 4565#endif // defined(GL_CONSTANT_ATTENUATION) 4566#if defined(GL_LINEAR_ATTENUATION) 4567 case GL_LINEAR_ATTENUATION: 4568#endif // defined(GL_LINEAR_ATTENUATION) 4569#if defined(GL_QUADRATIC_ATTENUATION) 4570 case GL_QUADRATIC_ATTENUATION: 4571#endif // defined(GL_QUADRATIC_ATTENUATION) 4572 _needed = 1; 4573 break; 4574#if defined(GL_SPOT_DIRECTION) 4575 case GL_SPOT_DIRECTION: 4576#endif // defined(GL_SPOT_DIRECTION) 4577 _needed = 3; 4578 break; 4579#if defined(GL_AMBIENT) 4580 case GL_AMBIENT: 4581#endif // defined(GL_AMBIENT) 4582#if defined(GL_DIFFUSE) 4583 case GL_DIFFUSE: 4584#endif // defined(GL_DIFFUSE) 4585#if defined(GL_SPECULAR) 4586 case GL_SPECULAR: 4587#endif // defined(GL_SPECULAR) 4588#if defined(GL_EMISSION) 4589 case GL_EMISSION: 4590#endif // defined(GL_EMISSION) 4591 _needed = 4; 4592 break; 4593 default: 4594 _needed = 0; 4595 break; 4596 } 4597 if (_remaining < _needed) { 4598 _exception = 1; 4599 _env->ThrowNew(IAEClass, "remaining() < needed"); 4600 goto exit; 4601 } 4602 glGetLightxv( 4603 (GLenum)light, 4604 (GLenum)pname, 4605 (GLfixed *)params 4606 ); 4607 4608exit: 4609 if (_array) { 4610 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4611 } 4612} 4613 4614/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 4615static void 4616android_glGetMaterialfv__II_3FI 4617 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 4618 jint _exception = 0; 4619 GLfloat *params_base = (GLfloat *) 0; 4620 jint _remaining; 4621 GLfloat *params = (GLfloat *) 0; 4622 4623 if (!params_ref) { 4624 _exception = 1; 4625 _env->ThrowNew(IAEClass, "params == null"); 4626 goto exit; 4627 } 4628 if (offset < 0) { 4629 _exception = 1; 4630 _env->ThrowNew(IAEClass, "offset < 0"); 4631 goto exit; 4632 } 4633 _remaining = _env->GetArrayLength(params_ref) - offset; 4634 int _needed; 4635 switch (pname) { 4636#if defined(GL_SHININESS) 4637 case GL_SHININESS: 4638#endif // defined(GL_SHININESS) 4639 _needed = 1; 4640 break; 4641#if defined(GL_AMBIENT) 4642 case GL_AMBIENT: 4643#endif // defined(GL_AMBIENT) 4644#if defined(GL_DIFFUSE) 4645 case GL_DIFFUSE: 4646#endif // defined(GL_DIFFUSE) 4647#if defined(GL_SPECULAR) 4648 case GL_SPECULAR: 4649#endif // defined(GL_SPECULAR) 4650#if defined(GL_EMISSION) 4651 case GL_EMISSION: 4652#endif // defined(GL_EMISSION) 4653#if defined(GL_AMBIENT_AND_DIFFUSE) 4654 case GL_AMBIENT_AND_DIFFUSE: 4655#endif // defined(GL_AMBIENT_AND_DIFFUSE) 4656 _needed = 4; 4657 break; 4658 default: 4659 _needed = 0; 4660 break; 4661 } 4662 if (_remaining < _needed) { 4663 _exception = 1; 4664 _env->ThrowNew(IAEClass, "length - offset < needed"); 4665 goto exit; 4666 } 4667 params_base = (GLfloat *) 4668 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4669 params = params_base + offset; 4670 4671 glGetMaterialfv( 4672 (GLenum)face, 4673 (GLenum)pname, 4674 (GLfloat *)params 4675 ); 4676 4677exit: 4678 if (params_base) { 4679 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4680 _exception ? JNI_ABORT: 0); 4681 } 4682} 4683 4684/* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 4685static void 4686android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 4687 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 4688 jint _exception = 0; 4689 jarray _array = (jarray) 0; 4690 jint _remaining; 4691 GLfloat *params = (GLfloat *) 0; 4692 4693 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 4694 int _needed; 4695 switch (pname) { 4696#if defined(GL_SHININESS) 4697 case GL_SHININESS: 4698#endif // defined(GL_SHININESS) 4699 _needed = 1; 4700 break; 4701#if defined(GL_AMBIENT) 4702 case GL_AMBIENT: 4703#endif // defined(GL_AMBIENT) 4704#if defined(GL_DIFFUSE) 4705 case GL_DIFFUSE: 4706#endif // defined(GL_DIFFUSE) 4707#if defined(GL_SPECULAR) 4708 case GL_SPECULAR: 4709#endif // defined(GL_SPECULAR) 4710#if defined(GL_EMISSION) 4711 case GL_EMISSION: 4712#endif // defined(GL_EMISSION) 4713#if defined(GL_AMBIENT_AND_DIFFUSE) 4714 case GL_AMBIENT_AND_DIFFUSE: 4715#endif // defined(GL_AMBIENT_AND_DIFFUSE) 4716 _needed = 4; 4717 break; 4718 default: 4719 _needed = 0; 4720 break; 4721 } 4722 if (_remaining < _needed) { 4723 _exception = 1; 4724 _env->ThrowNew(IAEClass, "remaining() < needed"); 4725 goto exit; 4726 } 4727 glGetMaterialfv( 4728 (GLenum)face, 4729 (GLenum)pname, 4730 (GLfloat *)params 4731 ); 4732 4733exit: 4734 if (_array) { 4735 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4736 } 4737} 4738 4739/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 4740static void 4741android_glGetMaterialxv__II_3II 4742 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 4743 jint _exception = 0; 4744 GLfixed *params_base = (GLfixed *) 0; 4745 jint _remaining; 4746 GLfixed *params = (GLfixed *) 0; 4747 4748 if (!params_ref) { 4749 _exception = 1; 4750 _env->ThrowNew(IAEClass, "params == null"); 4751 goto exit; 4752 } 4753 if (offset < 0) { 4754 _exception = 1; 4755 _env->ThrowNew(IAEClass, "offset < 0"); 4756 goto exit; 4757 } 4758 _remaining = _env->GetArrayLength(params_ref) - offset; 4759 int _needed; 4760 switch (pname) { 4761#if defined(GL_SHININESS) 4762 case GL_SHININESS: 4763#endif // defined(GL_SHININESS) 4764 _needed = 1; 4765 break; 4766#if defined(GL_AMBIENT) 4767 case GL_AMBIENT: 4768#endif // defined(GL_AMBIENT) 4769#if defined(GL_DIFFUSE) 4770 case GL_DIFFUSE: 4771#endif // defined(GL_DIFFUSE) 4772#if defined(GL_SPECULAR) 4773 case GL_SPECULAR: 4774#endif // defined(GL_SPECULAR) 4775#if defined(GL_EMISSION) 4776 case GL_EMISSION: 4777#endif // defined(GL_EMISSION) 4778#if defined(GL_AMBIENT_AND_DIFFUSE) 4779 case GL_AMBIENT_AND_DIFFUSE: 4780#endif // defined(GL_AMBIENT_AND_DIFFUSE) 4781 _needed = 4; 4782 break; 4783 default: 4784 _needed = 0; 4785 break; 4786 } 4787 if (_remaining < _needed) { 4788 _exception = 1; 4789 _env->ThrowNew(IAEClass, "length - offset < needed"); 4790 goto exit; 4791 } 4792 params_base = (GLfixed *) 4793 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4794 params = params_base + offset; 4795 4796 glGetMaterialxv( 4797 (GLenum)face, 4798 (GLenum)pname, 4799 (GLfixed *)params 4800 ); 4801 4802exit: 4803 if (params_base) { 4804 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4805 _exception ? JNI_ABORT: 0); 4806 } 4807} 4808 4809/* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 4810static void 4811android_glGetMaterialxv__IILjava_nio_IntBuffer_2 4812 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 4813 jint _exception = 0; 4814 jarray _array = (jarray) 0; 4815 jint _remaining; 4816 GLfixed *params = (GLfixed *) 0; 4817 4818 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 4819 int _needed; 4820 switch (pname) { 4821#if defined(GL_SHININESS) 4822 case GL_SHININESS: 4823#endif // defined(GL_SHININESS) 4824 _needed = 1; 4825 break; 4826#if defined(GL_AMBIENT) 4827 case GL_AMBIENT: 4828#endif // defined(GL_AMBIENT) 4829#if defined(GL_DIFFUSE) 4830 case GL_DIFFUSE: 4831#endif // defined(GL_DIFFUSE) 4832#if defined(GL_SPECULAR) 4833 case GL_SPECULAR: 4834#endif // defined(GL_SPECULAR) 4835#if defined(GL_EMISSION) 4836 case GL_EMISSION: 4837#endif // defined(GL_EMISSION) 4838#if defined(GL_AMBIENT_AND_DIFFUSE) 4839 case GL_AMBIENT_AND_DIFFUSE: 4840#endif // defined(GL_AMBIENT_AND_DIFFUSE) 4841 _needed = 4; 4842 break; 4843 default: 4844 _needed = 0; 4845 break; 4846 } 4847 if (_remaining < _needed) { 4848 _exception = 1; 4849 _env->ThrowNew(IAEClass, "remaining() < needed"); 4850 goto exit; 4851 } 4852 glGetMaterialxv( 4853 (GLenum)face, 4854 (GLenum)pname, 4855 (GLfixed *)params 4856 ); 4857 4858exit: 4859 if (_array) { 4860 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4861 } 4862} 4863 4864/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 4865static void 4866android_glGetTexEnviv__II_3II 4867 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 4868 jint _exception = 0; 4869 GLint *params_base = (GLint *) 0; 4870 jint _remaining; 4871 GLint *params = (GLint *) 0; 4872 4873 if (!params_ref) { 4874 _exception = 1; 4875 _env->ThrowNew(IAEClass, "params == null"); 4876 goto exit; 4877 } 4878 if (offset < 0) { 4879 _exception = 1; 4880 _env->ThrowNew(IAEClass, "offset < 0"); 4881 goto exit; 4882 } 4883 _remaining = _env->GetArrayLength(params_ref) - offset; 4884 int _needed; 4885 switch (pname) { 4886#if defined(GL_TEXTURE_ENV_MODE) 4887 case GL_TEXTURE_ENV_MODE: 4888#endif // defined(GL_TEXTURE_ENV_MODE) 4889#if defined(GL_COMBINE_RGB) 4890 case GL_COMBINE_RGB: 4891#endif // defined(GL_COMBINE_RGB) 4892#if defined(GL_COMBINE_ALPHA) 4893 case GL_COMBINE_ALPHA: 4894#endif // defined(GL_COMBINE_ALPHA) 4895 _needed = 1; 4896 break; 4897#if defined(GL_TEXTURE_ENV_COLOR) 4898 case GL_TEXTURE_ENV_COLOR: 4899#endif // defined(GL_TEXTURE_ENV_COLOR) 4900 _needed = 4; 4901 break; 4902 default: 4903 _needed = 0; 4904 break; 4905 } 4906 if (_remaining < _needed) { 4907 _exception = 1; 4908 _env->ThrowNew(IAEClass, "length - offset < needed"); 4909 goto exit; 4910 } 4911 params_base = (GLint *) 4912 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 4913 params = params_base + offset; 4914 4915 glGetTexEnviv( 4916 (GLenum)env, 4917 (GLenum)pname, 4918 (GLint *)params 4919 ); 4920 4921exit: 4922 if (params_base) { 4923 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 4924 _exception ? JNI_ABORT: 0); 4925 } 4926} 4927 4928/* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 4929static void 4930android_glGetTexEnviv__IILjava_nio_IntBuffer_2 4931 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 4932 jint _exception = 0; 4933 jarray _array = (jarray) 0; 4934 jint _remaining; 4935 GLint *params = (GLint *) 0; 4936 4937 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 4938 int _needed; 4939 switch (pname) { 4940#if defined(GL_TEXTURE_ENV_MODE) 4941 case GL_TEXTURE_ENV_MODE: 4942#endif // defined(GL_TEXTURE_ENV_MODE) 4943#if defined(GL_COMBINE_RGB) 4944 case GL_COMBINE_RGB: 4945#endif // defined(GL_COMBINE_RGB) 4946#if defined(GL_COMBINE_ALPHA) 4947 case GL_COMBINE_ALPHA: 4948#endif // defined(GL_COMBINE_ALPHA) 4949 _needed = 1; 4950 break; 4951#if defined(GL_TEXTURE_ENV_COLOR) 4952 case GL_TEXTURE_ENV_COLOR: 4953#endif // defined(GL_TEXTURE_ENV_COLOR) 4954 _needed = 4; 4955 break; 4956 default: 4957 _needed = 0; 4958 break; 4959 } 4960 if (_remaining < _needed) { 4961 _exception = 1; 4962 _env->ThrowNew(IAEClass, "remaining() < needed"); 4963 goto exit; 4964 } 4965 glGetTexEnviv( 4966 (GLenum)env, 4967 (GLenum)pname, 4968 (GLint *)params 4969 ); 4970 4971exit: 4972 if (_array) { 4973 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 4974 } 4975} 4976 4977/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 4978static void 4979android_glGetTexEnvxv__II_3II 4980 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 4981 jint _exception = 0; 4982 GLfixed *params_base = (GLfixed *) 0; 4983 jint _remaining; 4984 GLfixed *params = (GLfixed *) 0; 4985 4986 if (!params_ref) { 4987 _exception = 1; 4988 _env->ThrowNew(IAEClass, "params == null"); 4989 goto exit; 4990 } 4991 if (offset < 0) { 4992 _exception = 1; 4993 _env->ThrowNew(IAEClass, "offset < 0"); 4994 goto exit; 4995 } 4996 _remaining = _env->GetArrayLength(params_ref) - offset; 4997 int _needed; 4998 switch (pname) { 4999#if defined(GL_TEXTURE_ENV_MODE) 5000 case GL_TEXTURE_ENV_MODE: 5001#endif // defined(GL_TEXTURE_ENV_MODE) 5002#if defined(GL_COMBINE_RGB) 5003 case GL_COMBINE_RGB: 5004#endif // defined(GL_COMBINE_RGB) 5005#if defined(GL_COMBINE_ALPHA) 5006 case GL_COMBINE_ALPHA: 5007#endif // defined(GL_COMBINE_ALPHA) 5008 _needed = 1; 5009 break; 5010#if defined(GL_TEXTURE_ENV_COLOR) 5011 case GL_TEXTURE_ENV_COLOR: 5012#endif // defined(GL_TEXTURE_ENV_COLOR) 5013 _needed = 4; 5014 break; 5015 default: 5016 _needed = 0; 5017 break; 5018 } 5019 if (_remaining < _needed) { 5020 _exception = 1; 5021 _env->ThrowNew(IAEClass, "length - offset < needed"); 5022 goto exit; 5023 } 5024 params_base = (GLfixed *) 5025 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5026 params = params_base + offset; 5027 5028 glGetTexEnvxv( 5029 (GLenum)env, 5030 (GLenum)pname, 5031 (GLfixed *)params 5032 ); 5033 5034exit: 5035 if (params_base) { 5036 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5037 _exception ? JNI_ABORT: 0); 5038 } 5039} 5040 5041/* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 5042static void 5043android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 5044 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 5045 jint _exception = 0; 5046 jarray _array = (jarray) 0; 5047 jint _remaining; 5048 GLfixed *params = (GLfixed *) 0; 5049 5050 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 5051 int _needed; 5052 switch (pname) { 5053#if defined(GL_TEXTURE_ENV_MODE) 5054 case GL_TEXTURE_ENV_MODE: 5055#endif // defined(GL_TEXTURE_ENV_MODE) 5056#if defined(GL_COMBINE_RGB) 5057 case GL_COMBINE_RGB: 5058#endif // defined(GL_COMBINE_RGB) 5059#if defined(GL_COMBINE_ALPHA) 5060 case GL_COMBINE_ALPHA: 5061#endif // defined(GL_COMBINE_ALPHA) 5062 _needed = 1; 5063 break; 5064#if defined(GL_TEXTURE_ENV_COLOR) 5065 case GL_TEXTURE_ENV_COLOR: 5066#endif // defined(GL_TEXTURE_ENV_COLOR) 5067 _needed = 4; 5068 break; 5069 default: 5070 _needed = 0; 5071 break; 5072 } 5073 if (_remaining < _needed) { 5074 _exception = 1; 5075 _env->ThrowNew(IAEClass, "remaining() < needed"); 5076 goto exit; 5077 } 5078 glGetTexEnvxv( 5079 (GLenum)env, 5080 (GLenum)pname, 5081 (GLfixed *)params 5082 ); 5083 5084exit: 5085 if (_array) { 5086 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 5087 } 5088} 5089 5090/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 5091static void 5092android_glGetTexParameterfv__II_3FI 5093 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 5094 jint _exception = 0; 5095 GLfloat *params_base = (GLfloat *) 0; 5096 jint _remaining; 5097 GLfloat *params = (GLfloat *) 0; 5098 5099 if (!params_ref) { 5100 _exception = 1; 5101 _env->ThrowNew(IAEClass, "params == null"); 5102 goto exit; 5103 } 5104 if (offset < 0) { 5105 _exception = 1; 5106 _env->ThrowNew(IAEClass, "offset < 0"); 5107 goto exit; 5108 } 5109 _remaining = _env->GetArrayLength(params_ref) - offset; 5110 if (_remaining < 1) { 5111 _exception = 1; 5112 _env->ThrowNew(IAEClass, "length - offset < 1"); 5113 goto exit; 5114 } 5115 params_base = (GLfloat *) 5116 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5117 params = params_base + offset; 5118 5119 glGetTexParameterfv( 5120 (GLenum)target, 5121 (GLenum)pname, 5122 (GLfloat *)params 5123 ); 5124 5125exit: 5126 if (params_base) { 5127 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5128 _exception ? JNI_ABORT: 0); 5129 } 5130} 5131 5132/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 5133static void 5134android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 5135 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5136 jint _exception = 0; 5137 jarray _array = (jarray) 0; 5138 jint _remaining; 5139 GLfloat *params = (GLfloat *) 0; 5140 5141 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 5142 if (_remaining < 1) { 5143 _exception = 1; 5144 _env->ThrowNew(IAEClass, "remaining() < 1"); 5145 goto exit; 5146 } 5147 glGetTexParameterfv( 5148 (GLenum)target, 5149 (GLenum)pname, 5150 (GLfloat *)params 5151 ); 5152 5153exit: 5154 if (_array) { 5155 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 5156 } 5157} 5158 5159/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 5160static void 5161android_glGetTexParameteriv__II_3II 5162 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 5163 jint _exception = 0; 5164 GLint *params_base = (GLint *) 0; 5165 jint _remaining; 5166 GLint *params = (GLint *) 0; 5167 5168 if (!params_ref) { 5169 _exception = 1; 5170 _env->ThrowNew(IAEClass, "params == null"); 5171 goto exit; 5172 } 5173 if (offset < 0) { 5174 _exception = 1; 5175 _env->ThrowNew(IAEClass, "offset < 0"); 5176 goto exit; 5177 } 5178 _remaining = _env->GetArrayLength(params_ref) - offset; 5179 if (_remaining < 1) { 5180 _exception = 1; 5181 _env->ThrowNew(IAEClass, "length - offset < 1"); 5182 goto exit; 5183 } 5184 params_base = (GLint *) 5185 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5186 params = params_base + offset; 5187 5188 glGetTexParameteriv( 5189 (GLenum)target, 5190 (GLenum)pname, 5191 (GLint *)params 5192 ); 5193 5194exit: 5195 if (params_base) { 5196 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5197 _exception ? JNI_ABORT: 0); 5198 } 5199} 5200 5201/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 5202static void 5203android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 5204 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5205 jint _exception = 0; 5206 jarray _array = (jarray) 0; 5207 jint _remaining; 5208 GLint *params = (GLint *) 0; 5209 5210 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 5211 if (_remaining < 1) { 5212 _exception = 1; 5213 _env->ThrowNew(IAEClass, "remaining() < 1"); 5214 goto exit; 5215 } 5216 glGetTexParameteriv( 5217 (GLenum)target, 5218 (GLenum)pname, 5219 (GLint *)params 5220 ); 5221 5222exit: 5223 if (_array) { 5224 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 5225 } 5226} 5227 5228/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 5229static void 5230android_glGetTexParameterxv__II_3II 5231 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 5232 jint _exception = 0; 5233 GLfixed *params_base = (GLfixed *) 0; 5234 jint _remaining; 5235 GLfixed *params = (GLfixed *) 0; 5236 5237 if (!params_ref) { 5238 _exception = 1; 5239 _env->ThrowNew(IAEClass, "params == null"); 5240 goto exit; 5241 } 5242 if (offset < 0) { 5243 _exception = 1; 5244 _env->ThrowNew(IAEClass, "offset < 0"); 5245 goto exit; 5246 } 5247 _remaining = _env->GetArrayLength(params_ref) - offset; 5248 if (_remaining < 1) { 5249 _exception = 1; 5250 _env->ThrowNew(IAEClass, "length - offset < 1"); 5251 goto exit; 5252 } 5253 params_base = (GLfixed *) 5254 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5255 params = params_base + offset; 5256 5257 glGetTexParameterxv( 5258 (GLenum)target, 5259 (GLenum)pname, 5260 (GLfixed *)params 5261 ); 5262 5263exit: 5264 if (params_base) { 5265 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5266 _exception ? JNI_ABORT: 0); 5267 } 5268} 5269 5270/* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 5271static void 5272android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 5273 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5274 jint _exception = 0; 5275 jarray _array = (jarray) 0; 5276 jint _remaining; 5277 GLfixed *params = (GLfixed *) 0; 5278 5279 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 5280 if (_remaining < 1) { 5281 _exception = 1; 5282 _env->ThrowNew(IAEClass, "remaining() < 1"); 5283 goto exit; 5284 } 5285 glGetTexParameterxv( 5286 (GLenum)target, 5287 (GLenum)pname, 5288 (GLfixed *)params 5289 ); 5290 5291exit: 5292 if (_array) { 5293 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 5294 } 5295} 5296 5297/* GLboolean glIsBuffer ( GLuint buffer ) */ 5298static jboolean 5299android_glIsBuffer__I 5300 (JNIEnv *_env, jobject _this, jint buffer) { 5301 GLboolean _returnValue; 5302 _returnValue = glIsBuffer( 5303 (GLuint)buffer 5304 ); 5305 return _returnValue; 5306} 5307 5308/* GLboolean glIsEnabled ( GLenum cap ) */ 5309static jboolean 5310android_glIsEnabled__I 5311 (JNIEnv *_env, jobject _this, jint cap) { 5312 GLboolean _returnValue; 5313 _returnValue = glIsEnabled( 5314 (GLenum)cap 5315 ); 5316 return _returnValue; 5317} 5318 5319/* GLboolean glIsTexture ( GLuint texture ) */ 5320static jboolean 5321android_glIsTexture__I 5322 (JNIEnv *_env, jobject _this, jint texture) { 5323 GLboolean _returnValue; 5324 _returnValue = glIsTexture( 5325 (GLuint)texture 5326 ); 5327 return _returnValue; 5328} 5329 5330/* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */ 5331static void 5332android_glNormalPointer__III 5333 (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) { 5334 glNormalPointer( 5335 (GLenum)type, 5336 (GLsizei)stride, 5337 (const GLvoid *)offset 5338 ); 5339} 5340 5341/* void glPointParameterf ( GLenum pname, GLfloat param ) */ 5342static void 5343android_glPointParameterf__IF 5344 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 5345 glPointParameterf( 5346 (GLenum)pname, 5347 (GLfloat)param 5348 ); 5349} 5350 5351/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 5352static void 5353android_glPointParameterfv__I_3FI 5354 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 5355 GLfloat *params_base = (GLfloat *) 0; 5356 jint _remaining; 5357 GLfloat *params = (GLfloat *) 0; 5358 5359 if (!params_ref) { 5360 _env->ThrowNew(IAEClass, "params == null"); 5361 goto exit; 5362 } 5363 if (offset < 0) { 5364 _env->ThrowNew(IAEClass, "offset < 0"); 5365 goto exit; 5366 } 5367 _remaining = _env->GetArrayLength(params_ref) - offset; 5368 if (_remaining < 1) { 5369 _env->ThrowNew(IAEClass, "length - offset < 1"); 5370 goto exit; 5371 } 5372 params_base = (GLfloat *) 5373 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5374 params = params_base + offset; 5375 5376 glPointParameterfv( 5377 (GLenum)pname, 5378 (GLfloat *)params 5379 ); 5380 5381exit: 5382 if (params_base) { 5383 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5384 JNI_ABORT); 5385 } 5386} 5387 5388/* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 5389static void 5390android_glPointParameterfv__ILjava_nio_FloatBuffer_2 5391 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 5392 jarray _array = (jarray) 0; 5393 jint _remaining; 5394 GLfloat *params = (GLfloat *) 0; 5395 5396 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 5397 if (_remaining < 1) { 5398 _env->ThrowNew(IAEClass, "remaining() < 1"); 5399 goto exit; 5400 } 5401 glPointParameterfv( 5402 (GLenum)pname, 5403 (GLfloat *)params 5404 ); 5405 5406exit: 5407 if (_array) { 5408 releasePointer(_env, _array, params, JNI_FALSE); 5409 } 5410} 5411 5412/* void glPointParameterx ( GLenum pname, GLfixed param ) */ 5413static void 5414android_glPointParameterx__II 5415 (JNIEnv *_env, jobject _this, jint pname, jint param) { 5416 glPointParameterx( 5417 (GLenum)pname, 5418 (GLfixed)param 5419 ); 5420} 5421 5422/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 5423static void 5424android_glPointParameterxv__I_3II 5425 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 5426 GLfixed *params_base = (GLfixed *) 0; 5427 jint _remaining; 5428 GLfixed *params = (GLfixed *) 0; 5429 5430 if (!params_ref) { 5431 _env->ThrowNew(IAEClass, "params == null"); 5432 goto exit; 5433 } 5434 if (offset < 0) { 5435 _env->ThrowNew(IAEClass, "offset < 0"); 5436 goto exit; 5437 } 5438 _remaining = _env->GetArrayLength(params_ref) - offset; 5439 if (_remaining < 1) { 5440 _env->ThrowNew(IAEClass, "length - offset < 1"); 5441 goto exit; 5442 } 5443 params_base = (GLfixed *) 5444 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5445 params = params_base + offset; 5446 5447 glPointParameterxv( 5448 (GLenum)pname, 5449 (GLfixed *)params 5450 ); 5451 5452exit: 5453 if (params_base) { 5454 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5455 JNI_ABORT); 5456 } 5457} 5458 5459/* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 5460static void 5461android_glPointParameterxv__ILjava_nio_IntBuffer_2 5462 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 5463 jarray _array = (jarray) 0; 5464 jint _remaining; 5465 GLfixed *params = (GLfixed *) 0; 5466 5467 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 5468 if (_remaining < 1) { 5469 _env->ThrowNew(IAEClass, "remaining() < 1"); 5470 goto exit; 5471 } 5472 glPointParameterxv( 5473 (GLenum)pname, 5474 (GLfixed *)params 5475 ); 5476 5477exit: 5478 if (_array) { 5479 releasePointer(_env, _array, params, JNI_FALSE); 5480 } 5481} 5482 5483/* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 5484static void 5485android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I 5486 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 5487 jarray _array = (jarray) 0; 5488 jint _remaining; 5489 GLvoid *pointer = (GLvoid *) 0; 5490 5491 if (pointer_buf) { 5492 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 5493 if ( ! pointer ) { 5494 return; 5495 } 5496 } 5497 glPointSizePointerOESBounds( 5498 (GLenum)type, 5499 (GLsizei)stride, 5500 (GLvoid *)pointer, 5501 (GLsizei)remaining 5502 ); 5503} 5504 5505/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 5506static void 5507android_glTexCoordPointer__IIII 5508 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 5509 glTexCoordPointer( 5510 (GLint)size, 5511 (GLenum)type, 5512 (GLsizei)stride, 5513 (const GLvoid *)offset 5514 ); 5515} 5516 5517/* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */ 5518static void 5519android_glTexEnvi__III 5520 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 5521 glTexEnvi( 5522 (GLenum)target, 5523 (GLenum)pname, 5524 (GLint)param 5525 ); 5526} 5527 5528/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 5529static void 5530android_glTexEnviv__II_3II 5531 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 5532 GLint *params_base = (GLint *) 0; 5533 jint _remaining; 5534 GLint *params = (GLint *) 0; 5535 5536 if (!params_ref) { 5537 _env->ThrowNew(IAEClass, "params == null"); 5538 goto exit; 5539 } 5540 if (offset < 0) { 5541 _env->ThrowNew(IAEClass, "offset < 0"); 5542 goto exit; 5543 } 5544 _remaining = _env->GetArrayLength(params_ref) - offset; 5545 int _needed; 5546 switch (pname) { 5547#if defined(GL_TEXTURE_ENV_MODE) 5548 case GL_TEXTURE_ENV_MODE: 5549#endif // defined(GL_TEXTURE_ENV_MODE) 5550#if defined(GL_COMBINE_RGB) 5551 case GL_COMBINE_RGB: 5552#endif // defined(GL_COMBINE_RGB) 5553#if defined(GL_COMBINE_ALPHA) 5554 case GL_COMBINE_ALPHA: 5555#endif // defined(GL_COMBINE_ALPHA) 5556 _needed = 1; 5557 break; 5558#if defined(GL_TEXTURE_ENV_COLOR) 5559 case GL_TEXTURE_ENV_COLOR: 5560#endif // defined(GL_TEXTURE_ENV_COLOR) 5561 _needed = 4; 5562 break; 5563 default: 5564 _needed = 0; 5565 break; 5566 } 5567 if (_remaining < _needed) { 5568 _env->ThrowNew(IAEClass, "length - offset < needed"); 5569 goto exit; 5570 } 5571 params_base = (GLint *) 5572 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5573 params = params_base + offset; 5574 5575 glTexEnviv( 5576 (GLenum)target, 5577 (GLenum)pname, 5578 (GLint *)params 5579 ); 5580 5581exit: 5582 if (params_base) { 5583 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5584 JNI_ABORT); 5585 } 5586} 5587 5588/* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 5589static void 5590android_glTexEnviv__IILjava_nio_IntBuffer_2 5591 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5592 jarray _array = (jarray) 0; 5593 jint _remaining; 5594 GLint *params = (GLint *) 0; 5595 5596 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 5597 int _needed; 5598 switch (pname) { 5599#if defined(GL_TEXTURE_ENV_MODE) 5600 case GL_TEXTURE_ENV_MODE: 5601#endif // defined(GL_TEXTURE_ENV_MODE) 5602#if defined(GL_COMBINE_RGB) 5603 case GL_COMBINE_RGB: 5604#endif // defined(GL_COMBINE_RGB) 5605#if defined(GL_COMBINE_ALPHA) 5606 case GL_COMBINE_ALPHA: 5607#endif // defined(GL_COMBINE_ALPHA) 5608 _needed = 1; 5609 break; 5610#if defined(GL_TEXTURE_ENV_COLOR) 5611 case GL_TEXTURE_ENV_COLOR: 5612#endif // defined(GL_TEXTURE_ENV_COLOR) 5613 _needed = 4; 5614 break; 5615 default: 5616 _needed = 0; 5617 break; 5618 } 5619 if (_remaining < _needed) { 5620 _env->ThrowNew(IAEClass, "remaining() < needed"); 5621 goto exit; 5622 } 5623 glTexEnviv( 5624 (GLenum)target, 5625 (GLenum)pname, 5626 (GLint *)params 5627 ); 5628 5629exit: 5630 if (_array) { 5631 releasePointer(_env, _array, params, JNI_FALSE); 5632 } 5633} 5634 5635/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 5636static void 5637android_glTexParameterfv__II_3FI 5638 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 5639 GLfloat *params_base = (GLfloat *) 0; 5640 jint _remaining; 5641 GLfloat *params = (GLfloat *) 0; 5642 5643 if (!params_ref) { 5644 _env->ThrowNew(IAEClass, "params == null"); 5645 goto exit; 5646 } 5647 if (offset < 0) { 5648 _env->ThrowNew(IAEClass, "offset < 0"); 5649 goto exit; 5650 } 5651 _remaining = _env->GetArrayLength(params_ref) - offset; 5652 if (_remaining < 1) { 5653 _env->ThrowNew(IAEClass, "length - offset < 1"); 5654 goto exit; 5655 } 5656 params_base = (GLfloat *) 5657 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5658 params = params_base + offset; 5659 5660 glTexParameterfv( 5661 (GLenum)target, 5662 (GLenum)pname, 5663 (GLfloat *)params 5664 ); 5665 5666exit: 5667 if (params_base) { 5668 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5669 JNI_ABORT); 5670 } 5671} 5672 5673/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 5674static void 5675android_glTexParameterfv__IILjava_nio_FloatBuffer_2 5676 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5677 jarray _array = (jarray) 0; 5678 jint _remaining; 5679 GLfloat *params = (GLfloat *) 0; 5680 5681 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 5682 if (_remaining < 1) { 5683 _env->ThrowNew(IAEClass, "remaining() < 1"); 5684 goto exit; 5685 } 5686 glTexParameterfv( 5687 (GLenum)target, 5688 (GLenum)pname, 5689 (GLfloat *)params 5690 ); 5691 5692exit: 5693 if (_array) { 5694 releasePointer(_env, _array, params, JNI_FALSE); 5695 } 5696} 5697 5698/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 5699static void 5700android_glTexParameteri__III 5701 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 5702 glTexParameteri( 5703 (GLenum)target, 5704 (GLenum)pname, 5705 (GLint)param 5706 ); 5707} 5708 5709/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 5710static void 5711android_glTexParameteriv__II_3II 5712 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 5713 GLint *params_base = (GLint *) 0; 5714 jint _remaining; 5715 GLint *params = (GLint *) 0; 5716 5717 if (!params_ref) { 5718 _env->ThrowNew(IAEClass, "params == null"); 5719 goto exit; 5720 } 5721 if (offset < 0) { 5722 _env->ThrowNew(IAEClass, "offset < 0"); 5723 goto exit; 5724 } 5725 _remaining = _env->GetArrayLength(params_ref) - offset; 5726 if (_remaining < 1) { 5727 _env->ThrowNew(IAEClass, "length - offset < 1"); 5728 goto exit; 5729 } 5730 params_base = (GLint *) 5731 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5732 params = params_base + offset; 5733 5734 glTexParameteriv( 5735 (GLenum)target, 5736 (GLenum)pname, 5737 (GLint *)params 5738 ); 5739 5740exit: 5741 if (params_base) { 5742 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5743 JNI_ABORT); 5744 } 5745} 5746 5747/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 5748static void 5749android_glTexParameteriv__IILjava_nio_IntBuffer_2 5750 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5751 jarray _array = (jarray) 0; 5752 jint _remaining; 5753 GLint *params = (GLint *) 0; 5754 5755 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 5756 if (_remaining < 1) { 5757 _env->ThrowNew(IAEClass, "remaining() < 1"); 5758 goto exit; 5759 } 5760 glTexParameteriv( 5761 (GLenum)target, 5762 (GLenum)pname, 5763 (GLint *)params 5764 ); 5765 5766exit: 5767 if (_array) { 5768 releasePointer(_env, _array, params, JNI_FALSE); 5769 } 5770} 5771 5772/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 5773static void 5774android_glTexParameterxv__II_3II 5775 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 5776 GLfixed *params_base = (GLfixed *) 0; 5777 jint _remaining; 5778 GLfixed *params = (GLfixed *) 0; 5779 5780 if (!params_ref) { 5781 _env->ThrowNew(IAEClass, "params == null"); 5782 goto exit; 5783 } 5784 if (offset < 0) { 5785 _env->ThrowNew(IAEClass, "offset < 0"); 5786 goto exit; 5787 } 5788 _remaining = _env->GetArrayLength(params_ref) - offset; 5789 if (_remaining < 1) { 5790 _env->ThrowNew(IAEClass, "length - offset < 1"); 5791 goto exit; 5792 } 5793 params_base = (GLfixed *) 5794 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 5795 params = params_base + offset; 5796 5797 glTexParameterxv( 5798 (GLenum)target, 5799 (GLenum)pname, 5800 (GLfixed *)params 5801 ); 5802 5803exit: 5804 if (params_base) { 5805 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 5806 JNI_ABORT); 5807 } 5808} 5809 5810/* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 5811static void 5812android_glTexParameterxv__IILjava_nio_IntBuffer_2 5813 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 5814 jarray _array = (jarray) 0; 5815 jint _remaining; 5816 GLfixed *params = (GLfixed *) 0; 5817 5818 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 5819 if (_remaining < 1) { 5820 _env->ThrowNew(IAEClass, "remaining() < 1"); 5821 goto exit; 5822 } 5823 glTexParameterxv( 5824 (GLenum)target, 5825 (GLenum)pname, 5826 (GLfixed *)params 5827 ); 5828 5829exit: 5830 if (_array) { 5831 releasePointer(_env, _array, params, JNI_FALSE); 5832 } 5833} 5834 5835/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 5836static void 5837android_glVertexPointer__IIII 5838 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 5839 glVertexPointer( 5840 (GLint)size, 5841 (GLenum)type, 5842 (GLsizei)stride, 5843 (const GLvoid *)offset 5844 ); 5845} 5846 5847/* void glCurrentPaletteMatrixOES ( GLuint matrixpaletteindex ) */ 5848static void 5849android_glCurrentPaletteMatrixOES__I 5850 (JNIEnv *_env, jobject _this, jint matrixpaletteindex) { 5851 glCurrentPaletteMatrixOES( 5852 (GLuint)matrixpaletteindex 5853 ); 5854} 5855 5856/* void glDrawTexfOES ( GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height ) */ 5857static void 5858android_glDrawTexfOES__FFFFF 5859 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z, jfloat width, jfloat height) { 5860 glDrawTexfOES( 5861 (GLfloat)x, 5862 (GLfloat)y, 5863 (GLfloat)z, 5864 (GLfloat)width, 5865 (GLfloat)height 5866 ); 5867} 5868 5869/* void glDrawTexfvOES ( const GLfloat *coords ) */ 5870static void 5871android_glDrawTexfvOES___3FI 5872 (JNIEnv *_env, jobject _this, jfloatArray coords_ref, jint offset) { 5873 GLfloat *coords_base = (GLfloat *) 0; 5874 jint _remaining; 5875 GLfloat *coords = (GLfloat *) 0; 5876 5877 if (!coords_ref) { 5878 _env->ThrowNew(IAEClass, "coords == null"); 5879 goto exit; 5880 } 5881 if (offset < 0) { 5882 _env->ThrowNew(IAEClass, "offset < 0"); 5883 goto exit; 5884 } 5885 _remaining = _env->GetArrayLength(coords_ref) - offset; 5886 if (_remaining < 5) { 5887 _env->ThrowNew(IAEClass, "length - offset < 5"); 5888 goto exit; 5889 } 5890 coords_base = (GLfloat *) 5891 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 5892 coords = coords_base + offset; 5893 5894 glDrawTexfvOES( 5895 (GLfloat *)coords 5896 ); 5897 5898exit: 5899 if (coords_base) { 5900 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 5901 JNI_ABORT); 5902 } 5903} 5904 5905/* void glDrawTexfvOES ( const GLfloat *coords ) */ 5906static void 5907android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 5908 (JNIEnv *_env, jobject _this, jobject coords_buf) { 5909 jarray _array = (jarray) 0; 5910 jint _remaining; 5911 GLfloat *coords = (GLfloat *) 0; 5912 5913 coords = (GLfloat *)getPointer(_env, coords_buf, &_array, &_remaining); 5914 if (_remaining < 5) { 5915 _env->ThrowNew(IAEClass, "remaining() < 5"); 5916 goto exit; 5917 } 5918 glDrawTexfvOES( 5919 (GLfloat *)coords 5920 ); 5921 5922exit: 5923 if (_array) { 5924 releasePointer(_env, _array, coords, JNI_FALSE); 5925 } 5926} 5927 5928/* void glDrawTexiOES ( GLint x, GLint y, GLint z, GLint width, GLint height ) */ 5929static void 5930android_glDrawTexiOES__IIIII 5931 (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 5932 glDrawTexiOES( 5933 (GLint)x, 5934 (GLint)y, 5935 (GLint)z, 5936 (GLint)width, 5937 (GLint)height 5938 ); 5939} 5940 5941/* void glDrawTexivOES ( const GLint *coords ) */ 5942static void 5943android_glDrawTexivOES___3II 5944 (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 5945 GLint *coords_base = (GLint *) 0; 5946 jint _remaining; 5947 GLint *coords = (GLint *) 0; 5948 5949 if (!coords_ref) { 5950 _env->ThrowNew(IAEClass, "coords == null"); 5951 goto exit; 5952 } 5953 if (offset < 0) { 5954 _env->ThrowNew(IAEClass, "offset < 0"); 5955 goto exit; 5956 } 5957 _remaining = _env->GetArrayLength(coords_ref) - offset; 5958 if (_remaining < 5) { 5959 _env->ThrowNew(IAEClass, "length - offset < 5"); 5960 goto exit; 5961 } 5962 coords_base = (GLint *) 5963 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 5964 coords = coords_base + offset; 5965 5966 glDrawTexivOES( 5967 (GLint *)coords 5968 ); 5969 5970exit: 5971 if (coords_base) { 5972 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 5973 JNI_ABORT); 5974 } 5975} 5976 5977/* void glDrawTexivOES ( const GLint *coords ) */ 5978static void 5979android_glDrawTexivOES__Ljava_nio_IntBuffer_2 5980 (JNIEnv *_env, jobject _this, jobject coords_buf) { 5981 jarray _array = (jarray) 0; 5982 jint _remaining; 5983 GLint *coords = (GLint *) 0; 5984 5985 coords = (GLint *)getPointer(_env, coords_buf, &_array, &_remaining); 5986 if (_remaining < 5) { 5987 _env->ThrowNew(IAEClass, "remaining() < 5"); 5988 goto exit; 5989 } 5990 glDrawTexivOES( 5991 (GLint *)coords 5992 ); 5993 5994exit: 5995 if (_array) { 5996 releasePointer(_env, _array, coords, JNI_FALSE); 5997 } 5998} 5999 6000/* void glDrawTexsOES ( GLshort x, GLshort y, GLshort z, GLshort width, GLshort height ) */ 6001static void 6002android_glDrawTexsOES__SSSSS 6003 (JNIEnv *_env, jobject _this, jshort x, jshort y, jshort z, jshort width, jshort height) { 6004 glDrawTexsOES( 6005 (GLshort)x, 6006 (GLshort)y, 6007 (GLshort)z, 6008 (GLshort)width, 6009 (GLshort)height 6010 ); 6011} 6012 6013/* void glDrawTexsvOES ( const GLshort *coords ) */ 6014static void 6015android_glDrawTexsvOES___3SI 6016 (JNIEnv *_env, jobject _this, jshortArray coords_ref, jint offset) { 6017 GLshort *coords_base = (GLshort *) 0; 6018 jint _remaining; 6019 GLshort *coords = (GLshort *) 0; 6020 6021 if (!coords_ref) { 6022 _env->ThrowNew(IAEClass, "coords == null"); 6023 goto exit; 6024 } 6025 if (offset < 0) { 6026 _env->ThrowNew(IAEClass, "offset < 0"); 6027 goto exit; 6028 } 6029 _remaining = _env->GetArrayLength(coords_ref) - offset; 6030 if (_remaining < 5) { 6031 _env->ThrowNew(IAEClass, "length - offset < 5"); 6032 goto exit; 6033 } 6034 coords_base = (GLshort *) 6035 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 6036 coords = coords_base + offset; 6037 6038 glDrawTexsvOES( 6039 (GLshort *)coords 6040 ); 6041 6042exit: 6043 if (coords_base) { 6044 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 6045 JNI_ABORT); 6046 } 6047} 6048 6049/* void glDrawTexsvOES ( const GLshort *coords ) */ 6050static void 6051android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 6052 (JNIEnv *_env, jobject _this, jobject coords_buf) { 6053 jarray _array = (jarray) 0; 6054 jint _remaining; 6055 GLshort *coords = (GLshort *) 0; 6056 6057 coords = (GLshort *)getPointer(_env, coords_buf, &_array, &_remaining); 6058 if (_remaining < 5) { 6059 _env->ThrowNew(IAEClass, "remaining() < 5"); 6060 goto exit; 6061 } 6062 glDrawTexsvOES( 6063 (GLshort *)coords 6064 ); 6065 6066exit: 6067 if (_array) { 6068 releasePointer(_env, _array, coords, JNI_FALSE); 6069 } 6070} 6071 6072/* void glDrawTexxOES ( GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height ) */ 6073static void 6074android_glDrawTexxOES__IIIII 6075 (JNIEnv *_env, jobject _this, jint x, jint y, jint z, jint width, jint height) { 6076 glDrawTexxOES( 6077 (GLfixed)x, 6078 (GLfixed)y, 6079 (GLfixed)z, 6080 (GLfixed)width, 6081 (GLfixed)height 6082 ); 6083} 6084 6085/* void glDrawTexxvOES ( const GLfixed *coords ) */ 6086static void 6087android_glDrawTexxvOES___3II 6088 (JNIEnv *_env, jobject _this, jintArray coords_ref, jint offset) { 6089 GLfixed *coords_base = (GLfixed *) 0; 6090 jint _remaining; 6091 GLfixed *coords = (GLfixed *) 0; 6092 6093 if (!coords_ref) { 6094 _env->ThrowNew(IAEClass, "coords == null"); 6095 goto exit; 6096 } 6097 if (offset < 0) { 6098 _env->ThrowNew(IAEClass, "offset < 0"); 6099 goto exit; 6100 } 6101 _remaining = _env->GetArrayLength(coords_ref) - offset; 6102 if (_remaining < 5) { 6103 _env->ThrowNew(IAEClass, "length - offset < 5"); 6104 goto exit; 6105 } 6106 coords_base = (GLfixed *) 6107 _env->GetPrimitiveArrayCritical(coords_ref, (jboolean *)0); 6108 coords = coords_base + offset; 6109 6110 glDrawTexxvOES( 6111 (GLfixed *)coords 6112 ); 6113 6114exit: 6115 if (coords_base) { 6116 _env->ReleasePrimitiveArrayCritical(coords_ref, coords_base, 6117 JNI_ABORT); 6118 } 6119} 6120 6121/* void glDrawTexxvOES ( const GLfixed *coords ) */ 6122static void 6123android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 6124 (JNIEnv *_env, jobject _this, jobject coords_buf) { 6125 jarray _array = (jarray) 0; 6126 jint _remaining; 6127 GLfixed *coords = (GLfixed *) 0; 6128 6129 coords = (GLfixed *)getPointer(_env, coords_buf, &_array, &_remaining); 6130 if (_remaining < 5) { 6131 _env->ThrowNew(IAEClass, "remaining() < 5"); 6132 goto exit; 6133 } 6134 glDrawTexxvOES( 6135 (GLfixed *)coords 6136 ); 6137 6138exit: 6139 if (_array) { 6140 releasePointer(_env, _array, coords, JNI_FALSE); 6141 } 6142} 6143 6144/* void glLoadPaletteFromModelViewMatrixOES ( void ) */ 6145static void 6146android_glLoadPaletteFromModelViewMatrixOES__ 6147 (JNIEnv *_env, jobject _this) { 6148 glLoadPaletteFromModelViewMatrixOES(); 6149} 6150 6151/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 6152static void 6153android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I 6154 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 6155 jarray _array = (jarray) 0; 6156 jint _remaining; 6157 GLvoid *pointer = (GLvoid *) 0; 6158 6159 if (pointer_buf) { 6160 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 6161 if ( ! pointer ) { 6162 return; 6163 } 6164 } 6165 glMatrixIndexPointerOESBounds( 6166 (GLint)size, 6167 (GLenum)type, 6168 (GLsizei)stride, 6169 (GLvoid *)pointer, 6170 (GLsizei)remaining 6171 ); 6172} 6173 6174/* void glMatrixIndexPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 6175static void 6176android_glMatrixIndexPointerOES__IIII 6177 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 6178 glMatrixIndexPointerOES( 6179 (GLint)size, 6180 (GLenum)type, 6181 (GLsizei)stride, 6182 (const GLvoid *)offset 6183 ); 6184} 6185 6186/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 6187static void 6188android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I 6189 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 6190 jarray _array = (jarray) 0; 6191 jint _remaining; 6192 GLvoid *pointer = (GLvoid *) 0; 6193 6194 if (pointer_buf) { 6195 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 6196 if ( ! pointer ) { 6197 return; 6198 } 6199 } 6200 glWeightPointerOESBounds( 6201 (GLint)size, 6202 (GLenum)type, 6203 (GLsizei)stride, 6204 (GLvoid *)pointer, 6205 (GLsizei)remaining 6206 ); 6207} 6208 6209/* void glWeightPointerOES ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 6210static void 6211android_glWeightPointerOES__IIII 6212 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 6213 glWeightPointerOES( 6214 (GLint)size, 6215 (GLenum)type, 6216 (GLsizei)stride, 6217 (const GLvoid *)offset 6218 ); 6219} 6220 6221/* void glBindFramebufferOES ( GLint target, GLint framebuffer ) */ 6222static void 6223android_glBindFramebufferOES__II 6224 (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 6225 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6226 _env->ThrowNew(UOEClass, 6227 "glBindFramebufferOES"); 6228 return; 6229 } 6230 glBindFramebufferOES( 6231 (GLint)target, 6232 (GLint)framebuffer 6233 ); 6234} 6235 6236/* void glBindRenderbufferOES ( GLint target, GLint renderbuffer ) */ 6237static void 6238android_glBindRenderbufferOES__II 6239 (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 6240 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6241 _env->ThrowNew(UOEClass, 6242 "glBindRenderbufferOES"); 6243 return; 6244 } 6245 glBindRenderbufferOES( 6246 (GLint)target, 6247 (GLint)renderbuffer 6248 ); 6249} 6250 6251/* void glBlendEquation ( GLint mode ) */ 6252static void 6253android_glBlendEquation__I 6254 (JNIEnv *_env, jobject _this, jint mode) { 6255 if (! supportsExtension(_env, _this, have_OES_blend_subtractID)) { 6256 _env->ThrowNew(UOEClass, 6257 "glBlendEquation"); 6258 return; 6259 } 6260 glBlendEquation( 6261 (GLint)mode 6262 ); 6263} 6264 6265/* void glBlendEquationSeparate ( GLint modeRGB, GLint modeAlpha ) */ 6266static void 6267android_glBlendEquationSeparate__II 6268 (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 6269 if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 6270 _env->ThrowNew(UOEClass, 6271 "glBlendEquationSeparate"); 6272 return; 6273 } 6274 glBlendEquationSeparate( 6275 (GLint)modeRGB, 6276 (GLint)modeAlpha 6277 ); 6278} 6279 6280/* void glBlendFuncSeparate ( GLint srcRGB, GLint dstRGB, GLint srcAlpha, GLint dstAlpha ) */ 6281static void 6282android_glBlendFuncSeparate__IIII 6283 (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 6284 if (! supportsExtension(_env, _this, have_OES_blend_equation_separateID)) { 6285 _env->ThrowNew(UOEClass, 6286 "glBlendFuncSeparate"); 6287 return; 6288 } 6289 glBlendFuncSeparate( 6290 (GLint)srcRGB, 6291 (GLint)dstRGB, 6292 (GLint)srcAlpha, 6293 (GLint)dstAlpha 6294 ); 6295} 6296 6297/* GLint glCheckFramebufferStatusOES ( GLint target ) */ 6298static jint 6299android_glCheckFramebufferStatusOES__I 6300 (JNIEnv *_env, jobject _this, jint target) { 6301 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6302 _env->ThrowNew(UOEClass, 6303 "glCheckFramebufferStatusOES"); 6304 return 0; 6305 } 6306 GLint _returnValue = 0; 6307 _returnValue = glCheckFramebufferStatusOES( 6308 (GLint)target 6309 ); 6310 return _returnValue; 6311} 6312 6313/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 6314static void 6315android_glDeleteFramebuffersOES__I_3II 6316 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 6317 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6318 _env->ThrowNew(UOEClass, 6319 "glDeleteFramebuffersOES"); 6320 return; 6321 } 6322 jint _exception = 0; 6323 GLuint *framebuffers_base = (GLuint *) 0; 6324 jint _remaining; 6325 GLuint *framebuffers = (GLuint *) 0; 6326 6327 if (!framebuffers_ref) { 6328 _exception = 1; 6329 _env->ThrowNew(IAEClass, "framebuffers == null"); 6330 goto exit; 6331 } 6332 if (offset < 0) { 6333 _exception = 1; 6334 _env->ThrowNew(IAEClass, "offset < 0"); 6335 goto exit; 6336 } 6337 _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 6338 if (_remaining < n) { 6339 _exception = 1; 6340 _env->ThrowNew(IAEClass, "length - offset < n"); 6341 goto exit; 6342 } 6343 framebuffers_base = (GLuint *) 6344 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 6345 framebuffers = framebuffers_base + offset; 6346 6347 glDeleteFramebuffersOES( 6348 (GLint)n, 6349 (GLuint *)framebuffers 6350 ); 6351 6352exit: 6353 if (framebuffers_base) { 6354 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 6355 _exception ? JNI_ABORT: 0); 6356 } 6357} 6358 6359/* void glDeleteFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 6360static void 6361android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 6362 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 6363 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6364 _env->ThrowNew(UOEClass, 6365 "glDeleteFramebuffersOES"); 6366 return; 6367 } 6368 jint _exception = 0; 6369 jarray _array = (jarray) 0; 6370 jint _remaining; 6371 GLuint *framebuffers = (GLuint *) 0; 6372 6373 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 6374 if (_remaining < n) { 6375 _exception = 1; 6376 _env->ThrowNew(IAEClass, "remaining() < n"); 6377 goto exit; 6378 } 6379 glDeleteFramebuffersOES( 6380 (GLint)n, 6381 (GLuint *)framebuffers 6382 ); 6383 6384exit: 6385 if (_array) { 6386 releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 6387 } 6388} 6389 6390/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 6391static void 6392android_glDeleteRenderbuffersOES__I_3II 6393 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 6394 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6395 _env->ThrowNew(UOEClass, 6396 "glDeleteRenderbuffersOES"); 6397 return; 6398 } 6399 jint _exception = 0; 6400 GLuint *renderbuffers_base = (GLuint *) 0; 6401 jint _remaining; 6402 GLuint *renderbuffers = (GLuint *) 0; 6403 6404 if (!renderbuffers_ref) { 6405 _exception = 1; 6406 _env->ThrowNew(IAEClass, "renderbuffers == null"); 6407 goto exit; 6408 } 6409 if (offset < 0) { 6410 _exception = 1; 6411 _env->ThrowNew(IAEClass, "offset < 0"); 6412 goto exit; 6413 } 6414 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 6415 if (_remaining < n) { 6416 _exception = 1; 6417 _env->ThrowNew(IAEClass, "length - offset < n"); 6418 goto exit; 6419 } 6420 renderbuffers_base = (GLuint *) 6421 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 6422 renderbuffers = renderbuffers_base + offset; 6423 6424 glDeleteRenderbuffersOES( 6425 (GLint)n, 6426 (GLuint *)renderbuffers 6427 ); 6428 6429exit: 6430 if (renderbuffers_base) { 6431 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 6432 _exception ? JNI_ABORT: 0); 6433 } 6434} 6435 6436/* void glDeleteRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 6437static void 6438android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 6439 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 6440 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6441 _env->ThrowNew(UOEClass, 6442 "glDeleteRenderbuffersOES"); 6443 return; 6444 } 6445 jint _exception = 0; 6446 jarray _array = (jarray) 0; 6447 jint _remaining; 6448 GLuint *renderbuffers = (GLuint *) 0; 6449 6450 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 6451 if (_remaining < n) { 6452 _exception = 1; 6453 _env->ThrowNew(IAEClass, "remaining() < n"); 6454 goto exit; 6455 } 6456 glDeleteRenderbuffersOES( 6457 (GLint)n, 6458 (GLuint *)renderbuffers 6459 ); 6460 6461exit: 6462 if (_array) { 6463 releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 6464 } 6465} 6466 6467/* void glFramebufferRenderbufferOES ( GLint target, GLint attachment, GLint renderbuffertarget, GLint renderbuffer ) */ 6468static void 6469android_glFramebufferRenderbufferOES__IIII 6470 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 6471 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6472 _env->ThrowNew(UOEClass, 6473 "glFramebufferRenderbufferOES"); 6474 return; 6475 } 6476 glFramebufferRenderbufferOES( 6477 (GLint)target, 6478 (GLint)attachment, 6479 (GLint)renderbuffertarget, 6480 (GLint)renderbuffer 6481 ); 6482} 6483 6484/* void glFramebufferTexture2DOES ( GLint target, GLint attachment, GLint textarget, GLint texture, GLint level ) */ 6485static void 6486android_glFramebufferTexture2DOES__IIIII 6487 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 6488 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6489 _env->ThrowNew(UOEClass, 6490 "glFramebufferTexture2DOES"); 6491 return; 6492 } 6493 glFramebufferTexture2DOES( 6494 (GLint)target, 6495 (GLint)attachment, 6496 (GLint)textarget, 6497 (GLint)texture, 6498 (GLint)level 6499 ); 6500} 6501 6502/* void glGenerateMipmapOES ( GLint target ) */ 6503static void 6504android_glGenerateMipmapOES__I 6505 (JNIEnv *_env, jobject _this, jint target) { 6506 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6507 _env->ThrowNew(UOEClass, 6508 "glGenerateMipmapOES"); 6509 return; 6510 } 6511 glGenerateMipmapOES( 6512 (GLint)target 6513 ); 6514} 6515 6516/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 6517static void 6518android_glGenFramebuffersOES__I_3II 6519 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 6520 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6521 _env->ThrowNew(UOEClass, 6522 "glGenFramebuffersOES"); 6523 return; 6524 } 6525 jint _exception = 0; 6526 GLuint *framebuffers_base = (GLuint *) 0; 6527 jint _remaining; 6528 GLuint *framebuffers = (GLuint *) 0; 6529 6530 if (!framebuffers_ref) { 6531 _exception = 1; 6532 _env->ThrowNew(IAEClass, "framebuffers == null"); 6533 goto exit; 6534 } 6535 if (offset < 0) { 6536 _exception = 1; 6537 _env->ThrowNew(IAEClass, "offset < 0"); 6538 goto exit; 6539 } 6540 _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 6541 if (_remaining < n) { 6542 _exception = 1; 6543 _env->ThrowNew(IAEClass, "length - offset < n"); 6544 goto exit; 6545 } 6546 framebuffers_base = (GLuint *) 6547 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 6548 framebuffers = framebuffers_base + offset; 6549 6550 glGenFramebuffersOES( 6551 (GLint)n, 6552 (GLuint *)framebuffers 6553 ); 6554 6555exit: 6556 if (framebuffers_base) { 6557 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 6558 _exception ? JNI_ABORT: 0); 6559 } 6560} 6561 6562/* void glGenFramebuffersOES ( GLint n, GLuint *framebuffers ) */ 6563static void 6564android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 6565 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 6566 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6567 _env->ThrowNew(UOEClass, 6568 "glGenFramebuffersOES"); 6569 return; 6570 } 6571 jint _exception = 0; 6572 jarray _array = (jarray) 0; 6573 jint _remaining; 6574 GLuint *framebuffers = (GLuint *) 0; 6575 6576 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 6577 if (_remaining < n) { 6578 _exception = 1; 6579 _env->ThrowNew(IAEClass, "remaining() < n"); 6580 goto exit; 6581 } 6582 glGenFramebuffersOES( 6583 (GLint)n, 6584 (GLuint *)framebuffers 6585 ); 6586 6587exit: 6588 if (_array) { 6589 releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 6590 } 6591} 6592 6593/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 6594static void 6595android_glGenRenderbuffersOES__I_3II 6596 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 6597 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6598 _env->ThrowNew(UOEClass, 6599 "glGenRenderbuffersOES"); 6600 return; 6601 } 6602 jint _exception = 0; 6603 GLuint *renderbuffers_base = (GLuint *) 0; 6604 jint _remaining; 6605 GLuint *renderbuffers = (GLuint *) 0; 6606 6607 if (!renderbuffers_ref) { 6608 _exception = 1; 6609 _env->ThrowNew(IAEClass, "renderbuffers == null"); 6610 goto exit; 6611 } 6612 if (offset < 0) { 6613 _exception = 1; 6614 _env->ThrowNew(IAEClass, "offset < 0"); 6615 goto exit; 6616 } 6617 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 6618 if (_remaining < n) { 6619 _exception = 1; 6620 _env->ThrowNew(IAEClass, "length - offset < n"); 6621 goto exit; 6622 } 6623 renderbuffers_base = (GLuint *) 6624 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 6625 renderbuffers = renderbuffers_base + offset; 6626 6627 glGenRenderbuffersOES( 6628 (GLint)n, 6629 (GLuint *)renderbuffers 6630 ); 6631 6632exit: 6633 if (renderbuffers_base) { 6634 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 6635 _exception ? JNI_ABORT: 0); 6636 } 6637} 6638 6639/* void glGenRenderbuffersOES ( GLint n, GLuint *renderbuffers ) */ 6640static void 6641android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 6642 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 6643 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6644 _env->ThrowNew(UOEClass, 6645 "glGenRenderbuffersOES"); 6646 return; 6647 } 6648 jint _exception = 0; 6649 jarray _array = (jarray) 0; 6650 jint _remaining; 6651 GLuint *renderbuffers = (GLuint *) 0; 6652 6653 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 6654 if (_remaining < n) { 6655 _exception = 1; 6656 _env->ThrowNew(IAEClass, "remaining() < n"); 6657 goto exit; 6658 } 6659 glGenRenderbuffersOES( 6660 (GLint)n, 6661 (GLuint *)renderbuffers 6662 ); 6663 6664exit: 6665 if (_array) { 6666 releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 6667 } 6668} 6669 6670/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 6671static void 6672android_glGetFramebufferAttachmentParameterivOES__III_3II 6673 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 6674 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6675 _env->ThrowNew(UOEClass, 6676 "glGetFramebufferAttachmentParameterivOES"); 6677 return; 6678 } 6679 jint _exception = 0; 6680 GLint *params_base = (GLint *) 0; 6681 jint _remaining; 6682 GLint *params = (GLint *) 0; 6683 6684 if (!params_ref) { 6685 _exception = 1; 6686 _env->ThrowNew(IAEClass, "params == null"); 6687 goto exit; 6688 } 6689 if (offset < 0) { 6690 _exception = 1; 6691 _env->ThrowNew(IAEClass, "offset < 0"); 6692 goto exit; 6693 } 6694 _remaining = _env->GetArrayLength(params_ref) - offset; 6695 params_base = (GLint *) 6696 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 6697 params = params_base + offset; 6698 6699 glGetFramebufferAttachmentParameterivOES( 6700 (GLint)target, 6701 (GLint)attachment, 6702 (GLint)pname, 6703 (GLint *)params 6704 ); 6705 6706exit: 6707 if (params_base) { 6708 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 6709 _exception ? JNI_ABORT: 0); 6710 } 6711} 6712 6713/* void glGetFramebufferAttachmentParameterivOES ( GLint target, GLint attachment, GLint pname, GLint *params ) */ 6714static void 6715android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 6716 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 6717 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6718 _env->ThrowNew(UOEClass, 6719 "glGetFramebufferAttachmentParameterivOES"); 6720 return; 6721 } 6722 jint _exception = 0; 6723 jarray _array = (jarray) 0; 6724 jint _remaining; 6725 GLint *params = (GLint *) 0; 6726 6727 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 6728 glGetFramebufferAttachmentParameterivOES( 6729 (GLint)target, 6730 (GLint)attachment, 6731 (GLint)pname, 6732 (GLint *)params 6733 ); 6734 if (_array) { 6735 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 6736 } 6737} 6738 6739/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 6740static void 6741android_glGetRenderbufferParameterivOES__II_3II 6742 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 6743 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6744 _env->ThrowNew(UOEClass, 6745 "glGetRenderbufferParameterivOES"); 6746 return; 6747 } 6748 jint _exception = 0; 6749 GLint *params_base = (GLint *) 0; 6750 jint _remaining; 6751 GLint *params = (GLint *) 0; 6752 6753 if (!params_ref) { 6754 _exception = 1; 6755 _env->ThrowNew(IAEClass, "params == null"); 6756 goto exit; 6757 } 6758 if (offset < 0) { 6759 _exception = 1; 6760 _env->ThrowNew(IAEClass, "offset < 0"); 6761 goto exit; 6762 } 6763 _remaining = _env->GetArrayLength(params_ref) - offset; 6764 params_base = (GLint *) 6765 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 6766 params = params_base + offset; 6767 6768 glGetRenderbufferParameterivOES( 6769 (GLint)target, 6770 (GLint)pname, 6771 (GLint *)params 6772 ); 6773 6774exit: 6775 if (params_base) { 6776 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 6777 _exception ? JNI_ABORT: 0); 6778 } 6779} 6780 6781/* void glGetRenderbufferParameterivOES ( GLint target, GLint pname, GLint *params ) */ 6782static void 6783android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 6784 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 6785 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 6786 _env->ThrowNew(UOEClass, 6787 "glGetRenderbufferParameterivOES"); 6788 return; 6789 } 6790 jint _exception = 0; 6791 jarray _array = (jarray) 0; 6792 jint _remaining; 6793 GLint *params = (GLint *) 0; 6794 6795 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 6796 glGetRenderbufferParameterivOES( 6797 (GLint)target, 6798 (GLint)pname, 6799 (GLint *)params 6800 ); 6801 if (_array) { 6802 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 6803 } 6804} 6805 6806/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 6807static void 6808android_glGetTexGenfv__II_3FI 6809 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 6810 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6811 _env->ThrowNew(UOEClass, 6812 "glGetTexGenfv"); 6813 return; 6814 } 6815 jint _exception = 0; 6816 GLfloat *params_base = (GLfloat *) 0; 6817 jint _remaining; 6818 GLfloat *params = (GLfloat *) 0; 6819 6820 if (!params_ref) { 6821 _exception = 1; 6822 _env->ThrowNew(IAEClass, "params == null"); 6823 goto exit; 6824 } 6825 if (offset < 0) { 6826 _exception = 1; 6827 _env->ThrowNew(IAEClass, "offset < 0"); 6828 goto exit; 6829 } 6830 _remaining = _env->GetArrayLength(params_ref) - offset; 6831 params_base = (GLfloat *) 6832 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 6833 params = params_base + offset; 6834 6835 glGetTexGenfv( 6836 (GLint)coord, 6837 (GLint)pname, 6838 (GLfloat *)params 6839 ); 6840 6841exit: 6842 if (params_base) { 6843 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 6844 _exception ? JNI_ABORT: 0); 6845 } 6846} 6847 6848/* void glGetTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 6849static void 6850android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 6851 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 6852 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6853 _env->ThrowNew(UOEClass, 6854 "glGetTexGenfv"); 6855 return; 6856 } 6857 jint _exception = 0; 6858 jarray _array = (jarray) 0; 6859 jint _remaining; 6860 GLfloat *params = (GLfloat *) 0; 6861 6862 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 6863 glGetTexGenfv( 6864 (GLint)coord, 6865 (GLint)pname, 6866 (GLfloat *)params 6867 ); 6868 if (_array) { 6869 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 6870 } 6871} 6872 6873/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 6874static void 6875android_glGetTexGeniv__II_3II 6876 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 6877 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6878 _env->ThrowNew(UOEClass, 6879 "glGetTexGeniv"); 6880 return; 6881 } 6882 jint _exception = 0; 6883 GLint *params_base = (GLint *) 0; 6884 jint _remaining; 6885 GLint *params = (GLint *) 0; 6886 6887 if (!params_ref) { 6888 _exception = 1; 6889 _env->ThrowNew(IAEClass, "params == null"); 6890 goto exit; 6891 } 6892 if (offset < 0) { 6893 _exception = 1; 6894 _env->ThrowNew(IAEClass, "offset < 0"); 6895 goto exit; 6896 } 6897 _remaining = _env->GetArrayLength(params_ref) - offset; 6898 params_base = (GLint *) 6899 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 6900 params = params_base + offset; 6901 6902 glGetTexGeniv( 6903 (GLint)coord, 6904 (GLint)pname, 6905 (GLint *)params 6906 ); 6907 6908exit: 6909 if (params_base) { 6910 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 6911 _exception ? JNI_ABORT: 0); 6912 } 6913} 6914 6915/* void glGetTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 6916static void 6917android_glGetTexGeniv__IILjava_nio_IntBuffer_2 6918 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 6919 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6920 _env->ThrowNew(UOEClass, 6921 "glGetTexGeniv"); 6922 return; 6923 } 6924 jint _exception = 0; 6925 jarray _array = (jarray) 0; 6926 jint _remaining; 6927 GLint *params = (GLint *) 0; 6928 6929 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 6930 glGetTexGeniv( 6931 (GLint)coord, 6932 (GLint)pname, 6933 (GLint *)params 6934 ); 6935 if (_array) { 6936 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 6937 } 6938} 6939 6940/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 6941static void 6942android_glGetTexGenxv__II_3II 6943 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 6944 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6945 _env->ThrowNew(UOEClass, 6946 "glGetTexGenxv"); 6947 return; 6948 } 6949 jint _exception = 0; 6950 GLint *params_base = (GLint *) 0; 6951 jint _remaining; 6952 GLint *params = (GLint *) 0; 6953 6954 if (!params_ref) { 6955 _exception = 1; 6956 _env->ThrowNew(IAEClass, "params == null"); 6957 goto exit; 6958 } 6959 if (offset < 0) { 6960 _exception = 1; 6961 _env->ThrowNew(IAEClass, "offset < 0"); 6962 goto exit; 6963 } 6964 _remaining = _env->GetArrayLength(params_ref) - offset; 6965 params_base = (GLint *) 6966 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 6967 params = params_base + offset; 6968 6969 glGetTexGenxv( 6970 (GLint)coord, 6971 (GLint)pname, 6972 (GLint *)params 6973 ); 6974 6975exit: 6976 if (params_base) { 6977 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 6978 _exception ? JNI_ABORT: 0); 6979 } 6980} 6981 6982/* void glGetTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 6983static void 6984android_glGetTexGenxv__IILjava_nio_IntBuffer_2 6985 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 6986 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 6987 _env->ThrowNew(UOEClass, 6988 "glGetTexGenxv"); 6989 return; 6990 } 6991 jint _exception = 0; 6992 jarray _array = (jarray) 0; 6993 jint _remaining; 6994 GLint *params = (GLint *) 0; 6995 6996 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 6997 glGetTexGenxv( 6998 (GLint)coord, 6999 (GLint)pname, 7000 (GLint *)params 7001 ); 7002 if (_array) { 7003 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 7004 } 7005} 7006 7007/* GLboolean glIsFramebufferOES ( GLint framebuffer ) */ 7008static jboolean 7009android_glIsFramebufferOES__I 7010 (JNIEnv *_env, jobject _this, jint framebuffer) { 7011 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 7012 _env->ThrowNew(UOEClass, 7013 "glIsFramebufferOES"); 7014 return JNI_FALSE; 7015 } 7016 GLboolean _returnValue = JNI_FALSE; 7017 _returnValue = glIsFramebufferOES( 7018 (GLint)framebuffer 7019 ); 7020 return _returnValue; 7021} 7022 7023/* GLboolean glIsRenderbufferOES ( GLint renderbuffer ) */ 7024static jboolean 7025android_glIsRenderbufferOES__I 7026 (JNIEnv *_env, jobject _this, jint renderbuffer) { 7027 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 7028 _env->ThrowNew(UOEClass, 7029 "glIsRenderbufferOES"); 7030 return JNI_FALSE; 7031 } 7032 GLboolean _returnValue = JNI_FALSE; 7033 _returnValue = glIsRenderbufferOES( 7034 (GLint)renderbuffer 7035 ); 7036 return _returnValue; 7037} 7038 7039/* void glRenderbufferStorageOES ( GLint target, GLint internalformat, GLint width, GLint height ) */ 7040static void 7041android_glRenderbufferStorageOES__IIII 7042 (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 7043 if (! supportsExtension(_env, _this, have_OES_framebuffer_objectID)) { 7044 _env->ThrowNew(UOEClass, 7045 "glRenderbufferStorageOES"); 7046 return; 7047 } 7048 glRenderbufferStorageOES( 7049 (GLint)target, 7050 (GLint)internalformat, 7051 (GLint)width, 7052 (GLint)height 7053 ); 7054} 7055 7056/* void glTexGenf ( GLint coord, GLint pname, GLfloat param ) */ 7057static void 7058android_glTexGenf__IIF 7059 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloat param) { 7060 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7061 _env->ThrowNew(UOEClass, 7062 "glTexGenf"); 7063 return; 7064 } 7065 glTexGenf( 7066 (GLint)coord, 7067 (GLint)pname, 7068 (GLfloat)param 7069 ); 7070} 7071 7072/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 7073static void 7074android_glTexGenfv__II_3FI 7075 (JNIEnv *_env, jobject _this, jint coord, jint pname, jfloatArray params_ref, jint offset) { 7076 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7077 _env->ThrowNew(UOEClass, 7078 "glTexGenfv"); 7079 return; 7080 } 7081 jint _exception = 0; 7082 GLfloat *params_base = (GLfloat *) 0; 7083 jint _remaining; 7084 GLfloat *params = (GLfloat *) 0; 7085 7086 if (!params_ref) { 7087 _exception = 1; 7088 _env->ThrowNew(IAEClass, "params == null"); 7089 goto exit; 7090 } 7091 if (offset < 0) { 7092 _exception = 1; 7093 _env->ThrowNew(IAEClass, "offset < 0"); 7094 goto exit; 7095 } 7096 _remaining = _env->GetArrayLength(params_ref) - offset; 7097 params_base = (GLfloat *) 7098 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 7099 params = params_base + offset; 7100 7101 glTexGenfv( 7102 (GLint)coord, 7103 (GLint)pname, 7104 (GLfloat *)params 7105 ); 7106 7107exit: 7108 if (params_base) { 7109 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 7110 _exception ? JNI_ABORT: 0); 7111 } 7112} 7113 7114/* void glTexGenfv ( GLint coord, GLint pname, GLfloat *params ) */ 7115static void 7116android_glTexGenfv__IILjava_nio_FloatBuffer_2 7117 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 7118 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7119 _env->ThrowNew(UOEClass, 7120 "glTexGenfv"); 7121 return; 7122 } 7123 jint _exception = 0; 7124 jarray _array = (jarray) 0; 7125 jint _remaining; 7126 GLfloat *params = (GLfloat *) 0; 7127 7128 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 7129 glTexGenfv( 7130 (GLint)coord, 7131 (GLint)pname, 7132 (GLfloat *)params 7133 ); 7134 if (_array) { 7135 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 7136 } 7137} 7138 7139/* void glTexGeni ( GLint coord, GLint pname, GLint param ) */ 7140static void 7141android_glTexGeni__III 7142 (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 7143 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7144 _env->ThrowNew(UOEClass, 7145 "glTexGeni"); 7146 return; 7147 } 7148 glTexGeni( 7149 (GLint)coord, 7150 (GLint)pname, 7151 (GLint)param 7152 ); 7153} 7154 7155/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 7156static void 7157android_glTexGeniv__II_3II 7158 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 7159 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7160 _env->ThrowNew(UOEClass, 7161 "glTexGeniv"); 7162 return; 7163 } 7164 jint _exception = 0; 7165 GLint *params_base = (GLint *) 0; 7166 jint _remaining; 7167 GLint *params = (GLint *) 0; 7168 7169 if (!params_ref) { 7170 _exception = 1; 7171 _env->ThrowNew(IAEClass, "params == null"); 7172 goto exit; 7173 } 7174 if (offset < 0) { 7175 _exception = 1; 7176 _env->ThrowNew(IAEClass, "offset < 0"); 7177 goto exit; 7178 } 7179 _remaining = _env->GetArrayLength(params_ref) - offset; 7180 params_base = (GLint *) 7181 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 7182 params = params_base + offset; 7183 7184 glTexGeniv( 7185 (GLint)coord, 7186 (GLint)pname, 7187 (GLint *)params 7188 ); 7189 7190exit: 7191 if (params_base) { 7192 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 7193 _exception ? JNI_ABORT: 0); 7194 } 7195} 7196 7197/* void glTexGeniv ( GLint coord, GLint pname, GLint *params ) */ 7198static void 7199android_glTexGeniv__IILjava_nio_IntBuffer_2 7200 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 7201 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7202 _env->ThrowNew(UOEClass, 7203 "glTexGeniv"); 7204 return; 7205 } 7206 jint _exception = 0; 7207 jarray _array = (jarray) 0; 7208 jint _remaining; 7209 GLint *params = (GLint *) 0; 7210 7211 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 7212 glTexGeniv( 7213 (GLint)coord, 7214 (GLint)pname, 7215 (GLint *)params 7216 ); 7217 if (_array) { 7218 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 7219 } 7220} 7221 7222/* void glTexGenx ( GLint coord, GLint pname, GLint param ) */ 7223static void 7224android_glTexGenx__III 7225 (JNIEnv *_env, jobject _this, jint coord, jint pname, jint param) { 7226 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7227 _env->ThrowNew(UOEClass, 7228 "glTexGenx"); 7229 return; 7230 } 7231 glTexGenx( 7232 (GLint)coord, 7233 (GLint)pname, 7234 (GLint)param 7235 ); 7236} 7237 7238/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 7239static void 7240android_glTexGenxv__II_3II 7241 (JNIEnv *_env, jobject _this, jint coord, jint pname, jintArray params_ref, jint offset) { 7242 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7243 _env->ThrowNew(UOEClass, 7244 "glTexGenxv"); 7245 return; 7246 } 7247 jint _exception = 0; 7248 GLint *params_base = (GLint *) 0; 7249 jint _remaining; 7250 GLint *params = (GLint *) 0; 7251 7252 if (!params_ref) { 7253 _exception = 1; 7254 _env->ThrowNew(IAEClass, "params == null"); 7255 goto exit; 7256 } 7257 if (offset < 0) { 7258 _exception = 1; 7259 _env->ThrowNew(IAEClass, "offset < 0"); 7260 goto exit; 7261 } 7262 _remaining = _env->GetArrayLength(params_ref) - offset; 7263 params_base = (GLint *) 7264 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 7265 params = params_base + offset; 7266 7267 glTexGenxv( 7268 (GLint)coord, 7269 (GLint)pname, 7270 (GLint *)params 7271 ); 7272 7273exit: 7274 if (params_base) { 7275 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 7276 _exception ? JNI_ABORT: 0); 7277 } 7278} 7279 7280/* void glTexGenxv ( GLint coord, GLint pname, GLint *params ) */ 7281static void 7282android_glTexGenxv__IILjava_nio_IntBuffer_2 7283 (JNIEnv *_env, jobject _this, jint coord, jint pname, jobject params_buf) { 7284 if (! supportsExtension(_env, _this, have_OES_texture_cube_mapID)) { 7285 _env->ThrowNew(UOEClass, 7286 "glTexGenxv"); 7287 return; 7288 } 7289 jint _exception = 0; 7290 jarray _array = (jarray) 0; 7291 jint _remaining; 7292 GLint *params = (GLint *) 0; 7293 7294 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 7295 glTexGenxv( 7296 (GLint)coord, 7297 (GLint)pname, 7298 (GLint *)params 7299 ); 7300 if (_array) { 7301 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 7302 } 7303} 7304 7305static const char *classPathName = "com/google/android/gles_jni/GLImpl"; 7306 7307static JNINativeMethod methods[] = { 7308{"_nativeClassInit", "()V", (void*)nativeClassInit }, 7309{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 7310{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 7311{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 7312{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 7313{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 7314{"glClear", "(I)V", (void *) android_glClear__I }, 7315{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 7316{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 7317{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 7318{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 7319{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 7320{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 7321{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 7322{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 7323{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 7324{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 7325{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 7326{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 7327{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 7328{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 7329{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 7330{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 7331{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 7332{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 7333{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 7334{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 7335{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 7336{"glDisable", "(I)V", (void *) android_glDisable__I }, 7337{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 7338{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 7339{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 7340{"glEnable", "(I)V", (void *) android_glEnable__I }, 7341{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 7342{"glFinish", "()V", (void *) android_glFinish__ }, 7343{"glFlush", "()V", (void *) android_glFlush__ }, 7344{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 7345{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 7346{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 7347{"glFogx", "(II)V", (void *) android_glFogx__II }, 7348{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 7349{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 7350{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 7351{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 7352{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 7353{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 7354{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 7355{"glGetError", "()I", (void *) android_glGetError__ }, 7356{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 7357{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 7358{"_glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 7359{"glHint", "(II)V", (void *) android_glHint__II }, 7360{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 7361{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 7362{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 7363{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 7364{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 7365{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 7366{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 7367{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 7368{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 7369{"glLightx", "(III)V", (void *) android_glLightx__III }, 7370{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 7371{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 7372{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 7373{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 7374{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 7375{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 7376{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 7377{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 7378{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 7379{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 7380{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 7381{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 7382{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 7383{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 7384{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 7385{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 7386{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 7387{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 7388{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 7389{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 7390{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 7391{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 7392{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 7393{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 7394{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 7395{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 7396{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 7397{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 7398{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 7399{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 7400{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 7401{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 7402{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 7403{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 7404{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 7405{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 7406{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 7407{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 7408{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 7409{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 7410{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 7411{"glScalex", "(III)V", (void *) android_glScalex__III }, 7412{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 7413{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 7414{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 7415{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 7416{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 7417{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 7418{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 7419{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 7420{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 7421{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 7422{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 7423{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 7424{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 7425{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 7426{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 7427{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 7428{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 7429{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 7430{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 7431{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 7432{"glQueryMatrixxOES", "([II[II)I", (void *) android_glQueryMatrixxOES___3II_3II }, 7433{"glQueryMatrixxOES", "(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I", (void *) android_glQueryMatrixxOES__Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 7434{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 7435{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 7436{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 7437{"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI }, 7438{"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 }, 7439{"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II }, 7440{"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 }, 7441{"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB }, 7442{"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII }, 7443{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 7444{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 7445{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 7446{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 7447{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 7448{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 7449{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 7450{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 7451{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 7452{"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI }, 7453{"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 }, 7454{"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II }, 7455{"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 }, 7456{"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II }, 7457{"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 }, 7458{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 7459{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 7460{"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI }, 7461{"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 }, 7462{"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II }, 7463{"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 }, 7464{"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI }, 7465{"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 }, 7466{"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II }, 7467{"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 }, 7468{"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II }, 7469{"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 }, 7470{"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II }, 7471{"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 }, 7472{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 7473{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 7474{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 7475{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 7476{"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II }, 7477{"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 }, 7478{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 7479{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 7480{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 7481{"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III }, 7482{"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF }, 7483{"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI }, 7484{"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 }, 7485{"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II }, 7486{"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II }, 7487{"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 }, 7488{"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I }, 7489{"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII }, 7490{"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III }, 7491{"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II }, 7492{"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 }, 7493{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 7494{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 7495{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 7496{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 7497{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 7498{"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II }, 7499{"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 }, 7500{"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII }, 7501{"glCurrentPaletteMatrixOES", "(I)V", (void *) android_glCurrentPaletteMatrixOES__I }, 7502{"glDrawTexfOES", "(FFFFF)V", (void *) android_glDrawTexfOES__FFFFF }, 7503{"glDrawTexfvOES", "([FI)V", (void *) android_glDrawTexfvOES___3FI }, 7504{"glDrawTexfvOES", "(Ljava/nio/FloatBuffer;)V", (void *) android_glDrawTexfvOES__Ljava_nio_FloatBuffer_2 }, 7505{"glDrawTexiOES", "(IIIII)V", (void *) android_glDrawTexiOES__IIIII }, 7506{"glDrawTexivOES", "([II)V", (void *) android_glDrawTexivOES___3II }, 7507{"glDrawTexivOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexivOES__Ljava_nio_IntBuffer_2 }, 7508{"glDrawTexsOES", "(SSSSS)V", (void *) android_glDrawTexsOES__SSSSS }, 7509{"glDrawTexsvOES", "([SI)V", (void *) android_glDrawTexsvOES___3SI }, 7510{"glDrawTexsvOES", "(Ljava/nio/ShortBuffer;)V", (void *) android_glDrawTexsvOES__Ljava_nio_ShortBuffer_2 }, 7511{"glDrawTexxOES", "(IIIII)V", (void *) android_glDrawTexxOES__IIIII }, 7512{"glDrawTexxvOES", "([II)V", (void *) android_glDrawTexxvOES___3II }, 7513{"glDrawTexxvOES", "(Ljava/nio/IntBuffer;)V", (void *) android_glDrawTexxvOES__Ljava_nio_IntBuffer_2 }, 7514{"glLoadPaletteFromModelViewMatrixOES", "()V", (void *) android_glLoadPaletteFromModelViewMatrixOES__ }, 7515{"glMatrixIndexPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glMatrixIndexPointerOESBounds__IIILjava_nio_Buffer_2I }, 7516{"glMatrixIndexPointerOES", "(IIII)V", (void *) android_glMatrixIndexPointerOES__IIII }, 7517{"glWeightPointerOESBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glWeightPointerOESBounds__IIILjava_nio_Buffer_2I }, 7518{"glWeightPointerOES", "(IIII)V", (void *) android_glWeightPointerOES__IIII }, 7519{"glBindFramebufferOES", "(II)V", (void *) android_glBindFramebufferOES__II }, 7520{"glBindRenderbufferOES", "(II)V", (void *) android_glBindRenderbufferOES__II }, 7521{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I }, 7522{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II }, 7523{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII }, 7524{"glCheckFramebufferStatusOES", "(I)I", (void *) android_glCheckFramebufferStatusOES__I }, 7525{"glDeleteFramebuffersOES", "(I[II)V", (void *) android_glDeleteFramebuffersOES__I_3II }, 7526{"glDeleteFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffersOES__ILjava_nio_IntBuffer_2 }, 7527{"glDeleteRenderbuffersOES", "(I[II)V", (void *) android_glDeleteRenderbuffersOES__I_3II }, 7528{"glDeleteRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 7529{"glFramebufferRenderbufferOES", "(IIII)V", (void *) android_glFramebufferRenderbufferOES__IIII }, 7530{"glFramebufferTexture2DOES", "(IIIII)V", (void *) android_glFramebufferTexture2DOES__IIIII }, 7531{"glGenerateMipmapOES", "(I)V", (void *) android_glGenerateMipmapOES__I }, 7532{"glGenFramebuffersOES", "(I[II)V", (void *) android_glGenFramebuffersOES__I_3II }, 7533{"glGenFramebuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffersOES__ILjava_nio_IntBuffer_2 }, 7534{"glGenRenderbuffersOES", "(I[II)V", (void *) android_glGenRenderbuffersOES__I_3II }, 7535{"glGenRenderbuffersOES", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffersOES__ILjava_nio_IntBuffer_2 }, 7536{"glGetFramebufferAttachmentParameterivOES", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameterivOES__III_3II }, 7537{"glGetFramebufferAttachmentParameterivOES", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameterivOES__IIILjava_nio_IntBuffer_2 }, 7538{"glGetRenderbufferParameterivOES", "(II[II)V", (void *) android_glGetRenderbufferParameterivOES__II_3II }, 7539{"glGetRenderbufferParameterivOES", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameterivOES__IILjava_nio_IntBuffer_2 }, 7540{"glGetTexGenfv", "(II[FI)V", (void *) android_glGetTexGenfv__II_3FI }, 7541{"glGetTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexGenfv__IILjava_nio_FloatBuffer_2 }, 7542{"glGetTexGeniv", "(II[II)V", (void *) android_glGetTexGeniv__II_3II }, 7543{"glGetTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGeniv__IILjava_nio_IntBuffer_2 }, 7544{"glGetTexGenxv", "(II[II)V", (void *) android_glGetTexGenxv__II_3II }, 7545{"glGetTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexGenxv__IILjava_nio_IntBuffer_2 }, 7546{"glIsFramebufferOES", "(I)Z", (void *) android_glIsFramebufferOES__I }, 7547{"glIsRenderbufferOES", "(I)Z", (void *) android_glIsRenderbufferOES__I }, 7548{"glRenderbufferStorageOES", "(IIII)V", (void *) android_glRenderbufferStorageOES__IIII }, 7549{"glTexGenf", "(IIF)V", (void *) android_glTexGenf__IIF }, 7550{"glTexGenfv", "(II[FI)V", (void *) android_glTexGenfv__II_3FI }, 7551{"glTexGenfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexGenfv__IILjava_nio_FloatBuffer_2 }, 7552{"glTexGeni", "(III)V", (void *) android_glTexGeni__III }, 7553{"glTexGeniv", "(II[II)V", (void *) android_glTexGeniv__II_3II }, 7554{"glTexGeniv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGeniv__IILjava_nio_IntBuffer_2 }, 7555{"glTexGenx", "(III)V", (void *) android_glTexGenx__III }, 7556{"glTexGenxv", "(II[II)V", (void *) android_glTexGenxv__II_3II }, 7557{"glTexGenxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexGenxv__IILjava_nio_IntBuffer_2 }, 7558}; 7559 7560int register_com_google_android_gles_jni_GLImpl(JNIEnv *_env) 7561{ 7562 int err; 7563 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 7564 return err; 7565} 7566