android_opengl_GLES10.cpp revision be509c9c7de5929d014dfe6d45e71cc8454ede0f
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 <android_runtime/AndroidRuntime.h> 21#include <utils/misc.h> 22 23#include <assert.h> 24#include <GLES/gl.h> 25#include <GLES/glext.h> 26 27static int initialized = 0; 28 29static jclass nioAccessClass; 30static jclass bufferClass; 31static jclass OOMEClass; 32static jclass UOEClass; 33static jclass IAEClass; 34static jclass AIOOBEClass; 35static jmethodID getBasePointerID; 36static jmethodID getBaseArrayID; 37static jmethodID getBaseArrayOffsetID; 38static jfieldID positionID; 39static jfieldID limitID; 40static jfieldID elementSizeShiftID; 41 42/* Cache method IDs each time the class is loaded. */ 43 44static void 45nativeClassInitBuffer(JNIEnv *_env) 46{ 47 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 48 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 49 50 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 51 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 52 53 getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 54 "getBasePointer", "(Ljava/nio/Buffer;)J"); 55 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 56 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 57 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 58 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 59 60 positionID = _env->GetFieldID(bufferClass, "position", "I"); 61 limitID = _env->GetFieldID(bufferClass, "limit", "I"); 62 elementSizeShiftID = 63 _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 64} 65 66static void 67nativeClassInit(JNIEnv *_env, jclass glImplClass) 68{ 69 nativeClassInitBuffer(_env); 70 71 jclass IAEClassLocal = 72 _env->FindClass("java/lang/IllegalArgumentException"); 73 jclass OOMEClassLocal = 74 _env->FindClass("java/lang/OutOfMemoryError"); 75 jclass UOEClassLocal = 76 _env->FindClass("java/lang/UnsupportedOperationException"); 77 jclass AIOOBEClassLocal = 78 _env->FindClass("java/lang/ArrayIndexOutOfBoundsException"); 79 80 IAEClass = (jclass) _env->NewGlobalRef(IAEClassLocal); 81 OOMEClass = (jclass) _env->NewGlobalRef(OOMEClassLocal); 82 UOEClass = (jclass) _env->NewGlobalRef(UOEClassLocal); 83 AIOOBEClass = (jclass) _env->NewGlobalRef(AIOOBEClassLocal); 84} 85 86static void * 87getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 88{ 89 jint position; 90 jint limit; 91 jint elementSizeShift; 92 jlong pointer; 93 jint offset; 94 void *data; 95 96 position = _env->GetIntField(buffer, positionID); 97 limit = _env->GetIntField(buffer, limitID); 98 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 99 *remaining = (limit - position) << elementSizeShift; 100 pointer = _env->CallStaticLongMethod(nioAccessClass, 101 getBasePointerID, buffer); 102 if (pointer != 0L) { 103 *array = NULL; 104 return (void *) (jint) pointer; 105 } 106 107 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 108 getBaseArrayID, buffer); 109 offset = _env->CallStaticIntMethod(nioAccessClass, 110 getBaseArrayOffsetID, buffer); 111 data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 112 113 return (void *) ((char *) data + offset); 114} 115 116static void 117releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 118{ 119 _env->ReleasePrimitiveArrayCritical(array, data, 120 commit ? 0 : JNI_ABORT); 121} 122 123static int 124getNumCompressedTextureFormats() { 125 int numCompressedTextureFormats = 0; 126 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 127 return numCompressedTextureFormats; 128} 129 130// -------------------------------------------------------------------------- 131 132/* void glActiveTexture ( GLenum texture ) */ 133static void 134android_glActiveTexture__I 135 (JNIEnv *_env, jobject _this, jint texture) { 136 glActiveTexture( 137 (GLenum)texture 138 ); 139} 140 141/* void glAlphaFunc ( GLenum func, GLclampf ref ) */ 142static void 143android_glAlphaFunc__IF 144 (JNIEnv *_env, jobject _this, jint func, jfloat ref) { 145 glAlphaFunc( 146 (GLenum)func, 147 (GLclampf)ref 148 ); 149} 150 151/* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ 152static void 153android_glAlphaFuncx__II 154 (JNIEnv *_env, jobject _this, jint func, jint ref) { 155 glAlphaFuncx( 156 (GLenum)func, 157 (GLclampx)ref 158 ); 159} 160 161/* void glBindTexture ( GLenum target, GLuint texture ) */ 162static void 163android_glBindTexture__II 164 (JNIEnv *_env, jobject _this, jint target, jint texture) { 165 glBindTexture( 166 (GLenum)target, 167 (GLuint)texture 168 ); 169} 170 171/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 172static void 173android_glBlendFunc__II 174 (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 175 glBlendFunc( 176 (GLenum)sfactor, 177 (GLenum)dfactor 178 ); 179} 180 181/* void glClear ( GLbitfield mask ) */ 182static void 183android_glClear__I 184 (JNIEnv *_env, jobject _this, jint mask) { 185 glClear( 186 (GLbitfield)mask 187 ); 188} 189 190/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 191static void 192android_glClearColor__FFFF 193 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 194 glClearColor( 195 (GLclampf)red, 196 (GLclampf)green, 197 (GLclampf)blue, 198 (GLclampf)alpha 199 ); 200} 201 202/* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ 203static void 204android_glClearColorx__IIII 205 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 206 glClearColorx( 207 (GLclampx)red, 208 (GLclampx)green, 209 (GLclampx)blue, 210 (GLclampx)alpha 211 ); 212} 213 214/* void glClearDepthf ( GLclampf depth ) */ 215static void 216android_glClearDepthf__F 217 (JNIEnv *_env, jobject _this, jfloat depth) { 218 glClearDepthf( 219 (GLclampf)depth 220 ); 221} 222 223/* void glClearDepthx ( GLclampx depth ) */ 224static void 225android_glClearDepthx__I 226 (JNIEnv *_env, jobject _this, jint depth) { 227 glClearDepthx( 228 (GLclampx)depth 229 ); 230} 231 232/* void glClearStencil ( GLint s ) */ 233static void 234android_glClearStencil__I 235 (JNIEnv *_env, jobject _this, jint s) { 236 glClearStencil( 237 (GLint)s 238 ); 239} 240 241/* void glClientActiveTexture ( GLenum texture ) */ 242static void 243android_glClientActiveTexture__I 244 (JNIEnv *_env, jobject _this, jint texture) { 245 glClientActiveTexture( 246 (GLenum)texture 247 ); 248} 249 250/* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ 251static void 252android_glColor4f__FFFF 253 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 254 glColor4f( 255 (GLfloat)red, 256 (GLfloat)green, 257 (GLfloat)blue, 258 (GLfloat)alpha 259 ); 260} 261 262/* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ 263static void 264android_glColor4x__IIII 265 (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { 266 glColor4x( 267 (GLfixed)red, 268 (GLfixed)green, 269 (GLfixed)blue, 270 (GLfixed)alpha 271 ); 272} 273 274/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 275static void 276android_glColorMask__ZZZZ 277 (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 278 glColorMask( 279 (GLboolean)red, 280 (GLboolean)green, 281 (GLboolean)blue, 282 (GLboolean)alpha 283 ); 284} 285 286/* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 287static void 288android_glColorPointerBounds__IIILjava_nio_Buffer_2I 289 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 290 jarray _array = (jarray) 0; 291 jint _remaining; 292 GLvoid *pointer = (GLvoid *) 0; 293 294 pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining); 295 glColorPointerBounds( 296 (GLint)size, 297 (GLenum)type, 298 (GLsizei)stride, 299 (GLvoid *)pointer, 300 (GLsizei)remaining 301 ); 302 if (_array) { 303 releasePointer(_env, _array, pointer, JNI_FALSE); 304 } 305} 306 307/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 308static void 309android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 310 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 311 jarray _array = (jarray) 0; 312 jint _remaining; 313 GLvoid *data = (GLvoid *) 0; 314 315 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 316 glCompressedTexImage2D( 317 (GLenum)target, 318 (GLint)level, 319 (GLenum)internalformat, 320 (GLsizei)width, 321 (GLsizei)height, 322 (GLint)border, 323 (GLsizei)imageSize, 324 (GLvoid *)data 325 ); 326 if (_array) { 327 releasePointer(_env, _array, data, JNI_FALSE); 328 } 329} 330 331/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 332static void 333android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 334 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 335 jarray _array = (jarray) 0; 336 jint _remaining; 337 GLvoid *data = (GLvoid *) 0; 338 339 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 340 glCompressedTexSubImage2D( 341 (GLenum)target, 342 (GLint)level, 343 (GLint)xoffset, 344 (GLint)yoffset, 345 (GLsizei)width, 346 (GLsizei)height, 347 (GLenum)format, 348 (GLsizei)imageSize, 349 (GLvoid *)data 350 ); 351 if (_array) { 352 releasePointer(_env, _array, data, JNI_FALSE); 353 } 354} 355 356/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 357static void 358android_glCopyTexImage2D__IIIIIIII 359 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 360 glCopyTexImage2D( 361 (GLenum)target, 362 (GLint)level, 363 (GLenum)internalformat, 364 (GLint)x, 365 (GLint)y, 366 (GLsizei)width, 367 (GLsizei)height, 368 (GLint)border 369 ); 370} 371 372/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 373static void 374android_glCopyTexSubImage2D__IIIIIIII 375 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 376 glCopyTexSubImage2D( 377 (GLenum)target, 378 (GLint)level, 379 (GLint)xoffset, 380 (GLint)yoffset, 381 (GLint)x, 382 (GLint)y, 383 (GLsizei)width, 384 (GLsizei)height 385 ); 386} 387 388/* void glCullFace ( GLenum mode ) */ 389static void 390android_glCullFace__I 391 (JNIEnv *_env, jobject _this, jint mode) { 392 glCullFace( 393 (GLenum)mode 394 ); 395} 396 397/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 398static void 399android_glDeleteTextures__I_3II 400 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 401 GLuint *textures_base = (GLuint *) 0; 402 jint _remaining; 403 GLuint *textures = (GLuint *) 0; 404 405 if (!textures_ref) { 406 _env->ThrowNew(IAEClass, "textures == null"); 407 goto exit; 408 } 409 if (offset < 0) { 410 _env->ThrowNew(IAEClass, "offset < 0"); 411 goto exit; 412 } 413 _remaining = _env->GetArrayLength(textures_ref) - offset; 414 if (_remaining < n) { 415 _env->ThrowNew(IAEClass, "length - offset < n"); 416 goto exit; 417 } 418 textures_base = (GLuint *) 419 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 420 textures = textures_base + offset; 421 422 glDeleteTextures( 423 (GLsizei)n, 424 (GLuint *)textures 425 ); 426 427exit: 428 if (textures_base) { 429 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 430 JNI_ABORT); 431 } 432} 433 434/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 435static void 436android_glDeleteTextures__ILjava_nio_IntBuffer_2 437 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 438 jarray _array = (jarray) 0; 439 jint _remaining; 440 GLuint *textures = (GLuint *) 0; 441 442 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 443 if (_remaining < n) { 444 _env->ThrowNew(IAEClass, "remaining() < n"); 445 goto exit; 446 } 447 glDeleteTextures( 448 (GLsizei)n, 449 (GLuint *)textures 450 ); 451 452exit: 453 if (_array) { 454 releasePointer(_env, _array, textures, JNI_FALSE); 455 } 456} 457 458/* void glDepthFunc ( GLenum func ) */ 459static void 460android_glDepthFunc__I 461 (JNIEnv *_env, jobject _this, jint func) { 462 glDepthFunc( 463 (GLenum)func 464 ); 465} 466 467/* void glDepthMask ( GLboolean flag ) */ 468static void 469android_glDepthMask__Z 470 (JNIEnv *_env, jobject _this, jboolean flag) { 471 glDepthMask( 472 (GLboolean)flag 473 ); 474} 475 476/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 477static void 478android_glDepthRangef__FF 479 (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 480 glDepthRangef( 481 (GLclampf)zNear, 482 (GLclampf)zFar 483 ); 484} 485 486/* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ 487static void 488android_glDepthRangex__II 489 (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { 490 glDepthRangex( 491 (GLclampx)zNear, 492 (GLclampx)zFar 493 ); 494} 495 496/* void glDisable ( GLenum cap ) */ 497static void 498android_glDisable__I 499 (JNIEnv *_env, jobject _this, jint cap) { 500 glDisable( 501 (GLenum)cap 502 ); 503} 504 505/* void glDisableClientState ( GLenum array ) */ 506static void 507android_glDisableClientState__I 508 (JNIEnv *_env, jobject _this, jint array) { 509 glDisableClientState( 510 (GLenum)array 511 ); 512} 513 514/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 515static void 516android_glDrawArrays__III 517 (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 518 glDrawArrays( 519 (GLenum)mode, 520 (GLint)first, 521 (GLsizei)count 522 ); 523} 524 525/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 526static void 527android_glDrawElements__IIILjava_nio_Buffer_2 528 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 529 jarray _array = (jarray) 0; 530 jint _remaining; 531 GLvoid *indices = (GLvoid *) 0; 532 533 indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 534 if (_remaining < count) { 535 _env->ThrowNew(AIOOBEClass, "remaining() < count"); 536 goto exit; 537 } 538 glDrawElements( 539 (GLenum)mode, 540 (GLsizei)count, 541 (GLenum)type, 542 (GLvoid *)indices 543 ); 544 545exit: 546 if (_array) { 547 releasePointer(_env, _array, indices, JNI_FALSE); 548 } 549} 550 551/* void glEnable ( GLenum cap ) */ 552static void 553android_glEnable__I 554 (JNIEnv *_env, jobject _this, jint cap) { 555 glEnable( 556 (GLenum)cap 557 ); 558} 559 560/* void glEnableClientState ( GLenum array ) */ 561static void 562android_glEnableClientState__I 563 (JNIEnv *_env, jobject _this, jint array) { 564 glEnableClientState( 565 (GLenum)array 566 ); 567} 568 569/* void glFinish ( void ) */ 570static void 571android_glFinish__ 572 (JNIEnv *_env, jobject _this) { 573 glFinish(); 574} 575 576/* void glFlush ( void ) */ 577static void 578android_glFlush__ 579 (JNIEnv *_env, jobject _this) { 580 glFlush(); 581} 582 583/* void glFogf ( GLenum pname, GLfloat param ) */ 584static void 585android_glFogf__IF 586 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 587 glFogf( 588 (GLenum)pname, 589 (GLfloat)param 590 ); 591} 592 593/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 594static void 595android_glFogfv__I_3FI 596 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 597 GLfloat *params_base = (GLfloat *) 0; 598 jint _remaining; 599 GLfloat *params = (GLfloat *) 0; 600 601 if (!params_ref) { 602 _env->ThrowNew(IAEClass, "params == null"); 603 goto exit; 604 } 605 if (offset < 0) { 606 _env->ThrowNew(IAEClass, "offset < 0"); 607 goto exit; 608 } 609 _remaining = _env->GetArrayLength(params_ref) - offset; 610 int _needed; 611 switch (pname) { 612#if defined(GL_FOG_MODE) 613 case GL_FOG_MODE: 614#endif // defined(GL_FOG_MODE) 615#if defined(GL_FOG_DENSITY) 616 case GL_FOG_DENSITY: 617#endif // defined(GL_FOG_DENSITY) 618#if defined(GL_FOG_START) 619 case GL_FOG_START: 620#endif // defined(GL_FOG_START) 621#if defined(GL_FOG_END) 622 case GL_FOG_END: 623#endif // defined(GL_FOG_END) 624 _needed = 1; 625 break; 626#if defined(GL_FOG_COLOR) 627 case GL_FOG_COLOR: 628#endif // defined(GL_FOG_COLOR) 629 _needed = 4; 630 break; 631 default: 632 _needed = 0; 633 break; 634 } 635 if (_remaining < _needed) { 636 _env->ThrowNew(IAEClass, "length - offset < needed"); 637 goto exit; 638 } 639 params_base = (GLfloat *) 640 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 641 params = params_base + offset; 642 643 glFogfv( 644 (GLenum)pname, 645 (GLfloat *)params 646 ); 647 648exit: 649 if (params_base) { 650 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 651 JNI_ABORT); 652 } 653} 654 655/* void glFogfv ( GLenum pname, const GLfloat *params ) */ 656static void 657android_glFogfv__ILjava_nio_FloatBuffer_2 658 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 659 jarray _array = (jarray) 0; 660 jint _remaining; 661 GLfloat *params = (GLfloat *) 0; 662 663 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 664 int _needed; 665 switch (pname) { 666#if defined(GL_FOG_MODE) 667 case GL_FOG_MODE: 668#endif // defined(GL_FOG_MODE) 669#if defined(GL_FOG_DENSITY) 670 case GL_FOG_DENSITY: 671#endif // defined(GL_FOG_DENSITY) 672#if defined(GL_FOG_START) 673 case GL_FOG_START: 674#endif // defined(GL_FOG_START) 675#if defined(GL_FOG_END) 676 case GL_FOG_END: 677#endif // defined(GL_FOG_END) 678 _needed = 1; 679 break; 680#if defined(GL_FOG_COLOR) 681 case GL_FOG_COLOR: 682#endif // defined(GL_FOG_COLOR) 683 _needed = 4; 684 break; 685 default: 686 _needed = 0; 687 break; 688 } 689 if (_remaining < _needed) { 690 _env->ThrowNew(IAEClass, "remaining() < needed"); 691 goto exit; 692 } 693 glFogfv( 694 (GLenum)pname, 695 (GLfloat *)params 696 ); 697 698exit: 699 if (_array) { 700 releasePointer(_env, _array, params, JNI_FALSE); 701 } 702} 703 704/* void glFogx ( GLenum pname, GLfixed param ) */ 705static void 706android_glFogx__II 707 (JNIEnv *_env, jobject _this, jint pname, jint param) { 708 glFogx( 709 (GLenum)pname, 710 (GLfixed)param 711 ); 712} 713 714/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 715static void 716android_glFogxv__I_3II 717 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 718 GLfixed *params_base = (GLfixed *) 0; 719 jint _remaining; 720 GLfixed *params = (GLfixed *) 0; 721 722 if (!params_ref) { 723 _env->ThrowNew(IAEClass, "params == null"); 724 goto exit; 725 } 726 if (offset < 0) { 727 _env->ThrowNew(IAEClass, "offset < 0"); 728 goto exit; 729 } 730 _remaining = _env->GetArrayLength(params_ref) - offset; 731 int _needed; 732 switch (pname) { 733#if defined(GL_FOG_MODE) 734 case GL_FOG_MODE: 735#endif // defined(GL_FOG_MODE) 736#if defined(GL_FOG_DENSITY) 737 case GL_FOG_DENSITY: 738#endif // defined(GL_FOG_DENSITY) 739#if defined(GL_FOG_START) 740 case GL_FOG_START: 741#endif // defined(GL_FOG_START) 742#if defined(GL_FOG_END) 743 case GL_FOG_END: 744#endif // defined(GL_FOG_END) 745 _needed = 1; 746 break; 747#if defined(GL_FOG_COLOR) 748 case GL_FOG_COLOR: 749#endif // defined(GL_FOG_COLOR) 750 _needed = 4; 751 break; 752 default: 753 _needed = 0; 754 break; 755 } 756 if (_remaining < _needed) { 757 _env->ThrowNew(IAEClass, "length - offset < needed"); 758 goto exit; 759 } 760 params_base = (GLfixed *) 761 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 762 params = params_base + offset; 763 764 glFogxv( 765 (GLenum)pname, 766 (GLfixed *)params 767 ); 768 769exit: 770 if (params_base) { 771 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 772 JNI_ABORT); 773 } 774} 775 776/* void glFogxv ( GLenum pname, const GLfixed *params ) */ 777static void 778android_glFogxv__ILjava_nio_IntBuffer_2 779 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 780 jarray _array = (jarray) 0; 781 jint _remaining; 782 GLfixed *params = (GLfixed *) 0; 783 784 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 785 int _needed; 786 switch (pname) { 787#if defined(GL_FOG_MODE) 788 case GL_FOG_MODE: 789#endif // defined(GL_FOG_MODE) 790#if defined(GL_FOG_DENSITY) 791 case GL_FOG_DENSITY: 792#endif // defined(GL_FOG_DENSITY) 793#if defined(GL_FOG_START) 794 case GL_FOG_START: 795#endif // defined(GL_FOG_START) 796#if defined(GL_FOG_END) 797 case GL_FOG_END: 798#endif // defined(GL_FOG_END) 799 _needed = 1; 800 break; 801#if defined(GL_FOG_COLOR) 802 case GL_FOG_COLOR: 803#endif // defined(GL_FOG_COLOR) 804 _needed = 4; 805 break; 806 default: 807 _needed = 0; 808 break; 809 } 810 if (_remaining < _needed) { 811 _env->ThrowNew(IAEClass, "remaining() < needed"); 812 goto exit; 813 } 814 glFogxv( 815 (GLenum)pname, 816 (GLfixed *)params 817 ); 818 819exit: 820 if (_array) { 821 releasePointer(_env, _array, params, JNI_FALSE); 822 } 823} 824 825/* void glFrontFace ( GLenum mode ) */ 826static void 827android_glFrontFace__I 828 (JNIEnv *_env, jobject _this, jint mode) { 829 glFrontFace( 830 (GLenum)mode 831 ); 832} 833 834/* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 835static void 836android_glFrustumf__FFFFFF 837 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 838 glFrustumf( 839 (GLfloat)left, 840 (GLfloat)right, 841 (GLfloat)bottom, 842 (GLfloat)top, 843 (GLfloat)zNear, 844 (GLfloat)zFar 845 ); 846} 847 848/* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 849static void 850android_glFrustumx__IIIIII 851 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 852 glFrustumx( 853 (GLfixed)left, 854 (GLfixed)right, 855 (GLfixed)bottom, 856 (GLfixed)top, 857 (GLfixed)zNear, 858 (GLfixed)zFar 859 ); 860} 861 862/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 863static void 864android_glGenTextures__I_3II 865 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 866 jint _exception = 0; 867 GLuint *textures_base = (GLuint *) 0; 868 jint _remaining; 869 GLuint *textures = (GLuint *) 0; 870 871 if (!textures_ref) { 872 _exception = 1; 873 _env->ThrowNew(IAEClass, "textures == null"); 874 goto exit; 875 } 876 if (offset < 0) { 877 _exception = 1; 878 _env->ThrowNew(IAEClass, "offset < 0"); 879 goto exit; 880 } 881 _remaining = _env->GetArrayLength(textures_ref) - offset; 882 if (_remaining < n) { 883 _exception = 1; 884 _env->ThrowNew(IAEClass, "length - offset < n"); 885 goto exit; 886 } 887 textures_base = (GLuint *) 888 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 889 textures = textures_base + offset; 890 891 glGenTextures( 892 (GLsizei)n, 893 (GLuint *)textures 894 ); 895 896exit: 897 if (textures_base) { 898 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 899 _exception ? JNI_ABORT: 0); 900 } 901} 902 903/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 904static void 905android_glGenTextures__ILjava_nio_IntBuffer_2 906 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 907 jint _exception = 0; 908 jarray _array = (jarray) 0; 909 jint _remaining; 910 GLuint *textures = (GLuint *) 0; 911 912 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 913 if (_remaining < n) { 914 _exception = 1; 915 _env->ThrowNew(IAEClass, "remaining() < n"); 916 goto exit; 917 } 918 glGenTextures( 919 (GLsizei)n, 920 (GLuint *)textures 921 ); 922 923exit: 924 if (_array) { 925 releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 926 } 927} 928 929/* GLenum glGetError ( void ) */ 930static jint 931android_glGetError__ 932 (JNIEnv *_env, jobject _this) { 933 GLenum _returnValue; 934 _returnValue = glGetError(); 935 return _returnValue; 936} 937 938/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 939static void 940android_glGetIntegerv__I_3II 941 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 942 jint _exception = 0; 943 GLint *params_base = (GLint *) 0; 944 jint _remaining; 945 GLint *params = (GLint *) 0; 946 947 if (!params_ref) { 948 _exception = 1; 949 _env->ThrowNew(IAEClass, "params == null"); 950 goto exit; 951 } 952 if (offset < 0) { 953 _exception = 1; 954 _env->ThrowNew(IAEClass, "offset < 0"); 955 goto exit; 956 } 957 _remaining = _env->GetArrayLength(params_ref) - offset; 958 int _needed; 959 switch (pname) { 960#if defined(GL_ALPHA_BITS) 961 case GL_ALPHA_BITS: 962#endif // defined(GL_ALPHA_BITS) 963#if defined(GL_ALPHA_TEST_FUNC) 964 case GL_ALPHA_TEST_FUNC: 965#endif // defined(GL_ALPHA_TEST_FUNC) 966#if defined(GL_ALPHA_TEST_REF) 967 case GL_ALPHA_TEST_REF: 968#endif // defined(GL_ALPHA_TEST_REF) 969#if defined(GL_BLEND_DST) 970 case GL_BLEND_DST: 971#endif // defined(GL_BLEND_DST) 972#if defined(GL_BLUE_BITS) 973 case GL_BLUE_BITS: 974#endif // defined(GL_BLUE_BITS) 975#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 976 case GL_COLOR_ARRAY_BUFFER_BINDING: 977#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 978#if defined(GL_COLOR_ARRAY_SIZE) 979 case GL_COLOR_ARRAY_SIZE: 980#endif // defined(GL_COLOR_ARRAY_SIZE) 981#if defined(GL_COLOR_ARRAY_STRIDE) 982 case GL_COLOR_ARRAY_STRIDE: 983#endif // defined(GL_COLOR_ARRAY_STRIDE) 984#if defined(GL_COLOR_ARRAY_TYPE) 985 case GL_COLOR_ARRAY_TYPE: 986#endif // defined(GL_COLOR_ARRAY_TYPE) 987#if defined(GL_CULL_FACE) 988 case GL_CULL_FACE: 989#endif // defined(GL_CULL_FACE) 990#if defined(GL_DEPTH_BITS) 991 case GL_DEPTH_BITS: 992#endif // defined(GL_DEPTH_BITS) 993#if defined(GL_DEPTH_CLEAR_VALUE) 994 case GL_DEPTH_CLEAR_VALUE: 995#endif // defined(GL_DEPTH_CLEAR_VALUE) 996#if defined(GL_DEPTH_FUNC) 997 case GL_DEPTH_FUNC: 998#endif // defined(GL_DEPTH_FUNC) 999#if defined(GL_DEPTH_WRITEMASK) 1000 case GL_DEPTH_WRITEMASK: 1001#endif // defined(GL_DEPTH_WRITEMASK) 1002#if defined(GL_FOG_DENSITY) 1003 case GL_FOG_DENSITY: 1004#endif // defined(GL_FOG_DENSITY) 1005#if defined(GL_FOG_END) 1006 case GL_FOG_END: 1007#endif // defined(GL_FOG_END) 1008#if defined(GL_FOG_MODE) 1009 case GL_FOG_MODE: 1010#endif // defined(GL_FOG_MODE) 1011#if defined(GL_FOG_START) 1012 case GL_FOG_START: 1013#endif // defined(GL_FOG_START) 1014#if defined(GL_FRONT_FACE) 1015 case GL_FRONT_FACE: 1016#endif // defined(GL_FRONT_FACE) 1017#if defined(GL_GREEN_BITS) 1018 case GL_GREEN_BITS: 1019#endif // defined(GL_GREEN_BITS) 1020#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1021 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1022#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1023#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1024 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1025#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1026#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1027 case GL_LIGHT_MODEL_COLOR_CONTROL: 1028#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1029#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1030 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1031#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1032#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1033 case GL_LIGHT_MODEL_TWO_SIDE: 1034#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1035#if defined(GL_LINE_SMOOTH_HINT) 1036 case GL_LINE_SMOOTH_HINT: 1037#endif // defined(GL_LINE_SMOOTH_HINT) 1038#if defined(GL_LINE_WIDTH) 1039 case GL_LINE_WIDTH: 1040#endif // defined(GL_LINE_WIDTH) 1041#if defined(GL_LOGIC_OP_MODE) 1042 case GL_LOGIC_OP_MODE: 1043#endif // defined(GL_LOGIC_OP_MODE) 1044#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1045 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1046#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1047#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1048 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1049#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1050#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1051 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1052#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1053#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1054 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1055#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1056#if defined(GL_MATRIX_MODE) 1057 case GL_MATRIX_MODE: 1058#endif // defined(GL_MATRIX_MODE) 1059#if defined(GL_MAX_CLIP_PLANES) 1060 case GL_MAX_CLIP_PLANES: 1061#endif // defined(GL_MAX_CLIP_PLANES) 1062#if defined(GL_MAX_ELEMENTS_INDICES) 1063 case GL_MAX_ELEMENTS_INDICES: 1064#endif // defined(GL_MAX_ELEMENTS_INDICES) 1065#if defined(GL_MAX_ELEMENTS_VERTICES) 1066 case GL_MAX_ELEMENTS_VERTICES: 1067#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1068#if defined(GL_MAX_LIGHTS) 1069 case GL_MAX_LIGHTS: 1070#endif // defined(GL_MAX_LIGHTS) 1071#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1072 case GL_MAX_MODELVIEW_STACK_DEPTH: 1073#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1074#if defined(GL_MAX_PALETTE_MATRICES_OES) 1075 case GL_MAX_PALETTE_MATRICES_OES: 1076#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1077#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1078 case GL_MAX_PROJECTION_STACK_DEPTH: 1079#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1080#if defined(GL_MAX_TEXTURE_SIZE) 1081 case GL_MAX_TEXTURE_SIZE: 1082#endif // defined(GL_MAX_TEXTURE_SIZE) 1083#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1084 case GL_MAX_TEXTURE_STACK_DEPTH: 1085#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1086#if defined(GL_MAX_TEXTURE_UNITS) 1087 case GL_MAX_TEXTURE_UNITS: 1088#endif // defined(GL_MAX_TEXTURE_UNITS) 1089#if defined(GL_MAX_VERTEX_UNITS_OES) 1090 case GL_MAX_VERTEX_UNITS_OES: 1091#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1092#if defined(GL_MODELVIEW_STACK_DEPTH) 1093 case GL_MODELVIEW_STACK_DEPTH: 1094#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1095#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1096 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1097#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1098#if defined(GL_NORMAL_ARRAY_STRIDE) 1099 case GL_NORMAL_ARRAY_STRIDE: 1100#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1101#if defined(GL_NORMAL_ARRAY_TYPE) 1102 case GL_NORMAL_ARRAY_TYPE: 1103#endif // defined(GL_NORMAL_ARRAY_TYPE) 1104#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1105 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1106#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1107#if defined(GL_PACK_ALIGNMENT) 1108 case GL_PACK_ALIGNMENT: 1109#endif // defined(GL_PACK_ALIGNMENT) 1110#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1111 case GL_PERSPECTIVE_CORRECTION_HINT: 1112#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1113#if defined(GL_POINT_SIZE) 1114 case GL_POINT_SIZE: 1115#endif // defined(GL_POINT_SIZE) 1116#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1117 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1118#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1119#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1120 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1121#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1122#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1123 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1124#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1125#if defined(GL_POINT_SMOOTH_HINT) 1126 case GL_POINT_SMOOTH_HINT: 1127#endif // defined(GL_POINT_SMOOTH_HINT) 1128#if defined(GL_POLYGON_OFFSET_FACTOR) 1129 case GL_POLYGON_OFFSET_FACTOR: 1130#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1131#if defined(GL_POLYGON_OFFSET_UNITS) 1132 case GL_POLYGON_OFFSET_UNITS: 1133#endif // defined(GL_POLYGON_OFFSET_UNITS) 1134#if defined(GL_PROJECTION_STACK_DEPTH) 1135 case GL_PROJECTION_STACK_DEPTH: 1136#endif // defined(GL_PROJECTION_STACK_DEPTH) 1137#if defined(GL_RED_BITS) 1138 case GL_RED_BITS: 1139#endif // defined(GL_RED_BITS) 1140#if defined(GL_SHADE_MODEL) 1141 case GL_SHADE_MODEL: 1142#endif // defined(GL_SHADE_MODEL) 1143#if defined(GL_STENCIL_BITS) 1144 case GL_STENCIL_BITS: 1145#endif // defined(GL_STENCIL_BITS) 1146#if defined(GL_STENCIL_CLEAR_VALUE) 1147 case GL_STENCIL_CLEAR_VALUE: 1148#endif // defined(GL_STENCIL_CLEAR_VALUE) 1149#if defined(GL_STENCIL_FAIL) 1150 case GL_STENCIL_FAIL: 1151#endif // defined(GL_STENCIL_FAIL) 1152#if defined(GL_STENCIL_FUNC) 1153 case GL_STENCIL_FUNC: 1154#endif // defined(GL_STENCIL_FUNC) 1155#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1156 case GL_STENCIL_PASS_DEPTH_FAIL: 1157#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1158#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1159 case GL_STENCIL_PASS_DEPTH_PASS: 1160#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1161#if defined(GL_STENCIL_REF) 1162 case GL_STENCIL_REF: 1163#endif // defined(GL_STENCIL_REF) 1164#if defined(GL_STENCIL_VALUE_MASK) 1165 case GL_STENCIL_VALUE_MASK: 1166#endif // defined(GL_STENCIL_VALUE_MASK) 1167#if defined(GL_STENCIL_WRITEMASK) 1168 case GL_STENCIL_WRITEMASK: 1169#endif // defined(GL_STENCIL_WRITEMASK) 1170#if defined(GL_SUBPIXEL_BITS) 1171 case GL_SUBPIXEL_BITS: 1172#endif // defined(GL_SUBPIXEL_BITS) 1173#if defined(GL_TEXTURE_BINDING_2D) 1174 case GL_TEXTURE_BINDING_2D: 1175#endif // defined(GL_TEXTURE_BINDING_2D) 1176#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1177 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1178#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1179#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1180 case GL_TEXTURE_COORD_ARRAY_SIZE: 1181#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1182#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1183 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1184#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1185#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1186 case GL_TEXTURE_COORD_ARRAY_TYPE: 1187#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1188#if defined(GL_TEXTURE_STACK_DEPTH) 1189 case GL_TEXTURE_STACK_DEPTH: 1190#endif // defined(GL_TEXTURE_STACK_DEPTH) 1191#if defined(GL_UNPACK_ALIGNMENT) 1192 case GL_UNPACK_ALIGNMENT: 1193#endif // defined(GL_UNPACK_ALIGNMENT) 1194#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1195 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1196#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1197#if defined(GL_VERTEX_ARRAY_SIZE) 1198 case GL_VERTEX_ARRAY_SIZE: 1199#endif // defined(GL_VERTEX_ARRAY_SIZE) 1200#if defined(GL_VERTEX_ARRAY_STRIDE) 1201 case GL_VERTEX_ARRAY_STRIDE: 1202#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1203#if defined(GL_VERTEX_ARRAY_TYPE) 1204 case GL_VERTEX_ARRAY_TYPE: 1205#endif // defined(GL_VERTEX_ARRAY_TYPE) 1206#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1207 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1208#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1209#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1210 case GL_WEIGHT_ARRAY_SIZE_OES: 1211#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1212#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1213 case GL_WEIGHT_ARRAY_STRIDE_OES: 1214#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1215#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1216 case GL_WEIGHT_ARRAY_TYPE_OES: 1217#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1218 _needed = 1; 1219 break; 1220#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1221 case GL_ALIASED_POINT_SIZE_RANGE: 1222#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1223#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1224 case GL_ALIASED_LINE_WIDTH_RANGE: 1225#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1226#if defined(GL_DEPTH_RANGE) 1227 case GL_DEPTH_RANGE: 1228#endif // defined(GL_DEPTH_RANGE) 1229#if defined(GL_MAX_VIEWPORT_DIMS) 1230 case GL_MAX_VIEWPORT_DIMS: 1231#endif // defined(GL_MAX_VIEWPORT_DIMS) 1232#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1233 case GL_SMOOTH_LINE_WIDTH_RANGE: 1234#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1235#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1236 case GL_SMOOTH_POINT_SIZE_RANGE: 1237#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1238 _needed = 2; 1239 break; 1240#if defined(GL_COLOR_CLEAR_VALUE) 1241 case GL_COLOR_CLEAR_VALUE: 1242#endif // defined(GL_COLOR_CLEAR_VALUE) 1243#if defined(GL_COLOR_WRITEMASK) 1244 case GL_COLOR_WRITEMASK: 1245#endif // defined(GL_COLOR_WRITEMASK) 1246#if defined(GL_FOG_COLOR) 1247 case GL_FOG_COLOR: 1248#endif // defined(GL_FOG_COLOR) 1249#if defined(GL_LIGHT_MODEL_AMBIENT) 1250 case GL_LIGHT_MODEL_AMBIENT: 1251#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1252#if defined(GL_SCISSOR_BOX) 1253 case GL_SCISSOR_BOX: 1254#endif // defined(GL_SCISSOR_BOX) 1255#if defined(GL_VIEWPORT) 1256 case GL_VIEWPORT: 1257#endif // defined(GL_VIEWPORT) 1258 _needed = 4; 1259 break; 1260#if defined(GL_MODELVIEW_MATRIX) 1261 case GL_MODELVIEW_MATRIX: 1262#endif // defined(GL_MODELVIEW_MATRIX) 1263#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1264 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1265#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1266#if defined(GL_PROJECTION_MATRIX) 1267 case GL_PROJECTION_MATRIX: 1268#endif // defined(GL_PROJECTION_MATRIX) 1269#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1270 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1271#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1272#if defined(GL_TEXTURE_MATRIX) 1273 case GL_TEXTURE_MATRIX: 1274#endif // defined(GL_TEXTURE_MATRIX) 1275#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1276 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1277#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1278 _needed = 16; 1279 break; 1280#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1281 case GL_COMPRESSED_TEXTURE_FORMATS: 1282#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1283 _needed = getNumCompressedTextureFormats(); 1284 break; 1285 default: 1286 _needed = 0; 1287 break; 1288 } 1289 if (_remaining < _needed) { 1290 _exception = 1; 1291 _env->ThrowNew(IAEClass, "length - offset < needed"); 1292 goto exit; 1293 } 1294 params_base = (GLint *) 1295 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1296 params = params_base + offset; 1297 1298 glGetIntegerv( 1299 (GLenum)pname, 1300 (GLint *)params 1301 ); 1302 1303exit: 1304 if (params_base) { 1305 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1306 _exception ? JNI_ABORT: 0); 1307 } 1308} 1309 1310/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1311static void 1312android_glGetIntegerv__ILjava_nio_IntBuffer_2 1313 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1314 jint _exception = 0; 1315 jarray _array = (jarray) 0; 1316 jint _remaining; 1317 GLint *params = (GLint *) 0; 1318 1319 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1320 int _needed; 1321 switch (pname) { 1322#if defined(GL_ALPHA_BITS) 1323 case GL_ALPHA_BITS: 1324#endif // defined(GL_ALPHA_BITS) 1325#if defined(GL_ALPHA_TEST_FUNC) 1326 case GL_ALPHA_TEST_FUNC: 1327#endif // defined(GL_ALPHA_TEST_FUNC) 1328#if defined(GL_ALPHA_TEST_REF) 1329 case GL_ALPHA_TEST_REF: 1330#endif // defined(GL_ALPHA_TEST_REF) 1331#if defined(GL_BLEND_DST) 1332 case GL_BLEND_DST: 1333#endif // defined(GL_BLEND_DST) 1334#if defined(GL_BLUE_BITS) 1335 case GL_BLUE_BITS: 1336#endif // defined(GL_BLUE_BITS) 1337#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1338 case GL_COLOR_ARRAY_BUFFER_BINDING: 1339#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1340#if defined(GL_COLOR_ARRAY_SIZE) 1341 case GL_COLOR_ARRAY_SIZE: 1342#endif // defined(GL_COLOR_ARRAY_SIZE) 1343#if defined(GL_COLOR_ARRAY_STRIDE) 1344 case GL_COLOR_ARRAY_STRIDE: 1345#endif // defined(GL_COLOR_ARRAY_STRIDE) 1346#if defined(GL_COLOR_ARRAY_TYPE) 1347 case GL_COLOR_ARRAY_TYPE: 1348#endif // defined(GL_COLOR_ARRAY_TYPE) 1349#if defined(GL_CULL_FACE) 1350 case GL_CULL_FACE: 1351#endif // defined(GL_CULL_FACE) 1352#if defined(GL_DEPTH_BITS) 1353 case GL_DEPTH_BITS: 1354#endif // defined(GL_DEPTH_BITS) 1355#if defined(GL_DEPTH_CLEAR_VALUE) 1356 case GL_DEPTH_CLEAR_VALUE: 1357#endif // defined(GL_DEPTH_CLEAR_VALUE) 1358#if defined(GL_DEPTH_FUNC) 1359 case GL_DEPTH_FUNC: 1360#endif // defined(GL_DEPTH_FUNC) 1361#if defined(GL_DEPTH_WRITEMASK) 1362 case GL_DEPTH_WRITEMASK: 1363#endif // defined(GL_DEPTH_WRITEMASK) 1364#if defined(GL_FOG_DENSITY) 1365 case GL_FOG_DENSITY: 1366#endif // defined(GL_FOG_DENSITY) 1367#if defined(GL_FOG_END) 1368 case GL_FOG_END: 1369#endif // defined(GL_FOG_END) 1370#if defined(GL_FOG_MODE) 1371 case GL_FOG_MODE: 1372#endif // defined(GL_FOG_MODE) 1373#if defined(GL_FOG_START) 1374 case GL_FOG_START: 1375#endif // defined(GL_FOG_START) 1376#if defined(GL_FRONT_FACE) 1377 case GL_FRONT_FACE: 1378#endif // defined(GL_FRONT_FACE) 1379#if defined(GL_GREEN_BITS) 1380 case GL_GREEN_BITS: 1381#endif // defined(GL_GREEN_BITS) 1382#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1383 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1384#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1385#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1386 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1387#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1388#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1389 case GL_LIGHT_MODEL_COLOR_CONTROL: 1390#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1391#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1392 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1393#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1394#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1395 case GL_LIGHT_MODEL_TWO_SIDE: 1396#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1397#if defined(GL_LINE_SMOOTH_HINT) 1398 case GL_LINE_SMOOTH_HINT: 1399#endif // defined(GL_LINE_SMOOTH_HINT) 1400#if defined(GL_LINE_WIDTH) 1401 case GL_LINE_WIDTH: 1402#endif // defined(GL_LINE_WIDTH) 1403#if defined(GL_LOGIC_OP_MODE) 1404 case GL_LOGIC_OP_MODE: 1405#endif // defined(GL_LOGIC_OP_MODE) 1406#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1407 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1408#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1409#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1410 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1411#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1412#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1413 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1414#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1415#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1416 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1417#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1418#if defined(GL_MATRIX_MODE) 1419 case GL_MATRIX_MODE: 1420#endif // defined(GL_MATRIX_MODE) 1421#if defined(GL_MAX_CLIP_PLANES) 1422 case GL_MAX_CLIP_PLANES: 1423#endif // defined(GL_MAX_CLIP_PLANES) 1424#if defined(GL_MAX_ELEMENTS_INDICES) 1425 case GL_MAX_ELEMENTS_INDICES: 1426#endif // defined(GL_MAX_ELEMENTS_INDICES) 1427#if defined(GL_MAX_ELEMENTS_VERTICES) 1428 case GL_MAX_ELEMENTS_VERTICES: 1429#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1430#if defined(GL_MAX_LIGHTS) 1431 case GL_MAX_LIGHTS: 1432#endif // defined(GL_MAX_LIGHTS) 1433#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1434 case GL_MAX_MODELVIEW_STACK_DEPTH: 1435#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1436#if defined(GL_MAX_PALETTE_MATRICES_OES) 1437 case GL_MAX_PALETTE_MATRICES_OES: 1438#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1439#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1440 case GL_MAX_PROJECTION_STACK_DEPTH: 1441#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1442#if defined(GL_MAX_TEXTURE_SIZE) 1443 case GL_MAX_TEXTURE_SIZE: 1444#endif // defined(GL_MAX_TEXTURE_SIZE) 1445#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1446 case GL_MAX_TEXTURE_STACK_DEPTH: 1447#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1448#if defined(GL_MAX_TEXTURE_UNITS) 1449 case GL_MAX_TEXTURE_UNITS: 1450#endif // defined(GL_MAX_TEXTURE_UNITS) 1451#if defined(GL_MAX_VERTEX_UNITS_OES) 1452 case GL_MAX_VERTEX_UNITS_OES: 1453#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1454#if defined(GL_MODELVIEW_STACK_DEPTH) 1455 case GL_MODELVIEW_STACK_DEPTH: 1456#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1457#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1458 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1459#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1460#if defined(GL_NORMAL_ARRAY_STRIDE) 1461 case GL_NORMAL_ARRAY_STRIDE: 1462#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1463#if defined(GL_NORMAL_ARRAY_TYPE) 1464 case GL_NORMAL_ARRAY_TYPE: 1465#endif // defined(GL_NORMAL_ARRAY_TYPE) 1466#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1467 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1468#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1469#if defined(GL_PACK_ALIGNMENT) 1470 case GL_PACK_ALIGNMENT: 1471#endif // defined(GL_PACK_ALIGNMENT) 1472#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1473 case GL_PERSPECTIVE_CORRECTION_HINT: 1474#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1475#if defined(GL_POINT_SIZE) 1476 case GL_POINT_SIZE: 1477#endif // defined(GL_POINT_SIZE) 1478#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1479 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1480#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1481#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1482 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 1483#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 1484#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1485 case GL_POINT_SIZE_ARRAY_TYPE_OES: 1486#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 1487#if defined(GL_POINT_SMOOTH_HINT) 1488 case GL_POINT_SMOOTH_HINT: 1489#endif // defined(GL_POINT_SMOOTH_HINT) 1490#if defined(GL_POLYGON_OFFSET_FACTOR) 1491 case GL_POLYGON_OFFSET_FACTOR: 1492#endif // defined(GL_POLYGON_OFFSET_FACTOR) 1493#if defined(GL_POLYGON_OFFSET_UNITS) 1494 case GL_POLYGON_OFFSET_UNITS: 1495#endif // defined(GL_POLYGON_OFFSET_UNITS) 1496#if defined(GL_PROJECTION_STACK_DEPTH) 1497 case GL_PROJECTION_STACK_DEPTH: 1498#endif // defined(GL_PROJECTION_STACK_DEPTH) 1499#if defined(GL_RED_BITS) 1500 case GL_RED_BITS: 1501#endif // defined(GL_RED_BITS) 1502#if defined(GL_SHADE_MODEL) 1503 case GL_SHADE_MODEL: 1504#endif // defined(GL_SHADE_MODEL) 1505#if defined(GL_STENCIL_BITS) 1506 case GL_STENCIL_BITS: 1507#endif // defined(GL_STENCIL_BITS) 1508#if defined(GL_STENCIL_CLEAR_VALUE) 1509 case GL_STENCIL_CLEAR_VALUE: 1510#endif // defined(GL_STENCIL_CLEAR_VALUE) 1511#if defined(GL_STENCIL_FAIL) 1512 case GL_STENCIL_FAIL: 1513#endif // defined(GL_STENCIL_FAIL) 1514#if defined(GL_STENCIL_FUNC) 1515 case GL_STENCIL_FUNC: 1516#endif // defined(GL_STENCIL_FUNC) 1517#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 1518 case GL_STENCIL_PASS_DEPTH_FAIL: 1519#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 1520#if defined(GL_STENCIL_PASS_DEPTH_PASS) 1521 case GL_STENCIL_PASS_DEPTH_PASS: 1522#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 1523#if defined(GL_STENCIL_REF) 1524 case GL_STENCIL_REF: 1525#endif // defined(GL_STENCIL_REF) 1526#if defined(GL_STENCIL_VALUE_MASK) 1527 case GL_STENCIL_VALUE_MASK: 1528#endif // defined(GL_STENCIL_VALUE_MASK) 1529#if defined(GL_STENCIL_WRITEMASK) 1530 case GL_STENCIL_WRITEMASK: 1531#endif // defined(GL_STENCIL_WRITEMASK) 1532#if defined(GL_SUBPIXEL_BITS) 1533 case GL_SUBPIXEL_BITS: 1534#endif // defined(GL_SUBPIXEL_BITS) 1535#if defined(GL_TEXTURE_BINDING_2D) 1536 case GL_TEXTURE_BINDING_2D: 1537#endif // defined(GL_TEXTURE_BINDING_2D) 1538#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1539 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 1540#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 1541#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1542 case GL_TEXTURE_COORD_ARRAY_SIZE: 1543#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 1544#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1545 case GL_TEXTURE_COORD_ARRAY_STRIDE: 1546#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 1547#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1548 case GL_TEXTURE_COORD_ARRAY_TYPE: 1549#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 1550#if defined(GL_TEXTURE_STACK_DEPTH) 1551 case GL_TEXTURE_STACK_DEPTH: 1552#endif // defined(GL_TEXTURE_STACK_DEPTH) 1553#if defined(GL_UNPACK_ALIGNMENT) 1554 case GL_UNPACK_ALIGNMENT: 1555#endif // defined(GL_UNPACK_ALIGNMENT) 1556#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1557 case GL_VERTEX_ARRAY_BUFFER_BINDING: 1558#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 1559#if defined(GL_VERTEX_ARRAY_SIZE) 1560 case GL_VERTEX_ARRAY_SIZE: 1561#endif // defined(GL_VERTEX_ARRAY_SIZE) 1562#if defined(GL_VERTEX_ARRAY_STRIDE) 1563 case GL_VERTEX_ARRAY_STRIDE: 1564#endif // defined(GL_VERTEX_ARRAY_STRIDE) 1565#if defined(GL_VERTEX_ARRAY_TYPE) 1566 case GL_VERTEX_ARRAY_TYPE: 1567#endif // defined(GL_VERTEX_ARRAY_TYPE) 1568#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1569 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 1570#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 1571#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 1572 case GL_WEIGHT_ARRAY_SIZE_OES: 1573#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 1574#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1575 case GL_WEIGHT_ARRAY_STRIDE_OES: 1576#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 1577#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 1578 case GL_WEIGHT_ARRAY_TYPE_OES: 1579#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 1580 _needed = 1; 1581 break; 1582#if defined(GL_ALIASED_POINT_SIZE_RANGE) 1583 case GL_ALIASED_POINT_SIZE_RANGE: 1584#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 1585#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 1586 case GL_ALIASED_LINE_WIDTH_RANGE: 1587#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 1588#if defined(GL_DEPTH_RANGE) 1589 case GL_DEPTH_RANGE: 1590#endif // defined(GL_DEPTH_RANGE) 1591#if defined(GL_MAX_VIEWPORT_DIMS) 1592 case GL_MAX_VIEWPORT_DIMS: 1593#endif // defined(GL_MAX_VIEWPORT_DIMS) 1594#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1595 case GL_SMOOTH_LINE_WIDTH_RANGE: 1596#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 1597#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 1598 case GL_SMOOTH_POINT_SIZE_RANGE: 1599#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 1600 _needed = 2; 1601 break; 1602#if defined(GL_COLOR_CLEAR_VALUE) 1603 case GL_COLOR_CLEAR_VALUE: 1604#endif // defined(GL_COLOR_CLEAR_VALUE) 1605#if defined(GL_COLOR_WRITEMASK) 1606 case GL_COLOR_WRITEMASK: 1607#endif // defined(GL_COLOR_WRITEMASK) 1608#if defined(GL_FOG_COLOR) 1609 case GL_FOG_COLOR: 1610#endif // defined(GL_FOG_COLOR) 1611#if defined(GL_LIGHT_MODEL_AMBIENT) 1612 case GL_LIGHT_MODEL_AMBIENT: 1613#endif // defined(GL_LIGHT_MODEL_AMBIENT) 1614#if defined(GL_SCISSOR_BOX) 1615 case GL_SCISSOR_BOX: 1616#endif // defined(GL_SCISSOR_BOX) 1617#if defined(GL_VIEWPORT) 1618 case GL_VIEWPORT: 1619#endif // defined(GL_VIEWPORT) 1620 _needed = 4; 1621 break; 1622#if defined(GL_MODELVIEW_MATRIX) 1623 case GL_MODELVIEW_MATRIX: 1624#endif // defined(GL_MODELVIEW_MATRIX) 1625#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1626 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 1627#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 1628#if defined(GL_PROJECTION_MATRIX) 1629 case GL_PROJECTION_MATRIX: 1630#endif // defined(GL_PROJECTION_MATRIX) 1631#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1632 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 1633#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 1634#if defined(GL_TEXTURE_MATRIX) 1635 case GL_TEXTURE_MATRIX: 1636#endif // defined(GL_TEXTURE_MATRIX) 1637#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1638 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 1639#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 1640 _needed = 16; 1641 break; 1642#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 1643 case GL_COMPRESSED_TEXTURE_FORMATS: 1644#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 1645 _needed = getNumCompressedTextureFormats(); 1646 break; 1647 default: 1648 _needed = 0; 1649 break; 1650 } 1651 if (_remaining < _needed) { 1652 _exception = 1; 1653 _env->ThrowNew(IAEClass, "remaining() < needed"); 1654 goto exit; 1655 } 1656 glGetIntegerv( 1657 (GLenum)pname, 1658 (GLint *)params 1659 ); 1660 1661exit: 1662 if (_array) { 1663 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1664 } 1665} 1666 1667#include <string.h> 1668 1669/* const GLubyte * glGetString ( GLenum name ) */ 1670static 1671jstring 1672android_glGetString 1673 (JNIEnv *_env, jobject _this, jint name) { 1674 const char * chars = (const char *)glGetString((GLenum)name); 1675 jstring output = _env->NewStringUTF(chars); 1676 return output; 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 _env->ThrowNew(IAEClass, "params == null"); 1708 goto exit; 1709 } 1710 if (offset < 0) { 1711 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "params == null"); 1811 goto exit; 1812 } 1813 if (offset < 0) { 1814 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "params == null"); 1915 goto exit; 1916 } 1917 if (offset < 0) { 1918 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "params == null"); 2073 goto exit; 2074 } 2075 if (offset < 0) { 2076 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "m == null"); 2245 goto exit; 2246 } 2247 if (offset < 0) { 2248 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "m == null"); 2294 goto exit; 2295 } 2296 if (offset < 0) { 2297 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "params == null"); 2363 goto exit; 2364 } 2365 if (offset < 0) { 2366 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "params == null"); 2493 goto exit; 2494 } 2495 if (offset < 0) { 2496 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "m == null"); 2621 goto exit; 2622 } 2623 if (offset < 0) { 2624 _env->ThrowNew(IAEClass, "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 _env->ThrowNew(IAEClass, "m == null"); 2670 goto exit; 2671 } 2672 if (offset < 0) { 2673 _env->ThrowNew(IAEClass, "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 pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining); 2766 glNormalPointerBounds( 2767 (GLenum)type, 2768 (GLsizei)stride, 2769 (GLvoid *)pointer, 2770 (GLsizei)remaining 2771 ); 2772 if (_array) { 2773 releasePointer(_env, _array, pointer, JNI_FALSE); 2774 } 2775} 2776 2777/* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ 2778static void 2779android_glOrthof__FFFFFF 2780 (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { 2781 glOrthof( 2782 (GLfloat)left, 2783 (GLfloat)right, 2784 (GLfloat)bottom, 2785 (GLfloat)top, 2786 (GLfloat)zNear, 2787 (GLfloat)zFar 2788 ); 2789} 2790 2791/* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ 2792static void 2793android_glOrthox__IIIIII 2794 (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { 2795 glOrthox( 2796 (GLfixed)left, 2797 (GLfixed)right, 2798 (GLfixed)bottom, 2799 (GLfixed)top, 2800 (GLfixed)zNear, 2801 (GLfixed)zFar 2802 ); 2803} 2804 2805/* void glPixelStorei ( GLenum pname, GLint param ) */ 2806static void 2807android_glPixelStorei__II 2808 (JNIEnv *_env, jobject _this, jint pname, jint param) { 2809 glPixelStorei( 2810 (GLenum)pname, 2811 (GLint)param 2812 ); 2813} 2814 2815/* void glPointSize ( GLfloat size ) */ 2816static void 2817android_glPointSize__F 2818 (JNIEnv *_env, jobject _this, jfloat size) { 2819 glPointSize( 2820 (GLfloat)size 2821 ); 2822} 2823 2824/* void glPointSizex ( GLfixed size ) */ 2825static void 2826android_glPointSizex__I 2827 (JNIEnv *_env, jobject _this, jint size) { 2828 glPointSizex( 2829 (GLfixed)size 2830 ); 2831} 2832 2833/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 2834static void 2835android_glPolygonOffset__FF 2836 (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 2837 glPolygonOffset( 2838 (GLfloat)factor, 2839 (GLfloat)units 2840 ); 2841} 2842 2843/* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ 2844static void 2845android_glPolygonOffsetx__II 2846 (JNIEnv *_env, jobject _this, jint factor, jint units) { 2847 glPolygonOffsetx( 2848 (GLfixed)factor, 2849 (GLfixed)units 2850 ); 2851} 2852 2853/* void glPopMatrix ( void ) */ 2854static void 2855android_glPopMatrix__ 2856 (JNIEnv *_env, jobject _this) { 2857 glPopMatrix(); 2858} 2859 2860/* void glPushMatrix ( void ) */ 2861static void 2862android_glPushMatrix__ 2863 (JNIEnv *_env, jobject _this) { 2864 glPushMatrix(); 2865} 2866 2867/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 2868static void 2869android_glReadPixels__IIIIIILjava_nio_Buffer_2 2870 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 2871 jint _exception = 0; 2872 jarray _array = (jarray) 0; 2873 jint _remaining; 2874 GLvoid *pixels = (GLvoid *) 0; 2875 2876 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 2877 glReadPixels( 2878 (GLint)x, 2879 (GLint)y, 2880 (GLsizei)width, 2881 (GLsizei)height, 2882 (GLenum)format, 2883 (GLenum)type, 2884 (GLvoid *)pixels 2885 ); 2886 if (_array) { 2887 releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 2888 } 2889} 2890 2891/* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ 2892static void 2893android_glRotatef__FFFF 2894 (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { 2895 glRotatef( 2896 (GLfloat)angle, 2897 (GLfloat)x, 2898 (GLfloat)y, 2899 (GLfloat)z 2900 ); 2901} 2902 2903/* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ 2904static void 2905android_glRotatex__IIII 2906 (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { 2907 glRotatex( 2908 (GLfixed)angle, 2909 (GLfixed)x, 2910 (GLfixed)y, 2911 (GLfixed)z 2912 ); 2913} 2914 2915/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 2916static void 2917android_glSampleCoverage__FZ 2918 (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 2919 glSampleCoverage( 2920 (GLclampf)value, 2921 (GLboolean)invert 2922 ); 2923} 2924 2925/* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ 2926static void 2927android_glSampleCoveragex__IZ 2928 (JNIEnv *_env, jobject _this, jint value, jboolean invert) { 2929 glSampleCoveragex( 2930 (GLclampx)value, 2931 (GLboolean)invert 2932 ); 2933} 2934 2935/* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ 2936static void 2937android_glScalef__FFF 2938 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 2939 glScalef( 2940 (GLfloat)x, 2941 (GLfloat)y, 2942 (GLfloat)z 2943 ); 2944} 2945 2946/* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ 2947static void 2948android_glScalex__III 2949 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 2950 glScalex( 2951 (GLfixed)x, 2952 (GLfixed)y, 2953 (GLfixed)z 2954 ); 2955} 2956 2957/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 2958static void 2959android_glScissor__IIII 2960 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 2961 glScissor( 2962 (GLint)x, 2963 (GLint)y, 2964 (GLsizei)width, 2965 (GLsizei)height 2966 ); 2967} 2968 2969/* void glShadeModel ( GLenum mode ) */ 2970static void 2971android_glShadeModel__I 2972 (JNIEnv *_env, jobject _this, jint mode) { 2973 glShadeModel( 2974 (GLenum)mode 2975 ); 2976} 2977 2978/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 2979static void 2980android_glStencilFunc__III 2981 (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 2982 glStencilFunc( 2983 (GLenum)func, 2984 (GLint)ref, 2985 (GLuint)mask 2986 ); 2987} 2988 2989/* void glStencilMask ( GLuint mask ) */ 2990static void 2991android_glStencilMask__I 2992 (JNIEnv *_env, jobject _this, jint mask) { 2993 glStencilMask( 2994 (GLuint)mask 2995 ); 2996} 2997 2998/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 2999static void 3000android_glStencilOp__III 3001 (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 3002 glStencilOp( 3003 (GLenum)fail, 3004 (GLenum)zfail, 3005 (GLenum)zpass 3006 ); 3007} 3008 3009/* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3010static void 3011android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I 3012 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3013 jarray _array = (jarray) 0; 3014 jint _remaining; 3015 GLvoid *pointer = (GLvoid *) 0; 3016 3017 pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining); 3018 glTexCoordPointerBounds( 3019 (GLint)size, 3020 (GLenum)type, 3021 (GLsizei)stride, 3022 (GLvoid *)pointer, 3023 (GLsizei)remaining 3024 ); 3025 if (_array) { 3026 releasePointer(_env, _array, pointer, JNI_FALSE); 3027 } 3028} 3029 3030/* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ 3031static void 3032android_glTexEnvf__IIF 3033 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3034 glTexEnvf( 3035 (GLenum)target, 3036 (GLenum)pname, 3037 (GLfloat)param 3038 ); 3039} 3040 3041/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3042static void 3043android_glTexEnvfv__II_3FI 3044 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 3045 GLfloat *params_base = (GLfloat *) 0; 3046 jint _remaining; 3047 GLfloat *params = (GLfloat *) 0; 3048 3049 if (!params_ref) { 3050 _env->ThrowNew(IAEClass, "params == null"); 3051 goto exit; 3052 } 3053 if (offset < 0) { 3054 _env->ThrowNew(IAEClass, "offset < 0"); 3055 goto exit; 3056 } 3057 _remaining = _env->GetArrayLength(params_ref) - offset; 3058 int _needed; 3059 switch (pname) { 3060#if defined(GL_TEXTURE_ENV_MODE) 3061 case GL_TEXTURE_ENV_MODE: 3062#endif // defined(GL_TEXTURE_ENV_MODE) 3063#if defined(GL_COMBINE_RGB) 3064 case GL_COMBINE_RGB: 3065#endif // defined(GL_COMBINE_RGB) 3066#if defined(GL_COMBINE_ALPHA) 3067 case GL_COMBINE_ALPHA: 3068#endif // defined(GL_COMBINE_ALPHA) 3069 _needed = 1; 3070 break; 3071#if defined(GL_TEXTURE_ENV_COLOR) 3072 case GL_TEXTURE_ENV_COLOR: 3073#endif // defined(GL_TEXTURE_ENV_COLOR) 3074 _needed = 4; 3075 break; 3076 default: 3077 _needed = 0; 3078 break; 3079 } 3080 if (_remaining < _needed) { 3081 _env->ThrowNew(IAEClass, "length - offset < needed"); 3082 goto exit; 3083 } 3084 params_base = (GLfloat *) 3085 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3086 params = params_base + offset; 3087 3088 glTexEnvfv( 3089 (GLenum)target, 3090 (GLenum)pname, 3091 (GLfloat *)params 3092 ); 3093 3094exit: 3095 if (params_base) { 3096 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3097 JNI_ABORT); 3098 } 3099} 3100 3101/* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3102static void 3103android_glTexEnvfv__IILjava_nio_FloatBuffer_2 3104 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3105 jarray _array = (jarray) 0; 3106 jint _remaining; 3107 GLfloat *params = (GLfloat *) 0; 3108 3109 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3110 int _needed; 3111 switch (pname) { 3112#if defined(GL_TEXTURE_ENV_MODE) 3113 case GL_TEXTURE_ENV_MODE: 3114#endif // defined(GL_TEXTURE_ENV_MODE) 3115#if defined(GL_COMBINE_RGB) 3116 case GL_COMBINE_RGB: 3117#endif // defined(GL_COMBINE_RGB) 3118#if defined(GL_COMBINE_ALPHA) 3119 case GL_COMBINE_ALPHA: 3120#endif // defined(GL_COMBINE_ALPHA) 3121 _needed = 1; 3122 break; 3123#if defined(GL_TEXTURE_ENV_COLOR) 3124 case GL_TEXTURE_ENV_COLOR: 3125#endif // defined(GL_TEXTURE_ENV_COLOR) 3126 _needed = 4; 3127 break; 3128 default: 3129 _needed = 0; 3130 break; 3131 } 3132 if (_remaining < _needed) { 3133 _env->ThrowNew(IAEClass, "remaining() < needed"); 3134 goto exit; 3135 } 3136 glTexEnvfv( 3137 (GLenum)target, 3138 (GLenum)pname, 3139 (GLfloat *)params 3140 ); 3141 3142exit: 3143 if (_array) { 3144 releasePointer(_env, _array, params, JNI_FALSE); 3145 } 3146} 3147 3148/* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ 3149static void 3150android_glTexEnvx__III 3151 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3152 glTexEnvx( 3153 (GLenum)target, 3154 (GLenum)pname, 3155 (GLfixed)param 3156 ); 3157} 3158 3159/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3160static void 3161android_glTexEnvxv__II_3II 3162 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3163 GLfixed *params_base = (GLfixed *) 0; 3164 jint _remaining; 3165 GLfixed *params = (GLfixed *) 0; 3166 3167 if (!params_ref) { 3168 _env->ThrowNew(IAEClass, "params == null"); 3169 goto exit; 3170 } 3171 if (offset < 0) { 3172 _env->ThrowNew(IAEClass, "offset < 0"); 3173 goto exit; 3174 } 3175 _remaining = _env->GetArrayLength(params_ref) - offset; 3176 int _needed; 3177 switch (pname) { 3178#if defined(GL_TEXTURE_ENV_MODE) 3179 case GL_TEXTURE_ENV_MODE: 3180#endif // defined(GL_TEXTURE_ENV_MODE) 3181#if defined(GL_COMBINE_RGB) 3182 case GL_COMBINE_RGB: 3183#endif // defined(GL_COMBINE_RGB) 3184#if defined(GL_COMBINE_ALPHA) 3185 case GL_COMBINE_ALPHA: 3186#endif // defined(GL_COMBINE_ALPHA) 3187 _needed = 1; 3188 break; 3189#if defined(GL_TEXTURE_ENV_COLOR) 3190 case GL_TEXTURE_ENV_COLOR: 3191#endif // defined(GL_TEXTURE_ENV_COLOR) 3192 _needed = 4; 3193 break; 3194 default: 3195 _needed = 0; 3196 break; 3197 } 3198 if (_remaining < _needed) { 3199 _env->ThrowNew(IAEClass, "length - offset < needed"); 3200 goto exit; 3201 } 3202 params_base = (GLfixed *) 3203 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3204 params = params_base + offset; 3205 3206 glTexEnvxv( 3207 (GLenum)target, 3208 (GLenum)pname, 3209 (GLfixed *)params 3210 ); 3211 3212exit: 3213 if (params_base) { 3214 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3215 JNI_ABORT); 3216 } 3217} 3218 3219/* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 3220static void 3221android_glTexEnvxv__IILjava_nio_IntBuffer_2 3222 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3223 jarray _array = (jarray) 0; 3224 jint _remaining; 3225 GLfixed *params = (GLfixed *) 0; 3226 3227 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 3228 int _needed; 3229 switch (pname) { 3230#if defined(GL_TEXTURE_ENV_MODE) 3231 case GL_TEXTURE_ENV_MODE: 3232#endif // defined(GL_TEXTURE_ENV_MODE) 3233#if defined(GL_COMBINE_RGB) 3234 case GL_COMBINE_RGB: 3235#endif // defined(GL_COMBINE_RGB) 3236#if defined(GL_COMBINE_ALPHA) 3237 case GL_COMBINE_ALPHA: 3238#endif // defined(GL_COMBINE_ALPHA) 3239 _needed = 1; 3240 break; 3241#if defined(GL_TEXTURE_ENV_COLOR) 3242 case GL_TEXTURE_ENV_COLOR: 3243#endif // defined(GL_TEXTURE_ENV_COLOR) 3244 _needed = 4; 3245 break; 3246 default: 3247 _needed = 0; 3248 break; 3249 } 3250 if (_remaining < _needed) { 3251 _env->ThrowNew(IAEClass, "remaining() < needed"); 3252 goto exit; 3253 } 3254 glTexEnvxv( 3255 (GLenum)target, 3256 (GLenum)pname, 3257 (GLfixed *)params 3258 ); 3259 3260exit: 3261 if (_array) { 3262 releasePointer(_env, _array, params, JNI_FALSE); 3263 } 3264} 3265 3266/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 3267static void 3268android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 3269 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 3270 jarray _array = (jarray) 0; 3271 jint _remaining; 3272 GLvoid *pixels = (GLvoid *) 0; 3273 3274 if (pixels_buf) { 3275 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3276 } 3277 glTexImage2D( 3278 (GLenum)target, 3279 (GLint)level, 3280 (GLint)internalformat, 3281 (GLsizei)width, 3282 (GLsizei)height, 3283 (GLint)border, 3284 (GLenum)format, 3285 (GLenum)type, 3286 (GLvoid *)pixels 3287 ); 3288 if (_array) { 3289 releasePointer(_env, _array, pixels, JNI_FALSE); 3290 } 3291} 3292 3293/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 3294static void 3295android_glTexParameterf__IIF 3296 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3297 glTexParameterf( 3298 (GLenum)target, 3299 (GLenum)pname, 3300 (GLfloat)param 3301 ); 3302} 3303 3304/* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ 3305static void 3306android_glTexParameterx__III 3307 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3308 glTexParameterx( 3309 (GLenum)target, 3310 (GLenum)pname, 3311 (GLfixed)param 3312 ); 3313} 3314 3315/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 3316static void 3317android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 3318 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3319 jarray _array = (jarray) 0; 3320 jint _remaining; 3321 GLvoid *pixels = (GLvoid *) 0; 3322 3323 if (pixels_buf) { 3324 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3325 } 3326 glTexSubImage2D( 3327 (GLenum)target, 3328 (GLint)level, 3329 (GLint)xoffset, 3330 (GLint)yoffset, 3331 (GLsizei)width, 3332 (GLsizei)height, 3333 (GLenum)format, 3334 (GLenum)type, 3335 (GLvoid *)pixels 3336 ); 3337 if (_array) { 3338 releasePointer(_env, _array, pixels, JNI_FALSE); 3339 } 3340} 3341 3342/* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ 3343static void 3344android_glTranslatef__FFF 3345 (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { 3346 glTranslatef( 3347 (GLfloat)x, 3348 (GLfloat)y, 3349 (GLfloat)z 3350 ); 3351} 3352 3353/* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ 3354static void 3355android_glTranslatex__III 3356 (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { 3357 glTranslatex( 3358 (GLfixed)x, 3359 (GLfixed)y, 3360 (GLfixed)z 3361 ); 3362} 3363 3364/* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ 3365static void 3366android_glVertexPointerBounds__IIILjava_nio_Buffer_2I 3367 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { 3368 jarray _array = (jarray) 0; 3369 jint _remaining; 3370 GLvoid *pointer = (GLvoid *) 0; 3371 3372 pointer = (GLvoid *)getPointer(_env, pointer_buf, &_array, &_remaining); 3373 glVertexPointerBounds( 3374 (GLint)size, 3375 (GLenum)type, 3376 (GLsizei)stride, 3377 (GLvoid *)pointer, 3378 (GLsizei)remaining 3379 ); 3380 if (_array) { 3381 releasePointer(_env, _array, pointer, JNI_FALSE); 3382 } 3383} 3384 3385/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3386static void 3387android_glViewport__IIII 3388 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3389 glViewport( 3390 (GLint)x, 3391 (GLint)y, 3392 (GLsizei)width, 3393 (GLsizei)height 3394 ); 3395} 3396 3397static const char *classPathName = "android/opengl/GLES10"; 3398 3399static JNINativeMethod methods[] = { 3400{"_nativeClassInit", "()V", (void*)nativeClassInit }, 3401{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 3402{"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, 3403{"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, 3404{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 3405{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 3406{"glClear", "(I)V", (void *) android_glClear__I }, 3407{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 3408{"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, 3409{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 3410{"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, 3411{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 3412{"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, 3413{"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, 3414{"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, 3415{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 3416{"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, 3417{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 3418{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3419{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 3420{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 3421{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 3422{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 3423{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 3424{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 3425{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 3426{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 3427{"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, 3428{"glDisable", "(I)V", (void *) android_glDisable__I }, 3429{"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, 3430{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 3431{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 3432{"glEnable", "(I)V", (void *) android_glEnable__I }, 3433{"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, 3434{"glFinish", "()V", (void *) android_glFinish__ }, 3435{"glFlush", "()V", (void *) android_glFlush__ }, 3436{"glFogf", "(IF)V", (void *) android_glFogf__IF }, 3437{"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, 3438{"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, 3439{"glFogx", "(II)V", (void *) android_glFogx__II }, 3440{"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, 3441{"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, 3442{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 3443{"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, 3444{"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, 3445{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 3446{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 3447{"glGetError", "()I", (void *) android_glGetError__ }, 3448{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 3449{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 3450{"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 3451{"glHint", "(II)V", (void *) android_glHint__II }, 3452{"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, 3453{"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, 3454{"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, 3455{"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, 3456{"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, 3457{"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, 3458{"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, 3459{"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, 3460{"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, 3461{"glLightx", "(III)V", (void *) android_glLightx__III }, 3462{"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, 3463{"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, 3464{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 3465{"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, 3466{"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, 3467{"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, 3468{"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, 3469{"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, 3470{"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, 3471{"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, 3472{"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, 3473{"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, 3474{"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, 3475{"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, 3476{"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, 3477{"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, 3478{"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, 3479{"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, 3480{"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, 3481{"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, 3482{"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, 3483{"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, 3484{"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, 3485{"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, 3486{"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, 3487{"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, 3488{"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, 3489{"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, 3490{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 3491{"glPointSize", "(F)V", (void *) android_glPointSize__F }, 3492{"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, 3493{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 3494{"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, 3495{"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, 3496{"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, 3497{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 3498{"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, 3499{"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, 3500{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 3501{"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, 3502{"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, 3503{"glScalex", "(III)V", (void *) android_glScalex__III }, 3504{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 3505{"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, 3506{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 3507{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 3508{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 3509{"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, 3510{"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, 3511{"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, 3512{"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, 3513{"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, 3514{"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, 3515{"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, 3516{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3517{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 3518{"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, 3519{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 3520{"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, 3521{"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, 3522{"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, 3523{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 3524}; 3525 3526int register_android_opengl_jni_GLES10(JNIEnv *_env) 3527{ 3528 int err; 3529 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 3530 return err; 3531} 3532