android_opengl_GLES10.cpp revision 24ce5fb2cc09d0a14406e7b935f8648c5720d27e
1/* 2** 3** Copyright 2009, 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 "jni.h" 21#include "JNIHelp.h" 22#include <android_runtime/AndroidRuntime.h> 23#include <utils/misc.h> 24 25#include <assert.h> 26#include <GLES/gl.h> 27#include <GLES/glext.h> 28 29/* special calls implemented in Android's GLES wrapper used to more 30 * efficiently bound-check passed arrays */ 31extern "C" { 32GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, 33 const GLvoid *ptr, GLsizei count); 34GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, 35 const GLvoid *pointer, GLsizei count); 36GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, 37 GLsizei stride, const GLvoid *pointer, GLsizei count); 38GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, 39 GLsizei stride, const GLvoid *pointer, GLsizei count); 40} 41 42static int initialized = 0; 43 44static jclass nioAccessClass; 45static jclass bufferClass; 46static jmethodID getBasePointerID; 47static jmethodID getBaseArrayID; 48static jmethodID getBaseArrayOffsetID; 49static jfieldID positionID; 50static jfieldID limitID; 51static jfieldID elementSizeShiftID; 52 53/* Cache method IDs each time the class is loaded. */ 54 55static void 56nativeClassInit(JNIEnv *_env, jclass glImplClass) 57{ 58 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 59 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 60 61 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 62 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 63 64 getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 65 "getBasePointer", "(Ljava/nio/Buffer;)J"); 66 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 67 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 68 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 69 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 70 71 positionID = _env->GetFieldID(bufferClass, "position", "I"); 72 limitID = _env->GetFieldID(bufferClass, "limit", "I"); 73 elementSizeShiftID = 74 _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 75} 76 77static void * 78getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 79{ 80 jint position; 81 jint limit; 82 jint elementSizeShift; 83 jlong pointer; 84 jint offset; 85 void *data; 86 87 position = _env->GetIntField(buffer, positionID); 88 limit = _env->GetIntField(buffer, limitID); 89 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 90 *remaining = (limit - position) << elementSizeShift; 91 pointer = _env->CallStaticLongMethod(nioAccessClass, 92 getBasePointerID, buffer); 93 if (pointer != 0L) { 94 *array = NULL; 95 return (void *) (jint) pointer; 96 } 97 98 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 99 getBaseArrayID, buffer); 100 offset = _env->CallStaticIntMethod(nioAccessClass, 101 getBaseArrayOffsetID, buffer); 102 data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 103 104 return (void *) ((char *) data + offset); 105} 106 107static void 108releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 109{ 110 _env->ReleasePrimitiveArrayCritical(array, data, 111 commit ? 0 : JNI_ABORT); 112} 113 114static void * 115getDirectBufferPointer(JNIEnv *_env, jobject buffer) { 116 char* buf = (char*) _env->GetDirectBufferAddress(buffer); 117 if (buf) { 118 jint position = _env->GetIntField(buffer, positionID); 119 jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 120 buf += position << elementSizeShift; 121 } else { 122 jniThrowException(_env, "java/lang/IllegalArgumentException", 123 "Must use a native order direct Buffer"); 124 } 125 return (void*) buf; 126} 127 128static int 129getNumCompressedTextureFormats() { 130 int numCompressedTextureFormats = 0; 131 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 132 return numCompressedTextureFormats; 133} 134 135// -------------------------------------------------------------------------- 136/* void glActiveTexture ( GLenum texture ) */ 137static void 138android_glActiveTexture__I 139 (JNIEnv *_env, jobject _this, jint texture) { 140 glActiveTexture( 141 (GLenum)texture 142 ); 143} 144 145/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 146static void 147android_glAlphaFunc__IF 148 (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 149 glAlphaFunc( 150 (GLenum)func, 151 (GLclampf)ref 152 ); 153} 154 155/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 156static void 157android_glAlphaFuncx__II 158 (JNIEnv *_env, jobject _this, jint func, jint ref) { 159 glAlphaFuncx( 160 (GLenum)func, 161 (GLclampx)ref 162 ); 163} 164 165/* void glBindTexture ( GLenum target, GLuint texture ) */ 166static void 167android_glBindTexture__II 168 (JNIEnv *_env, jobject _this, jint target, jint texture) { 169 glBindTexture( 170 (GLenum)target, 171 (GLuint)texture 172 ); 173} 174 175/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 176static void 177android_glBlendFunc__II 178 (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 179 glBlendFunc( 180 (GLenum)sfactor, 181 (GLenum)dfactor 182 ); 183} 184 185/* void glClear ( GLbitfield mask ) */ 186static void 187android_glClear__I 188 (JNIEnv *_env, jobject _this, jint mask) { 189 glClear( 190 (GLbitfield)mask 191 ); 192} 193 194/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 195static void 196android_glClearColor__FFFF 197 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 198 glClearColor( 199 (GLclampf)red, 200 (GLclampf)green, 201 (GLclampf)blue, 202 (GLclampf)alpha 203 ); 204} 205 206/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 207static void 208android_glClearColorx__IIII 209 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 210 glClearColorx( 211 (GLclampx)red, 212 (GLclampx)green, 213 (GLclampx)blue, 214 (GLclampx)alpha 215 ); 216} 217 218/* void glClearDepthf ( GLclampf depth ) */ 219static void 220android_glClearDepthf__F 221 (JNIEnv *_env, jobject _this, jfloat depth) { 222 glClearDepthf( 223 (GLclampf)depth 224 ); 225} 226 227/* void glClearDepthx ( GLclampx depth ) */ 228static void 229android_glClearDepthx__I 230 (JNIEnv *_env, jobject _this, jint depth) { 231 glClearDepthx( 232 (GLclampx)depth 233 ); 234} 235 236/* void glClearStencil ( GLint s ) */ 237static void 238android_glClearStencil__I 239 (JNIEnv *_env, jobject _this, jint s) { 240 glClearStencil( 241 (GLint)s 242 ); 243} 244 245/* void glClientActiveTexture ( GLenum texture ) */ 246static void 247android_glClientActiveTexture__I 248 (JNIEnv *_env, jobject _this, jint texture) { 249 glClientActiveTexture( 250 (GLenum)texture 251 ); 252} 253 254/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 255static void 256android_glColor4f__FFFF 257 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 258 glColor4f( 259 (GLfloat)red, 260 (GLfloat)green, 261 (GLfloat)blue, 262 (GLfloat)alpha 263 ); 264} 265 266/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 267static void 268android_glColor4x__IIII 269 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 270 glColor4x( 271 (GLfixed)red, 272 (GLfixed)green, 273 (GLfixed)blue, 274 (GLfixed)alpha 275 ); 276} 277 278/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 279static void 280android_glColorMask__ZZZZ 281 (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 282 glColorMask( 283 (GLboolean)red, 284 (GLboolean)green, 285 (GLboolean)blue, 286 (GLboolean)alpha 287 ); 288} 289 290/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 291static void 292android_glColorPointerBounds__IIILjava_nio_Buffer_2I 293 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 294 jarray _array = (jarray) 0; 295 jint _remaining; 296 GLvoid *pointer = (GLvoid *) 0; 297 298 if (pointer_buf) { 299 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 300 if ( ! pointer ) { 301 return; 302 } 303 } 304 glColorPointerBounds( 305 (GLint)size, 306 (GLenum)type, 307 (GLsizei)stride, 308 (GLvoid *)pointer, 309 (GLsizei)remaining 310 ); 311} 312 313/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 314static void 315android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 316 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 317 jarray _array = (jarray) 0; 318 jint _remaining; 319 GLvoid *data = (GLvoid *) 0; 320 321 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 322 glCompressedTexImage2D( 323 (GLenum)target, 324 (GLint)level, 325 (GLenum)internalformat, 326 (GLsizei)width, 327 (GLsizei)height, 328 (GLint)border, 329 (GLsizei)imageSize, 330 (GLvoid *)data 331 ); 332 if (_array) { 333 releasePointer(_env, _array, data, JNI_FALSE); 334 } 335} 336 337/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 338static void 339android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 340 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 341 jarray _array = (jarray) 0; 342 jint _remaining; 343 GLvoid *data = (GLvoid *) 0; 344 345 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 346 glCompressedTexSubImage2D( 347 (GLenum)target, 348 (GLint)level, 349 (GLint)xoffset, 350 (GLint)yoffset, 351 (GLsizei)width, 352 (GLsizei)height, 353 (GLenum)format, 354 (GLsizei)imageSize, 355 (GLvoid *)data 356 ); 357 if (_array) { 358 releasePointer(_env, _array, data, JNI_FALSE); 359 } 360} 361 362/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 363static void 364android_glCopyTexImage2D__IIIIIIII 365 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 366 glCopyTexImage2D( 367 (GLenum)target, 368 (GLint)level, 369 (GLenum)internalformat, 370 (GLint)x, 371 (GLint)y, 372 (GLsizei)width, 373 (GLsizei)height, 374 (GLint)border 375 ); 376} 377 378/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 379static void 380android_glCopyTexSubImage2D__IIIIIIII 381 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 382 glCopyTexSubImage2D( 383 (GLenum)target, 384 (GLint)level, 385 (GLint)xoffset, 386 (GLint)yoffset, 387 (GLint)x, 388 (GLint)y, 389 (GLsizei)width, 390 (GLsizei)height 391 ); 392} 393 394/* void glCullFace ( GLenum mode ) */ 395static void 396android_glCullFace__I 397 (JNIEnv *_env, jobject _this, jint mode) { 398 glCullFace( 399 (GLenum)mode 400 ); 401} 402 403/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 404static void 405android_glDeleteTextures__I_3II 406 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 407 GLuint *textures_base = (GLuint *) 0; 408 jint _remaining; 409 GLuint *textures = (GLuint *) 0; 410 411 if (!textures_ref) { 412 jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 413 goto exit; 414 } 415 if (offset < 0) { 416 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 417 goto exit; 418 } 419 _remaining = _env->GetArrayLength(textures_ref) - offset; 420 if (_remaining < n) { 421 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 422 goto exit; 423 } 424 textures_base = (GLuint *) 425 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 426 textures = textures_base + offset; 427 428 glDeleteTextures( 429 (GLsizei)n, 430 (GLuint *)textures 431 ); 432 433exit: 434 if (textures_base) { 435 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 436 JNI_ABORT); 437 } 438} 439 440/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 441static void 442android_glDeleteTextures__ILjava_nio_IntBuffer_2 443 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 444 jarray _array = (jarray) 0; 445 jint _remaining; 446 GLuint *textures = (GLuint *) 0; 447 448 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 449 if (_remaining < n) { 450 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 451 goto exit; 452 } 453 glDeleteTextures( 454 (GLsizei)n, 455 (GLuint *)textures 456 ); 457 458exit: 459 if (_array) { 460 releasePointer(_env, _array, textures, JNI_FALSE); 461 } 462} 463 464/* void glDepthFunc ( GLenum func ) */ 465static void 466android_glDepthFunc__I 467 (JNIEnv *_env, jobject _this, jint func) { 468 glDepthFunc( 469 (GLenum)func 470 ); 471} 472 473/* void glDepthMask ( GLboolean flag ) */ 474static void 475android_glDepthMask__Z 476 (JNIEnv *_env, jobject _this, jboolean flag) { 477 glDepthMask( 478 (GLboolean)flag 479 ); 480} 481 482/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 483static void 484android_glDepthRangef__FF 485 (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 486 glDepthRangef( 487 (GLclampf)zNear, 488 (GLclampf)zFar 489 ); 490} 491 492/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 493static void 494android_glDepthRangex__II 495 (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 496 glDepthRangex( 497 (GLclampx)zNear, 498 (GLclampx)zFar 499 ); 500} 501 502/* void glDisable ( GLenum cap ) */ 503static void 504android_glDisable__I 505 (JNIEnv *_env, jobject _this, jint cap) { 506 glDisable( 507 (GLenum)cap 508 ); 509} 510 511/* void glDisableClientState ( GLenum array ) */ 512static void 513android_glDisableClientState__I 514 (JNIEnv *_env, jobject _this, jint array) { 515 glDisableClientState( 516 (GLenum)array 517 ); 518} 519 520/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 521static void 522android_glDrawArrays__III 523 (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 524 glDrawArrays( 525 (GLenum)mode, 526 (GLint)first, 527 (GLsizei)count 528 ); 529} 530 531/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 532static void 533android_glDrawElements__IIILjava_nio_Buffer_2 534 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 535 jarray _array = (jarray) 0; 536 jint _remaining; 537 GLvoid *indices = (GLvoid *) 0; 538 539 indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 540 if (_remaining < count) { 541 jniThrowException(_env, "java/lang/ArrayIndexOutOfBoundsException", "remaining() < count"); 542 goto exit; 543 } 544 glDrawElements( 545 (GLenum)mode, 546 (GLsizei)count, 547 (GLenum)type, 548 (GLvoid *)indices 549 ); 550 551exit: 552 if (_array) { 553 releasePointer(_env, _array, indices, JNI_FALSE); 554 } 555} 556 557/* void glEnable ( GLenum cap ) */ 558static void 559android_glEnable__I 560 (JNIEnv *_env, jobject _this, jint cap) { 561 glEnable( 562 (GLenum)cap 563 ); 564} 565 566/* void glEnableClientState ( GLenum array ) */ 567static void 568android_glEnableClientState__I 569 (JNIEnv *_env, jobject _this, jint array) { 570 glEnableClientState( 571 (GLenum)array 572 ); 573} 574 575/* void glFinish ( void ) */ 576static void 577android_glFinish__ 578 (JNIEnv *_env, jobject _this) { 579 glFinish(); 580} 581 582/* void glFlush ( void ) */ 583static void 584android_glFlush__ 585 (JNIEnv *_env, jobject _this) { 586 glFlush(); 587} 588 589/* void glFogf ( GLenum pname, GLfloat param ) */ 590static void 591android_glFogf__IF 592 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 593 glFogf( 594 (GLenum)pname, 595 (GLfloat)param 596 ); 597} 598 599/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 600static void 601android_glFogfv__I_3FI 602 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 603 GLfloat *params_base = (GLfloat *) 0; 604 jint _remaining; 605 GLfloat *params = (GLfloat *) 0; 606 607 if (!params_ref) { 608 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 609 goto exit; 610 } 611 if (offset < 0) { 612 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 613 goto exit; 614 } 615 _remaining = _env->GetArrayLength(params_ref) - offset; 616 int _needed; 617 switch (pname) { 618#if defined(GL_FOG_MODE) 619 case GL_FOG_MODE: 620#endif // defined(GL_FOG_MODE) 621#if defined(GL_FOG_DENSITY) 622 case GL_FOG_DENSITY: 623#endif // defined(GL_FOG_DENSITY) 624#if defined(GL_FOG_START) 625 case GL_FOG_START: 626#endif // defined(GL_FOG_START) 627#if defined(GL_FOG_END) 628 case GL_FOG_END: 629#endif // defined(GL_FOG_END) 630 _needed = 1; 631 break; 632#if defined(GL_FOG_COLOR) 633 case GL_FOG_COLOR: 634#endif // defined(GL_FOG_COLOR) 635 _needed = 4; 636 break; 637 default: 638 _needed = 0; 639 break; 640 } 641 if (_remaining < _needed) { 642 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 643 goto exit; 644 } 645 params_base = (GLfloat *) 646 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 647 params = params_base + offset; 648 649 glFogfv( 650 (GLenum)pname, 651 (GLfloat *)params 652 ); 653 654exit: 655 if (params_base) { 656 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 657 JNI_ABORT); 658 } 659} 660 661/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 662static void 663android_glFogfv__ILjava_nio_FloatBuffer_2 664 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 665 jarray _array = (jarray) 0; 666 jint _remaining; 667 GLfloat *params = (GLfloat *) 0; 668 669 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 670 int _needed; 671 switch (pname) { 672#if defined(GL_FOG_MODE) 673 case GL_FOG_MODE: 674#endif // defined(GL_FOG_MODE) 675#if defined(GL_FOG_DENSITY) 676 case GL_FOG_DENSITY: 677#endif // defined(GL_FOG_DENSITY) 678#if defined(GL_FOG_START) 679 case GL_FOG_START: 680#endif // defined(GL_FOG_START) 681#if defined(GL_FOG_END) 682 case GL_FOG_END: 683#endif // defined(GL_FOG_END) 684 _needed = 1; 685 break; 686#if defined(GL_FOG_COLOR) 687 case GL_FOG_COLOR: 688#endif // defined(GL_FOG_COLOR) 689 _needed = 4; 690 break; 691 default: 692 _needed = 0; 693 break; 694 } 695 if (_remaining < _needed) { 696 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 697 goto exit; 698 } 699 glFogfv( 700 (GLenum)pname, 701 (GLfloat *)params 702 ); 703 704exit: 705 if (_array) { 706 releasePointer(_env, _array, params, JNI_FALSE); 707 } 708} 709 710/* void glFogx ( GLenum pname, GLfixed param ) */ 711static void 712android_glFogx__II 713 (JNIEnv *_env, jobject _this, jint pname, jint param) { 714 glFogx( 715 (GLenum)pname, 716 (GLfixed)param 717 ); 718} 719 720/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 721static void 722android_glFogxv__I_3II 723 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 724 GLfixed *params_base = (GLfixed *) 0; 725 jint _remaining; 726 GLfixed *params = (GLfixed *) 0; 727 728 if (!params_ref) { 729 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 730 goto exit; 731 } 732 if (offset < 0) { 733 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 734 goto exit; 735 } 736 _remaining = _env->GetArrayLength(params_ref) - offset; 737 int _needed; 738 switch (pname) { 739#if defined(GL_FOG_MODE) 740 case GL_FOG_MODE: 741#endif // defined(GL_FOG_MODE) 742#if defined(GL_FOG_DENSITY) 743 case GL_FOG_DENSITY: 744#endif // defined(GL_FOG_DENSITY) 745#if defined(GL_FOG_START) 746 case GL_FOG_START: 747#endif // defined(GL_FOG_START) 748#if defined(GL_FOG_END) 749 case GL_FOG_END: 750#endif // defined(GL_FOG_END) 751 _needed = 1; 752 break; 753#if defined(GL_FOG_COLOR) 754 case GL_FOG_COLOR: 755#endif // defined(GL_FOG_COLOR) 756 _needed = 4; 757 break; 758 default: 759 _needed = 0; 760 break; 761 } 762 if (_remaining < _needed) { 763 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 764 goto exit; 765 } 766 params_base = (GLfixed *) 767 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 768 params = params_base + offset; 769 770 glFogxv( 771 (GLenum)pname, 772 (GLfixed *)params 773 ); 774 775exit: 776 if (params_base) { 777 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 778 JNI_ABORT); 779 } 780} 781 782/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 783static void 784android_glFogxv__ILjava_nio_IntBuffer_2 785 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 786 jarray _array = (jarray) 0; 787 jint _remaining; 788 GLfixed *params = (GLfixed *) 0; 789 790 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 791 int _needed; 792 switch (pname) { 793#if defined(GL_FOG_MODE) 794 case GL_FOG_MODE: 795#endif // defined(GL_FOG_MODE) 796#if defined(GL_FOG_DENSITY) 797 case GL_FOG_DENSITY: 798#endif // defined(GL_FOG_DENSITY) 799#if defined(GL_FOG_START) 800 case GL_FOG_START: 801#endif // defined(GL_FOG_START) 802#if defined(GL_FOG_END) 803 case GL_FOG_END: 804#endif // defined(GL_FOG_END) 805 _needed = 1; 806 break; 807#if defined(GL_FOG_COLOR) 808 case GL_FOG_COLOR: 809#endif // defined(GL_FOG_COLOR) 810 _needed = 4; 811 break; 812 default: 813 _needed = 0; 814 break; 815 } 816 if (_remaining < _needed) { 817 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 818 goto exit; 819 } 820 glFogxv( 821 (GLenum)pname, 822 (GLfixed *)params 823 ); 824 825exit: 826 if (_array) { 827 releasePointer(_env, _array, params, JNI_FALSE); 828 } 829} 830 831/* void glFrontFace ( GLenum mode ) */ 832static void 833android_glFrontFace__I 834 (JNIEnv *_env, jobject _this, jint mode) { 835 glFrontFace( 836 (GLenum)mode 837 ); 838} 839 840/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 841static void 842android_glFrustumf__FFFFFF 843 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 844 glFrustumf( 845 (GLfloat)left, 846 (GLfloat)right, 847 (GLfloat)bottom, 848 (GLfloat)top, 849 (GLfloat)zNear, 850 (GLfloat)zFar 851 ); 852} 853 854/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 855static void 856android_glFrustumx__IIIIII 857 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 858 glFrustumx( 859 (GLfixed)left, 860 (GLfixed)right, 861 (GLfixed)bottom, 862 (GLfixed)top, 863 (GLfixed)zNear, 864 (GLfixed)zFar 865 ); 866} 867 868/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 869static void 870android_glGenTextures__I_3II 871 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 872 jint _exception = 0; 873 GLuint *textures_base = (GLuint *) 0; 874 jint _remaining; 875 GLuint *textures = (GLuint *) 0; 876 877 if (!textures_ref) { 878 _exception = 1; 879 jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 880 goto exit; 881 } 882 if (offset < 0) { 883 _exception = 1; 884 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 885 goto exit; 886 } 887 _remaining = _env->GetArrayLength(textures_ref) - offset; 888 if (_remaining < n) { 889 _exception = 1; 890 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 891 goto exit; 892 } 893 textures_base = (GLuint *) 894 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 895 textures = textures_base + offset; 896 897 glGenTextures( 898 (GLsizei)n, 899 (GLuint *)textures 900 ); 901 902exit: 903 if (textures_base) { 904 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 905 _exception ? JNI_ABORT: 0); 906 } 907} 908 909/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 910static void 911android_glGenTextures__ILjava_nio_IntBuffer_2 912 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 913 jint _exception = 0; 914 jarray _array = (jarray) 0; 915 jint _remaining; 916 GLuint *textures = (GLuint *) 0; 917 918 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 919 if (_remaining < n) { 920 _exception = 1; 921 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 922 goto exit; 923 } 924 glGenTextures( 925 (GLsizei)n, 926 (GLuint *)textures 927 ); 928 929exit: 930 if (_array) { 931 releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 932 } 933} 934 935/* GLenum glGetError ( void ) */ 936static jint 937android_glGetError__ 938 (JNIEnv *_env, jobject _this) { 939 GLenum _returnValue; 940 _returnValue = glGetError(); 941 return _returnValue; 942} 943 944/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 945static void 946android_glGetIntegerv__I_3II 947 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 948 jint _exception = 0; 949 GLint *params_base = (GLint *) 0; 950 jint _remaining; 951 GLint *params = (GLint *) 0; 952 953 if (!params_ref) { 954 _exception = 1; 955 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 956 goto exit; 957 } 958 if (offset < 0) { 959 _exception = 1; 960 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 961 goto exit; 962 } 963 _remaining = _env->GetArrayLength(params_ref) - offset; 964 int _needed; 965 switch (pname) { 966#if defined(GL_ALPHA_BITS) 967 case GL_ALPHA_BITS: 968#endif // defined(GL_ALPHA_BITS) 969#if defined(GL_ALPHA_TEST_FUNC) 970 case GL_ALPHA_TEST_FUNC: 971#endif // defined(GL_ALPHA_TEST_FUNC) 972#if defined(GL_ALPHA_TEST_REF) 973 case GL_ALPHA_TEST_REF: 974#endif // defined(GL_ALPHA_TEST_REF) 975#if defined(GL_BLEND_DST) 976 case GL_BLEND_DST: 977#endif // defined(GL_BLEND_DST) 978#if defined(GL_BLUE_BITS) 979 case GL_BLUE_BITS: 980#endif // defined(GL_BLUE_BITS) 981#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 982 case GL_COLOR_ARRAY_BUFFER_BINDING: 983#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 984#if defined(GL_COLOR_ARRAY_SIZE) 985 case GL_COLOR_ARRAY_SIZE: 986#endif // defined(GL_COLOR_ARRAY_SIZE) 987#if defined(GL_COLOR_ARRAY_STRIDE) 988 case GL_COLOR_ARRAY_STRIDE: 989#endif // defined(GL_COLOR_ARRAY_STRIDE) 990#if defined(GL_COLOR_ARRAY_TYPE) 991 case GL_COLOR_ARRAY_TYPE: 992#endif // defined(GL_COLOR_ARRAY_TYPE) 993#if defined(GL_CULL_FACE) 994 case GL_CULL_FACE: 995#endif // defined(GL_CULL_FACE) 996#if defined(GL_DEPTH_BITS) 997 case GL_DEPTH_BITS: 998#endif // defined(GL_DEPTH_BITS) 999#if defined(GL_DEPTH_CLEAR_VALUE) 1000 case GL_DEPTH_CLEAR_VALUE: 1001#endif // defined(GL_DEPTH_CLEAR_VALUE) 1002#if defined(GL_DEPTH_FUNC) 1003 case GL_DEPTH_FUNC: 1004#endif // defined(GL_DEPTH_FUNC) 1005#if defined(GL_DEPTH_WRITEMASK) 1006 case GL_DEPTH_WRITEMASK: 1007#endif // defined(GL_DEPTH_WRITEMASK) 1008#if defined(GL_FOG_DENSITY) 1009 case GL_FOG_DENSITY: 1010#endif // defined(GL_FOG_DENSITY) 1011#if defined(GL_FOG_END) 1012 case GL_FOG_END: 1013#endif // defined(GL_FOG_END) 1014#if defined(GL_FOG_MODE) 1015 case GL_FOG_MODE: 1016#endif // defined(GL_FOG_MODE) 1017#if defined(GL_FOG_START) 1018 case GL_FOG_START: 1019#endif // defined(GL_FOG_START) 1020#if defined(GL_FRONT_FACE) 1021 case GL_FRONT_FACE: 1022#endif // defined(GL_FRONT_FACE) 1023#if defined(GL_GREEN_BITS) 1024 case GL_GREEN_BITS: 1025#endif // defined(GL_GREEN_BITS) 1026#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1027 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1028#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1029#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1030 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1031#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1032#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1033 case GL_LIGHT_MODEL_COLOR_CONTROL: 1034#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1035#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1036 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1037#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1038#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1039 case GL_LIGHT_MODEL_TWO_SIDE: 1040#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1041#if defined(GL_LINE_SMOOTH_HINT) 1042 case GL_LINE_SMOOTH_HINT: 1043#endif // defined(GL_LINE_SMOOTH_HINT) 1044#if defined(GL_LINE_WIDTH) 1045 case GL_LINE_WIDTH: 1046#endif // defined(GL_LINE_WIDTH) 1047#if defined(GL_LOGIC_OP_MODE) 1048 case GL_LOGIC_OP_MODE: 1049#endif // defined(GL_LOGIC_OP_MODE) 1050#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1051 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1052#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1053#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1054 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1055#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1056#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1057 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1058#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1059#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1060 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1061#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1062#if defined(GL_MATRIX_MODE) 1063 case GL_MATRIX_MODE: 1064#endif // defined(GL_MATRIX_MODE) 1065#if defined(GL_MAX_CLIP_PLANES) 1066 case GL_MAX_CLIP_PLANES: 1067#endif // defined(GL_MAX_CLIP_PLANES) 1068#if defined(GL_MAX_ELEMENTS_INDICES) 1069 case GL_MAX_ELEMENTS_INDICES: 1070#endif // defined(GL_MAX_ELEMENTS_INDICES) 1071#if defined(GL_MAX_ELEMENTS_VERTICES) 1072 case GL_MAX_ELEMENTS_VERTICES: 1073#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1074#if defined(GL_MAX_LIGHTS) 1075 case GL_MAX_LIGHTS: 1076#endif // defined(GL_MAX_LIGHTS) 1077#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1078 case GL_MAX_MODELVIEW_STACK_DEPTH: 1079#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1080#if defined(GL_MAX_PALETTE_MATRICES_OES) 1081 case GL_MAX_PALETTE_MATRICES_OES: 1082#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1083#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1084 case GL_MAX_PROJECTION_STACK_DEPTH: 1085#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1086#if defined(GL_MAX_TEXTURE_SIZE) 1087 case GL_MAX_TEXTURE_SIZE: 1088#endif // defined(GL_MAX_TEXTURE_SIZE) 1089#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1090 case GL_MAX_TEXTURE_STACK_DEPTH: 1091#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1092#if defined(GL_MAX_TEXTURE_UNITS) 1093 case GL_MAX_TEXTURE_UNITS: 1094#endif // defined(GL_MAX_TEXTURE_UNITS) 1095#if defined(GL_MAX_VERTEX_UNITS_OES) 1096 case GL_MAX_VERTEX_UNITS_OES: 1097#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1098#if defined(GL_MODELVIEW_STACK_DEPTH) 1099 case GL_MODELVIEW_STACK_DEPTH: 1100#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1101#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1102 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1103#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1104#if defined(GL_NORMAL_ARRAY_STRIDE) 1105 case GL_NORMAL_ARRAY_STRIDE: 1106#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1107#if defined(GL_NORMAL_ARRAY_TYPE) 1108 case GL_NORMAL_ARRAY_TYPE: 1109#endif // defined(GL_NORMAL_ARRAY_TYPE) 1110#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1111 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1112#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1113#if defined(GL_PACK_ALIGNMENT) 1114 case GL_PACK_ALIGNMENT: 1115#endif // defined(GL_PACK_ALIGNMENT) 1116#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1117 case GL_PERSPECTIVE_CORRECTION_HINT: 1118#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1119#if defined(GL_POINT_SIZE) 1120 case GL_POINT_SIZE: 1121#endif // defined(GL_POINT_SIZE) 1122#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1123 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1124#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1125#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1126 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1127#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1128#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1129 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1130#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1131#if defined(GL_POINT_SMOOTH_HINT) 1132 case GL_POINT_SMOOTH_HINT: 1133#endif // defined(GL_POINT_SMOOTH_HINT) 1134#if defined(GL_POLYGON_OFFSET_FACTOR) 1135 case GL_POLYGON_OFFSET_FACTOR: 1136#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1137#if defined(GL_POLYGON_OFFSET_UNITS) 1138 case GL_POLYGON_OFFSET_UNITS: 1139#endif // defined(GL_POLYGON_OFFSET_UNITS) 1140#if defined(GL_PROJECTION_STACK_DEPTH) 1141 case GL_PROJECTION_STACK_DEPTH: 1142#endif // defined(GL_PROJECTION_STACK_DEPTH) 1143#if defined(GL_RED_BITS) 1144 case GL_RED_BITS: 1145#endif // defined(GL_RED_BITS) 1146#if defined(GL_SHADE_MODEL) 1147 case GL_SHADE_MODEL: 1148#endif // defined(GL_SHADE_MODEL) 1149#if defined(GL_STENCIL_BITS) 1150 case GL_STENCIL_BITS: 1151#endif // defined(GL_STENCIL_BITS) 1152#if defined(GL_STENCIL_CLEAR_VALUE) 1153 case GL_STENCIL_CLEAR_VALUE: 1154#endif // defined(GL_STENCIL_CLEAR_VALUE) 1155#if defined(GL_STENCIL_FAIL) 1156 case GL_STENCIL_FAIL: 1157#endif // defined(GL_STENCIL_FAIL) 1158#if defined(GL_STENCIL_FUNC) 1159 case GL_STENCIL_FUNC: 1160#endif // defined(GL_STENCIL_FUNC) 1161#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1162 case GL_STENCIL_PASS_DEPTH_FAIL: 1163#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1164#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1165 case GL_STENCIL_PASS_DEPTH_PASS: 1166#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1167#if defined(GL_STENCIL_REF) 1168 case GL_STENCIL_REF: 1169#endif // defined(GL_STENCIL_REF) 1170#if defined(GL_STENCIL_VALUE_MASK) 1171 case GL_STENCIL_VALUE_MASK: 1172#endif // defined(GL_STENCIL_VALUE_MASK) 1173#if defined(GL_STENCIL_WRITEMASK) 1174 case GL_STENCIL_WRITEMASK: 1175#endif // defined(GL_STENCIL_WRITEMASK) 1176#if defined(GL_SUBPIXEL_BITS) 1177 case GL_SUBPIXEL_BITS: 1178#endif // defined(GL_SUBPIXEL_BITS) 1179#if defined(GL_TEXTURE_BINDING_2D) 1180 case GL_TEXTURE_BINDING_2D: 1181#endif // defined(GL_TEXTURE_BINDING_2D) 1182#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1183 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1184#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1185#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1186 case GL_TEXTURE_COORD_ARRAY_SIZE: 1187#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1188#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1189 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1190#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1191#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1192 case GL_TEXTURE_COORD_ARRAY_TYPE: 1193#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1194#if defined(GL_TEXTURE_STACK_DEPTH) 1195 case GL_TEXTURE_STACK_DEPTH: 1196#endif // defined(GL_TEXTURE_STACK_DEPTH) 1197#if defined(GL_UNPACK_ALIGNMENT) 1198 case GL_UNPACK_ALIGNMENT: 1199#endif // defined(GL_UNPACK_ALIGNMENT) 1200#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1201 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1202#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1203#if defined(GL_VERTEX_ARRAY_SIZE) 1204 case GL_VERTEX_ARRAY_SIZE: 1205#endif // defined(GL_VERTEX_ARRAY_SIZE) 1206#if defined(GL_VERTEX_ARRAY_STRIDE) 1207 case GL_VERTEX_ARRAY_STRIDE: 1208#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1209#if defined(GL_VERTEX_ARRAY_TYPE) 1210 case GL_VERTEX_ARRAY_TYPE: 1211#endif // defined(GL_VERTEX_ARRAY_TYPE) 1212#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1213 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1214#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1215#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1216 case GL_WEIGHT_ARRAY_SIZE_OES: 1217#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1218#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1219 case GL_WEIGHT_ARRAY_STRIDE_OES: 1220#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1221#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1222 case GL_WEIGHT_ARRAY_TYPE_OES: 1223#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1224 _needed = 1; 1225 break; 1226#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1227 case GL_ALIASED_POINT_SIZE_RANGE: 1228#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1229#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1230 case GL_ALIASED_LINE_WIDTH_RANGE: 1231#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1232#if defined(GL_DEPTH_RANGE) 1233 case GL_DEPTH_RANGE: 1234#endif // defined(GL_DEPTH_RANGE) 1235#if defined(GL_MAX_VIEWPORT_DIMS) 1236 case GL_MAX_VIEWPORT_DIMS: 1237#endif // defined(GL_MAX_VIEWPORT_DIMS) 1238#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1239 case GL_SMOOTH_LINE_WIDTH_RANGE: 1240#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1241#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1242 case GL_SMOOTH_POINT_SIZE_RANGE: 1243#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1244 _needed = 2; 1245 break; 1246#if defined(GL_COLOR_CLEAR_VALUE) 1247 case GL_COLOR_CLEAR_VALUE: 1248#endif // defined(GL_COLOR_CLEAR_VALUE) 1249#if defined(GL_COLOR_WRITEMASK) 1250 case GL_COLOR_WRITEMASK: 1251#endif // defined(GL_COLOR_WRITEMASK) 1252#if defined(GL_FOG_COLOR) 1253 case GL_FOG_COLOR: 1254#endif // defined(GL_FOG_COLOR) 1255#if defined(GL_LIGHT_MODEL_AMBIENT) 1256 case GL_LIGHT_MODEL_AMBIENT: 1257#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1258#if defined(GL_SCISSOR_BOX) 1259 case GL_SCISSOR_BOX: 1260#endif // defined(GL_SCISSOR_BOX) 1261#if defined(GL_VIEWPORT) 1262 case GL_VIEWPORT: 1263#endif // defined(GL_VIEWPORT) 1264 _needed = 4; 1265 break; 1266#if defined(GL_MODELVIEW_MATRIX) 1267 case GL_MODELVIEW_MATRIX: 1268#endif // defined(GL_MODELVIEW_MATRIX) 1269#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1270 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1271#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1272#if defined(GL_PROJECTION_MATRIX) 1273 case GL_PROJECTION_MATRIX: 1274#endif // defined(GL_PROJECTION_MATRIX) 1275#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1276 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1277#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1278#if defined(GL_TEXTURE_MATRIX) 1279 case GL_TEXTURE_MATRIX: 1280#endif // defined(GL_TEXTURE_MATRIX) 1281#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1282 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1283#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1284 _needed = 16; 1285 break; 1286#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1287 case GL_COMPRESSED_TEXTURE_FORMATS: 1288#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1289 _needed = getNumCompressedTextureFormats(); 1290 break; 1291 default: 1292 _needed = 0; 1293 break; 1294 } 1295 if (_remaining < _needed) { 1296 _exception = 1; 1297 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1298 goto exit; 1299 } 1300 params_base = (GLint *) 1301 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1302 params = params_base + offset; 1303 1304 glGetIntegerv( 1305 (GLenum)pname, 1306 (GLint *)params 1307 ); 1308 1309exit: 1310 if (params_base) { 1311 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1312 _exception ? JNI_ABORT: 0); 1313 } 1314} 1315 1316/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1317static void 1318android_glGetIntegerv__ILjava_nio_IntBuffer_2 1319 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1320 jint _exception = 0; 1321 jarray _array = (jarray) 0; 1322 jint _remaining; 1323 GLint *params = (GLint *) 0; 1324 1325 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1326 int _needed; 1327 switch (pname) { 1328#if defined(GL_ALPHA_BITS) 1329 case GL_ALPHA_BITS: 1330#endif // defined(GL_ALPHA_BITS) 1331#if defined(GL_ALPHA_TEST_FUNC) 1332 case GL_ALPHA_TEST_FUNC: 1333#endif // defined(GL_ALPHA_TEST_FUNC) 1334#if defined(GL_ALPHA_TEST_REF) 1335 case GL_ALPHA_TEST_REF: 1336#endif // defined(GL_ALPHA_TEST_REF) 1337#if defined(GL_BLEND_DST) 1338 case GL_BLEND_DST: 1339#endif // defined(GL_BLEND_DST) 1340#if defined(GL_BLUE_BITS) 1341 case GL_BLUE_BITS: 1342#endif // defined(GL_BLUE_BITS) 1343#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1344 case GL_COLOR_ARRAY_BUFFER_BINDING: 1345#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1346#if defined(GL_COLOR_ARRAY_SIZE) 1347 case GL_COLOR_ARRAY_SIZE: 1348#endif // defined(GL_COLOR_ARRAY_SIZE) 1349#if defined(GL_COLOR_ARRAY_STRIDE) 1350 case GL_COLOR_ARRAY_STRIDE: 1351#endif // defined(GL_COLOR_ARRAY_STRIDE) 1352#if defined(GL_COLOR_ARRAY_TYPE) 1353 case GL_COLOR_ARRAY_TYPE: 1354#endif // defined(GL_COLOR_ARRAY_TYPE) 1355#if defined(GL_CULL_FACE) 1356 case GL_CULL_FACE: 1357#endif // defined(GL_CULL_FACE) 1358#if defined(GL_DEPTH_BITS) 1359 case GL_DEPTH_BITS: 1360#endif // defined(GL_DEPTH_BITS) 1361#if defined(GL_DEPTH_CLEAR_VALUE) 1362 case GL_DEPTH_CLEAR_VALUE: 1363#endif // defined(GL_DEPTH_CLEAR_VALUE) 1364#if defined(GL_DEPTH_FUNC) 1365 case GL_DEPTH_FUNC: 1366#endif // defined(GL_DEPTH_FUNC) 1367#if defined(GL_DEPTH_WRITEMASK) 1368 case GL_DEPTH_WRITEMASK: 1369#endif // defined(GL_DEPTH_WRITEMASK) 1370#if defined(GL_FOG_DENSITY) 1371 case GL_FOG_DENSITY: 1372#endif // defined(GL_FOG_DENSITY) 1373#if defined(GL_FOG_END) 1374 case GL_FOG_END: 1375#endif // defined(GL_FOG_END) 1376#if defined(GL_FOG_MODE) 1377 case GL_FOG_MODE: 1378#endif // defined(GL_FOG_MODE) 1379#if defined(GL_FOG_START) 1380 case GL_FOG_START: 1381#endif // defined(GL_FOG_START) 1382#if defined(GL_FRONT_FACE) 1383 case GL_FRONT_FACE: 1384#endif // defined(GL_FRONT_FACE) 1385#if defined(GL_GREEN_BITS) 1386 case GL_GREEN_BITS: 1387#endif // defined(GL_GREEN_BITS) 1388#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1389 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1390#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1391#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1392 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1393#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1394#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1395 case GL_LIGHT_MODEL_COLOR_CONTROL: 1396#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1397#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1398 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1399#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1400#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1401 case GL_LIGHT_MODEL_TWO_SIDE: 1402#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1403#if defined(GL_LINE_SMOOTH_HINT) 1404 case GL_LINE_SMOOTH_HINT: 1405#endif // defined(GL_LINE_SMOOTH_HINT) 1406#if defined(GL_LINE_WIDTH) 1407 case GL_LINE_WIDTH: 1408#endif // defined(GL_LINE_WIDTH) 1409#if defined(GL_LOGIC_OP_MODE) 1410 case GL_LOGIC_OP_MODE: 1411#endif // defined(GL_LOGIC_OP_MODE) 1412#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1413 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1414#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1415#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1416 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1417#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1418#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1419 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1420#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1421#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1422 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1423#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1424#if defined(GL_MATRIX_MODE) 1425 case GL_MATRIX_MODE: 1426#endif // defined(GL_MATRIX_MODE) 1427#if defined(GL_MAX_CLIP_PLANES) 1428 case GL_MAX_CLIP_PLANES: 1429#endif // defined(GL_MAX_CLIP_PLANES) 1430#if defined(GL_MAX_ELEMENTS_INDICES) 1431 case GL_MAX_ELEMENTS_INDICES: 1432#endif // defined(GL_MAX_ELEMENTS_INDICES) 1433#if defined(GL_MAX_ELEMENTS_VERTICES) 1434 case GL_MAX_ELEMENTS_VERTICES: 1435#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1436#if defined(GL_MAX_LIGHTS) 1437 case GL_MAX_LIGHTS: 1438#endif // defined(GL_MAX_LIGHTS) 1439#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1440 case GL_MAX_MODELVIEW_STACK_DEPTH: 1441#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1442#if defined(GL_MAX_PALETTE_MATRICES_OES) 1443 case GL_MAX_PALETTE_MATRICES_OES: 1444#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1445#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1446 case GL_MAX_PROJECTION_STACK_DEPTH: 1447#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1448#if defined(GL_MAX_TEXTURE_SIZE) 1449 case GL_MAX_TEXTURE_SIZE: 1450#endif // defined(GL_MAX_TEXTURE_SIZE) 1451#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1452 case GL_MAX_TEXTURE_STACK_DEPTH: 1453#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1454#if defined(GL_MAX_TEXTURE_UNITS) 1455 case GL_MAX_TEXTURE_UNITS: 1456#endif // defined(GL_MAX_TEXTURE_UNITS) 1457#if defined(GL_MAX_VERTEX_UNITS_OES) 1458 case GL_MAX_VERTEX_UNITS_OES: 1459#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1460#if defined(GL_MODELVIEW_STACK_DEPTH) 1461 case GL_MODELVIEW_STACK_DEPTH: 1462#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1463#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1464 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1465#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1466#if defined(GL_NORMAL_ARRAY_STRIDE) 1467 case GL_NORMAL_ARRAY_STRIDE: 1468#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1469#if defined(GL_NORMAL_ARRAY_TYPE) 1470 case GL_NORMAL_ARRAY_TYPE: 1471#endif // defined(GL_NORMAL_ARRAY_TYPE) 1472#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1473 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1474#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1475#if defined(GL_PACK_ALIGNMENT) 1476 case GL_PACK_ALIGNMENT: 1477#endif // defined(GL_PACK_ALIGNMENT) 1478#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1479 case GL_PERSPECTIVE_CORRECTION_HINT: 1480#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1481#if defined(GL_POINT_SIZE) 1482 case GL_POINT_SIZE: 1483#endif // defined(GL_POINT_SIZE) 1484#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1485 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1486#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1487#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1488 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1489#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1490#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1491 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1492#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1493#if defined(GL_POINT_SMOOTH_HINT) 1494 case GL_POINT_SMOOTH_HINT: 1495#endif // defined(GL_POINT_SMOOTH_HINT) 1496#if defined(GL_POLYGON_OFFSET_FACTOR) 1497 case GL_POLYGON_OFFSET_FACTOR: 1498#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1499#if defined(GL_POLYGON_OFFSET_UNITS) 1500 case GL_POLYGON_OFFSET_UNITS: 1501#endif // defined(GL_POLYGON_OFFSET_UNITS) 1502#if defined(GL_PROJECTION_STACK_DEPTH) 1503 case GL_PROJECTION_STACK_DEPTH: 1504#endif // defined(GL_PROJECTION_STACK_DEPTH) 1505#if defined(GL_RED_BITS) 1506 case GL_RED_BITS: 1507#endif // defined(GL_RED_BITS) 1508#if defined(GL_SHADE_MODEL) 1509 case GL_SHADE_MODEL: 1510#endif // defined(GL_SHADE_MODEL) 1511#if defined(GL_STENCIL_BITS) 1512 case GL_STENCIL_BITS: 1513#endif // defined(GL_STENCIL_BITS) 1514#if defined(GL_STENCIL_CLEAR_VALUE) 1515 case GL_STENCIL_CLEAR_VALUE: 1516#endif // defined(GL_STENCIL_CLEAR_VALUE) 1517#if defined(GL_STENCIL_FAIL) 1518 case GL_STENCIL_FAIL: 1519#endif // defined(GL_STENCIL_FAIL) 1520#if defined(GL_STENCIL_FUNC) 1521 case GL_STENCIL_FUNC: 1522#endif // defined(GL_STENCIL_FUNC) 1523#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1524 case GL_STENCIL_PASS_DEPTH_FAIL: 1525#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1526#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1527 case GL_STENCIL_PASS_DEPTH_PASS: 1528#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1529#if defined(GL_STENCIL_REF) 1530 case GL_STENCIL_REF: 1531#endif // defined(GL_STENCIL_REF) 1532#if defined(GL_STENCIL_VALUE_MASK) 1533 case GL_STENCIL_VALUE_MASK: 1534#endif // defined(GL_STENCIL_VALUE_MASK) 1535#if defined(GL_STENCIL_WRITEMASK) 1536 case GL_STENCIL_WRITEMASK: 1537#endif // defined(GL_STENCIL_WRITEMASK) 1538#if defined(GL_SUBPIXEL_BITS) 1539 case GL_SUBPIXEL_BITS: 1540#endif // defined(GL_SUBPIXEL_BITS) 1541#if defined(GL_TEXTURE_BINDING_2D) 1542 case GL_TEXTURE_BINDING_2D: 1543#endif // defined(GL_TEXTURE_BINDING_2D) 1544#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1545 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1546#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1547#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1548 case GL_TEXTURE_COORD_ARRAY_SIZE: 1549#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1550#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1551 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1552#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1553#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1554 case GL_TEXTURE_COORD_ARRAY_TYPE: 1555#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1556#if defined(GL_TEXTURE_STACK_DEPTH) 1557 case GL_TEXTURE_STACK_DEPTH: 1558#endif // defined(GL_TEXTURE_STACK_DEPTH) 1559#if defined(GL_UNPACK_ALIGNMENT) 1560 case GL_UNPACK_ALIGNMENT: 1561#endif // defined(GL_UNPACK_ALIGNMENT) 1562#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1563 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1564#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1565#if defined(GL_VERTEX_ARRAY_SIZE) 1566 case GL_VERTEX_ARRAY_SIZE: 1567#endif // defined(GL_VERTEX_ARRAY_SIZE) 1568#if defined(GL_VERTEX_ARRAY_STRIDE) 1569 case GL_VERTEX_ARRAY_STRIDE: 1570#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1571#if defined(GL_VERTEX_ARRAY_TYPE) 1572 case GL_VERTEX_ARRAY_TYPE: 1573#endif // defined(GL_VERTEX_ARRAY_TYPE) 1574#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1575 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1576#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1577#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1578 case GL_WEIGHT_ARRAY_SIZE_OES: 1579#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1580#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1581 case GL_WEIGHT_ARRAY_STRIDE_OES: 1582#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1583#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1584 case GL_WEIGHT_ARRAY_TYPE_OES: 1585#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1586 _needed = 1; 1587 break; 1588#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1589 case GL_ALIASED_POINT_SIZE_RANGE: 1590#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1591#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1592 case GL_ALIASED_LINE_WIDTH_RANGE: 1593#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1594#if defined(GL_DEPTH_RANGE) 1595 case GL_DEPTH_RANGE: 1596#endif // defined(GL_DEPTH_RANGE) 1597#if defined(GL_MAX_VIEWPORT_DIMS) 1598 case GL_MAX_VIEWPORT_DIMS: 1599#endif // defined(GL_MAX_VIEWPORT_DIMS) 1600#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1601 case GL_SMOOTH_LINE_WIDTH_RANGE: 1602#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1603#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1604 case GL_SMOOTH_POINT_SIZE_RANGE: 1605#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1606 _needed = 2; 1607 break; 1608#if defined(GL_COLOR_CLEAR_VALUE) 1609 case GL_COLOR_CLEAR_VALUE: 1610#endif // defined(GL_COLOR_CLEAR_VALUE) 1611#if defined(GL_COLOR_WRITEMASK) 1612 case GL_COLOR_WRITEMASK: 1613#endif // defined(GL_COLOR_WRITEMASK) 1614#if defined(GL_FOG_COLOR) 1615 case GL_FOG_COLOR: 1616#endif // defined(GL_FOG_COLOR) 1617#if defined(GL_LIGHT_MODEL_AMBIENT) 1618 case GL_LIGHT_MODEL_AMBIENT: 1619#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1620#if defined(GL_SCISSOR_BOX) 1621 case GL_SCISSOR_BOX: 1622#endif // defined(GL_SCISSOR_BOX) 1623#if defined(GL_VIEWPORT) 1624 case GL_VIEWPORT: 1625#endif // defined(GL_VIEWPORT) 1626 _needed = 4; 1627 break; 1628#if defined(GL_MODELVIEW_MATRIX) 1629 case GL_MODELVIEW_MATRIX: 1630#endif // defined(GL_MODELVIEW_MATRIX) 1631#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1632 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1633#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1634#if defined(GL_PROJECTION_MATRIX) 1635 case GL_PROJECTION_MATRIX: 1636#endif // defined(GL_PROJECTION_MATRIX) 1637#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1638 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1639#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1640#if defined(GL_TEXTURE_MATRIX) 1641 case GL_TEXTURE_MATRIX: 1642#endif // defined(GL_TEXTURE_MATRIX) 1643#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1644 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1645#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1646 _needed = 16; 1647 break; 1648#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1649 case GL_COMPRESSED_TEXTURE_FORMATS: 1650#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1651 _needed = getNumCompressedTextureFormats(); 1652 break; 1653 default: 1654 _needed = 0; 1655 break; 1656 } 1657 if (_remaining < _needed) { 1658 _exception = 1; 1659 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1660 goto exit; 1661 } 1662 glGetIntegerv( 1663 (GLenum)pname, 1664 (GLint *)params 1665 ); 1666 1667exit: 1668 if (_array) { 1669 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1670 } 1671} 1672 1673/* const GLubyte * glGetString ( GLenum name ) */ 1674static jstring android_glGetString(JNIEnv* _env, jobject, jint name) { 1675 const char* chars = (const char*) glGetString((GLenum) name); 1676 return _env->NewStringUTF(chars); 1677} 1678/* void glHint ( GLenum target, GLenum mode ) */ 1679static void 1680android_glHint__II 1681 (JNIEnv *_env, jobject _this, jint target, jint mode) { 1682 glHint( 1683 (GLenum)target, 1684 (GLenum)mode 1685 ); 1686} 1687 1688/* void glLightModelf ( GLenum pname, GLfloat param ) */ 1689static void 1690android_glLightModelf__IF 1691 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 1692 glLightModelf( 1693 (GLenum)pname, 1694 (GLfloat)param 1695 ); 1696} 1697 1698/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 1699static void 1700android_glLightModelfv__I_3FI 1701 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 1702 GLfloat *params_base = (GLfloat *) 0; 1703 jint _remaining; 1704 GLfloat *params = (GLfloat *) 0; 1705 1706 if (!params_ref) { 1707 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1708 goto exit; 1709 } 1710 if (offset < 0) { 1711 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1712 goto exit; 1713 } 1714 _remaining = _env->GetArrayLength(params_ref) - offset; 1715 int _needed; 1716 switch (pname) { 1717#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1718 case GL_LIGHT_MODEL_TWO_SIDE: 1719#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1720 _needed = 1; 1721 break; 1722#if defined(GL_LIGHT_MODEL_AMBIENT) 1723 case GL_LIGHT_MODEL_AMBIENT: 1724#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1725 _needed = 4; 1726 break; 1727 default: 1728 _needed = 0; 1729 break; 1730 } 1731 if (_remaining < _needed) { 1732 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1733 goto exit; 1734 } 1735 params_base = (GLfloat *) 1736 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1737 params = params_base + offset; 1738 1739 glLightModelfv( 1740 (GLenum)pname, 1741 (GLfloat *)params 1742 ); 1743 1744exit: 1745 if (params_base) { 1746 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1747 JNI_ABORT); 1748 } 1749} 1750 1751/* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ 1752static void 1753android_glLightModelfv__ILjava_nio_FloatBuffer_2 1754 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1755 jarray _array = (jarray) 0; 1756 jint _remaining; 1757 GLfloat *params = (GLfloat *) 0; 1758 1759 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1760 int _needed; 1761 switch (pname) { 1762#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1763 case GL_LIGHT_MODEL_TWO_SIDE: 1764#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1765 _needed = 1; 1766 break; 1767#if defined(GL_LIGHT_MODEL_AMBIENT) 1768 case GL_LIGHT_MODEL_AMBIENT: 1769#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1770 _needed = 4; 1771 break; 1772 default: 1773 _needed = 0; 1774 break; 1775 } 1776 if (_remaining < _needed) { 1777 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1778 goto exit; 1779 } 1780 glLightModelfv( 1781 (GLenum)pname, 1782 (GLfloat *)params 1783 ); 1784 1785exit: 1786 if (_array) { 1787 releasePointer(_env, _array, params, JNI_FALSE); 1788 } 1789} 1790 1791/* void glLightModelx ( GLenum pname, GLfixed param ) */ 1792static void 1793android_glLightModelx__II 1794 (JNIEnv *_env, jobject _this, jint pname, jint param) { 1795 glLightModelx( 1796 (GLenum)pname, 1797 (GLfixed)param 1798 ); 1799} 1800 1801/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 1802static void 1803android_glLightModelxv__I_3II 1804 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1805 GLfixed *params_base = (GLfixed *) 0; 1806 jint _remaining; 1807 GLfixed *params = (GLfixed *) 0; 1808 1809 if (!params_ref) { 1810 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1811 goto exit; 1812 } 1813 if (offset < 0) { 1814 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1815 goto exit; 1816 } 1817 _remaining = _env->GetArrayLength(params_ref) - offset; 1818 int _needed; 1819 switch (pname) { 1820#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1821 case GL_LIGHT_MODEL_TWO_SIDE: 1822#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1823 _needed = 1; 1824 break; 1825#if defined(GL_LIGHT_MODEL_AMBIENT) 1826 case GL_LIGHT_MODEL_AMBIENT: 1827#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1828 _needed = 4; 1829 break; 1830 default: 1831 _needed = 0; 1832 break; 1833 } 1834 if (_remaining < _needed) { 1835 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1836 goto exit; 1837 } 1838 params_base = (GLfixed *) 1839 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1840 params = params_base + offset; 1841 1842 glLightModelxv( 1843 (GLenum)pname, 1844 (GLfixed *)params 1845 ); 1846 1847exit: 1848 if (params_base) { 1849 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1850 JNI_ABORT); 1851 } 1852} 1853 1854/* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ 1855static void 1856android_glLightModelxv__ILjava_nio_IntBuffer_2 1857 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1858 jarray _array = (jarray) 0; 1859 jint _remaining; 1860 GLfixed *params = (GLfixed *) 0; 1861 1862 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 1863 int _needed; 1864 switch (pname) { 1865#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1866 case GL_LIGHT_MODEL_TWO_SIDE: 1867#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1868 _needed = 1; 1869 break; 1870#if defined(GL_LIGHT_MODEL_AMBIENT) 1871 case GL_LIGHT_MODEL_AMBIENT: 1872#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1873 _needed = 4; 1874 break; 1875 default: 1876 _needed = 0; 1877 break; 1878 } 1879 if (_remaining < _needed) { 1880 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1881 goto exit; 1882 } 1883 glLightModelxv( 1884 (GLenum)pname, 1885 (GLfixed *)params 1886 ); 1887 1888exit: 1889 if (_array) { 1890 releasePointer(_env, _array, params, JNI_FALSE); 1891 } 1892} 1893 1894/* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ 1895static void 1896android_glLightf__IIF 1897 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { 1898 glLightf( 1899 (GLenum)light, 1900 (GLenum)pname, 1901 (GLfloat)param 1902 ); 1903} 1904 1905/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 1906static void 1907android_glLightfv__II_3FI 1908 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 1909 GLfloat *params_base = (GLfloat *) 0; 1910 jint _remaining; 1911 GLfloat *params = (GLfloat *) 0; 1912 1913 if (!params_ref) { 1914 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1915 goto exit; 1916 } 1917 if (offset < 0) { 1918 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1919 goto exit; 1920 } 1921 _remaining = _env->GetArrayLength(params_ref) - offset; 1922 int _needed; 1923 switch (pname) { 1924#if defined(GL_SPOT_EXPONENT) 1925 case GL_SPOT_EXPONENT: 1926#endif // defined(GL_SPOT_EXPONENT) 1927#if defined(GL_SPOT_CUTOFF) 1928 case GL_SPOT_CUTOFF: 1929#endif // defined(GL_SPOT_CUTOFF) 1930#if defined(GL_CONSTANT_ATTENUATION) 1931 case GL_CONSTANT_ATTENUATION: 1932#endif // defined(GL_CONSTANT_ATTENUATION) 1933#if defined(GL_LINEAR_ATTENUATION) 1934 case GL_LINEAR_ATTENUATION: 1935#endif // defined(GL_LINEAR_ATTENUATION) 1936#if defined(GL_QUADRATIC_ATTENUATION) 1937 case GL_QUADRATIC_ATTENUATION: 1938#endif // defined(GL_QUADRATIC_ATTENUATION) 1939 _needed = 1; 1940 break; 1941#if defined(GL_SPOT_DIRECTION) 1942 case GL_SPOT_DIRECTION: 1943#endif // defined(GL_SPOT_DIRECTION) 1944 _needed = 3; 1945 break; 1946#if defined(GL_AMBIENT) 1947 case GL_AMBIENT: 1948#endif // defined(GL_AMBIENT) 1949#if defined(GL_DIFFUSE) 1950 case GL_DIFFUSE: 1951#endif // defined(GL_DIFFUSE) 1952#if defined(GL_SPECULAR) 1953 case GL_SPECULAR: 1954#endif // defined(GL_SPECULAR) 1955#if defined(GL_EMISSION) 1956 case GL_EMISSION: 1957#endif // defined(GL_EMISSION) 1958 _needed = 4; 1959 break; 1960 default: 1961 _needed = 0; 1962 break; 1963 } 1964 if (_remaining < _needed) { 1965 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1966 goto exit; 1967 } 1968 params_base = (GLfloat *) 1969 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1970 params = params_base + offset; 1971 1972 glLightfv( 1973 (GLenum)light, 1974 (GLenum)pname, 1975 (GLfloat *)params 1976 ); 1977 1978exit: 1979 if (params_base) { 1980 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1981 JNI_ABORT); 1982 } 1983} 1984 1985/* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ 1986static void 1987android_glLightfv__IILjava_nio_FloatBuffer_2 1988 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 1989 jarray _array = (jarray) 0; 1990 jint _remaining; 1991 GLfloat *params = (GLfloat *) 0; 1992 1993 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1994 int _needed; 1995 switch (pname) { 1996#if defined(GL_SPOT_EXPONENT) 1997 case GL_SPOT_EXPONENT: 1998#endif // defined(GL_SPOT_EXPONENT) 1999#if defined(GL_SPOT_CUTOFF) 2000 case GL_SPOT_CUTOFF: 2001#endif // defined(GL_SPOT_CUTOFF) 2002#if defined(GL_CONSTANT_ATTENUATION) 2003 case GL_CONSTANT_ATTENUATION: 2004#endif // defined(GL_CONSTANT_ATTENUATION) 2005#if defined(GL_LINEAR_ATTENUATION) 2006 case GL_LINEAR_ATTENUATION: 2007#endif // defined(GL_LINEAR_ATTENUATION) 2008#if defined(GL_QUADRATIC_ATTENUATION) 2009 case GL_QUADRATIC_ATTENUATION: 2010#endif // defined(GL_QUADRATIC_ATTENUATION) 2011 _needed = 1; 2012 break; 2013#if defined(GL_SPOT_DIRECTION) 2014 case GL_SPOT_DIRECTION: 2015#endif // defined(GL_SPOT_DIRECTION) 2016 _needed = 3; 2017 break; 2018#if defined(GL_AMBIENT) 2019 case GL_AMBIENT: 2020#endif // defined(GL_AMBIENT) 2021#if defined(GL_DIFFUSE) 2022 case GL_DIFFUSE: 2023#endif // defined(GL_DIFFUSE) 2024#if defined(GL_SPECULAR) 2025 case GL_SPECULAR: 2026#endif // defined(GL_SPECULAR) 2027#if defined(GL_EMISSION) 2028 case GL_EMISSION: 2029#endif // defined(GL_EMISSION) 2030 _needed = 4; 2031 break; 2032 default: 2033 _needed = 0; 2034 break; 2035 } 2036 if (_remaining < _needed) { 2037 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2038 goto exit; 2039 } 2040 glLightfv( 2041 (GLenum)light, 2042 (GLenum)pname, 2043 (GLfloat *)params 2044 ); 2045 2046exit: 2047 if (_array) { 2048 releasePointer(_env, _array, params, JNI_FALSE); 2049 } 2050} 2051 2052/* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ 2053static void 2054android_glLightx__III 2055 (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { 2056 glLightx( 2057 (GLenum)light, 2058 (GLenum)pname, 2059 (GLfixed)param 2060 ); 2061} 2062 2063/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 2064static void 2065android_glLightxv__II_3II 2066 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 2067 GLfixed *params_base = (GLfixed *) 0; 2068 jint _remaining; 2069 GLfixed *params = (GLfixed *) 0; 2070 2071 if (!params_ref) { 2072 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2073 goto exit; 2074 } 2075 if (offset < 0) { 2076 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2077 goto exit; 2078 } 2079 _remaining = _env->GetArrayLength(params_ref) - offset; 2080 int _needed; 2081 switch (pname) { 2082#if defined(GL_SPOT_EXPONENT) 2083 case GL_SPOT_EXPONENT: 2084#endif // defined(GL_SPOT_EXPONENT) 2085#if defined(GL_SPOT_CUTOFF) 2086 case GL_SPOT_CUTOFF: 2087#endif // defined(GL_SPOT_CUTOFF) 2088#if defined(GL_CONSTANT_ATTENUATION) 2089 case GL_CONSTANT_ATTENUATION: 2090#endif // defined(GL_CONSTANT_ATTENUATION) 2091#if defined(GL_LINEAR_ATTENUATION) 2092 case GL_LINEAR_ATTENUATION: 2093#endif // defined(GL_LINEAR_ATTENUATION) 2094#if defined(GL_QUADRATIC_ATTENUATION) 2095 case GL_QUADRATIC_ATTENUATION: 2096#endif // defined(GL_QUADRATIC_ATTENUATION) 2097 _needed = 1; 2098 break; 2099#if defined(GL_SPOT_DIRECTION) 2100 case GL_SPOT_DIRECTION: 2101#endif // defined(GL_SPOT_DIRECTION) 2102 _needed = 3; 2103 break; 2104#if defined(GL_AMBIENT) 2105 case GL_AMBIENT: 2106#endif // defined(GL_AMBIENT) 2107#if defined(GL_DIFFUSE) 2108 case GL_DIFFUSE: 2109#endif // defined(GL_DIFFUSE) 2110#if defined(GL_SPECULAR) 2111 case GL_SPECULAR: 2112#endif // defined(GL_SPECULAR) 2113#if defined(GL_EMISSION) 2114 case GL_EMISSION: 2115#endif // defined(GL_EMISSION) 2116 _needed = 4; 2117 break; 2118 default: 2119 _needed = 0; 2120 break; 2121 } 2122 if (_remaining < _needed) { 2123 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 2124 goto exit; 2125 } 2126 params_base = (GLfixed *) 2127 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2128 params = params_base + offset; 2129 2130 glLightxv( 2131 (GLenum)light, 2132 (GLenum)pname, 2133 (GLfixed *)params 2134 ); 2135 2136exit: 2137 if (params_base) { 2138 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2139 JNI_ABORT); 2140 } 2141} 2142 2143/* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ 2144static void 2145android_glLightxv__IILjava_nio_IntBuffer_2 2146 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 2147 jarray _array = (jarray) 0; 2148 jint _remaining; 2149 GLfixed *params = (GLfixed *) 0; 2150 2151 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2152 int _needed; 2153 switch (pname) { 2154#if defined(GL_SPOT_EXPONENT) 2155 case GL_SPOT_EXPONENT: 2156#endif // defined(GL_SPOT_EXPONENT) 2157#if defined(GL_SPOT_CUTOFF) 2158 case GL_SPOT_CUTOFF: 2159#endif // defined(GL_SPOT_CUTOFF) 2160#if defined(GL_CONSTANT_ATTENUATION) 2161 case GL_CONSTANT_ATTENUATION: 2162#endif // defined(GL_CONSTANT_ATTENUATION) 2163#if defined(GL_LINEAR_ATTENUATION) 2164 case GL_LINEAR_ATTENUATION: 2165#endif // defined(GL_LINEAR_ATTENUATION) 2166#if defined(GL_QUADRATIC_ATTENUATION) 2167 case GL_QUADRATIC_ATTENUATION: 2168#endif // defined(GL_QUADRATIC_ATTENUATION) 2169 _needed = 1; 2170 break; 2171#if defined(GL_SPOT_DIRECTION) 2172 case GL_SPOT_DIRECTION: 2173#endif // defined(GL_SPOT_DIRECTION) 2174 _needed = 3; 2175 break; 2176#if defined(GL_AMBIENT) 2177 case GL_AMBIENT: 2178#endif // defined(GL_AMBIENT) 2179#if defined(GL_DIFFUSE) 2180 case GL_DIFFUSE: 2181#endif // defined(GL_DIFFUSE) 2182#if defined(GL_SPECULAR) 2183 case GL_SPECULAR: 2184#endif // defined(GL_SPECULAR) 2185#if defined(GL_EMISSION) 2186 case GL_EMISSION: 2187#endif // defined(GL_EMISSION) 2188 _needed = 4; 2189 break; 2190 default: 2191 _needed = 0; 2192 break; 2193 } 2194 if (_remaining < _needed) { 2195 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2196 goto exit; 2197 } 2198 glLightxv( 2199 (GLenum)light, 2200 (GLenum)pname, 2201 (GLfixed *)params 2202 ); 2203 2204exit: 2205 if (_array) { 2206 releasePointer(_env, _array, params, JNI_FALSE); 2207 } 2208} 2209 2210/* void glLineWidth ( GLfloat width ) */ 2211static void 2212android_glLineWidth__F 2213 (JNIEnv *_env, jobject _this, jfloat width) { 2214 glLineWidth( 2215 (GLfloat)width 2216 ); 2217} 2218 2219/* void glLineWidthx ( GLfixed width ) */ 2220static void 2221android_glLineWidthx__I 2222 (JNIEnv *_env, jobject _this, jint width) { 2223 glLineWidthx( 2224 (GLfixed)width 2225 ); 2226} 2227 2228/* void glLoadIdentity ( void ) */ 2229static void 2230android_glLoadIdentity__ 2231 (JNIEnv *_env, jobject _this) { 2232 glLoadIdentity(); 2233} 2234 2235/* void glLoadMatrixf ( const GLfloat *m ) */ 2236static void 2237android_glLoadMatrixf___3FI 2238 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 2239 GLfloat *m_base = (GLfloat *) 0; 2240 jint _remaining; 2241 GLfloat *m = (GLfloat *) 0; 2242 2243 if (!m_ref) { 2244 jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 2245 goto exit; 2246 } 2247 if (offset < 0) { 2248 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2249 goto exit; 2250 } 2251 _remaining = _env->GetArrayLength(m_ref) - offset; 2252 m_base = (GLfloat *) 2253 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2254 m = m_base + offset; 2255 2256 glLoadMatrixf( 2257 (GLfloat *)m 2258 ); 2259 2260exit: 2261 if (m_base) { 2262 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2263 JNI_ABORT); 2264 } 2265} 2266 2267/* void glLoadMatrixf ( const GLfloat *m ) */ 2268static void 2269android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 2270 (JNIEnv *_env, jobject _this, jobject m_buf) { 2271 jarray _array = (jarray) 0; 2272 jint _remaining; 2273 GLfloat *m = (GLfloat *) 0; 2274 2275 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 2276 glLoadMatrixf( 2277 (GLfloat *)m 2278 ); 2279 if (_array) { 2280 releasePointer(_env, _array, m, JNI_FALSE); 2281 } 2282} 2283 2284/* void glLoadMatrixx ( const GLfixed *m ) */ 2285static void 2286android_glLoadMatrixx___3II 2287 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 2288 GLfixed *m_base = (GLfixed *) 0; 2289 jint _remaining; 2290 GLfixed *m = (GLfixed *) 0; 2291 2292 if (!m_ref) { 2293 jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 2294 goto exit; 2295 } 2296 if (offset < 0) { 2297 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2298 goto exit; 2299 } 2300 _remaining = _env->GetArrayLength(m_ref) - offset; 2301 m_base = (GLfixed *) 2302 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2303 m = m_base + offset; 2304 2305 glLoadMatrixx( 2306 (GLfixed *)m 2307 ); 2308 2309exit: 2310 if (m_base) { 2311 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2312 JNI_ABORT); 2313 } 2314} 2315 2316/* void glLoadMatrixx ( const GLfixed *m ) */ 2317static void 2318android_glLoadMatrixx__Ljava_nio_IntBuffer_2 2319 (JNIEnv *_env, jobject _this, jobject m_buf) { 2320 jarray _array = (jarray) 0; 2321 jint _remaining; 2322 GLfixed *m = (GLfixed *) 0; 2323 2324 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 2325 glLoadMatrixx( 2326 (GLfixed *)m 2327 ); 2328 if (_array) { 2329 releasePointer(_env, _array, m, JNI_FALSE); 2330 } 2331} 2332 2333/* void glLogicOp ( GLenum opcode ) */ 2334static void 2335android_glLogicOp__I 2336 (JNIEnv *_env, jobject _this, jint opcode) { 2337 glLogicOp( 2338 (GLenum)opcode 2339 ); 2340} 2341 2342/* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ 2343static void 2344android_glMaterialf__IIF 2345 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { 2346 glMaterialf( 2347 (GLenum)face, 2348 (GLenum)pname, 2349 (GLfloat)param 2350 ); 2351} 2352 2353/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 2354static void 2355android_glMaterialfv__II_3FI 2356 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 2357 GLfloat *params_base = (GLfloat *) 0; 2358 jint _remaining; 2359 GLfloat *params = (GLfloat *) 0; 2360 2361 if (!params_ref) { 2362 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2363 goto exit; 2364 } 2365 if (offset < 0) { 2366 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2367 goto exit; 2368 } 2369 _remaining = _env->GetArrayLength(params_ref) - offset; 2370 int _needed; 2371 switch (pname) { 2372#if defined(GL_SHININESS) 2373 case GL_SHININESS: 2374#endif // defined(GL_SHININESS) 2375 _needed = 1; 2376 break; 2377#if defined(GL_AMBIENT) 2378 case GL_AMBIENT: 2379#endif // defined(GL_AMBIENT) 2380#if defined(GL_DIFFUSE) 2381 case GL_DIFFUSE: 2382#endif // defined(GL_DIFFUSE) 2383#if defined(GL_SPECULAR) 2384 case GL_SPECULAR: 2385#endif // defined(GL_SPECULAR) 2386#if defined(GL_EMISSION) 2387 case GL_EMISSION: 2388#endif // defined(GL_EMISSION) 2389#if defined(GL_AMBIENT_AND_DIFFUSE) 2390 case GL_AMBIENT_AND_DIFFUSE: 2391#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2392 _needed = 4; 2393 break; 2394 default: 2395 _needed = 0; 2396 break; 2397 } 2398 if (_remaining < _needed) { 2399 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 2400 goto exit; 2401 } 2402 params_base = (GLfloat *) 2403 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2404 params = params_base + offset; 2405 2406 glMaterialfv( 2407 (GLenum)face, 2408 (GLenum)pname, 2409 (GLfloat *)params 2410 ); 2411 2412exit: 2413 if (params_base) { 2414 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2415 JNI_ABORT); 2416 } 2417} 2418 2419/* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ 2420static void 2421android_glMaterialfv__IILjava_nio_FloatBuffer_2 2422 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 2423 jarray _array = (jarray) 0; 2424 jint _remaining; 2425 GLfloat *params = (GLfloat *) 0; 2426 2427 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2428 int _needed; 2429 switch (pname) { 2430#if defined(GL_SHININESS) 2431 case GL_SHININESS: 2432#endif // defined(GL_SHININESS) 2433 _needed = 1; 2434 break; 2435#if defined(GL_AMBIENT) 2436 case GL_AMBIENT: 2437#endif // defined(GL_AMBIENT) 2438#if defined(GL_DIFFUSE) 2439 case GL_DIFFUSE: 2440#endif // defined(GL_DIFFUSE) 2441#if defined(GL_SPECULAR) 2442 case GL_SPECULAR: 2443#endif // defined(GL_SPECULAR) 2444#if defined(GL_EMISSION) 2445 case GL_EMISSION: 2446#endif // defined(GL_EMISSION) 2447#if defined(GL_AMBIENT_AND_DIFFUSE) 2448 case GL_AMBIENT_AND_DIFFUSE: 2449#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2450 _needed = 4; 2451 break; 2452 default: 2453 _needed = 0; 2454 break; 2455 } 2456 if (_remaining < _needed) { 2457 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2458 goto exit; 2459 } 2460 glMaterialfv( 2461 (GLenum)face, 2462 (GLenum)pname, 2463 (GLfloat *)params 2464 ); 2465 2466exit: 2467 if (_array) { 2468 releasePointer(_env, _array, params, JNI_FALSE); 2469 } 2470} 2471 2472/* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ 2473static void 2474android_glMaterialx__III 2475 (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { 2476 glMaterialx( 2477 (GLenum)face, 2478 (GLenum)pname, 2479 (GLfixed)param 2480 ); 2481} 2482 2483/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 2484static void 2485android_glMaterialxv__II_3II 2486 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 2487 GLfixed *params_base = (GLfixed *) 0; 2488 jint _remaining; 2489 GLfixed *params = (GLfixed *) 0; 2490 2491 if (!params_ref) { 2492 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2493 goto exit; 2494 } 2495 if (offset < 0) { 2496 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2497 goto exit; 2498 } 2499 _remaining = _env->GetArrayLength(params_ref) - offset; 2500 int _needed; 2501 switch (pname) { 2502#if defined(GL_SHININESS) 2503 case GL_SHININESS: 2504#endif // defined(GL_SHININESS) 2505 _needed = 1; 2506 break; 2507#if defined(GL_AMBIENT) 2508 case GL_AMBIENT: 2509#endif // defined(GL_AMBIENT) 2510#if defined(GL_DIFFUSE) 2511 case GL_DIFFUSE: 2512#endif // defined(GL_DIFFUSE) 2513#if defined(GL_SPECULAR) 2514 case GL_SPECULAR: 2515#endif // defined(GL_SPECULAR) 2516#if defined(GL_EMISSION) 2517 case GL_EMISSION: 2518#endif // defined(GL_EMISSION) 2519#if defined(GL_AMBIENT_AND_DIFFUSE) 2520 case GL_AMBIENT_AND_DIFFUSE: 2521#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2522 _needed = 4; 2523 break; 2524 default: 2525 _needed = 0; 2526 break; 2527 } 2528 if (_remaining < _needed) { 2529 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 2530 goto exit; 2531 } 2532 params_base = (GLfixed *) 2533 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2534 params = params_base + offset; 2535 2536 glMaterialxv( 2537 (GLenum)face, 2538 (GLenum)pname, 2539 (GLfixed *)params 2540 ); 2541 2542exit: 2543 if (params_base) { 2544 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2545 JNI_ABORT); 2546 } 2547} 2548 2549/* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ 2550static void 2551android_glMaterialxv__IILjava_nio_IntBuffer_2 2552 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 2553 jarray _array = (jarray) 0; 2554 jint _remaining; 2555 GLfixed *params = (GLfixed *) 0; 2556 2557 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2558 int _needed; 2559 switch (pname) { 2560#if defined(GL_SHININESS) 2561 case GL_SHININESS: 2562#endif // defined(GL_SHININESS) 2563 _needed = 1; 2564 break; 2565#if defined(GL_AMBIENT) 2566 case GL_AMBIENT: 2567#endif // defined(GL_AMBIENT) 2568#if defined(GL_DIFFUSE) 2569 case GL_DIFFUSE: 2570#endif // defined(GL_DIFFUSE) 2571#if defined(GL_SPECULAR) 2572 case GL_SPECULAR: 2573#endif // defined(GL_SPECULAR) 2574#if defined(GL_EMISSION) 2575 case GL_EMISSION: 2576#endif // defined(GL_EMISSION) 2577#if defined(GL_AMBIENT_AND_DIFFUSE) 2578 case GL_AMBIENT_AND_DIFFUSE: 2579#endif // defined(GL_AMBIENT_AND_DIFFUSE) 2580 _needed = 4; 2581 break; 2582 default: 2583 _needed = 0; 2584 break; 2585 } 2586 if (_remaining < _needed) { 2587 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2588 goto exit; 2589 } 2590 glMaterialxv( 2591 (GLenum)face, 2592 (GLenum)pname, 2593 (GLfixed *)params 2594 ); 2595 2596exit: 2597 if (_array) { 2598 releasePointer(_env, _array, params, JNI_FALSE); 2599 } 2600} 2601 2602/* void glMatrixMode ( GLenum mode ) */ 2603static void 2604android_glMatrixMode__I 2605 (JNIEnv *_env, jobject _this, jint mode) { 2606 glMatrixMode( 2607 (GLenum)mode 2608 ); 2609} 2610 2611/* void glMultMatrixf ( const GLfloat *m ) */ 2612static void 2613android_glMultMatrixf___3FI 2614 (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { 2615 GLfloat *m_base = (GLfloat *) 0; 2616 jint _remaining; 2617 GLfloat *m = (GLfloat *) 0; 2618 2619 if (!m_ref) { 2620 jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 2621 goto exit; 2622 } 2623 if (offset < 0) { 2624 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2625 goto exit; 2626 } 2627 _remaining = _env->GetArrayLength(m_ref) - offset; 2628 m_base = (GLfloat *) 2629 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2630 m = m_base + offset; 2631 2632 glMultMatrixf( 2633 (GLfloat *)m 2634 ); 2635 2636exit: 2637 if (m_base) { 2638 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2639 JNI_ABORT); 2640 } 2641} 2642 2643/* void glMultMatrixf ( const GLfloat *m ) */ 2644static void 2645android_glMultMatrixf__Ljava_nio_FloatBuffer_2 2646 (JNIEnv *_env, jobject _this, jobject m_buf) { 2647 jarray _array = (jarray) 0; 2648 jint _remaining; 2649 GLfloat *m = (GLfloat *) 0; 2650 2651 m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining); 2652 glMultMatrixf( 2653 (GLfloat *)m 2654 ); 2655 if (_array) { 2656 releasePointer(_env, _array, m, JNI_FALSE); 2657 } 2658} 2659 2660/* void glMultMatrixx ( const GLfixed *m ) */ 2661static void 2662android_glMultMatrixx___3II 2663 (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { 2664 GLfixed *m_base = (GLfixed *) 0; 2665 jint _remaining; 2666 GLfixed *m = (GLfixed *) 0; 2667 2668 if (!m_ref) { 2669 jniThrowException(_env, "java/lang/IllegalArgumentException", "m == null"); 2670 goto exit; 2671 } 2672 if (offset < 0) { 2673 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2674 goto exit; 2675 } 2676 _remaining = _env->GetArrayLength(m_ref) - offset; 2677 m_base = (GLfixed *) 2678 _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); 2679 m = m_base + offset; 2680 2681 glMultMatrixx( 2682 (GLfixed *)m 2683 ); 2684 2685exit: 2686 if (m_base) { 2687 _env->ReleasePrimitiveArrayCritical(m_ref, m_base, 2688 JNI_ABORT); 2689 } 2690} 2691 2692/* void glMultMatrixx ( const GLfixed *m ) */ 2693static void 2694android_glMultMatrixx__Ljava_nio_IntBuffer_2 2695 (JNIEnv *_env, jobject _this, jobject m_buf) { 2696 jarray _array = (jarray) 0; 2697 jint _remaining; 2698 GLfixed *m = (GLfixed *) 0; 2699 2700 m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining); 2701 glMultMatrixx( 2702 (GLfixed *)m 2703 ); 2704 if (_array) { 2705 releasePointer(_env, _array, m, JNI_FALSE); 2706 } 2707} 2708 2709/* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ 2710static void 2711android_glMultiTexCoord4f__IFFFF 2712 (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { 2713 glMultiTexCoord4f( 2714 (GLenum)target, 2715 (GLfloat)s, 2716 (GLfloat)t, 2717 (GLfloat)r, 2718 (GLfloat)q 2719 ); 2720} 2721 2722/* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ 2723static void 2724android_glMultiTexCoord4x__IIIII 2725 (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { 2726 glMultiTexCoord4x( 2727 (GLenum)target, 2728 (GLfixed)s, 2729 (GLfixed)t, 2730 (GLfixed)r, 2731 (GLfixed)q 2732 ); 2733} 2734 2735/* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ 2736static void 2737android_glNormal3f__FFF 2738 (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { 2739 glNormal3f( 2740 (GLfloat)nx, 2741 (GLfloat)ny, 2742 (GLfloat)nz 2743 ); 2744} 2745 2746/* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ 2747static void 2748android_glNormal3x__III 2749 (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { 2750 glNormal3x( 2751 (GLfixed)nx, 2752 (GLfixed)ny, 2753 (GLfixed)nz 2754 ); 2755} 2756 2757/* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 2758static void 2759android_glNormalPointerBounds__IILjava_nio_Buffer_2I 2760 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 2761 jarray _array = (jarray) 0; 2762 jint _remaining; 2763 GLvoid *pointer = (GLvoid *) 0; 2764 2765 if (pointer_buf) { 2766 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2767 if ( ! pointer ) { 2768 return; 2769 } 2770 } 2771 glNormalPointerBounds( 2772 (GLenum)type, 2773 (GLsizei)stride, 2774 (GLvoid *)pointer, 2775 (GLsizei)remaining 2776 ); 2777} 2778 2779/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 2780static void 2781android_glOrthof__FFFFFF 2782 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 2783 glOrthof( 2784 (GLfloat)left, 2785 (GLfloat)right, 2786 (GLfloat)bottom, 2787 (GLfloat)top, 2788 (GLfloat)zNear, 2789 (GLfloat)zFar 2790 ); 2791} 2792 2793/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 2794static void 2795android_glOrthox__IIIIII 2796 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 2797 glOrthox( 2798 (GLfixed)left, 2799 (GLfixed)right, 2800 (GLfixed)bottom, 2801 (GLfixed)top, 2802 (GLfixed)zNear, 2803 (GLfixed)zFar 2804 ); 2805} 2806 2807/* void glPixelStorei ( GLenum pname, GLint param ) */ 2808static void 2809android_glPixelStorei__II 2810 (JNIEnv *_env, jobject _this, jint pname, jint param) { 2811 glPixelStorei( 2812 (GLenum)pname, 2813 (GLint)param 2814 ); 2815} 2816 2817/* void glPointSize ( GLfloat size ) */ 2818static void 2819android_glPointSize__F 2820 (JNIEnv *_env, jobject _this, jfloat size) { 2821 glPointSize( 2822 (GLfloat)size 2823 ); 2824} 2825 2826/* void glPointSizex ( GLfixed size ) */ 2827static void 2828android_glPointSizex__I 2829 (JNIEnv *_env, jobject _this, jint size) { 2830 glPointSizex( 2831 (GLfixed)size 2832 ); 2833} 2834 2835/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 2836static void 2837android_glPolygonOffset__FF 2838 (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 2839 glPolygonOffset( 2840 (GLfloat)factor, 2841 (GLfloat)units 2842 ); 2843} 2844 2845/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 2846static void 2847android_glPolygonOffsetx__II 2848 (JNIEnv *_env, jobject _this, jint factor, jint units) { 2849 glPolygonOffsetx( 2850 (GLfixed)factor, 2851 (GLfixed)units 2852 ); 2853} 2854 2855/* void glPopMatrix ( void ) */ 2856static void 2857android_glPopMatrix__ 2858 (JNIEnv *_env, jobject _this) { 2859 glPopMatrix(); 2860} 2861 2862/* void glPushMatrix ( void ) */ 2863static void 2864android_glPushMatrix__ 2865 (JNIEnv *_env, jobject _this) { 2866 glPushMatrix(); 2867} 2868 2869/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 2870static void 2871android_glReadPixels__IIIIIILjava_nio_Buffer_2 2872 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 2873 jint _exception = 0; 2874 jarray _array = (jarray) 0; 2875 jint _remaining; 2876 GLvoid *pixels = (GLvoid *) 0; 2877 2878 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 2879 glReadPixels( 2880 (GLint)x, 2881 (GLint)y, 2882 (GLsizei)width, 2883 (GLsizei)height, 2884 (GLenum)format, 2885 (GLenum)type, 2886 (GLvoid *)pixels 2887 ); 2888 if (_array) { 2889 releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 2890 } 2891} 2892 2893/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 2894static void 2895android_glRotatef__FFFF 2896 (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 2897 glRotatef( 2898 (GLfloat)angle, 2899 (GLfloat)x, 2900 (GLfloat)y, 2901 (GLfloat)z 2902 ); 2903} 2904 2905/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 2906static void 2907android_glRotatex__IIII 2908 (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 2909 glRotatex( 2910 (GLfixed)angle, 2911 (GLfixed)x, 2912 (GLfixed)y, 2913 (GLfixed)z 2914 ); 2915} 2916 2917/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 2918static void 2919android_glSampleCoverage__FZ 2920 (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 2921 glSampleCoverage( 2922 (GLclampf)value, 2923 (GLboolean)invert 2924 ); 2925} 2926 2927/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 2928static void 2929android_glSampleCoveragex__IZ 2930 (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 2931 glSampleCoveragex( 2932 (GLclampx)value, 2933 (GLboolean)invert 2934 ); 2935} 2936 2937/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 2938static void 2939android_glScalef__FFF 2940 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 2941 glScalef( 2942 (GLfloat)x, 2943 (GLfloat)y, 2944 (GLfloat)z 2945 ); 2946} 2947 2948/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 2949static void 2950android_glScalex__III 2951 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 2952 glScalex( 2953 (GLfixed)x, 2954 (GLfixed)y, 2955 (GLfixed)z 2956 ); 2957} 2958 2959/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 2960static void 2961android_glScissor__IIII 2962 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 2963 glScissor( 2964 (GLint)x, 2965 (GLint)y, 2966 (GLsizei)width, 2967 (GLsizei)height 2968 ); 2969} 2970 2971/* void glShadeModel ( GLenum mode ) */ 2972static void 2973android_glShadeModel__I 2974 (JNIEnv *_env, jobject _this, jint mode) { 2975 glShadeModel( 2976 (GLenum)mode 2977 ); 2978} 2979 2980/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 2981static void 2982android_glStencilFunc__III 2983 (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 2984 glStencilFunc( 2985 (GLenum)func, 2986 (GLint)ref, 2987 (GLuint)mask 2988 ); 2989} 2990 2991/* void glStencilMask ( GLuint mask ) */ 2992static void 2993android_glStencilMask__I 2994 (JNIEnv *_env, jobject _this, jint mask) { 2995 glStencilMask( 2996 (GLuint)mask 2997 ); 2998} 2999 3000/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 3001static void 3002android_glStencilOp__III 3003 (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 3004 glStencilOp( 3005 (GLenum)fail, 3006 (GLenum)zfail, 3007 (GLenum)zpass 3008 ); 3009} 3010 3011/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3012static void 3013android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 3014 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3015 jarray _array = (jarray) 0; 3016 jint _remaining; 3017 GLvoid *pointer = (GLvoid *) 0; 3018 3019 if (pointer_buf) { 3020 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3021 if ( ! pointer ) { 3022 return; 3023 } 3024 } 3025 glTexCoordPointerBounds( 3026 (GLint)size, 3027 (GLenum)type, 3028 (GLsizei)stride, 3029 (GLvoid *)pointer, 3030 (GLsizei)remaining 3031 ); 3032} 3033 3034/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 3035static void 3036android_glTexEnvf__IIF 3037 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3038 glTexEnvf( 3039 (GLenum)target, 3040 (GLenum)pname, 3041 (GLfloat)param 3042 ); 3043} 3044 3045/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3046static void 3047android_glTexEnvfv__II_3FI 3048 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 3049 GLfloat *params_base = (GLfloat *) 0; 3050 jint _remaining; 3051 GLfloat *params = (GLfloat *) 0; 3052 3053 if (!params_ref) { 3054 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3055 goto exit; 3056 } 3057 if (offset < 0) { 3058 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3059 goto exit; 3060 } 3061 _remaining = _env->GetArrayLength(params_ref) - offset; 3062 int _needed; 3063 switch (pname) { 3064#if defined(GL_TEXTURE_ENV_MODE) 3065 case GL_TEXTURE_ENV_MODE: 3066#endif // defined(GL_TEXTURE_ENV_MODE) 3067#if defined(GL_COMBINE_RGB) 3068 case GL_COMBINE_RGB: 3069#endif // defined(GL_COMBINE_RGB) 3070#if defined(GL_COMBINE_ALPHA) 3071 case GL_COMBINE_ALPHA: 3072#endif // defined(GL_COMBINE_ALPHA) 3073 _needed = 1; 3074 break; 3075#if defined(GL_TEXTURE_ENV_COLOR) 3076 case GL_TEXTURE_ENV_COLOR: 3077#endif // defined(GL_TEXTURE_ENV_COLOR) 3078 _needed = 4; 3079 break; 3080 default: 3081 _needed = 0; 3082 break; 3083 } 3084 if (_remaining < _needed) { 3085 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 3086 goto exit; 3087 } 3088 params_base = (GLfloat *) 3089 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3090 params = params_base + offset; 3091 3092 glTexEnvfv( 3093 (GLenum)target, 3094 (GLenum)pname, 3095 (GLfloat *)params 3096 ); 3097 3098exit: 3099 if (params_base) { 3100 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3101 JNI_ABORT); 3102 } 3103} 3104 3105/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3106static void 3107android_glTexEnvfv__IILjava_nio_FloatBuffer_2 3108 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3109 jarray _array = (jarray) 0; 3110 jint _remaining; 3111 GLfloat *params = (GLfloat *) 0; 3112 3113 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3114 int _needed; 3115 switch (pname) { 3116#if defined(GL_TEXTURE_ENV_MODE) 3117 case GL_TEXTURE_ENV_MODE: 3118#endif // defined(GL_TEXTURE_ENV_MODE) 3119#if defined(GL_COMBINE_RGB) 3120 case GL_COMBINE_RGB: 3121#endif // defined(GL_COMBINE_RGB) 3122#if defined(GL_COMBINE_ALPHA) 3123 case GL_COMBINE_ALPHA: 3124#endif // defined(GL_COMBINE_ALPHA) 3125 _needed = 1; 3126 break; 3127#if defined(GL_TEXTURE_ENV_COLOR) 3128 case GL_TEXTURE_ENV_COLOR: 3129#endif // defined(GL_TEXTURE_ENV_COLOR) 3130 _needed = 4; 3131 break; 3132 default: 3133 _needed = 0; 3134 break; 3135 } 3136 if (_remaining < _needed) { 3137 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 3138 goto exit; 3139 } 3140 glTexEnvfv( 3141 (GLenum)target, 3142 (GLenum)pname, 3143 (GLfloat *)params 3144 ); 3145 3146exit: 3147 if (_array) { 3148 releasePointer(_env, _array, params, JNI_FALSE); 3149 } 3150} 3151 3152/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 3153static void 3154android_glTexEnvx__III 3155 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3156 glTexEnvx( 3157 (GLenum)target, 3158 (GLenum)pname, 3159 (GLfixed)param 3160 ); 3161} 3162 3163/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3164static void 3165android_glTexEnvxv__II_3II 3166 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3167 GLfixed *params_base = (GLfixed *) 0; 3168 jint _remaining; 3169 GLfixed *params = (GLfixed *) 0; 3170 3171 if (!params_ref) { 3172 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3173 goto exit; 3174 } 3175 if (offset < 0) { 3176 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3177 goto exit; 3178 } 3179 _remaining = _env->GetArrayLength(params_ref) - offset; 3180 int _needed; 3181 switch (pname) { 3182#if defined(GL_TEXTURE_ENV_MODE) 3183 case GL_TEXTURE_ENV_MODE: 3184#endif // defined(GL_TEXTURE_ENV_MODE) 3185#if defined(GL_COMBINE_RGB) 3186 case GL_COMBINE_RGB: 3187#endif // defined(GL_COMBINE_RGB) 3188#if defined(GL_COMBINE_ALPHA) 3189 case GL_COMBINE_ALPHA: 3190#endif // defined(GL_COMBINE_ALPHA) 3191 _needed = 1; 3192 break; 3193#if defined(GL_TEXTURE_ENV_COLOR) 3194 case GL_TEXTURE_ENV_COLOR: 3195#endif // defined(GL_TEXTURE_ENV_COLOR) 3196 _needed = 4; 3197 break; 3198 default: 3199 _needed = 0; 3200 break; 3201 } 3202 if (_remaining < _needed) { 3203 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 3204 goto exit; 3205 } 3206 params_base = (GLfixed *) 3207 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3208 params = params_base + offset; 3209 3210 glTexEnvxv( 3211 (GLenum)target, 3212 (GLenum)pname, 3213 (GLfixed *)params 3214 ); 3215 3216exit: 3217 if (params_base) { 3218 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3219 JNI_ABORT); 3220 } 3221} 3222 3223/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3224static void 3225android_glTexEnvxv__IILjava_nio_IntBuffer_2 3226 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3227 jarray _array = (jarray) 0; 3228 jint _remaining; 3229 GLfixed *params = (GLfixed *) 0; 3230 3231 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 3232 int _needed; 3233 switch (pname) { 3234#if defined(GL_TEXTURE_ENV_MODE) 3235 case GL_TEXTURE_ENV_MODE: 3236#endif // defined(GL_TEXTURE_ENV_MODE) 3237#if defined(GL_COMBINE_RGB) 3238 case GL_COMBINE_RGB: 3239#endif // defined(GL_COMBINE_RGB) 3240#if defined(GL_COMBINE_ALPHA) 3241 case GL_COMBINE_ALPHA: 3242#endif // defined(GL_COMBINE_ALPHA) 3243 _needed = 1; 3244 break; 3245#if defined(GL_TEXTURE_ENV_COLOR) 3246 case GL_TEXTURE_ENV_COLOR: 3247#endif // defined(GL_TEXTURE_ENV_COLOR) 3248 _needed = 4; 3249 break; 3250 default: 3251 _needed = 0; 3252 break; 3253 } 3254 if (_remaining < _needed) { 3255 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 3256 goto exit; 3257 } 3258 glTexEnvxv( 3259 (GLenum)target, 3260 (GLenum)pname, 3261 (GLfixed *)params 3262 ); 3263 3264exit: 3265 if (_array) { 3266 releasePointer(_env, _array, params, JNI_FALSE); 3267 } 3268} 3269 3270/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 3271static void 3272android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 3273 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 3274 jarray _array = (jarray) 0; 3275 jint _remaining; 3276 GLvoid *pixels = (GLvoid *) 0; 3277 3278 if (pixels_buf) { 3279 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3280 } 3281 glTexImage2D( 3282 (GLenum)target, 3283 (GLint)level, 3284 (GLint)internalformat, 3285 (GLsizei)width, 3286 (GLsizei)height, 3287 (GLint)border, 3288 (GLenum)format, 3289 (GLenum)type, 3290 (GLvoid *)pixels 3291 ); 3292 if (_array) { 3293 releasePointer(_env, _array, pixels, JNI_FALSE); 3294 } 3295} 3296 3297/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 3298static void 3299android_glTexParameterf__IIF 3300 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3301 glTexParameterf( 3302 (GLenum)target, 3303 (GLenum)pname, 3304 (GLfloat)param 3305 ); 3306} 3307 3308/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 3309static void 3310android_glTexParameterx__III 3311 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3312 glTexParameterx( 3313 (GLenum)target, 3314 (GLenum)pname, 3315 (GLfixed)param 3316 ); 3317} 3318 3319/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 3320static void 3321android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 3322 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3323 jarray _array = (jarray) 0; 3324 jint _remaining; 3325 GLvoid *pixels = (GLvoid *) 0; 3326 3327 if (pixels_buf) { 3328 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3329 } 3330 glTexSubImage2D( 3331 (GLenum)target, 3332 (GLint)level, 3333 (GLint)xoffset, 3334 (GLint)yoffset, 3335 (GLsizei)width, 3336 (GLsizei)height, 3337 (GLenum)format, 3338 (GLenum)type, 3339 (GLvoid *)pixels 3340 ); 3341 if (_array) { 3342 releasePointer(_env, _array, pixels, JNI_FALSE); 3343 } 3344} 3345 3346/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 3347static void 3348android_glTranslatef__FFF 3349 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 3350 glTranslatef( 3351 (GLfloat)x, 3352 (GLfloat)y, 3353 (GLfloat)z 3354 ); 3355} 3356 3357/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 3358static void 3359android_glTranslatex__III 3360 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 3361 glTranslatex( 3362 (GLfixed)x, 3363 (GLfixed)y, 3364 (GLfixed)z 3365 ); 3366} 3367 3368/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3369static void 3370android_glVertexPointerBounds__IIILjava_nio_Buffer_2I 3371 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3372 jarray _array = (jarray) 0; 3373 jint _remaining; 3374 GLvoid *pointer = (GLvoid *) 0; 3375 3376 if (pointer_buf) { 3377 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 3378 if ( ! pointer ) { 3379 return; 3380 } 3381 } 3382 glVertexPointerBounds( 3383 (GLint)size, 3384 (GLenum)type, 3385 (GLsizei)stride, 3386 (GLvoid *)pointer, 3387 (GLsizei)remaining 3388 ); 3389} 3390 3391/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3392static void 3393android_glViewport__IIII 3394 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3395 glViewport( 3396 (GLint)x, 3397 (GLint)y, 3398 (GLsizei)width, 3399 (GLsizei)height 3400 ); 3401} 3402 3403static const char *classPathName = "android/opengl/GLES10"; 3404 3405static JNINativeMethod methods[] = { 3406{"_nativeClassInit", "()V", (void*)nativeClassInit }, 3407{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 3408{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 3409{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 3410{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 3411{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 3412{"glClear", "(I)V", (void *) android_glClear__I }, 3413{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 3414{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 3415{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 3416{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 3417{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 3418{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 3419{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 3420{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 3421{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 3422{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 3423{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 3424{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3425{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 3426{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 3427{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 3428{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 3429{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 3430{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 3431{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 3432{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 3433{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 3434{"glDisable", "(I)V", (void *) android_glDisable__I }, 3435{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 3436{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 3437{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 3438{"glEnable", "(I)V", (void *) android_glEnable__I }, 3439{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 3440{"glFinish", "()V", (void *) android_glFinish__ }, 3441{"glFlush", "()V", (void *) android_glFlush__ }, 3442{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 3443{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 3444{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 3445{"glFogx", "(II)V", (void *) android_glFogx__II }, 3446{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 3447{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 3448{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 3449{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 3450{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 3451{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 3452{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 3453{"glGetError", "()I", (void *) android_glGetError__ }, 3454{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 3455{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 3456{"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 3457{"glHint", "(II)V", (void *) android_glHint__II }, 3458{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 3459{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 3460{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 3461{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 3462{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 3463{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 3464{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 3465{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 3466{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 3467{"glLightx", "(III)V", (void *) android_glLightx__III }, 3468{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 3469{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 3470{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 3471{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 3472{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 3473{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 3474{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 3475{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 3476{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 3477{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 3478{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 3479{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 3480{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 3481{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 3482{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 3483{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 3484{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 3485{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 3486{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 3487{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 3488{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 3489{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 3490{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 3491{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 3492{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 3493{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 3494{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 3495{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 3496{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 3497{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 3498{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 3499{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 3500{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 3501{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 3502{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 3503{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 3504{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 3505{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 3506{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 3507{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 3508{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 3509{"glScalex", "(III)V", (void *) android_glScalex__III }, 3510{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 3511{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 3512{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 3513{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 3514{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 3515{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 3516{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 3517{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 3518{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 3519{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 3520{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 3521{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 3522{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3523{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 3524{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 3525{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3526{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 3527{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 3528{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 3529{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 3530}; 3531 3532int register_android_opengl_jni_GLES10(JNIEnv *_env) 3533{ 3534 int err; 3535 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 3536 return err; 3537} 3538