1 /* 2 ** 3 ** Copyright 2009, The Android Open Source Project 4 ** 5 ** Licensed under the Apache License, Version 2.0 (the "License"); 6 ** you may not use this file except in compliance with the License. 7 ** You may obtain a copy of the License at 8 ** 9 ** http://www.apache.org/licenses/LICENSE-2.0 10 ** 11 ** Unless required by applicable law or agreed to in writing, software 12 ** distributed under the License is distributed on an "AS IS" BASIS, 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ** See the License for the specific language governing permissions and 15 ** limitations under the License. 16 */ 17 18 // This source file is automatically generated 19 20 #include "jni.h" 21 #include "JNIHelp.h" 22 #include <android_runtime/AndroidRuntime.h> 23 #include <utils/misc.h> 24 25 #include <assert.h> 26 #include <GLES/gl.h> 27 #include <GLES/glext.h> 28 29 /* special calls implemented in Android's GLES wrapper used to more 30 * efficiently bound-check passed arrays */ 31 extern "C" { 32 GL_API void GL_APIENTRY glPointSizePointerOESBounds(GLenum type, GLsizei stride, 33 const GLvoid *ptr, GLsizei count); 34 } 35 36 static int initialized = 0; 37 38 static jclass nioAccessClass; 39 static jclass bufferClass; 40 static jmethodID getBasePointerID; 41 static jmethodID getBaseArrayID; 42 static jmethodID getBaseArrayOffsetID; 43 static jfieldID positionID; 44 static jfieldID limitID; 45 static jfieldID elementSizeShiftID; 46 47 /* Cache method IDs each time the class is loaded. */ 48 49 static void 50 nativeClassInit(JNIEnv *_env, jclass glImplClass) 51 { 52 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 53 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 54 55 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 56 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 57 58 getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 59 "getBasePointer", "(Ljava/nio/Buffer;)J"); 60 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 61 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 62 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 63 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 64 65 positionID = _env->GetFieldID(bufferClass, "position", "I"); 66 limitID = _env->GetFieldID(bufferClass, "limit", "I"); 67 elementSizeShiftID = 68 _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 69 } 70 71 72 static void * 73 getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 74 { 75 jint position; 76 jint limit; 77 jint elementSizeShift; 78 jlong pointer; 79 jint offset; 80 void *data; 81 82 position = _env->GetIntField(buffer, positionID); 83 limit = _env->GetIntField(buffer, limitID); 84 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 85 *remaining = (limit - position) << elementSizeShift; 86 pointer = _env->CallStaticLongMethod(nioAccessClass, 87 getBasePointerID, buffer); 88 if (pointer != 0L) { 89 *array = NULL; 90 return (void *) (jint) pointer; 91 } 92 93 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 94 getBaseArrayID, buffer); 95 offset = _env->CallStaticIntMethod(nioAccessClass, 96 getBaseArrayOffsetID, buffer); 97 data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 98 99 return (void *) ((char *) data + offset); 100 } 101 102 103 static void 104 releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 105 { 106 _env->ReleasePrimitiveArrayCritical(array, data, 107 commit ? 0 : JNI_ABORT); 108 } 109 110 static void * 111 getDirectBufferPointer(JNIEnv *_env, jobject buffer) { 112 char* buf = (char*) _env->GetDirectBufferAddress(buffer); 113 if (buf) { 114 jint position = _env->GetIntField(buffer, positionID); 115 jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 116 buf += position << elementSizeShift; 117 } else { 118 jniThrowException(_env, "java/lang/IllegalArgumentException", 119 "Must use a native order direct Buffer"); 120 } 121 return (void*) buf; 122 } 123 124 // -------------------------------------------------------------------------- 125 /* void glBindBuffer ( GLenum target, GLuint buffer ) */ 126 static void 127 android_glBindBuffer__II 128 (JNIEnv *_env, jobject _this, jint target, jint buffer) { 129 glBindBuffer( 130 (GLenum)target, 131 (GLuint)buffer 132 ); 133 } 134 135 /* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 136 static void 137 android_glBufferData__IILjava_nio_Buffer_2I 138 (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 139 jarray _array = (jarray) 0; 140 jint _remaining; 141 GLvoid *data = (GLvoid *) 0; 142 143 if (data_buf) { 144 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 145 if (_remaining < size) { 146 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 147 goto exit; 148 } 149 } 150 glBufferData( 151 (GLenum)target, 152 (GLsizeiptr)size, 153 (GLvoid *)data, 154 (GLenum)usage 155 ); 156 157 exit: 158 if (_array) { 159 releasePointer(_env, _array, data, JNI_FALSE); 160 } 161 } 162 163 /* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 164 static void 165 android_glBufferSubData__IIILjava_nio_Buffer_2 166 (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 167 jarray _array = (jarray) 0; 168 jint _remaining; 169 GLvoid *data = (GLvoid *) 0; 170 171 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 172 if (_remaining < size) { 173 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 174 goto exit; 175 } 176 glBufferSubData( 177 (GLenum)target, 178 (GLintptr)offset, 179 (GLsizeiptr)size, 180 (GLvoid *)data 181 ); 182 183 exit: 184 if (_array) { 185 releasePointer(_env, _array, data, JNI_FALSE); 186 } 187 } 188 189 /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 190 static void 191 android_glClipPlanef__I_3FI 192 (JNIEnv *_env, jobject _this, jint plane, jfloatArray equation_ref, jint offset) { 193 GLfloat *equation_base = (GLfloat *) 0; 194 jint _remaining; 195 GLfloat *equation = (GLfloat *) 0; 196 197 if (!equation_ref) { 198 jniThrowException(_env, "java/lang/IllegalArgumentException", "equation == null"); 199 goto exit; 200 } 201 if (offset < 0) { 202 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 203 goto exit; 204 } 205 _remaining = _env->GetArrayLength(equation_ref) - offset; 206 equation_base = (GLfloat *) 207 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 208 equation = equation_base + offset; 209 210 glClipPlanef( 211 (GLenum)plane, 212 (GLfloat *)equation 213 ); 214 215 exit: 216 if (equation_base) { 217 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 218 JNI_ABORT); 219 } 220 } 221 222 /* void glClipPlanef ( GLenum plane, const GLfloat *equation ) */ 223 static void 224 android_glClipPlanef__ILjava_nio_FloatBuffer_2 225 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 226 jarray _array = (jarray) 0; 227 jint _remaining; 228 GLfloat *equation = (GLfloat *) 0; 229 230 equation = (GLfloat *)getPointer(_env, equation_buf, &_array, &_remaining); 231 glClipPlanef( 232 (GLenum)plane, 233 (GLfloat *)equation 234 ); 235 if (_array) { 236 releasePointer(_env, _array, equation, JNI_FALSE); 237 } 238 } 239 240 /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 241 static void 242 android_glClipPlanex__I_3II 243 (JNIEnv *_env, jobject _this, jint plane, jintArray equation_ref, jint offset) { 244 GLfixed *equation_base = (GLfixed *) 0; 245 jint _remaining; 246 GLfixed *equation = (GLfixed *) 0; 247 248 if (!equation_ref) { 249 jniThrowException(_env, "java/lang/IllegalArgumentException", "equation == null"); 250 goto exit; 251 } 252 if (offset < 0) { 253 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 254 goto exit; 255 } 256 _remaining = _env->GetArrayLength(equation_ref) - offset; 257 equation_base = (GLfixed *) 258 _env->GetPrimitiveArrayCritical(equation_ref, (jboolean *)0); 259 equation = equation_base + offset; 260 261 glClipPlanex( 262 (GLenum)plane, 263 (GLfixed *)equation 264 ); 265 266 exit: 267 if (equation_base) { 268 _env->ReleasePrimitiveArrayCritical(equation_ref, equation_base, 269 JNI_ABORT); 270 } 271 } 272 273 /* void glClipPlanex ( GLenum plane, const GLfixed *equation ) */ 274 static void 275 android_glClipPlanex__ILjava_nio_IntBuffer_2 276 (JNIEnv *_env, jobject _this, jint plane, jobject equation_buf) { 277 jarray _array = (jarray) 0; 278 jint _remaining; 279 GLfixed *equation = (GLfixed *) 0; 280 281 equation = (GLfixed *)getPointer(_env, equation_buf, &_array, &_remaining); 282 glClipPlanex( 283 (GLenum)plane, 284 (GLfixed *)equation 285 ); 286 if (_array) { 287 releasePointer(_env, _array, equation, JNI_FALSE); 288 } 289 } 290 291 /* void glColor4ub ( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) */ 292 static void 293 android_glColor4ub__BBBB 294 (JNIEnv *_env, jobject _this, jbyte red, jbyte green, jbyte blue, jbyte alpha) { 295 glColor4ub( 296 (GLubyte)red, 297 (GLubyte)green, 298 (GLubyte)blue, 299 (GLubyte)alpha 300 ); 301 } 302 303 /* void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 304 static void 305 android_glColorPointer__IIII 306 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 307 glColorPointer( 308 (GLint)size, 309 (GLenum)type, 310 (GLsizei)stride, 311 (const GLvoid *)offset 312 ); 313 } 314 315 /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 316 static void 317 android_glDeleteBuffers__I_3II 318 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 319 GLuint *buffers_base = (GLuint *) 0; 320 jint _remaining; 321 GLuint *buffers = (GLuint *) 0; 322 323 if (!buffers_ref) { 324 jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 325 goto exit; 326 } 327 if (offset < 0) { 328 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 329 goto exit; 330 } 331 _remaining = _env->GetArrayLength(buffers_ref) - offset; 332 if (_remaining < n) { 333 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 334 goto exit; 335 } 336 buffers_base = (GLuint *) 337 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 338 buffers = buffers_base + offset; 339 340 glDeleteBuffers( 341 (GLsizei)n, 342 (GLuint *)buffers 343 ); 344 345 exit: 346 if (buffers_base) { 347 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 348 JNI_ABORT); 349 } 350 } 351 352 /* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 353 static void 354 android_glDeleteBuffers__ILjava_nio_IntBuffer_2 355 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 356 jarray _array = (jarray) 0; 357 jint _remaining; 358 GLuint *buffers = (GLuint *) 0; 359 360 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 361 if (_remaining < n) { 362 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 363 goto exit; 364 } 365 glDeleteBuffers( 366 (GLsizei)n, 367 (GLuint *)buffers 368 ); 369 370 exit: 371 if (_array) { 372 releasePointer(_env, _array, buffers, JNI_FALSE); 373 } 374 } 375 376 /* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 377 static void 378 android_glDrawElements__IIII 379 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 380 glDrawElements( 381 (GLenum)mode, 382 (GLsizei)count, 383 (GLenum)type, 384 (const GLvoid *)offset 385 ); 386 } 387 388 /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 389 static void 390 android_glGenBuffers__I_3II 391 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 392 jint _exception = 0; 393 GLuint *buffers_base = (GLuint *) 0; 394 jint _remaining; 395 GLuint *buffers = (GLuint *) 0; 396 397 if (!buffers_ref) { 398 _exception = 1; 399 jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 400 goto exit; 401 } 402 if (offset < 0) { 403 _exception = 1; 404 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 405 goto exit; 406 } 407 _remaining = _env->GetArrayLength(buffers_ref) - offset; 408 if (_remaining < n) { 409 _exception = 1; 410 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 411 goto exit; 412 } 413 buffers_base = (GLuint *) 414 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 415 buffers = buffers_base + offset; 416 417 glGenBuffers( 418 (GLsizei)n, 419 (GLuint *)buffers 420 ); 421 422 exit: 423 if (buffers_base) { 424 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 425 _exception ? JNI_ABORT: 0); 426 } 427 } 428 429 /* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 430 static void 431 android_glGenBuffers__ILjava_nio_IntBuffer_2 432 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 433 jint _exception = 0; 434 jarray _array = (jarray) 0; 435 jint _remaining; 436 GLuint *buffers = (GLuint *) 0; 437 438 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 439 if (_remaining < n) { 440 _exception = 1; 441 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 442 goto exit; 443 } 444 glGenBuffers( 445 (GLsizei)n, 446 (GLuint *)buffers 447 ); 448 449 exit: 450 if (_array) { 451 releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 452 } 453 } 454 455 /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 456 static void 457 android_glGetBooleanv__I_3ZI 458 (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 459 jint _exception = 0; 460 GLboolean *params_base = (GLboolean *) 0; 461 jint _remaining; 462 GLboolean *params = (GLboolean *) 0; 463 464 if (!params_ref) { 465 _exception = 1; 466 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 467 goto exit; 468 } 469 if (offset < 0) { 470 _exception = 1; 471 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 472 goto exit; 473 } 474 _remaining = _env->GetArrayLength(params_ref) - offset; 475 params_base = (GLboolean *) 476 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 477 params = params_base + offset; 478 479 glGetBooleanv( 480 (GLenum)pname, 481 (GLboolean *)params 482 ); 483 484 exit: 485 if (params_base) { 486 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 487 _exception ? JNI_ABORT: 0); 488 } 489 } 490 491 /* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 492 static void 493 android_glGetBooleanv__ILjava_nio_IntBuffer_2 494 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 495 jint _exception = 0; 496 jarray _array = (jarray) 0; 497 jint _remaining; 498 GLboolean *params = (GLboolean *) 0; 499 500 params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining); 501 glGetBooleanv( 502 (GLenum)pname, 503 (GLboolean *)params 504 ); 505 if (_array) { 506 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 507 } 508 } 509 510 /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 511 static void 512 android_glGetBufferParameteriv__II_3II 513 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 514 jint _exception = 0; 515 GLint *params_base = (GLint *) 0; 516 jint _remaining; 517 GLint *params = (GLint *) 0; 518 519 if (!params_ref) { 520 _exception = 1; 521 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 522 goto exit; 523 } 524 if (offset < 0) { 525 _exception = 1; 526 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 527 goto exit; 528 } 529 _remaining = _env->GetArrayLength(params_ref) - offset; 530 if (_remaining < 1) { 531 _exception = 1; 532 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 533 goto exit; 534 } 535 params_base = (GLint *) 536 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 537 params = params_base + offset; 538 539 glGetBufferParameteriv( 540 (GLenum)target, 541 (GLenum)pname, 542 (GLint *)params 543 ); 544 545 exit: 546 if (params_base) { 547 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 548 _exception ? JNI_ABORT: 0); 549 } 550 } 551 552 /* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 553 static void 554 android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 555 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 556 jint _exception = 0; 557 jarray _array = (jarray) 0; 558 jint _remaining; 559 GLint *params = (GLint *) 0; 560 561 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 562 if (_remaining < 1) { 563 _exception = 1; 564 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 565 goto exit; 566 } 567 glGetBufferParameteriv( 568 (GLenum)target, 569 (GLenum)pname, 570 (GLint *)params 571 ); 572 573 exit: 574 if (_array) { 575 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 576 } 577 } 578 579 /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 580 static void 581 android_glGetClipPlanef__I_3FI 582 (JNIEnv *_env, jobject _this, jint pname, jfloatArray eqn_ref, jint offset) { 583 jint _exception = 0; 584 GLfloat *eqn_base = (GLfloat *) 0; 585 jint _remaining; 586 GLfloat *eqn = (GLfloat *) 0; 587 588 if (!eqn_ref) { 589 _exception = 1; 590 jniThrowException(_env, "java/lang/IllegalArgumentException", "eqn == null"); 591 goto exit; 592 } 593 if (offset < 0) { 594 _exception = 1; 595 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 596 goto exit; 597 } 598 _remaining = _env->GetArrayLength(eqn_ref) - offset; 599 eqn_base = (GLfloat *) 600 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 601 eqn = eqn_base + offset; 602 603 glGetClipPlanef( 604 (GLenum)pname, 605 (GLfloat *)eqn 606 ); 607 608 exit: 609 if (eqn_base) { 610 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 611 _exception ? JNI_ABORT: 0); 612 } 613 } 614 615 /* void glGetClipPlanef ( GLenum pname, GLfloat *eqn ) */ 616 static void 617 android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 618 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 619 jint _exception = 0; 620 jarray _array = (jarray) 0; 621 jint _remaining; 622 GLfloat *eqn = (GLfloat *) 0; 623 624 eqn = (GLfloat *)getPointer(_env, eqn_buf, &_array, &_remaining); 625 glGetClipPlanef( 626 (GLenum)pname, 627 (GLfloat *)eqn 628 ); 629 if (_array) { 630 releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 631 } 632 } 633 634 /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 635 static void 636 android_glGetClipPlanex__I_3II 637 (JNIEnv *_env, jobject _this, jint pname, jintArray eqn_ref, jint offset) { 638 jint _exception = 0; 639 GLfixed *eqn_base = (GLfixed *) 0; 640 jint _remaining; 641 GLfixed *eqn = (GLfixed *) 0; 642 643 if (!eqn_ref) { 644 _exception = 1; 645 jniThrowException(_env, "java/lang/IllegalArgumentException", "eqn == null"); 646 goto exit; 647 } 648 if (offset < 0) { 649 _exception = 1; 650 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 651 goto exit; 652 } 653 _remaining = _env->GetArrayLength(eqn_ref) - offset; 654 eqn_base = (GLfixed *) 655 _env->GetPrimitiveArrayCritical(eqn_ref, (jboolean *)0); 656 eqn = eqn_base + offset; 657 658 glGetClipPlanex( 659 (GLenum)pname, 660 (GLfixed *)eqn 661 ); 662 663 exit: 664 if (eqn_base) { 665 _env->ReleasePrimitiveArrayCritical(eqn_ref, eqn_base, 666 _exception ? JNI_ABORT: 0); 667 } 668 } 669 670 /* void glGetClipPlanex ( GLenum pname, GLfixed *eqn ) */ 671 static void 672 android_glGetClipPlanex__ILjava_nio_IntBuffer_2 673 (JNIEnv *_env, jobject _this, jint pname, jobject eqn_buf) { 674 jint _exception = 0; 675 jarray _array = (jarray) 0; 676 jint _remaining; 677 GLfixed *eqn = (GLfixed *) 0; 678 679 eqn = (GLfixed *)getPointer(_env, eqn_buf, &_array, &_remaining); 680 glGetClipPlanex( 681 (GLenum)pname, 682 (GLfixed *)eqn 683 ); 684 if (_array) { 685 releasePointer(_env, _array, eqn, _exception ? JNI_FALSE : JNI_TRUE); 686 } 687 } 688 689 /* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 690 static void 691 android_glGetFixedv__I_3II 692 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 693 jint _exception = 0; 694 GLfixed *params_base = (GLfixed *) 0; 695 jint _remaining; 696 GLfixed *params = (GLfixed *) 0; 697 698 if (!params_ref) { 699 _exception = 1; 700 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 701 goto exit; 702 } 703 if (offset < 0) { 704 _exception = 1; 705 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 706 goto exit; 707 } 708 _remaining = _env->GetArrayLength(params_ref) - offset; 709 params_base = (GLfixed *) 710 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 711 params = params_base + offset; 712 713 glGetFixedv( 714 (GLenum)pname, 715 (GLfixed *)params 716 ); 717 718 exit: 719 if (params_base) { 720 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 721 _exception ? JNI_ABORT: 0); 722 } 723 } 724 725 /* void glGetFixedv ( GLenum pname, GLfixed *params ) */ 726 static void 727 android_glGetFixedv__ILjava_nio_IntBuffer_2 728 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 729 jint _exception = 0; 730 jarray _array = (jarray) 0; 731 jint _remaining; 732 GLfixed *params = (GLfixed *) 0; 733 734 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 735 glGetFixedv( 736 (GLenum)pname, 737 (GLfixed *)params 738 ); 739 if (_array) { 740 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 741 } 742 } 743 744 /* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 745 static void 746 android_glGetFloatv__I_3FI 747 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 748 jint _exception = 0; 749 GLfloat *params_base = (GLfloat *) 0; 750 jint _remaining; 751 GLfloat *params = (GLfloat *) 0; 752 753 if (!params_ref) { 754 _exception = 1; 755 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 756 goto exit; 757 } 758 if (offset < 0) { 759 _exception = 1; 760 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 761 goto exit; 762 } 763 _remaining = _env->GetArrayLength(params_ref) - offset; 764 params_base = (GLfloat *) 765 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 766 params = params_base + offset; 767 768 glGetFloatv( 769 (GLenum)pname, 770 (GLfloat *)params 771 ); 772 773 exit: 774 if (params_base) { 775 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 776 _exception ? JNI_ABORT: 0); 777 } 778 } 779 780 /* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 781 static void 782 android_glGetFloatv__ILjava_nio_FloatBuffer_2 783 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 784 jint _exception = 0; 785 jarray _array = (jarray) 0; 786 jint _remaining; 787 GLfloat *params = (GLfloat *) 0; 788 789 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 790 glGetFloatv( 791 (GLenum)pname, 792 (GLfloat *)params 793 ); 794 if (_array) { 795 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 796 } 797 } 798 799 /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 800 static void 801 android_glGetLightfv__II_3FI 802 (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { 803 jint _exception = 0; 804 GLfloat *params_base = (GLfloat *) 0; 805 jint _remaining; 806 GLfloat *params = (GLfloat *) 0; 807 808 if (!params_ref) { 809 _exception = 1; 810 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 811 goto exit; 812 } 813 if (offset < 0) { 814 _exception = 1; 815 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 816 goto exit; 817 } 818 _remaining = _env->GetArrayLength(params_ref) - offset; 819 int _needed; 820 switch (pname) { 821 #if defined(GL_SPOT_EXPONENT) 822 case GL_SPOT_EXPONENT: 823 #endif // defined(GL_SPOT_EXPONENT) 824 #if defined(GL_SPOT_CUTOFF) 825 case GL_SPOT_CUTOFF: 826 #endif // defined(GL_SPOT_CUTOFF) 827 #if defined(GL_CONSTANT_ATTENUATION) 828 case GL_CONSTANT_ATTENUATION: 829 #endif // defined(GL_CONSTANT_ATTENUATION) 830 #if defined(GL_LINEAR_ATTENUATION) 831 case GL_LINEAR_ATTENUATION: 832 #endif // defined(GL_LINEAR_ATTENUATION) 833 #if defined(GL_QUADRATIC_ATTENUATION) 834 case GL_QUADRATIC_ATTENUATION: 835 #endif // defined(GL_QUADRATIC_ATTENUATION) 836 _needed = 1; 837 break; 838 #if defined(GL_SPOT_DIRECTION) 839 case GL_SPOT_DIRECTION: 840 #endif // defined(GL_SPOT_DIRECTION) 841 _needed = 3; 842 break; 843 #if defined(GL_AMBIENT) 844 case GL_AMBIENT: 845 #endif // defined(GL_AMBIENT) 846 #if defined(GL_DIFFUSE) 847 case GL_DIFFUSE: 848 #endif // defined(GL_DIFFUSE) 849 #if defined(GL_SPECULAR) 850 case GL_SPECULAR: 851 #endif // defined(GL_SPECULAR) 852 #if defined(GL_EMISSION) 853 case GL_EMISSION: 854 #endif // defined(GL_EMISSION) 855 _needed = 4; 856 break; 857 default: 858 _needed = 0; 859 break; 860 } 861 if (_remaining < _needed) { 862 _exception = 1; 863 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 864 goto exit; 865 } 866 params_base = (GLfloat *) 867 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 868 params = params_base + offset; 869 870 glGetLightfv( 871 (GLenum)light, 872 (GLenum)pname, 873 (GLfloat *)params 874 ); 875 876 exit: 877 if (params_base) { 878 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 879 _exception ? JNI_ABORT: 0); 880 } 881 } 882 883 /* void glGetLightfv ( GLenum light, GLenum pname, GLfloat *params ) */ 884 static void 885 android_glGetLightfv__IILjava_nio_FloatBuffer_2 886 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 887 jint _exception = 0; 888 jarray _array = (jarray) 0; 889 jint _remaining; 890 GLfloat *params = (GLfloat *) 0; 891 892 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 893 int _needed; 894 switch (pname) { 895 #if defined(GL_SPOT_EXPONENT) 896 case GL_SPOT_EXPONENT: 897 #endif // defined(GL_SPOT_EXPONENT) 898 #if defined(GL_SPOT_CUTOFF) 899 case GL_SPOT_CUTOFF: 900 #endif // defined(GL_SPOT_CUTOFF) 901 #if defined(GL_CONSTANT_ATTENUATION) 902 case GL_CONSTANT_ATTENUATION: 903 #endif // defined(GL_CONSTANT_ATTENUATION) 904 #if defined(GL_LINEAR_ATTENUATION) 905 case GL_LINEAR_ATTENUATION: 906 #endif // defined(GL_LINEAR_ATTENUATION) 907 #if defined(GL_QUADRATIC_ATTENUATION) 908 case GL_QUADRATIC_ATTENUATION: 909 #endif // defined(GL_QUADRATIC_ATTENUATION) 910 _needed = 1; 911 break; 912 #if defined(GL_SPOT_DIRECTION) 913 case GL_SPOT_DIRECTION: 914 #endif // defined(GL_SPOT_DIRECTION) 915 _needed = 3; 916 break; 917 #if defined(GL_AMBIENT) 918 case GL_AMBIENT: 919 #endif // defined(GL_AMBIENT) 920 #if defined(GL_DIFFUSE) 921 case GL_DIFFUSE: 922 #endif // defined(GL_DIFFUSE) 923 #if defined(GL_SPECULAR) 924 case GL_SPECULAR: 925 #endif // defined(GL_SPECULAR) 926 #if defined(GL_EMISSION) 927 case GL_EMISSION: 928 #endif // defined(GL_EMISSION) 929 _needed = 4; 930 break; 931 default: 932 _needed = 0; 933 break; 934 } 935 if (_remaining < _needed) { 936 _exception = 1; 937 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 938 goto exit; 939 } 940 glGetLightfv( 941 (GLenum)light, 942 (GLenum)pname, 943 (GLfloat *)params 944 ); 945 946 exit: 947 if (_array) { 948 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 949 } 950 } 951 952 /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 953 static void 954 android_glGetLightxv__II_3II 955 (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { 956 jint _exception = 0; 957 GLfixed *params_base = (GLfixed *) 0; 958 jint _remaining; 959 GLfixed *params = (GLfixed *) 0; 960 961 if (!params_ref) { 962 _exception = 1; 963 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 964 goto exit; 965 } 966 if (offset < 0) { 967 _exception = 1; 968 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 969 goto exit; 970 } 971 _remaining = _env->GetArrayLength(params_ref) - offset; 972 int _needed; 973 switch (pname) { 974 #if defined(GL_SPOT_EXPONENT) 975 case GL_SPOT_EXPONENT: 976 #endif // defined(GL_SPOT_EXPONENT) 977 #if defined(GL_SPOT_CUTOFF) 978 case GL_SPOT_CUTOFF: 979 #endif // defined(GL_SPOT_CUTOFF) 980 #if defined(GL_CONSTANT_ATTENUATION) 981 case GL_CONSTANT_ATTENUATION: 982 #endif // defined(GL_CONSTANT_ATTENUATION) 983 #if defined(GL_LINEAR_ATTENUATION) 984 case GL_LINEAR_ATTENUATION: 985 #endif // defined(GL_LINEAR_ATTENUATION) 986 #if defined(GL_QUADRATIC_ATTENUATION) 987 case GL_QUADRATIC_ATTENUATION: 988 #endif // defined(GL_QUADRATIC_ATTENUATION) 989 _needed = 1; 990 break; 991 #if defined(GL_SPOT_DIRECTION) 992 case GL_SPOT_DIRECTION: 993 #endif // defined(GL_SPOT_DIRECTION) 994 _needed = 3; 995 break; 996 #if defined(GL_AMBIENT) 997 case GL_AMBIENT: 998 #endif // defined(GL_AMBIENT) 999 #if defined(GL_DIFFUSE) 1000 case GL_DIFFUSE: 1001 #endif // defined(GL_DIFFUSE) 1002 #if defined(GL_SPECULAR) 1003 case GL_SPECULAR: 1004 #endif // defined(GL_SPECULAR) 1005 #if defined(GL_EMISSION) 1006 case GL_EMISSION: 1007 #endif // defined(GL_EMISSION) 1008 _needed = 4; 1009 break; 1010 default: 1011 _needed = 0; 1012 break; 1013 } 1014 if (_remaining < _needed) { 1015 _exception = 1; 1016 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1017 goto exit; 1018 } 1019 params_base = (GLfixed *) 1020 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1021 params = params_base + offset; 1022 1023 glGetLightxv( 1024 (GLenum)light, 1025 (GLenum)pname, 1026 (GLfixed *)params 1027 ); 1028 1029 exit: 1030 if (params_base) { 1031 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1032 _exception ? JNI_ABORT: 0); 1033 } 1034 } 1035 1036 /* void glGetLightxv ( GLenum light, GLenum pname, GLfixed *params ) */ 1037 static void 1038 android_glGetLightxv__IILjava_nio_IntBuffer_2 1039 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { 1040 jint _exception = 0; 1041 jarray _array = (jarray) 0; 1042 jint _remaining; 1043 GLfixed *params = (GLfixed *) 0; 1044 1045 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 1046 int _needed; 1047 switch (pname) { 1048 #if defined(GL_SPOT_EXPONENT) 1049 case GL_SPOT_EXPONENT: 1050 #endif // defined(GL_SPOT_EXPONENT) 1051 #if defined(GL_SPOT_CUTOFF) 1052 case GL_SPOT_CUTOFF: 1053 #endif // defined(GL_SPOT_CUTOFF) 1054 #if defined(GL_CONSTANT_ATTENUATION) 1055 case GL_CONSTANT_ATTENUATION: 1056 #endif // defined(GL_CONSTANT_ATTENUATION) 1057 #if defined(GL_LINEAR_ATTENUATION) 1058 case GL_LINEAR_ATTENUATION: 1059 #endif // defined(GL_LINEAR_ATTENUATION) 1060 #if defined(GL_QUADRATIC_ATTENUATION) 1061 case GL_QUADRATIC_ATTENUATION: 1062 #endif // defined(GL_QUADRATIC_ATTENUATION) 1063 _needed = 1; 1064 break; 1065 #if defined(GL_SPOT_DIRECTION) 1066 case GL_SPOT_DIRECTION: 1067 #endif // defined(GL_SPOT_DIRECTION) 1068 _needed = 3; 1069 break; 1070 #if defined(GL_AMBIENT) 1071 case GL_AMBIENT: 1072 #endif // defined(GL_AMBIENT) 1073 #if defined(GL_DIFFUSE) 1074 case GL_DIFFUSE: 1075 #endif // defined(GL_DIFFUSE) 1076 #if defined(GL_SPECULAR) 1077 case GL_SPECULAR: 1078 #endif // defined(GL_SPECULAR) 1079 #if defined(GL_EMISSION) 1080 case GL_EMISSION: 1081 #endif // defined(GL_EMISSION) 1082 _needed = 4; 1083 break; 1084 default: 1085 _needed = 0; 1086 break; 1087 } 1088 if (_remaining < _needed) { 1089 _exception = 1; 1090 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1091 goto exit; 1092 } 1093 glGetLightxv( 1094 (GLenum)light, 1095 (GLenum)pname, 1096 (GLfixed *)params 1097 ); 1098 1099 exit: 1100 if (_array) { 1101 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1102 } 1103 } 1104 1105 /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 1106 static void 1107 android_glGetMaterialfv__II_3FI 1108 (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { 1109 jint _exception = 0; 1110 GLfloat *params_base = (GLfloat *) 0; 1111 jint _remaining; 1112 GLfloat *params = (GLfloat *) 0; 1113 1114 if (!params_ref) { 1115 _exception = 1; 1116 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1117 goto exit; 1118 } 1119 if (offset < 0) { 1120 _exception = 1; 1121 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1122 goto exit; 1123 } 1124 _remaining = _env->GetArrayLength(params_ref) - offset; 1125 int _needed; 1126 switch (pname) { 1127 #if defined(GL_SHININESS) 1128 case GL_SHININESS: 1129 #endif // defined(GL_SHININESS) 1130 _needed = 1; 1131 break; 1132 #if defined(GL_AMBIENT) 1133 case GL_AMBIENT: 1134 #endif // defined(GL_AMBIENT) 1135 #if defined(GL_DIFFUSE) 1136 case GL_DIFFUSE: 1137 #endif // defined(GL_DIFFUSE) 1138 #if defined(GL_SPECULAR) 1139 case GL_SPECULAR: 1140 #endif // defined(GL_SPECULAR) 1141 #if defined(GL_EMISSION) 1142 case GL_EMISSION: 1143 #endif // defined(GL_EMISSION) 1144 #if defined(GL_AMBIENT_AND_DIFFUSE) 1145 case GL_AMBIENT_AND_DIFFUSE: 1146 #endif // defined(GL_AMBIENT_AND_DIFFUSE) 1147 _needed = 4; 1148 break; 1149 default: 1150 _needed = 0; 1151 break; 1152 } 1153 if (_remaining < _needed) { 1154 _exception = 1; 1155 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1156 goto exit; 1157 } 1158 params_base = (GLfloat *) 1159 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1160 params = params_base + offset; 1161 1162 glGetMaterialfv( 1163 (GLenum)face, 1164 (GLenum)pname, 1165 (GLfloat *)params 1166 ); 1167 1168 exit: 1169 if (params_base) { 1170 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1171 _exception ? JNI_ABORT: 0); 1172 } 1173 } 1174 1175 /* void glGetMaterialfv ( GLenum face, GLenum pname, GLfloat *params ) */ 1176 static void 1177 android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 1178 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 1179 jint _exception = 0; 1180 jarray _array = (jarray) 0; 1181 jint _remaining; 1182 GLfloat *params = (GLfloat *) 0; 1183 1184 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1185 int _needed; 1186 switch (pname) { 1187 #if defined(GL_SHININESS) 1188 case GL_SHININESS: 1189 #endif // defined(GL_SHININESS) 1190 _needed = 1; 1191 break; 1192 #if defined(GL_AMBIENT) 1193 case GL_AMBIENT: 1194 #endif // defined(GL_AMBIENT) 1195 #if defined(GL_DIFFUSE) 1196 case GL_DIFFUSE: 1197 #endif // defined(GL_DIFFUSE) 1198 #if defined(GL_SPECULAR) 1199 case GL_SPECULAR: 1200 #endif // defined(GL_SPECULAR) 1201 #if defined(GL_EMISSION) 1202 case GL_EMISSION: 1203 #endif // defined(GL_EMISSION) 1204 #if defined(GL_AMBIENT_AND_DIFFUSE) 1205 case GL_AMBIENT_AND_DIFFUSE: 1206 #endif // defined(GL_AMBIENT_AND_DIFFUSE) 1207 _needed = 4; 1208 break; 1209 default: 1210 _needed = 0; 1211 break; 1212 } 1213 if (_remaining < _needed) { 1214 _exception = 1; 1215 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1216 goto exit; 1217 } 1218 glGetMaterialfv( 1219 (GLenum)face, 1220 (GLenum)pname, 1221 (GLfloat *)params 1222 ); 1223 1224 exit: 1225 if (_array) { 1226 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1227 } 1228 } 1229 1230 /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 1231 static void 1232 android_glGetMaterialxv__II_3II 1233 (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { 1234 jint _exception = 0; 1235 GLfixed *params_base = (GLfixed *) 0; 1236 jint _remaining; 1237 GLfixed *params = (GLfixed *) 0; 1238 1239 if (!params_ref) { 1240 _exception = 1; 1241 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1242 goto exit; 1243 } 1244 if (offset < 0) { 1245 _exception = 1; 1246 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1247 goto exit; 1248 } 1249 _remaining = _env->GetArrayLength(params_ref) - offset; 1250 int _needed; 1251 switch (pname) { 1252 #if defined(GL_SHININESS) 1253 case GL_SHININESS: 1254 #endif // defined(GL_SHININESS) 1255 _needed = 1; 1256 break; 1257 #if defined(GL_AMBIENT) 1258 case GL_AMBIENT: 1259 #endif // defined(GL_AMBIENT) 1260 #if defined(GL_DIFFUSE) 1261 case GL_DIFFUSE: 1262 #endif // defined(GL_DIFFUSE) 1263 #if defined(GL_SPECULAR) 1264 case GL_SPECULAR: 1265 #endif // defined(GL_SPECULAR) 1266 #if defined(GL_EMISSION) 1267 case GL_EMISSION: 1268 #endif // defined(GL_EMISSION) 1269 #if defined(GL_AMBIENT_AND_DIFFUSE) 1270 case GL_AMBIENT_AND_DIFFUSE: 1271 #endif // defined(GL_AMBIENT_AND_DIFFUSE) 1272 _needed = 4; 1273 break; 1274 default: 1275 _needed = 0; 1276 break; 1277 } 1278 if (_remaining < _needed) { 1279 _exception = 1; 1280 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1281 goto exit; 1282 } 1283 params_base = (GLfixed *) 1284 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1285 params = params_base + offset; 1286 1287 glGetMaterialxv( 1288 (GLenum)face, 1289 (GLenum)pname, 1290 (GLfixed *)params 1291 ); 1292 1293 exit: 1294 if (params_base) { 1295 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1296 _exception ? JNI_ABORT: 0); 1297 } 1298 } 1299 1300 /* void glGetMaterialxv ( GLenum face, GLenum pname, GLfixed *params ) */ 1301 static void 1302 android_glGetMaterialxv__IILjava_nio_IntBuffer_2 1303 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { 1304 jint _exception = 0; 1305 jarray _array = (jarray) 0; 1306 jint _remaining; 1307 GLfixed *params = (GLfixed *) 0; 1308 1309 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 1310 int _needed; 1311 switch (pname) { 1312 #if defined(GL_SHININESS) 1313 case GL_SHININESS: 1314 #endif // defined(GL_SHININESS) 1315 _needed = 1; 1316 break; 1317 #if defined(GL_AMBIENT) 1318 case GL_AMBIENT: 1319 #endif // defined(GL_AMBIENT) 1320 #if defined(GL_DIFFUSE) 1321 case GL_DIFFUSE: 1322 #endif // defined(GL_DIFFUSE) 1323 #if defined(GL_SPECULAR) 1324 case GL_SPECULAR: 1325 #endif // defined(GL_SPECULAR) 1326 #if defined(GL_EMISSION) 1327 case GL_EMISSION: 1328 #endif // defined(GL_EMISSION) 1329 #if defined(GL_AMBIENT_AND_DIFFUSE) 1330 case GL_AMBIENT_AND_DIFFUSE: 1331 #endif // defined(GL_AMBIENT_AND_DIFFUSE) 1332 _needed = 4; 1333 break; 1334 default: 1335 _needed = 0; 1336 break; 1337 } 1338 if (_remaining < _needed) { 1339 _exception = 1; 1340 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1341 goto exit; 1342 } 1343 glGetMaterialxv( 1344 (GLenum)face, 1345 (GLenum)pname, 1346 (GLfixed *)params 1347 ); 1348 1349 exit: 1350 if (_array) { 1351 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1352 } 1353 } 1354 1355 /* void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) */ 1356 static void 1357 android_glGetTexEnvfv__II_3FI 1358 (JNIEnv *_env, jobject _this, jint env, jint pname, jfloatArray params_ref, jint offset) { 1359 jint _exception = 0; 1360 GLfloat *params_base = (GLfloat *) 0; 1361 jint _remaining; 1362 GLfloat *params = (GLfloat *) 0; 1363 1364 if (!params_ref) { 1365 _exception = 1; 1366 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1367 goto exit; 1368 } 1369 if (offset < 0) { 1370 _exception = 1; 1371 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1372 goto exit; 1373 } 1374 _remaining = _env->GetArrayLength(params_ref) - offset; 1375 int _needed; 1376 switch (pname) { 1377 #if defined(GL_TEXTURE_ENV_MODE) 1378 case GL_TEXTURE_ENV_MODE: 1379 #endif // defined(GL_TEXTURE_ENV_MODE) 1380 #if defined(GL_COMBINE_RGB) 1381 case GL_COMBINE_RGB: 1382 #endif // defined(GL_COMBINE_RGB) 1383 #if defined(GL_COMBINE_ALPHA) 1384 case GL_COMBINE_ALPHA: 1385 #endif // defined(GL_COMBINE_ALPHA) 1386 _needed = 1; 1387 break; 1388 #if defined(GL_TEXTURE_ENV_COLOR) 1389 case GL_TEXTURE_ENV_COLOR: 1390 #endif // defined(GL_TEXTURE_ENV_COLOR) 1391 _needed = 4; 1392 break; 1393 default: 1394 _needed = 0; 1395 break; 1396 } 1397 if (_remaining < _needed) { 1398 _exception = 1; 1399 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1400 goto exit; 1401 } 1402 params_base = (GLfloat *) 1403 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1404 params = params_base + offset; 1405 1406 glGetTexEnvfv( 1407 (GLenum)env, 1408 (GLenum)pname, 1409 (GLfloat *)params 1410 ); 1411 1412 exit: 1413 if (params_base) { 1414 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1415 _exception ? JNI_ABORT: 0); 1416 } 1417 } 1418 1419 /* void glGetTexEnvfv ( GLenum env, GLenum pname, GLfloat *params ) */ 1420 static void 1421 android_glGetTexEnvfv__IILjava_nio_FloatBuffer_2 1422 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 1423 jint _exception = 0; 1424 jarray _array = (jarray) 0; 1425 jint _remaining; 1426 GLfloat *params = (GLfloat *) 0; 1427 1428 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1429 int _needed; 1430 switch (pname) { 1431 #if defined(GL_TEXTURE_ENV_MODE) 1432 case GL_TEXTURE_ENV_MODE: 1433 #endif // defined(GL_TEXTURE_ENV_MODE) 1434 #if defined(GL_COMBINE_RGB) 1435 case GL_COMBINE_RGB: 1436 #endif // defined(GL_COMBINE_RGB) 1437 #if defined(GL_COMBINE_ALPHA) 1438 case GL_COMBINE_ALPHA: 1439 #endif // defined(GL_COMBINE_ALPHA) 1440 _needed = 1; 1441 break; 1442 #if defined(GL_TEXTURE_ENV_COLOR) 1443 case GL_TEXTURE_ENV_COLOR: 1444 #endif // defined(GL_TEXTURE_ENV_COLOR) 1445 _needed = 4; 1446 break; 1447 default: 1448 _needed = 0; 1449 break; 1450 } 1451 if (_remaining < _needed) { 1452 _exception = 1; 1453 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1454 goto exit; 1455 } 1456 glGetTexEnvfv( 1457 (GLenum)env, 1458 (GLenum)pname, 1459 (GLfloat *)params 1460 ); 1461 1462 exit: 1463 if (_array) { 1464 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1465 } 1466 } 1467 1468 /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 1469 static void 1470 android_glGetTexEnviv__II_3II 1471 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 1472 jint _exception = 0; 1473 GLint *params_base = (GLint *) 0; 1474 jint _remaining; 1475 GLint *params = (GLint *) 0; 1476 1477 if (!params_ref) { 1478 _exception = 1; 1479 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1480 goto exit; 1481 } 1482 if (offset < 0) { 1483 _exception = 1; 1484 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1485 goto exit; 1486 } 1487 _remaining = _env->GetArrayLength(params_ref) - offset; 1488 int _needed; 1489 switch (pname) { 1490 #if defined(GL_TEXTURE_ENV_MODE) 1491 case GL_TEXTURE_ENV_MODE: 1492 #endif // defined(GL_TEXTURE_ENV_MODE) 1493 #if defined(GL_COMBINE_RGB) 1494 case GL_COMBINE_RGB: 1495 #endif // defined(GL_COMBINE_RGB) 1496 #if defined(GL_COMBINE_ALPHA) 1497 case GL_COMBINE_ALPHA: 1498 #endif // defined(GL_COMBINE_ALPHA) 1499 _needed = 1; 1500 break; 1501 #if defined(GL_TEXTURE_ENV_COLOR) 1502 case GL_TEXTURE_ENV_COLOR: 1503 #endif // defined(GL_TEXTURE_ENV_COLOR) 1504 _needed = 4; 1505 break; 1506 default: 1507 _needed = 0; 1508 break; 1509 } 1510 if (_remaining < _needed) { 1511 _exception = 1; 1512 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1513 goto exit; 1514 } 1515 params_base = (GLint *) 1516 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1517 params = params_base + offset; 1518 1519 glGetTexEnviv( 1520 (GLenum)env, 1521 (GLenum)pname, 1522 (GLint *)params 1523 ); 1524 1525 exit: 1526 if (params_base) { 1527 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1528 _exception ? JNI_ABORT: 0); 1529 } 1530 } 1531 1532 /* void glGetTexEnviv ( GLenum env, GLenum pname, GLint *params ) */ 1533 static void 1534 android_glGetTexEnviv__IILjava_nio_IntBuffer_2 1535 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 1536 jint _exception = 0; 1537 jarray _array = (jarray) 0; 1538 jint _remaining; 1539 GLint *params = (GLint *) 0; 1540 1541 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1542 int _needed; 1543 switch (pname) { 1544 #if defined(GL_TEXTURE_ENV_MODE) 1545 case GL_TEXTURE_ENV_MODE: 1546 #endif // defined(GL_TEXTURE_ENV_MODE) 1547 #if defined(GL_COMBINE_RGB) 1548 case GL_COMBINE_RGB: 1549 #endif // defined(GL_COMBINE_RGB) 1550 #if defined(GL_COMBINE_ALPHA) 1551 case GL_COMBINE_ALPHA: 1552 #endif // defined(GL_COMBINE_ALPHA) 1553 _needed = 1; 1554 break; 1555 #if defined(GL_TEXTURE_ENV_COLOR) 1556 case GL_TEXTURE_ENV_COLOR: 1557 #endif // defined(GL_TEXTURE_ENV_COLOR) 1558 _needed = 4; 1559 break; 1560 default: 1561 _needed = 0; 1562 break; 1563 } 1564 if (_remaining < _needed) { 1565 _exception = 1; 1566 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1567 goto exit; 1568 } 1569 glGetTexEnviv( 1570 (GLenum)env, 1571 (GLenum)pname, 1572 (GLint *)params 1573 ); 1574 1575 exit: 1576 if (_array) { 1577 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1578 } 1579 } 1580 1581 /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 1582 static void 1583 android_glGetTexEnvxv__II_3II 1584 (JNIEnv *_env, jobject _this, jint env, jint pname, jintArray params_ref, jint offset) { 1585 jint _exception = 0; 1586 GLfixed *params_base = (GLfixed *) 0; 1587 jint _remaining; 1588 GLfixed *params = (GLfixed *) 0; 1589 1590 if (!params_ref) { 1591 _exception = 1; 1592 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1593 goto exit; 1594 } 1595 if (offset < 0) { 1596 _exception = 1; 1597 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1598 goto exit; 1599 } 1600 _remaining = _env->GetArrayLength(params_ref) - offset; 1601 int _needed; 1602 switch (pname) { 1603 #if defined(GL_TEXTURE_ENV_MODE) 1604 case GL_TEXTURE_ENV_MODE: 1605 #endif // defined(GL_TEXTURE_ENV_MODE) 1606 #if defined(GL_COMBINE_RGB) 1607 case GL_COMBINE_RGB: 1608 #endif // defined(GL_COMBINE_RGB) 1609 #if defined(GL_COMBINE_ALPHA) 1610 case GL_COMBINE_ALPHA: 1611 #endif // defined(GL_COMBINE_ALPHA) 1612 _needed = 1; 1613 break; 1614 #if defined(GL_TEXTURE_ENV_COLOR) 1615 case GL_TEXTURE_ENV_COLOR: 1616 #endif // defined(GL_TEXTURE_ENV_COLOR) 1617 _needed = 4; 1618 break; 1619 default: 1620 _needed = 0; 1621 break; 1622 } 1623 if (_remaining < _needed) { 1624 _exception = 1; 1625 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 1626 goto exit; 1627 } 1628 params_base = (GLfixed *) 1629 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1630 params = params_base + offset; 1631 1632 glGetTexEnvxv( 1633 (GLenum)env, 1634 (GLenum)pname, 1635 (GLfixed *)params 1636 ); 1637 1638 exit: 1639 if (params_base) { 1640 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1641 _exception ? JNI_ABORT: 0); 1642 } 1643 } 1644 1645 /* void glGetTexEnvxv ( GLenum env, GLenum pname, GLfixed *params ) */ 1646 static void 1647 android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 1648 (JNIEnv *_env, jobject _this, jint env, jint pname, jobject params_buf) { 1649 jint _exception = 0; 1650 jarray _array = (jarray) 0; 1651 jint _remaining; 1652 GLfixed *params = (GLfixed *) 0; 1653 1654 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 1655 int _needed; 1656 switch (pname) { 1657 #if defined(GL_TEXTURE_ENV_MODE) 1658 case GL_TEXTURE_ENV_MODE: 1659 #endif // defined(GL_TEXTURE_ENV_MODE) 1660 #if defined(GL_COMBINE_RGB) 1661 case GL_COMBINE_RGB: 1662 #endif // defined(GL_COMBINE_RGB) 1663 #if defined(GL_COMBINE_ALPHA) 1664 case GL_COMBINE_ALPHA: 1665 #endif // defined(GL_COMBINE_ALPHA) 1666 _needed = 1; 1667 break; 1668 #if defined(GL_TEXTURE_ENV_COLOR) 1669 case GL_TEXTURE_ENV_COLOR: 1670 #endif // defined(GL_TEXTURE_ENV_COLOR) 1671 _needed = 4; 1672 break; 1673 default: 1674 _needed = 0; 1675 break; 1676 } 1677 if (_remaining < _needed) { 1678 _exception = 1; 1679 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 1680 goto exit; 1681 } 1682 glGetTexEnvxv( 1683 (GLenum)env, 1684 (GLenum)pname, 1685 (GLfixed *)params 1686 ); 1687 1688 exit: 1689 if (_array) { 1690 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1691 } 1692 } 1693 1694 /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 1695 static void 1696 android_glGetTexParameterfv__II_3FI 1697 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 1698 jint _exception = 0; 1699 GLfloat *params_base = (GLfloat *) 0; 1700 jint _remaining; 1701 GLfloat *params = (GLfloat *) 0; 1702 1703 if (!params_ref) { 1704 _exception = 1; 1705 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1706 goto exit; 1707 } 1708 if (offset < 0) { 1709 _exception = 1; 1710 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1711 goto exit; 1712 } 1713 _remaining = _env->GetArrayLength(params_ref) - offset; 1714 if (_remaining < 1) { 1715 _exception = 1; 1716 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 1717 goto exit; 1718 } 1719 params_base = (GLfloat *) 1720 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1721 params = params_base + offset; 1722 1723 glGetTexParameterfv( 1724 (GLenum)target, 1725 (GLenum)pname, 1726 (GLfloat *)params 1727 ); 1728 1729 exit: 1730 if (params_base) { 1731 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1732 _exception ? JNI_ABORT: 0); 1733 } 1734 } 1735 1736 /* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 1737 static void 1738 android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 1739 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 1740 jint _exception = 0; 1741 jarray _array = (jarray) 0; 1742 jint _remaining; 1743 GLfloat *params = (GLfloat *) 0; 1744 1745 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1746 if (_remaining < 1) { 1747 _exception = 1; 1748 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 1749 goto exit; 1750 } 1751 glGetTexParameterfv( 1752 (GLenum)target, 1753 (GLenum)pname, 1754 (GLfloat *)params 1755 ); 1756 1757 exit: 1758 if (_array) { 1759 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1760 } 1761 } 1762 1763 /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1764 static void 1765 android_glGetTexParameteriv__II_3II 1766 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 1767 jint _exception = 0; 1768 GLint *params_base = (GLint *) 0; 1769 jint _remaining; 1770 GLint *params = (GLint *) 0; 1771 1772 if (!params_ref) { 1773 _exception = 1; 1774 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1775 goto exit; 1776 } 1777 if (offset < 0) { 1778 _exception = 1; 1779 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1780 goto exit; 1781 } 1782 _remaining = _env->GetArrayLength(params_ref) - offset; 1783 if (_remaining < 1) { 1784 _exception = 1; 1785 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 1786 goto exit; 1787 } 1788 params_base = (GLint *) 1789 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1790 params = params_base + offset; 1791 1792 glGetTexParameteriv( 1793 (GLenum)target, 1794 (GLenum)pname, 1795 (GLint *)params 1796 ); 1797 1798 exit: 1799 if (params_base) { 1800 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1801 _exception ? JNI_ABORT: 0); 1802 } 1803 } 1804 1805 /* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1806 static void 1807 android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 1808 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 1809 jint _exception = 0; 1810 jarray _array = (jarray) 0; 1811 jint _remaining; 1812 GLint *params = (GLint *) 0; 1813 1814 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1815 if (_remaining < 1) { 1816 _exception = 1; 1817 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 1818 goto exit; 1819 } 1820 glGetTexParameteriv( 1821 (GLenum)target, 1822 (GLenum)pname, 1823 (GLint *)params 1824 ); 1825 1826 exit: 1827 if (_array) { 1828 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1829 } 1830 } 1831 1832 /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 1833 static void 1834 android_glGetTexParameterxv__II_3II 1835 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 1836 jint _exception = 0; 1837 GLfixed *params_base = (GLfixed *) 0; 1838 jint _remaining; 1839 GLfixed *params = (GLfixed *) 0; 1840 1841 if (!params_ref) { 1842 _exception = 1; 1843 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1844 goto exit; 1845 } 1846 if (offset < 0) { 1847 _exception = 1; 1848 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1849 goto exit; 1850 } 1851 _remaining = _env->GetArrayLength(params_ref) - offset; 1852 if (_remaining < 1) { 1853 _exception = 1; 1854 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 1855 goto exit; 1856 } 1857 params_base = (GLfixed *) 1858 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1859 params = params_base + offset; 1860 1861 glGetTexParameterxv( 1862 (GLenum)target, 1863 (GLenum)pname, 1864 (GLfixed *)params 1865 ); 1866 1867 exit: 1868 if (params_base) { 1869 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1870 _exception ? JNI_ABORT: 0); 1871 } 1872 } 1873 1874 /* void glGetTexParameterxv ( GLenum target, GLenum pname, GLfixed *params ) */ 1875 static void 1876 android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 1877 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 1878 jint _exception = 0; 1879 jarray _array = (jarray) 0; 1880 jint _remaining; 1881 GLfixed *params = (GLfixed *) 0; 1882 1883 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 1884 if (_remaining < 1) { 1885 _exception = 1; 1886 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 1887 goto exit; 1888 } 1889 glGetTexParameterxv( 1890 (GLenum)target, 1891 (GLenum)pname, 1892 (GLfixed *)params 1893 ); 1894 1895 exit: 1896 if (_array) { 1897 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1898 } 1899 } 1900 1901 /* GLboolean glIsBuffer ( GLuint buffer ) */ 1902 static jboolean 1903 android_glIsBuffer__I 1904 (JNIEnv *_env, jobject _this, jint buffer) { 1905 GLboolean _returnValue; 1906 _returnValue = glIsBuffer( 1907 (GLuint)buffer 1908 ); 1909 return _returnValue; 1910 } 1911 1912 /* GLboolean glIsEnabled ( GLenum cap ) */ 1913 static jboolean 1914 android_glIsEnabled__I 1915 (JNIEnv *_env, jobject _this, jint cap) { 1916 GLboolean _returnValue; 1917 _returnValue = glIsEnabled( 1918 (GLenum)cap 1919 ); 1920 return _returnValue; 1921 } 1922 1923 /* GLboolean glIsTexture ( GLuint texture ) */ 1924 static jboolean 1925 android_glIsTexture__I 1926 (JNIEnv *_env, jobject _this, jint texture) { 1927 GLboolean _returnValue; 1928 _returnValue = glIsTexture( 1929 (GLuint)texture 1930 ); 1931 return _returnValue; 1932 } 1933 1934 /* void glNormalPointer ( GLenum type, GLsizei stride, GLint offset ) */ 1935 static void 1936 android_glNormalPointer__III 1937 (JNIEnv *_env, jobject _this, jint type, jint stride, jint offset) { 1938 glNormalPointer( 1939 (GLenum)type, 1940 (GLsizei)stride, 1941 (const GLvoid *)offset 1942 ); 1943 } 1944 1945 /* void glPointParameterf ( GLenum pname, GLfloat param ) */ 1946 static void 1947 android_glPointParameterf__IF 1948 (JNIEnv *_env, jobject _this, jint pname, jfloat param) { 1949 glPointParameterf( 1950 (GLenum)pname, 1951 (GLfloat)param 1952 ); 1953 } 1954 1955 /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 1956 static void 1957 android_glPointParameterfv__I_3FI 1958 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 1959 GLfloat *params_base = (GLfloat *) 0; 1960 jint _remaining; 1961 GLfloat *params = (GLfloat *) 0; 1962 1963 if (!params_ref) { 1964 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1965 goto exit; 1966 } 1967 if (offset < 0) { 1968 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1969 goto exit; 1970 } 1971 _remaining = _env->GetArrayLength(params_ref) - offset; 1972 if (_remaining < 1) { 1973 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 1974 goto exit; 1975 } 1976 params_base = (GLfloat *) 1977 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1978 params = params_base + offset; 1979 1980 glPointParameterfv( 1981 (GLenum)pname, 1982 (GLfloat *)params 1983 ); 1984 1985 exit: 1986 if (params_base) { 1987 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1988 JNI_ABORT); 1989 } 1990 } 1991 1992 /* void glPointParameterfv ( GLenum pname, const GLfloat *params ) */ 1993 static void 1994 android_glPointParameterfv__ILjava_nio_FloatBuffer_2 1995 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1996 jarray _array = (jarray) 0; 1997 jint _remaining; 1998 GLfloat *params = (GLfloat *) 0; 1999 2000 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2001 if (_remaining < 1) { 2002 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2003 goto exit; 2004 } 2005 glPointParameterfv( 2006 (GLenum)pname, 2007 (GLfloat *)params 2008 ); 2009 2010 exit: 2011 if (_array) { 2012 releasePointer(_env, _array, params, JNI_FALSE); 2013 } 2014 } 2015 2016 /* void glPointParameterx ( GLenum pname, GLfixed param ) */ 2017 static void 2018 android_glPointParameterx__II 2019 (JNIEnv *_env, jobject _this, jint pname, jint param) { 2020 glPointParameterx( 2021 (GLenum)pname, 2022 (GLfixed)param 2023 ); 2024 } 2025 2026 /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 2027 static void 2028 android_glPointParameterxv__I_3II 2029 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 2030 GLfixed *params_base = (GLfixed *) 0; 2031 jint _remaining; 2032 GLfixed *params = (GLfixed *) 0; 2033 2034 if (!params_ref) { 2035 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2036 goto exit; 2037 } 2038 if (offset < 0) { 2039 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2040 goto exit; 2041 } 2042 _remaining = _env->GetArrayLength(params_ref) - offset; 2043 if (_remaining < 1) { 2044 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 2045 goto exit; 2046 } 2047 params_base = (GLfixed *) 2048 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2049 params = params_base + offset; 2050 2051 glPointParameterxv( 2052 (GLenum)pname, 2053 (GLfixed *)params 2054 ); 2055 2056 exit: 2057 if (params_base) { 2058 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2059 JNI_ABORT); 2060 } 2061 } 2062 2063 /* void glPointParameterxv ( GLenum pname, const GLfixed *params ) */ 2064 static void 2065 android_glPointParameterxv__ILjava_nio_IntBuffer_2 2066 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 2067 jarray _array = (jarray) 0; 2068 jint _remaining; 2069 GLfixed *params = (GLfixed *) 0; 2070 2071 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2072 if (_remaining < 1) { 2073 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2074 goto exit; 2075 } 2076 glPointParameterxv( 2077 (GLenum)pname, 2078 (GLfixed *)params 2079 ); 2080 2081 exit: 2082 if (_array) { 2083 releasePointer(_env, _array, params, JNI_FALSE); 2084 } 2085 } 2086 2087 /* void glPointSizePointerOES ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ 2088 static void 2089 android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I 2090 (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { 2091 jarray _array = (jarray) 0; 2092 jint _remaining; 2093 GLvoid *pointer = (GLvoid *) 0; 2094 2095 if (pointer_buf) { 2096 pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); 2097 if ( ! pointer ) { 2098 return; 2099 } 2100 } 2101 glPointSizePointerOESBounds( 2102 (GLenum)type, 2103 (GLsizei)stride, 2104 (GLvoid *)pointer, 2105 (GLsizei)remaining 2106 ); 2107 } 2108 2109 /* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 2110 static void 2111 android_glTexCoordPointer__IIII 2112 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 2113 glTexCoordPointer( 2114 (GLint)size, 2115 (GLenum)type, 2116 (GLsizei)stride, 2117 (const GLvoid *)offset 2118 ); 2119 } 2120 2121 /* void glTexEnvi ( GLenum target, GLenum pname, GLint param ) */ 2122 static void 2123 android_glTexEnvi__III 2124 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 2125 glTexEnvi( 2126 (GLenum)target, 2127 (GLenum)pname, 2128 (GLint)param 2129 ); 2130 } 2131 2132 /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 2133 static void 2134 android_glTexEnviv__II_3II 2135 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 2136 GLint *params_base = (GLint *) 0; 2137 jint _remaining; 2138 GLint *params = (GLint *) 0; 2139 2140 if (!params_ref) { 2141 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2142 goto exit; 2143 } 2144 if (offset < 0) { 2145 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2146 goto exit; 2147 } 2148 _remaining = _env->GetArrayLength(params_ref) - offset; 2149 int _needed; 2150 switch (pname) { 2151 #if defined(GL_TEXTURE_ENV_MODE) 2152 case GL_TEXTURE_ENV_MODE: 2153 #endif // defined(GL_TEXTURE_ENV_MODE) 2154 #if defined(GL_COMBINE_RGB) 2155 case GL_COMBINE_RGB: 2156 #endif // defined(GL_COMBINE_RGB) 2157 #if defined(GL_COMBINE_ALPHA) 2158 case GL_COMBINE_ALPHA: 2159 #endif // defined(GL_COMBINE_ALPHA) 2160 _needed = 1; 2161 break; 2162 #if defined(GL_TEXTURE_ENV_COLOR) 2163 case GL_TEXTURE_ENV_COLOR: 2164 #endif // defined(GL_TEXTURE_ENV_COLOR) 2165 _needed = 4; 2166 break; 2167 default: 2168 _needed = 0; 2169 break; 2170 } 2171 if (_remaining < _needed) { 2172 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < needed"); 2173 goto exit; 2174 } 2175 params_base = (GLint *) 2176 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2177 params = params_base + offset; 2178 2179 glTexEnviv( 2180 (GLenum)target, 2181 (GLenum)pname, 2182 (GLint *)params 2183 ); 2184 2185 exit: 2186 if (params_base) { 2187 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2188 JNI_ABORT); 2189 } 2190 } 2191 2192 /* void glTexEnviv ( GLenum target, GLenum pname, const GLint *params ) */ 2193 static void 2194 android_glTexEnviv__IILjava_nio_IntBuffer_2 2195 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2196 jarray _array = (jarray) 0; 2197 jint _remaining; 2198 GLint *params = (GLint *) 0; 2199 2200 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2201 int _needed; 2202 switch (pname) { 2203 #if defined(GL_TEXTURE_ENV_MODE) 2204 case GL_TEXTURE_ENV_MODE: 2205 #endif // defined(GL_TEXTURE_ENV_MODE) 2206 #if defined(GL_COMBINE_RGB) 2207 case GL_COMBINE_RGB: 2208 #endif // defined(GL_COMBINE_RGB) 2209 #if defined(GL_COMBINE_ALPHA) 2210 case GL_COMBINE_ALPHA: 2211 #endif // defined(GL_COMBINE_ALPHA) 2212 _needed = 1; 2213 break; 2214 #if defined(GL_TEXTURE_ENV_COLOR) 2215 case GL_TEXTURE_ENV_COLOR: 2216 #endif // defined(GL_TEXTURE_ENV_COLOR) 2217 _needed = 4; 2218 break; 2219 default: 2220 _needed = 0; 2221 break; 2222 } 2223 if (_remaining < _needed) { 2224 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2225 goto exit; 2226 } 2227 glTexEnviv( 2228 (GLenum)target, 2229 (GLenum)pname, 2230 (GLint *)params 2231 ); 2232 2233 exit: 2234 if (_array) { 2235 releasePointer(_env, _array, params, JNI_FALSE); 2236 } 2237 } 2238 2239 /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 2240 static void 2241 android_glTexParameterfv__II_3FI 2242 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 2243 GLfloat *params_base = (GLfloat *) 0; 2244 jint _remaining; 2245 GLfloat *params = (GLfloat *) 0; 2246 2247 if (!params_ref) { 2248 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2249 goto exit; 2250 } 2251 if (offset < 0) { 2252 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2253 goto exit; 2254 } 2255 _remaining = _env->GetArrayLength(params_ref) - offset; 2256 if (_remaining < 1) { 2257 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 2258 goto exit; 2259 } 2260 params_base = (GLfloat *) 2261 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2262 params = params_base + offset; 2263 2264 glTexParameterfv( 2265 (GLenum)target, 2266 (GLenum)pname, 2267 (GLfloat *)params 2268 ); 2269 2270 exit: 2271 if (params_base) { 2272 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2273 JNI_ABORT); 2274 } 2275 } 2276 2277 /* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 2278 static void 2279 android_glTexParameterfv__IILjava_nio_FloatBuffer_2 2280 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2281 jarray _array = (jarray) 0; 2282 jint _remaining; 2283 GLfloat *params = (GLfloat *) 0; 2284 2285 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2286 if (_remaining < 1) { 2287 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2288 goto exit; 2289 } 2290 glTexParameterfv( 2291 (GLenum)target, 2292 (GLenum)pname, 2293 (GLfloat *)params 2294 ); 2295 2296 exit: 2297 if (_array) { 2298 releasePointer(_env, _array, params, JNI_FALSE); 2299 } 2300 } 2301 2302 /* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 2303 static void 2304 android_glTexParameteri__III 2305 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 2306 glTexParameteri( 2307 (GLenum)target, 2308 (GLenum)pname, 2309 (GLint)param 2310 ); 2311 } 2312 2313 /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 2314 static void 2315 android_glTexParameteriv__II_3II 2316 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 2317 GLint *params_base = (GLint *) 0; 2318 jint _remaining; 2319 GLint *params = (GLint *) 0; 2320 2321 if (!params_ref) { 2322 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2323 goto exit; 2324 } 2325 if (offset < 0) { 2326 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2327 goto exit; 2328 } 2329 _remaining = _env->GetArrayLength(params_ref) - offset; 2330 if (_remaining < 1) { 2331 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 2332 goto exit; 2333 } 2334 params_base = (GLint *) 2335 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2336 params = params_base + offset; 2337 2338 glTexParameteriv( 2339 (GLenum)target, 2340 (GLenum)pname, 2341 (GLint *)params 2342 ); 2343 2344 exit: 2345 if (params_base) { 2346 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2347 JNI_ABORT); 2348 } 2349 } 2350 2351 /* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 2352 static void 2353 android_glTexParameteriv__IILjava_nio_IntBuffer_2 2354 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2355 jarray _array = (jarray) 0; 2356 jint _remaining; 2357 GLint *params = (GLint *) 0; 2358 2359 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2360 if (_remaining < 1) { 2361 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2362 goto exit; 2363 } 2364 glTexParameteriv( 2365 (GLenum)target, 2366 (GLenum)pname, 2367 (GLint *)params 2368 ); 2369 2370 exit: 2371 if (_array) { 2372 releasePointer(_env, _array, params, JNI_FALSE); 2373 } 2374 } 2375 2376 /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 2377 static void 2378 android_glTexParameterxv__II_3II 2379 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 2380 GLfixed *params_base = (GLfixed *) 0; 2381 jint _remaining; 2382 GLfixed *params = (GLfixed *) 0; 2383 2384 if (!params_ref) { 2385 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2386 goto exit; 2387 } 2388 if (offset < 0) { 2389 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2390 goto exit; 2391 } 2392 _remaining = _env->GetArrayLength(params_ref) - offset; 2393 if (_remaining < 1) { 2394 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 2395 goto exit; 2396 } 2397 params_base = (GLfixed *) 2398 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2399 params = params_base + offset; 2400 2401 glTexParameterxv( 2402 (GLenum)target, 2403 (GLenum)pname, 2404 (GLfixed *)params 2405 ); 2406 2407 exit: 2408 if (params_base) { 2409 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2410 JNI_ABORT); 2411 } 2412 } 2413 2414 /* void glTexParameterxv ( GLenum target, GLenum pname, const GLfixed *params ) */ 2415 static void 2416 android_glTexParameterxv__IILjava_nio_IntBuffer_2 2417 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2418 jarray _array = (jarray) 0; 2419 jint _remaining; 2420 GLfixed *params = (GLfixed *) 0; 2421 2422 params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining); 2423 if (_remaining < 1) { 2424 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2425 goto exit; 2426 } 2427 glTexParameterxv( 2428 (GLenum)target, 2429 (GLenum)pname, 2430 (GLfixed *)params 2431 ); 2432 2433 exit: 2434 if (_array) { 2435 releasePointer(_env, _array, params, JNI_FALSE); 2436 } 2437 } 2438 2439 /* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLint offset ) */ 2440 static void 2441 android_glVertexPointer__IIII 2442 (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jint offset) { 2443 glVertexPointer( 2444 (GLint)size, 2445 (GLenum)type, 2446 (GLsizei)stride, 2447 (const GLvoid *)offset 2448 ); 2449 } 2450 2451 static const char *classPathName = "android/opengl/GLES11"; 2452 2453 static JNINativeMethod methods[] = { 2454 {"_nativeClassInit", "()V", (void*)nativeClassInit }, 2455 {"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 2456 {"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 2457 {"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 2458 {"glClipPlanef", "(I[FI)V", (void *) android_glClipPlanef__I_3FI }, 2459 {"glClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glClipPlanef__ILjava_nio_FloatBuffer_2 }, 2460 {"glClipPlanex", "(I[II)V", (void *) android_glClipPlanex__I_3II }, 2461 {"glClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glClipPlanex__ILjava_nio_IntBuffer_2 }, 2462 {"glColor4ub", "(BBBB)V", (void *) android_glColor4ub__BBBB }, 2463 {"glColorPointer", "(IIII)V", (void *) android_glColorPointer__IIII }, 2464 {"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 2465 {"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 2466 {"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 2467 {"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 2468 {"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 2469 {"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 2470 {"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 2471 {"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 2472 {"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 2473 {"glGetClipPlanef", "(I[FI)V", (void *) android_glGetClipPlanef__I_3FI }, 2474 {"glGetClipPlanef", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetClipPlanef__ILjava_nio_FloatBuffer_2 }, 2475 {"glGetClipPlanex", "(I[II)V", (void *) android_glGetClipPlanex__I_3II }, 2476 {"glGetClipPlanex", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetClipPlanex__ILjava_nio_IntBuffer_2 }, 2477 {"glGetFixedv", "(I[II)V", (void *) android_glGetFixedv__I_3II }, 2478 {"glGetFixedv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetFixedv__ILjava_nio_IntBuffer_2 }, 2479 {"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 2480 {"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 2481 {"glGetLightfv", "(II[FI)V", (void *) android_glGetLightfv__II_3FI }, 2482 {"glGetLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetLightfv__IILjava_nio_FloatBuffer_2 }, 2483 {"glGetLightxv", "(II[II)V", (void *) android_glGetLightxv__II_3II }, 2484 {"glGetLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetLightxv__IILjava_nio_IntBuffer_2 }, 2485 {"glGetMaterialfv", "(II[FI)V", (void *) android_glGetMaterialfv__II_3FI }, 2486 {"glGetMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetMaterialfv__IILjava_nio_FloatBuffer_2 }, 2487 {"glGetMaterialxv", "(II[II)V", (void *) android_glGetMaterialxv__II_3II }, 2488 {"glGetMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetMaterialxv__IILjava_nio_IntBuffer_2 }, 2489 {"glGetTexEnvfv", "(II[FI)V", (void *) android_glGetTexEnvfv__II_3FI }, 2490 {"glGetTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexEnvfv__IILjava_nio_FloatBuffer_2 }, 2491 {"glGetTexEnviv", "(II[II)V", (void *) android_glGetTexEnviv__II_3II }, 2492 {"glGetTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnviv__IILjava_nio_IntBuffer_2 }, 2493 {"glGetTexEnvxv", "(II[II)V", (void *) android_glGetTexEnvxv__II_3II }, 2494 {"glGetTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexEnvxv__IILjava_nio_IntBuffer_2 }, 2495 {"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 2496 {"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 2497 {"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 2498 {"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 2499 {"glGetTexParameterxv", "(II[II)V", (void *) android_glGetTexParameterxv__II_3II }, 2500 {"glGetTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameterxv__IILjava_nio_IntBuffer_2 }, 2501 {"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 2502 {"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 2503 {"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 2504 {"glNormalPointer", "(III)V", (void *) android_glNormalPointer__III }, 2505 {"glPointParameterf", "(IF)V", (void *) android_glPointParameterf__IF }, 2506 {"glPointParameterfv", "(I[FI)V", (void *) android_glPointParameterfv__I_3FI }, 2507 {"glPointParameterfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glPointParameterfv__ILjava_nio_FloatBuffer_2 }, 2508 {"glPointParameterx", "(II)V", (void *) android_glPointParameterx__II }, 2509 {"glPointParameterxv", "(I[II)V", (void *) android_glPointParameterxv__I_3II }, 2510 {"glPointParameterxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glPointParameterxv__ILjava_nio_IntBuffer_2 }, 2511 {"glPointSizePointerOESBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glPointSizePointerOESBounds__IILjava_nio_Buffer_2I }, 2512 {"glTexCoordPointer", "(IIII)V", (void *) android_glTexCoordPointer__IIII }, 2513 {"glTexEnvi", "(III)V", (void *) android_glTexEnvi__III }, 2514 {"glTexEnviv", "(II[II)V", (void *) android_glTexEnviv__II_3II }, 2515 {"glTexEnviv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnviv__IILjava_nio_IntBuffer_2 }, 2516 {"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 2517 {"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 2518 {"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 2519 {"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 2520 {"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 2521 {"glTexParameterxv", "(II[II)V", (void *) android_glTexParameterxv__II_3II }, 2522 {"glTexParameterxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameterxv__IILjava_nio_IntBuffer_2 }, 2523 {"glVertexPointer", "(IIII)V", (void *) android_glVertexPointer__IIII }, 2524 }; 2525 2526 int register_android_opengl_jni_GLES11(JNIEnv *_env) 2527 { 2528 int err; 2529 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 2530 return err; 2531 } 2532