android_opengl_GLES20.cpp revision 24ce5fb2cc09d0a14406e7b935f8648c5720d27e
1/* 2** 3** Copyright 2009, The Android Open Source Project 4** 5** Licensed under the Apache License, Version 2.0 (the "License"); 6** you may not use this file except in compliance with the License. 7** You may obtain a copy of the License at 8** 9** http://www.apache.org/licenses/LICENSE-2.0 10** 11** Unless required by applicable law or agreed to in writing, software 12** distributed under the License is distributed on an "AS IS" BASIS, 13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14** See the License for the specific language governing permissions and 15** limitations under the License. 16*/ 17 18// This source file is automatically generated 19 20#include "jni.h" 21#include "JNIHelp.h" 22#include <android_runtime/AndroidRuntime.h> 23#include <utils/misc.h> 24 25#include <assert.h> 26#include <GLES2/gl2.h> 27#include <GLES2/gl2ext.h> 28 29static int initialized = 0; 30 31static jclass nioAccessClass; 32static jclass bufferClass; 33static jmethodID getBasePointerID; 34static jmethodID getBaseArrayID; 35static jmethodID getBaseArrayOffsetID; 36static jfieldID positionID; 37static jfieldID limitID; 38static jfieldID elementSizeShiftID; 39 40/* Cache method IDs each time the class is loaded. */ 41 42static void 43nativeClassInit(JNIEnv *_env, jclass glImplClass) 44{ 45 jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); 46 nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); 47 48 jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); 49 bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); 50 51 getBasePointerID = _env->GetStaticMethodID(nioAccessClass, 52 "getBasePointer", "(Ljava/nio/Buffer;)J"); 53 getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, 54 "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); 55 getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, 56 "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); 57 58 positionID = _env->GetFieldID(bufferClass, "position", "I"); 59 limitID = _env->GetFieldID(bufferClass, "limit", "I"); 60 elementSizeShiftID = 61 _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); 62} 63 64 65static void * 66getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining) 67{ 68 jint position; 69 jint limit; 70 jint elementSizeShift; 71 jlong pointer; 72 jint offset; 73 void *data; 74 75 position = _env->GetIntField(buffer, positionID); 76 limit = _env->GetIntField(buffer, limitID); 77 elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 78 *remaining = (limit - position) << elementSizeShift; 79 pointer = _env->CallStaticLongMethod(nioAccessClass, 80 getBasePointerID, buffer); 81 if (pointer != 0L) { 82 *array = NULL; 83 return (void *) (jint) pointer; 84 } 85 86 *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, 87 getBaseArrayID, buffer); 88 offset = _env->CallStaticIntMethod(nioAccessClass, 89 getBaseArrayOffsetID, buffer); 90 data = _env->GetPrimitiveArrayCritical(*array, (jboolean *) 0); 91 92 return (void *) ((char *) data + offset); 93} 94 95 96static void 97releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) 98{ 99 _env->ReleasePrimitiveArrayCritical(array, data, 100 commit ? 0 : JNI_ABORT); 101} 102 103static void * 104getDirectBufferPointer(JNIEnv *_env, jobject buffer) { 105 char* buf = (char*) _env->GetDirectBufferAddress(buffer); 106 if (buf) { 107 jint position = _env->GetIntField(buffer, positionID); 108 jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); 109 buf += position << elementSizeShift; 110 } else { 111 jniThrowException(_env, "java/lang/IllegalArgumentException", 112 "Must use a native order direct Buffer"); 113 } 114 return (void*) buf; 115} 116 117static int 118getNumCompressedTextureFormats() { 119 int numCompressedTextureFormats = 0; 120 glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); 121 return numCompressedTextureFormats; 122} 123 124static void glVertexAttribPointerBounds(GLuint indx, GLint size, GLenum type, 125 GLboolean normalized, GLsizei stride, const GLvoid *pointer, GLsizei count) { 126 glVertexAttribPointer(indx, size, type, normalized, stride, pointer); 127} 128 129// -------------------------------------------------------------------------- 130/* void glActiveTexture ( GLenum texture ) */ 131static void 132android_glActiveTexture__I 133 (JNIEnv *_env, jobject _this, jint texture) { 134 glActiveTexture( 135 (GLenum)texture 136 ); 137} 138 139/* void glAttachShader ( GLuint program, GLuint shader ) */ 140static void 141android_glAttachShader__II 142 (JNIEnv *_env, jobject _this, jint program, jint shader) { 143 glAttachShader( 144 (GLuint)program, 145 (GLuint)shader 146 ); 147} 148 149/* void glBindAttribLocation ( GLuint program, GLuint index, const char *name ) */ 150static void 151android_glBindAttribLocation__IILjava_lang_String_2 152 (JNIEnv *_env, jobject _this, jint program, jint index, jstring name) { 153 const char* _nativename = 0; 154 155 if (!name) { 156 jniThrowException(_env, "java/lang/IllegalArgumentException", "name == null"); 157 goto exit; 158 } 159 _nativename = _env->GetStringUTFChars(name, 0); 160 161 glBindAttribLocation( 162 (GLuint)program, 163 (GLuint)index, 164 (char *)_nativename 165 ); 166 167exit: 168 if (_nativename) { 169 _env->ReleaseStringUTFChars(name, _nativename); 170 } 171 172} 173 174/* void glBindBuffer ( GLenum target, GLuint buffer ) */ 175static void 176android_glBindBuffer__II 177 (JNIEnv *_env, jobject _this, jint target, jint buffer) { 178 glBindBuffer( 179 (GLenum)target, 180 (GLuint)buffer 181 ); 182} 183 184/* void glBindFramebuffer ( GLenum target, GLuint framebuffer ) */ 185static void 186android_glBindFramebuffer__II 187 (JNIEnv *_env, jobject _this, jint target, jint framebuffer) { 188 glBindFramebuffer( 189 (GLenum)target, 190 (GLuint)framebuffer 191 ); 192} 193 194/* void glBindRenderbuffer ( GLenum target, GLuint renderbuffer ) */ 195static void 196android_glBindRenderbuffer__II 197 (JNIEnv *_env, jobject _this, jint target, jint renderbuffer) { 198 glBindRenderbuffer( 199 (GLenum)target, 200 (GLuint)renderbuffer 201 ); 202} 203 204/* void glBindTexture ( GLenum target, GLuint texture ) */ 205static void 206android_glBindTexture__II 207 (JNIEnv *_env, jobject _this, jint target, jint texture) { 208 glBindTexture( 209 (GLenum)target, 210 (GLuint)texture 211 ); 212} 213 214/* void glBlendColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 215static void 216android_glBlendColor__FFFF 217 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 218 glBlendColor( 219 (GLclampf)red, 220 (GLclampf)green, 221 (GLclampf)blue, 222 (GLclampf)alpha 223 ); 224} 225 226/* void glBlendEquation ( GLenum mode ) */ 227static void 228android_glBlendEquation__I 229 (JNIEnv *_env, jobject _this, jint mode) { 230 glBlendEquation( 231 (GLenum)mode 232 ); 233} 234 235/* void glBlendEquationSeparate ( GLenum modeRGB, GLenum modeAlpha ) */ 236static void 237android_glBlendEquationSeparate__II 238 (JNIEnv *_env, jobject _this, jint modeRGB, jint modeAlpha) { 239 glBlendEquationSeparate( 240 (GLenum)modeRGB, 241 (GLenum)modeAlpha 242 ); 243} 244 245/* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ 246static void 247android_glBlendFunc__II 248 (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { 249 glBlendFunc( 250 (GLenum)sfactor, 251 (GLenum)dfactor 252 ); 253} 254 255/* void glBlendFuncSeparate ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha ) */ 256static void 257android_glBlendFuncSeparate__IIII 258 (JNIEnv *_env, jobject _this, jint srcRGB, jint dstRGB, jint srcAlpha, jint dstAlpha) { 259 glBlendFuncSeparate( 260 (GLenum)srcRGB, 261 (GLenum)dstRGB, 262 (GLenum)srcAlpha, 263 (GLenum)dstAlpha 264 ); 265} 266 267/* void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage ) */ 268static void 269android_glBufferData__IILjava_nio_Buffer_2I 270 (JNIEnv *_env, jobject _this, jint target, jint size, jobject data_buf, jint usage) { 271 jarray _array = (jarray) 0; 272 jint _remaining; 273 GLvoid *data = (GLvoid *) 0; 274 275 if (data_buf) { 276 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 277 if (_remaining < size) { 278 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 279 goto exit; 280 } 281 } 282 glBufferData( 283 (GLenum)target, 284 (GLsizeiptr)size, 285 (GLvoid *)data, 286 (GLenum)usage 287 ); 288 289exit: 290 if (_array) { 291 releasePointer(_env, _array, data, JNI_FALSE); 292 } 293} 294 295/* void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data ) */ 296static void 297android_glBufferSubData__IIILjava_nio_Buffer_2 298 (JNIEnv *_env, jobject _this, jint target, jint offset, jint size, jobject data_buf) { 299 jarray _array = (jarray) 0; 300 jint _remaining; 301 GLvoid *data = (GLvoid *) 0; 302 303 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 304 if (_remaining < size) { 305 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < size"); 306 goto exit; 307 } 308 glBufferSubData( 309 (GLenum)target, 310 (GLintptr)offset, 311 (GLsizeiptr)size, 312 (GLvoid *)data 313 ); 314 315exit: 316 if (_array) { 317 releasePointer(_env, _array, data, JNI_FALSE); 318 } 319} 320 321/* GLenum glCheckFramebufferStatus ( GLenum target ) */ 322static jint 323android_glCheckFramebufferStatus__I 324 (JNIEnv *_env, jobject _this, jint target) { 325 GLenum _returnValue; 326 _returnValue = glCheckFramebufferStatus( 327 (GLenum)target 328 ); 329 return _returnValue; 330} 331 332/* void glClear ( GLbitfield mask ) */ 333static void 334android_glClear__I 335 (JNIEnv *_env, jobject _this, jint mask) { 336 glClear( 337 (GLbitfield)mask 338 ); 339} 340 341/* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ 342static void 343android_glClearColor__FFFF 344 (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { 345 glClearColor( 346 (GLclampf)red, 347 (GLclampf)green, 348 (GLclampf)blue, 349 (GLclampf)alpha 350 ); 351} 352 353/* void glClearDepthf ( GLclampf depth ) */ 354static void 355android_glClearDepthf__F 356 (JNIEnv *_env, jobject _this, jfloat depth) { 357 glClearDepthf( 358 (GLclampf)depth 359 ); 360} 361 362/* void glClearStencil ( GLint s ) */ 363static void 364android_glClearStencil__I 365 (JNIEnv *_env, jobject _this, jint s) { 366 glClearStencil( 367 (GLint)s 368 ); 369} 370 371/* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ 372static void 373android_glColorMask__ZZZZ 374 (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { 375 glColorMask( 376 (GLboolean)red, 377 (GLboolean)green, 378 (GLboolean)blue, 379 (GLboolean)alpha 380 ); 381} 382 383/* void glCompileShader ( GLuint shader ) */ 384static void 385android_glCompileShader__I 386 (JNIEnv *_env, jobject _this, jint shader) { 387 glCompileShader( 388 (GLuint)shader 389 ); 390} 391 392/* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ 393static void 394android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 395 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { 396 jarray _array = (jarray) 0; 397 jint _remaining; 398 GLvoid *data = (GLvoid *) 0; 399 400 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 401 glCompressedTexImage2D( 402 (GLenum)target, 403 (GLint)level, 404 (GLenum)internalformat, 405 (GLsizei)width, 406 (GLsizei)height, 407 (GLint)border, 408 (GLsizei)imageSize, 409 (GLvoid *)data 410 ); 411 if (_array) { 412 releasePointer(_env, _array, data, JNI_FALSE); 413 } 414} 415 416/* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ 417static void 418android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 419 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { 420 jarray _array = (jarray) 0; 421 jint _remaining; 422 GLvoid *data = (GLvoid *) 0; 423 424 data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining); 425 glCompressedTexSubImage2D( 426 (GLenum)target, 427 (GLint)level, 428 (GLint)xoffset, 429 (GLint)yoffset, 430 (GLsizei)width, 431 (GLsizei)height, 432 (GLenum)format, 433 (GLsizei)imageSize, 434 (GLvoid *)data 435 ); 436 if (_array) { 437 releasePointer(_env, _array, data, JNI_FALSE); 438 } 439} 440 441/* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ 442static void 443android_glCopyTexImage2D__IIIIIIII 444 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { 445 glCopyTexImage2D( 446 (GLenum)target, 447 (GLint)level, 448 (GLenum)internalformat, 449 (GLint)x, 450 (GLint)y, 451 (GLsizei)width, 452 (GLsizei)height, 453 (GLint)border 454 ); 455} 456 457/* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ 458static void 459android_glCopyTexSubImage2D__IIIIIIII 460 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { 461 glCopyTexSubImage2D( 462 (GLenum)target, 463 (GLint)level, 464 (GLint)xoffset, 465 (GLint)yoffset, 466 (GLint)x, 467 (GLint)y, 468 (GLsizei)width, 469 (GLsizei)height 470 ); 471} 472 473/* GLuint glCreateProgram ( void ) */ 474static jint 475android_glCreateProgram__ 476 (JNIEnv *_env, jobject _this) { 477 GLuint _returnValue; 478 _returnValue = glCreateProgram(); 479 return _returnValue; 480} 481 482/* GLuint glCreateShader ( GLenum type ) */ 483static jint 484android_glCreateShader__I 485 (JNIEnv *_env, jobject _this, jint type) { 486 GLuint _returnValue; 487 _returnValue = glCreateShader( 488 (GLenum)type 489 ); 490 return _returnValue; 491} 492 493/* void glCullFace ( GLenum mode ) */ 494static void 495android_glCullFace__I 496 (JNIEnv *_env, jobject _this, jint mode) { 497 glCullFace( 498 (GLenum)mode 499 ); 500} 501 502/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 503static void 504android_glDeleteBuffers__I_3II 505 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 506 GLuint *buffers_base = (GLuint *) 0; 507 jint _remaining; 508 GLuint *buffers = (GLuint *) 0; 509 510 if (!buffers_ref) { 511 jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 512 goto exit; 513 } 514 if (offset < 0) { 515 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 516 goto exit; 517 } 518 _remaining = _env->GetArrayLength(buffers_ref) - offset; 519 if (_remaining < n) { 520 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 521 goto exit; 522 } 523 buffers_base = (GLuint *) 524 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 525 buffers = buffers_base + offset; 526 527 glDeleteBuffers( 528 (GLsizei)n, 529 (GLuint *)buffers 530 ); 531 532exit: 533 if (buffers_base) { 534 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 535 JNI_ABORT); 536 } 537} 538 539/* void glDeleteBuffers ( GLsizei n, const GLuint *buffers ) */ 540static void 541android_glDeleteBuffers__ILjava_nio_IntBuffer_2 542 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 543 jarray _array = (jarray) 0; 544 jint _remaining; 545 GLuint *buffers = (GLuint *) 0; 546 547 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 548 if (_remaining < n) { 549 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 550 goto exit; 551 } 552 glDeleteBuffers( 553 (GLsizei)n, 554 (GLuint *)buffers 555 ); 556 557exit: 558 if (_array) { 559 releasePointer(_env, _array, buffers, JNI_FALSE); 560 } 561} 562 563/* void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers ) */ 564static void 565android_glDeleteFramebuffers__I_3II 566 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 567 GLuint *framebuffers_base = (GLuint *) 0; 568 jint _remaining; 569 GLuint *framebuffers = (GLuint *) 0; 570 571 if (!framebuffers_ref) { 572 jniThrowException(_env, "java/lang/IllegalArgumentException", "framebuffers == null"); 573 goto exit; 574 } 575 if (offset < 0) { 576 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 577 goto exit; 578 } 579 _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 580 framebuffers_base = (GLuint *) 581 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 582 framebuffers = framebuffers_base + offset; 583 584 glDeleteFramebuffers( 585 (GLsizei)n, 586 (GLuint *)framebuffers 587 ); 588 589exit: 590 if (framebuffers_base) { 591 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 592 JNI_ABORT); 593 } 594} 595 596/* void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers ) */ 597static void 598android_glDeleteFramebuffers__ILjava_nio_IntBuffer_2 599 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 600 jarray _array = (jarray) 0; 601 jint _remaining; 602 GLuint *framebuffers = (GLuint *) 0; 603 604 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 605 glDeleteFramebuffers( 606 (GLsizei)n, 607 (GLuint *)framebuffers 608 ); 609 if (_array) { 610 releasePointer(_env, _array, framebuffers, JNI_FALSE); 611 } 612} 613 614/* void glDeleteProgram ( GLuint program ) */ 615static void 616android_glDeleteProgram__I 617 (JNIEnv *_env, jobject _this, jint program) { 618 glDeleteProgram( 619 (GLuint)program 620 ); 621} 622 623/* void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers ) */ 624static void 625android_glDeleteRenderbuffers__I_3II 626 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 627 GLuint *renderbuffers_base = (GLuint *) 0; 628 jint _remaining; 629 GLuint *renderbuffers = (GLuint *) 0; 630 631 if (!renderbuffers_ref) { 632 jniThrowException(_env, "java/lang/IllegalArgumentException", "renderbuffers == null"); 633 goto exit; 634 } 635 if (offset < 0) { 636 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 637 goto exit; 638 } 639 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 640 renderbuffers_base = (GLuint *) 641 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 642 renderbuffers = renderbuffers_base + offset; 643 644 glDeleteRenderbuffers( 645 (GLsizei)n, 646 (GLuint *)renderbuffers 647 ); 648 649exit: 650 if (renderbuffers_base) { 651 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 652 JNI_ABORT); 653 } 654} 655 656/* void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers ) */ 657static void 658android_glDeleteRenderbuffers__ILjava_nio_IntBuffer_2 659 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 660 jarray _array = (jarray) 0; 661 jint _remaining; 662 GLuint *renderbuffers = (GLuint *) 0; 663 664 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 665 glDeleteRenderbuffers( 666 (GLsizei)n, 667 (GLuint *)renderbuffers 668 ); 669 if (_array) { 670 releasePointer(_env, _array, renderbuffers, JNI_FALSE); 671 } 672} 673 674/* void glDeleteShader ( GLuint shader ) */ 675static void 676android_glDeleteShader__I 677 (JNIEnv *_env, jobject _this, jint shader) { 678 glDeleteShader( 679 (GLuint)shader 680 ); 681} 682 683/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 684static void 685android_glDeleteTextures__I_3II 686 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 687 GLuint *textures_base = (GLuint *) 0; 688 jint _remaining; 689 GLuint *textures = (GLuint *) 0; 690 691 if (!textures_ref) { 692 jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 693 goto exit; 694 } 695 if (offset < 0) { 696 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 697 goto exit; 698 } 699 _remaining = _env->GetArrayLength(textures_ref) - offset; 700 if (_remaining < n) { 701 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 702 goto exit; 703 } 704 textures_base = (GLuint *) 705 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 706 textures = textures_base + offset; 707 708 glDeleteTextures( 709 (GLsizei)n, 710 (GLuint *)textures 711 ); 712 713exit: 714 if (textures_base) { 715 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 716 JNI_ABORT); 717 } 718} 719 720/* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ 721static void 722android_glDeleteTextures__ILjava_nio_IntBuffer_2 723 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 724 jarray _array = (jarray) 0; 725 jint _remaining; 726 GLuint *textures = (GLuint *) 0; 727 728 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 729 if (_remaining < n) { 730 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 731 goto exit; 732 } 733 glDeleteTextures( 734 (GLsizei)n, 735 (GLuint *)textures 736 ); 737 738exit: 739 if (_array) { 740 releasePointer(_env, _array, textures, JNI_FALSE); 741 } 742} 743 744/* void glDepthFunc ( GLenum func ) */ 745static void 746android_glDepthFunc__I 747 (JNIEnv *_env, jobject _this, jint func) { 748 glDepthFunc( 749 (GLenum)func 750 ); 751} 752 753/* void glDepthMask ( GLboolean flag ) */ 754static void 755android_glDepthMask__Z 756 (JNIEnv *_env, jobject _this, jboolean flag) { 757 glDepthMask( 758 (GLboolean)flag 759 ); 760} 761 762/* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ 763static void 764android_glDepthRangef__FF 765 (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { 766 glDepthRangef( 767 (GLclampf)zNear, 768 (GLclampf)zFar 769 ); 770} 771 772/* void glDetachShader ( GLuint program, GLuint shader ) */ 773static void 774android_glDetachShader__II 775 (JNIEnv *_env, jobject _this, jint program, jint shader) { 776 glDetachShader( 777 (GLuint)program, 778 (GLuint)shader 779 ); 780} 781 782/* void glDisable ( GLenum cap ) */ 783static void 784android_glDisable__I 785 (JNIEnv *_env, jobject _this, jint cap) { 786 glDisable( 787 (GLenum)cap 788 ); 789} 790 791/* void glDisableVertexAttribArray ( GLuint index ) */ 792static void 793android_glDisableVertexAttribArray__I 794 (JNIEnv *_env, jobject _this, jint index) { 795 glDisableVertexAttribArray( 796 (GLuint)index 797 ); 798} 799 800/* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ 801static void 802android_glDrawArrays__III 803 (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { 804 glDrawArrays( 805 (GLenum)mode, 806 (GLint)first, 807 (GLsizei)count 808 ); 809} 810 811/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset ) */ 812static void 813android_glDrawElements__IIII 814 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jint offset) { 815 glDrawElements( 816 (GLenum)mode, 817 (GLsizei)count, 818 (GLenum)type, 819 (const GLvoid *)offset 820 ); 821} 822 823/* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ 824static void 825android_glDrawElements__IIILjava_nio_Buffer_2 826 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { 827 jarray _array = (jarray) 0; 828 jint _remaining; 829 GLvoid *indices = (GLvoid *) 0; 830 831 indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining); 832 if (_remaining < count) { 833 jniThrowException(_env, "java/lang/ArrayIndexOutOfBoundsException", "remaining() < count"); 834 goto exit; 835 } 836 glDrawElements( 837 (GLenum)mode, 838 (GLsizei)count, 839 (GLenum)type, 840 (GLvoid *)indices 841 ); 842 843exit: 844 if (_array) { 845 releasePointer(_env, _array, indices, JNI_FALSE); 846 } 847} 848 849/* void glEnable ( GLenum cap ) */ 850static void 851android_glEnable__I 852 (JNIEnv *_env, jobject _this, jint cap) { 853 glEnable( 854 (GLenum)cap 855 ); 856} 857 858/* void glEnableVertexAttribArray ( GLuint index ) */ 859static void 860android_glEnableVertexAttribArray__I 861 (JNIEnv *_env, jobject _this, jint index) { 862 glEnableVertexAttribArray( 863 (GLuint)index 864 ); 865} 866 867/* void glFinish ( void ) */ 868static void 869android_glFinish__ 870 (JNIEnv *_env, jobject _this) { 871 glFinish(); 872} 873 874/* void glFlush ( void ) */ 875static void 876android_glFlush__ 877 (JNIEnv *_env, jobject _this) { 878 glFlush(); 879} 880 881/* void glFramebufferRenderbuffer ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer ) */ 882static void 883android_glFramebufferRenderbuffer__IIII 884 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint renderbuffertarget, jint renderbuffer) { 885 glFramebufferRenderbuffer( 886 (GLenum)target, 887 (GLenum)attachment, 888 (GLenum)renderbuffertarget, 889 (GLuint)renderbuffer 890 ); 891} 892 893/* void glFramebufferTexture2D ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level ) */ 894static void 895android_glFramebufferTexture2D__IIIII 896 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint textarget, jint texture, jint level) { 897 glFramebufferTexture2D( 898 (GLenum)target, 899 (GLenum)attachment, 900 (GLenum)textarget, 901 (GLuint)texture, 902 (GLint)level 903 ); 904} 905 906/* void glFrontFace ( GLenum mode ) */ 907static void 908android_glFrontFace__I 909 (JNIEnv *_env, jobject _this, jint mode) { 910 glFrontFace( 911 (GLenum)mode 912 ); 913} 914 915/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 916static void 917android_glGenBuffers__I_3II 918 (JNIEnv *_env, jobject _this, jint n, jintArray buffers_ref, jint offset) { 919 jint _exception = 0; 920 GLuint *buffers_base = (GLuint *) 0; 921 jint _remaining; 922 GLuint *buffers = (GLuint *) 0; 923 924 if (!buffers_ref) { 925 _exception = 1; 926 jniThrowException(_env, "java/lang/IllegalArgumentException", "buffers == null"); 927 goto exit; 928 } 929 if (offset < 0) { 930 _exception = 1; 931 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 932 goto exit; 933 } 934 _remaining = _env->GetArrayLength(buffers_ref) - offset; 935 if (_remaining < n) { 936 _exception = 1; 937 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 938 goto exit; 939 } 940 buffers_base = (GLuint *) 941 _env->GetPrimitiveArrayCritical(buffers_ref, (jboolean *)0); 942 buffers = buffers_base + offset; 943 944 glGenBuffers( 945 (GLsizei)n, 946 (GLuint *)buffers 947 ); 948 949exit: 950 if (buffers_base) { 951 _env->ReleasePrimitiveArrayCritical(buffers_ref, buffers_base, 952 _exception ? JNI_ABORT: 0); 953 } 954} 955 956/* void glGenBuffers ( GLsizei n, GLuint *buffers ) */ 957static void 958android_glGenBuffers__ILjava_nio_IntBuffer_2 959 (JNIEnv *_env, jobject _this, jint n, jobject buffers_buf) { 960 jint _exception = 0; 961 jarray _array = (jarray) 0; 962 jint _remaining; 963 GLuint *buffers = (GLuint *) 0; 964 965 buffers = (GLuint *)getPointer(_env, buffers_buf, &_array, &_remaining); 966 if (_remaining < n) { 967 _exception = 1; 968 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 969 goto exit; 970 } 971 glGenBuffers( 972 (GLsizei)n, 973 (GLuint *)buffers 974 ); 975 976exit: 977 if (_array) { 978 releasePointer(_env, _array, buffers, _exception ? JNI_FALSE : JNI_TRUE); 979 } 980} 981 982/* void glGenerateMipmap ( GLenum target ) */ 983static void 984android_glGenerateMipmap__I 985 (JNIEnv *_env, jobject _this, jint target) { 986 glGenerateMipmap( 987 (GLenum)target 988 ); 989} 990 991/* void glGenFramebuffers ( GLsizei n, GLuint *framebuffers ) */ 992static void 993android_glGenFramebuffers__I_3II 994 (JNIEnv *_env, jobject _this, jint n, jintArray framebuffers_ref, jint offset) { 995 jint _exception = 0; 996 GLuint *framebuffers_base = (GLuint *) 0; 997 jint _remaining; 998 GLuint *framebuffers = (GLuint *) 0; 999 1000 if (!framebuffers_ref) { 1001 _exception = 1; 1002 jniThrowException(_env, "java/lang/IllegalArgumentException", "framebuffers == null"); 1003 goto exit; 1004 } 1005 if (offset < 0) { 1006 _exception = 1; 1007 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1008 goto exit; 1009 } 1010 _remaining = _env->GetArrayLength(framebuffers_ref) - offset; 1011 framebuffers_base = (GLuint *) 1012 _env->GetPrimitiveArrayCritical(framebuffers_ref, (jboolean *)0); 1013 framebuffers = framebuffers_base + offset; 1014 1015 glGenFramebuffers( 1016 (GLsizei)n, 1017 (GLuint *)framebuffers 1018 ); 1019 1020exit: 1021 if (framebuffers_base) { 1022 _env->ReleasePrimitiveArrayCritical(framebuffers_ref, framebuffers_base, 1023 _exception ? JNI_ABORT: 0); 1024 } 1025} 1026 1027/* void glGenFramebuffers ( GLsizei n, GLuint *framebuffers ) */ 1028static void 1029android_glGenFramebuffers__ILjava_nio_IntBuffer_2 1030 (JNIEnv *_env, jobject _this, jint n, jobject framebuffers_buf) { 1031 jint _exception = 0; 1032 jarray _array = (jarray) 0; 1033 jint _remaining; 1034 GLuint *framebuffers = (GLuint *) 0; 1035 1036 framebuffers = (GLuint *)getPointer(_env, framebuffers_buf, &_array, &_remaining); 1037 glGenFramebuffers( 1038 (GLsizei)n, 1039 (GLuint *)framebuffers 1040 ); 1041 if (_array) { 1042 releasePointer(_env, _array, framebuffers, _exception ? JNI_FALSE : JNI_TRUE); 1043 } 1044} 1045 1046/* void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers ) */ 1047static void 1048android_glGenRenderbuffers__I_3II 1049 (JNIEnv *_env, jobject _this, jint n, jintArray renderbuffers_ref, jint offset) { 1050 jint _exception = 0; 1051 GLuint *renderbuffers_base = (GLuint *) 0; 1052 jint _remaining; 1053 GLuint *renderbuffers = (GLuint *) 0; 1054 1055 if (!renderbuffers_ref) { 1056 _exception = 1; 1057 jniThrowException(_env, "java/lang/IllegalArgumentException", "renderbuffers == null"); 1058 goto exit; 1059 } 1060 if (offset < 0) { 1061 _exception = 1; 1062 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1063 goto exit; 1064 } 1065 _remaining = _env->GetArrayLength(renderbuffers_ref) - offset; 1066 renderbuffers_base = (GLuint *) 1067 _env->GetPrimitiveArrayCritical(renderbuffers_ref, (jboolean *)0); 1068 renderbuffers = renderbuffers_base + offset; 1069 1070 glGenRenderbuffers( 1071 (GLsizei)n, 1072 (GLuint *)renderbuffers 1073 ); 1074 1075exit: 1076 if (renderbuffers_base) { 1077 _env->ReleasePrimitiveArrayCritical(renderbuffers_ref, renderbuffers_base, 1078 _exception ? JNI_ABORT: 0); 1079 } 1080} 1081 1082/* void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers ) */ 1083static void 1084android_glGenRenderbuffers__ILjava_nio_IntBuffer_2 1085 (JNIEnv *_env, jobject _this, jint n, jobject renderbuffers_buf) { 1086 jint _exception = 0; 1087 jarray _array = (jarray) 0; 1088 jint _remaining; 1089 GLuint *renderbuffers = (GLuint *) 0; 1090 1091 renderbuffers = (GLuint *)getPointer(_env, renderbuffers_buf, &_array, &_remaining); 1092 glGenRenderbuffers( 1093 (GLsizei)n, 1094 (GLuint *)renderbuffers 1095 ); 1096 if (_array) { 1097 releasePointer(_env, _array, renderbuffers, _exception ? JNI_FALSE : JNI_TRUE); 1098 } 1099} 1100 1101/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1102static void 1103android_glGenTextures__I_3II 1104 (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { 1105 jint _exception = 0; 1106 GLuint *textures_base = (GLuint *) 0; 1107 jint _remaining; 1108 GLuint *textures = (GLuint *) 0; 1109 1110 if (!textures_ref) { 1111 _exception = 1; 1112 jniThrowException(_env, "java/lang/IllegalArgumentException", "textures == null"); 1113 goto exit; 1114 } 1115 if (offset < 0) { 1116 _exception = 1; 1117 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1118 goto exit; 1119 } 1120 _remaining = _env->GetArrayLength(textures_ref) - offset; 1121 if (_remaining < n) { 1122 _exception = 1; 1123 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < n"); 1124 goto exit; 1125 } 1126 textures_base = (GLuint *) 1127 _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); 1128 textures = textures_base + offset; 1129 1130 glGenTextures( 1131 (GLsizei)n, 1132 (GLuint *)textures 1133 ); 1134 1135exit: 1136 if (textures_base) { 1137 _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, 1138 _exception ? JNI_ABORT: 0); 1139 } 1140} 1141 1142/* void glGenTextures ( GLsizei n, GLuint *textures ) */ 1143static void 1144android_glGenTextures__ILjava_nio_IntBuffer_2 1145 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { 1146 jint _exception = 0; 1147 jarray _array = (jarray) 0; 1148 jint _remaining; 1149 GLuint *textures = (GLuint *) 0; 1150 1151 textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining); 1152 if (_remaining < n) { 1153 _exception = 1; 1154 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < n"); 1155 goto exit; 1156 } 1157 glGenTextures( 1158 (GLsizei)n, 1159 (GLuint *)textures 1160 ); 1161 1162exit: 1163 if (_array) { 1164 releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); 1165 } 1166} 1167 1168/* void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1169static void 1170android_glGetActiveAttrib__III_3II_3II_3II_3BI 1171 (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jintArray length_ref, jint lengthOffset, jintArray size_ref, jint sizeOffset, jintArray type_ref, jint typeOffset, jbyteArray name_ref, jint nameOffset) { 1172 jint _exception = 0; 1173 GLsizei *length_base = (GLsizei *) 0; 1174 jint _lengthRemaining; 1175 GLsizei *length = (GLsizei *) 0; 1176 GLint *size_base = (GLint *) 0; 1177 jint _sizeRemaining; 1178 GLint *size = (GLint *) 0; 1179 GLenum *type_base = (GLenum *) 0; 1180 jint _typeRemaining; 1181 GLenum *type = (GLenum *) 0; 1182 char *name_base = (char *) 0; 1183 jint _nameRemaining; 1184 char *name = (char *) 0; 1185 1186 if (!length_ref) { 1187 _exception = 1; 1188 jniThrowException(_env, "java/lang/IllegalArgumentException", "length == null"); 1189 goto exit; 1190 } 1191 if (lengthOffset < 0) { 1192 _exception = 1; 1193 jniThrowException(_env, "java/lang/IllegalArgumentException", "lengthOffset < 0"); 1194 goto exit; 1195 } 1196 _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 1197 length_base = (GLsizei *) 1198 _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 1199 length = length_base + lengthOffset; 1200 1201 if (!size_ref) { 1202 _exception = 1; 1203 jniThrowException(_env, "java/lang/IllegalArgumentException", "size == null"); 1204 goto exit; 1205 } 1206 if (sizeOffset < 0) { 1207 _exception = 1; 1208 jniThrowException(_env, "java/lang/IllegalArgumentException", "sizeOffset < 0"); 1209 goto exit; 1210 } 1211 _sizeRemaining = _env->GetArrayLength(size_ref) - sizeOffset; 1212 size_base = (GLint *) 1213 _env->GetPrimitiveArrayCritical(size_ref, (jboolean *)0); 1214 size = size_base + sizeOffset; 1215 1216 if (!type_ref) { 1217 _exception = 1; 1218 jniThrowException(_env, "java/lang/IllegalArgumentException", "type == null"); 1219 goto exit; 1220 } 1221 if (typeOffset < 0) { 1222 _exception = 1; 1223 jniThrowException(_env, "java/lang/IllegalArgumentException", "typeOffset < 0"); 1224 goto exit; 1225 } 1226 _typeRemaining = _env->GetArrayLength(type_ref) - typeOffset; 1227 type_base = (GLenum *) 1228 _env->GetPrimitiveArrayCritical(type_ref, (jboolean *)0); 1229 type = type_base + typeOffset; 1230 1231 if (!name_ref) { 1232 _exception = 1; 1233 jniThrowException(_env, "java/lang/IllegalArgumentException", "name == null"); 1234 goto exit; 1235 } 1236 if (nameOffset < 0) { 1237 _exception = 1; 1238 jniThrowException(_env, "java/lang/IllegalArgumentException", "nameOffset < 0"); 1239 goto exit; 1240 } 1241 _nameRemaining = _env->GetArrayLength(name_ref) - nameOffset; 1242 name_base = (char *) 1243 _env->GetPrimitiveArrayCritical(name_ref, (jboolean *)0); 1244 name = name_base + nameOffset; 1245 1246 glGetActiveAttrib( 1247 (GLuint)program, 1248 (GLuint)index, 1249 (GLsizei)bufsize, 1250 (GLsizei *)length, 1251 (GLint *)size, 1252 (GLenum *)type, 1253 (char *)name 1254 ); 1255 1256exit: 1257 if (name_base) { 1258 _env->ReleasePrimitiveArrayCritical(name_ref, name_base, 1259 _exception ? JNI_ABORT: 0); 1260 } 1261 if (type_base) { 1262 _env->ReleasePrimitiveArrayCritical(type_ref, type_base, 1263 _exception ? JNI_ABORT: 0); 1264 } 1265 if (size_base) { 1266 _env->ReleasePrimitiveArrayCritical(size_ref, size_base, 1267 _exception ? JNI_ABORT: 0); 1268 } 1269 if (length_base) { 1270 _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 1271 _exception ? JNI_ABORT: 0); 1272 } 1273} 1274 1275/* void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1276static void 1277android_glGetActiveAttrib__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B 1278 (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jobject length_buf, jobject size_buf, jobject type_buf, jbyte name) { 1279 jint _exception = 0; 1280 jarray _lengthArray = (jarray) 0; 1281 jarray _sizeArray = (jarray) 0; 1282 jarray _typeArray = (jarray) 0; 1283 jint _lengthRemaining; 1284 GLsizei *length = (GLsizei *) 0; 1285 jint _sizeRemaining; 1286 GLint *size = (GLint *) 0; 1287 jint _typeRemaining; 1288 GLenum *type = (GLenum *) 0; 1289 1290 length = (GLsizei *)getPointer(_env, length_buf, &_lengthArray, &_lengthRemaining); 1291 size = (GLint *)getPointer(_env, size_buf, &_sizeArray, &_sizeRemaining); 1292 type = (GLenum *)getPointer(_env, type_buf, &_typeArray, &_typeRemaining); 1293 glGetActiveAttrib( 1294 (GLuint)program, 1295 (GLuint)index, 1296 (GLsizei)bufsize, 1297 (GLsizei *)length, 1298 (GLint *)size, 1299 (GLenum *)type, 1300 (char *)name 1301 ); 1302 if (_lengthArray) { 1303 releasePointer(_env, _lengthArray, type, _exception ? JNI_FALSE : JNI_TRUE); 1304 } 1305 if (_sizeArray) { 1306 releasePointer(_env, _sizeArray, size, _exception ? JNI_FALSE : JNI_TRUE); 1307 } 1308 if (_typeArray) { 1309 releasePointer(_env, _typeArray, length, _exception ? JNI_FALSE : JNI_TRUE); 1310 } 1311} 1312 1313/* void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1314static void 1315android_glGetActiveUniform__III_3II_3II_3II_3BI 1316 (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jintArray length_ref, jint lengthOffset, jintArray size_ref, jint sizeOffset, jintArray type_ref, jint typeOffset, jbyteArray name_ref, jint nameOffset) { 1317 jint _exception = 0; 1318 GLsizei *length_base = (GLsizei *) 0; 1319 jint _lengthRemaining; 1320 GLsizei *length = (GLsizei *) 0; 1321 GLint *size_base = (GLint *) 0; 1322 jint _sizeRemaining; 1323 GLint *size = (GLint *) 0; 1324 GLenum *type_base = (GLenum *) 0; 1325 jint _typeRemaining; 1326 GLenum *type = (GLenum *) 0; 1327 char *name_base = (char *) 0; 1328 jint _nameRemaining; 1329 char *name = (char *) 0; 1330 1331 if (!length_ref) { 1332 _exception = 1; 1333 jniThrowException(_env, "java/lang/IllegalArgumentException", "length == null"); 1334 goto exit; 1335 } 1336 if (lengthOffset < 0) { 1337 _exception = 1; 1338 jniThrowException(_env, "java/lang/IllegalArgumentException", "lengthOffset < 0"); 1339 goto exit; 1340 } 1341 _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 1342 length_base = (GLsizei *) 1343 _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 1344 length = length_base + lengthOffset; 1345 1346 if (!size_ref) { 1347 _exception = 1; 1348 jniThrowException(_env, "java/lang/IllegalArgumentException", "size == null"); 1349 goto exit; 1350 } 1351 if (sizeOffset < 0) { 1352 _exception = 1; 1353 jniThrowException(_env, "java/lang/IllegalArgumentException", "sizeOffset < 0"); 1354 goto exit; 1355 } 1356 _sizeRemaining = _env->GetArrayLength(size_ref) - sizeOffset; 1357 size_base = (GLint *) 1358 _env->GetPrimitiveArrayCritical(size_ref, (jboolean *)0); 1359 size = size_base + sizeOffset; 1360 1361 if (!type_ref) { 1362 _exception = 1; 1363 jniThrowException(_env, "java/lang/IllegalArgumentException", "type == null"); 1364 goto exit; 1365 } 1366 if (typeOffset < 0) { 1367 _exception = 1; 1368 jniThrowException(_env, "java/lang/IllegalArgumentException", "typeOffset < 0"); 1369 goto exit; 1370 } 1371 _typeRemaining = _env->GetArrayLength(type_ref) - typeOffset; 1372 type_base = (GLenum *) 1373 _env->GetPrimitiveArrayCritical(type_ref, (jboolean *)0); 1374 type = type_base + typeOffset; 1375 1376 if (!name_ref) { 1377 _exception = 1; 1378 jniThrowException(_env, "java/lang/IllegalArgumentException", "name == null"); 1379 goto exit; 1380 } 1381 if (nameOffset < 0) { 1382 _exception = 1; 1383 jniThrowException(_env, "java/lang/IllegalArgumentException", "nameOffset < 0"); 1384 goto exit; 1385 } 1386 _nameRemaining = _env->GetArrayLength(name_ref) - nameOffset; 1387 name_base = (char *) 1388 _env->GetPrimitiveArrayCritical(name_ref, (jboolean *)0); 1389 name = name_base + nameOffset; 1390 1391 glGetActiveUniform( 1392 (GLuint)program, 1393 (GLuint)index, 1394 (GLsizei)bufsize, 1395 (GLsizei *)length, 1396 (GLint *)size, 1397 (GLenum *)type, 1398 (char *)name 1399 ); 1400 1401exit: 1402 if (name_base) { 1403 _env->ReleasePrimitiveArrayCritical(name_ref, name_base, 1404 _exception ? JNI_ABORT: 0); 1405 } 1406 if (type_base) { 1407 _env->ReleasePrimitiveArrayCritical(type_ref, type_base, 1408 _exception ? JNI_ABORT: 0); 1409 } 1410 if (size_base) { 1411 _env->ReleasePrimitiveArrayCritical(size_ref, size_base, 1412 _exception ? JNI_ABORT: 0); 1413 } 1414 if (length_base) { 1415 _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 1416 _exception ? JNI_ABORT: 0); 1417 } 1418} 1419 1420/* void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) */ 1421static void 1422android_glGetActiveUniform__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B 1423 (JNIEnv *_env, jobject _this, jint program, jint index, jint bufsize, jobject length_buf, jobject size_buf, jobject type_buf, jbyte name) { 1424 jint _exception = 0; 1425 jarray _lengthArray = (jarray) 0; 1426 jarray _sizeArray = (jarray) 0; 1427 jarray _typeArray = (jarray) 0; 1428 jint _lengthRemaining; 1429 GLsizei *length = (GLsizei *) 0; 1430 jint _sizeRemaining; 1431 GLint *size = (GLint *) 0; 1432 jint _typeRemaining; 1433 GLenum *type = (GLenum *) 0; 1434 1435 length = (GLsizei *)getPointer(_env, length_buf, &_lengthArray, &_lengthRemaining); 1436 size = (GLint *)getPointer(_env, size_buf, &_sizeArray, &_sizeRemaining); 1437 type = (GLenum *)getPointer(_env, type_buf, &_typeArray, &_typeRemaining); 1438 glGetActiveUniform( 1439 (GLuint)program, 1440 (GLuint)index, 1441 (GLsizei)bufsize, 1442 (GLsizei *)length, 1443 (GLint *)size, 1444 (GLenum *)type, 1445 (char *)name 1446 ); 1447 if (_lengthArray) { 1448 releasePointer(_env, _lengthArray, type, _exception ? JNI_FALSE : JNI_TRUE); 1449 } 1450 if (_sizeArray) { 1451 releasePointer(_env, _sizeArray, size, _exception ? JNI_FALSE : JNI_TRUE); 1452 } 1453 if (_typeArray) { 1454 releasePointer(_env, _typeArray, length, _exception ? JNI_FALSE : JNI_TRUE); 1455 } 1456} 1457 1458/* void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders ) */ 1459static void 1460android_glGetAttachedShaders__II_3II_3II 1461 (JNIEnv *_env, jobject _this, jint program, jint maxcount, jintArray count_ref, jint countOffset, jintArray shaders_ref, jint shadersOffset) { 1462 jint _exception = 0; 1463 GLsizei *count_base = (GLsizei *) 0; 1464 jint _countRemaining; 1465 GLsizei *count = (GLsizei *) 0; 1466 GLuint *shaders_base = (GLuint *) 0; 1467 jint _shadersRemaining; 1468 GLuint *shaders = (GLuint *) 0; 1469 1470 if (!count_ref) { 1471 _exception = 1; 1472 jniThrowException(_env, "java/lang/IllegalArgumentException", "count == null"); 1473 goto exit; 1474 } 1475 if (countOffset < 0) { 1476 _exception = 1; 1477 jniThrowException(_env, "java/lang/IllegalArgumentException", "countOffset < 0"); 1478 goto exit; 1479 } 1480 _countRemaining = _env->GetArrayLength(count_ref) - countOffset; 1481 count_base = (GLsizei *) 1482 _env->GetPrimitiveArrayCritical(count_ref, (jboolean *)0); 1483 count = count_base + countOffset; 1484 1485 if (!shaders_ref) { 1486 _exception = 1; 1487 jniThrowException(_env, "java/lang/IllegalArgumentException", "shaders == null"); 1488 goto exit; 1489 } 1490 if (shadersOffset < 0) { 1491 _exception = 1; 1492 jniThrowException(_env, "java/lang/IllegalArgumentException", "shadersOffset < 0"); 1493 goto exit; 1494 } 1495 _shadersRemaining = _env->GetArrayLength(shaders_ref) - shadersOffset; 1496 shaders_base = (GLuint *) 1497 _env->GetPrimitiveArrayCritical(shaders_ref, (jboolean *)0); 1498 shaders = shaders_base + shadersOffset; 1499 1500 glGetAttachedShaders( 1501 (GLuint)program, 1502 (GLsizei)maxcount, 1503 (GLsizei *)count, 1504 (GLuint *)shaders 1505 ); 1506 1507exit: 1508 if (shaders_base) { 1509 _env->ReleasePrimitiveArrayCritical(shaders_ref, shaders_base, 1510 _exception ? JNI_ABORT: 0); 1511 } 1512 if (count_base) { 1513 _env->ReleasePrimitiveArrayCritical(count_ref, count_base, 1514 _exception ? JNI_ABORT: 0); 1515 } 1516} 1517 1518/* void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders ) */ 1519static void 1520android_glGetAttachedShaders__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 1521 (JNIEnv *_env, jobject _this, jint program, jint maxcount, jobject count_buf, jobject shaders_buf) { 1522 jint _exception = 0; 1523 jarray _countArray = (jarray) 0; 1524 jarray _shadersArray = (jarray) 0; 1525 jint _countRemaining; 1526 GLsizei *count = (GLsizei *) 0; 1527 jint _shadersRemaining; 1528 GLuint *shaders = (GLuint *) 0; 1529 1530 count = (GLsizei *)getPointer(_env, count_buf, &_countArray, &_countRemaining); 1531 shaders = (GLuint *)getPointer(_env, shaders_buf, &_shadersArray, &_shadersRemaining); 1532 glGetAttachedShaders( 1533 (GLuint)program, 1534 (GLsizei)maxcount, 1535 (GLsizei *)count, 1536 (GLuint *)shaders 1537 ); 1538 if (_countArray) { 1539 releasePointer(_env, _countArray, shaders, _exception ? JNI_FALSE : JNI_TRUE); 1540 } 1541 if (_shadersArray) { 1542 releasePointer(_env, _shadersArray, count, _exception ? JNI_FALSE : JNI_TRUE); 1543 } 1544} 1545 1546/* int glGetAttribLocation ( GLuint program, const char *name ) */ 1547static jint 1548android_glGetAttribLocation__ILjava_lang_String_2 1549 (JNIEnv *_env, jobject _this, jint program, jstring name) { 1550 int _returnValue = 0; 1551 const char* _nativename = 0; 1552 1553 if (!name) { 1554 jniThrowException(_env, "java/lang/IllegalArgumentException", "name == null"); 1555 goto exit; 1556 } 1557 _nativename = _env->GetStringUTFChars(name, 0); 1558 1559 _returnValue = glGetAttribLocation( 1560 (GLuint)program, 1561 (char *)_nativename 1562 ); 1563 1564exit: 1565 if (_nativename) { 1566 _env->ReleaseStringUTFChars(name, _nativename); 1567 } 1568 1569 return _returnValue; 1570} 1571 1572/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 1573static void 1574android_glGetBooleanv__I_3ZI 1575 (JNIEnv *_env, jobject _this, jint pname, jbooleanArray params_ref, jint offset) { 1576 jint _exception = 0; 1577 GLboolean *params_base = (GLboolean *) 0; 1578 jint _remaining; 1579 GLboolean *params = (GLboolean *) 0; 1580 1581 if (!params_ref) { 1582 _exception = 1; 1583 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1584 goto exit; 1585 } 1586 if (offset < 0) { 1587 _exception = 1; 1588 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1589 goto exit; 1590 } 1591 _remaining = _env->GetArrayLength(params_ref) - offset; 1592 params_base = (GLboolean *) 1593 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1594 params = params_base + offset; 1595 1596 glGetBooleanv( 1597 (GLenum)pname, 1598 (GLboolean *)params 1599 ); 1600 1601exit: 1602 if (params_base) { 1603 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1604 _exception ? JNI_ABORT: 0); 1605 } 1606} 1607 1608/* void glGetBooleanv ( GLenum pname, GLboolean *params ) */ 1609static void 1610android_glGetBooleanv__ILjava_nio_IntBuffer_2 1611 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1612 jint _exception = 0; 1613 jarray _array = (jarray) 0; 1614 jint _remaining; 1615 GLboolean *params = (GLboolean *) 0; 1616 1617 params = (GLboolean *)getPointer(_env, params_buf, &_array, &_remaining); 1618 glGetBooleanv( 1619 (GLenum)pname, 1620 (GLboolean *)params 1621 ); 1622 if (_array) { 1623 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1624 } 1625} 1626 1627/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1628static void 1629android_glGetBufferParameteriv__II_3II 1630 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 1631 jint _exception = 0; 1632 GLint *params_base = (GLint *) 0; 1633 jint _remaining; 1634 GLint *params = (GLint *) 0; 1635 1636 if (!params_ref) { 1637 _exception = 1; 1638 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1639 goto exit; 1640 } 1641 if (offset < 0) { 1642 _exception = 1; 1643 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1644 goto exit; 1645 } 1646 _remaining = _env->GetArrayLength(params_ref) - offset; 1647 if (_remaining < 1) { 1648 _exception = 1; 1649 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 1650 goto exit; 1651 } 1652 params_base = (GLint *) 1653 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1654 params = params_base + offset; 1655 1656 glGetBufferParameteriv( 1657 (GLenum)target, 1658 (GLenum)pname, 1659 (GLint *)params 1660 ); 1661 1662exit: 1663 if (params_base) { 1664 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1665 _exception ? JNI_ABORT: 0); 1666 } 1667} 1668 1669/* void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 1670static void 1671android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 1672 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 1673 jint _exception = 0; 1674 jarray _array = (jarray) 0; 1675 jint _remaining; 1676 GLint *params = (GLint *) 0; 1677 1678 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1679 if (_remaining < 1) { 1680 _exception = 1; 1681 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 1682 goto exit; 1683 } 1684 glGetBufferParameteriv( 1685 (GLenum)target, 1686 (GLenum)pname, 1687 (GLint *)params 1688 ); 1689 1690exit: 1691 if (_array) { 1692 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1693 } 1694} 1695 1696/* GLenum glGetError ( void ) */ 1697static jint 1698android_glGetError__ 1699 (JNIEnv *_env, jobject _this) { 1700 GLenum _returnValue; 1701 _returnValue = glGetError(); 1702 return _returnValue; 1703} 1704 1705/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 1706static void 1707android_glGetFloatv__I_3FI 1708 (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { 1709 jint _exception = 0; 1710 GLfloat *params_base = (GLfloat *) 0; 1711 jint _remaining; 1712 GLfloat *params = (GLfloat *) 0; 1713 1714 if (!params_ref) { 1715 _exception = 1; 1716 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1717 goto exit; 1718 } 1719 if (offset < 0) { 1720 _exception = 1; 1721 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1722 goto exit; 1723 } 1724 _remaining = _env->GetArrayLength(params_ref) - offset; 1725 params_base = (GLfloat *) 1726 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1727 params = params_base + offset; 1728 1729 glGetFloatv( 1730 (GLenum)pname, 1731 (GLfloat *)params 1732 ); 1733 1734exit: 1735 if (params_base) { 1736 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1737 _exception ? JNI_ABORT: 0); 1738 } 1739} 1740 1741/* void glGetFloatv ( GLenum pname, GLfloat *params ) */ 1742static void 1743android_glGetFloatv__ILjava_nio_FloatBuffer_2 1744 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 1745 jint _exception = 0; 1746 jarray _array = (jarray) 0; 1747 jint _remaining; 1748 GLfloat *params = (GLfloat *) 0; 1749 1750 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 1751 glGetFloatv( 1752 (GLenum)pname, 1753 (GLfloat *)params 1754 ); 1755 if (_array) { 1756 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1757 } 1758} 1759 1760/* void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 1761static void 1762android_glGetFramebufferAttachmentParameteriv__III_3II 1763 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jintArray params_ref, jint offset) { 1764 jint _exception = 0; 1765 GLint *params_base = (GLint *) 0; 1766 jint _remaining; 1767 GLint *params = (GLint *) 0; 1768 1769 if (!params_ref) { 1770 _exception = 1; 1771 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1772 goto exit; 1773 } 1774 if (offset < 0) { 1775 _exception = 1; 1776 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1777 goto exit; 1778 } 1779 _remaining = _env->GetArrayLength(params_ref) - offset; 1780 params_base = (GLint *) 1781 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 1782 params = params_base + offset; 1783 1784 glGetFramebufferAttachmentParameteriv( 1785 (GLenum)target, 1786 (GLenum)attachment, 1787 (GLenum)pname, 1788 (GLint *)params 1789 ); 1790 1791exit: 1792 if (params_base) { 1793 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 1794 _exception ? JNI_ABORT: 0); 1795 } 1796} 1797 1798/* void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params ) */ 1799static void 1800android_glGetFramebufferAttachmentParameteriv__IIILjava_nio_IntBuffer_2 1801 (JNIEnv *_env, jobject _this, jint target, jint attachment, jint pname, jobject params_buf) { 1802 jint _exception = 0; 1803 jarray _array = (jarray) 0; 1804 jint _remaining; 1805 GLint *params = (GLint *) 0; 1806 1807 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 1808 glGetFramebufferAttachmentParameteriv( 1809 (GLenum)target, 1810 (GLenum)attachment, 1811 (GLenum)pname, 1812 (GLint *)params 1813 ); 1814 if (_array) { 1815 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 1816 } 1817} 1818 1819/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 1820static void 1821android_glGetIntegerv__I_3II 1822 (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { 1823 jint _exception = 0; 1824 GLint *params_base = (GLint *) 0; 1825 jint _remaining; 1826 GLint *params = (GLint *) 0; 1827 1828 if (!params_ref) { 1829 _exception = 1; 1830 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 1831 goto exit; 1832 } 1833 if (offset < 0) { 1834 _exception = 1; 1835 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 1836 goto exit; 1837 } 1838 _remaining = _env->GetArrayLength(params_ref) - offset; 1839 int _needed; 1840 switch (pname) { 1841#if defined(GL_ALPHA_BITS) 1842 case GL_ALPHA_BITS: 1843#endif // defined(GL_ALPHA_BITS) 1844#if defined(GL_ALPHA_TEST_FUNC) 1845 case GL_ALPHA_TEST_FUNC: 1846#endif // defined(GL_ALPHA_TEST_FUNC) 1847#if defined(GL_ALPHA_TEST_REF) 1848 case GL_ALPHA_TEST_REF: 1849#endif // defined(GL_ALPHA_TEST_REF) 1850#if defined(GL_BLEND_DST) 1851 case GL_BLEND_DST: 1852#endif // defined(GL_BLEND_DST) 1853#if defined(GL_BLUE_BITS) 1854 case GL_BLUE_BITS: 1855#endif // defined(GL_BLUE_BITS) 1856#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1857 case GL_COLOR_ARRAY_BUFFER_BINDING: 1858#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 1859#if defined(GL_COLOR_ARRAY_SIZE) 1860 case GL_COLOR_ARRAY_SIZE: 1861#endif // defined(GL_COLOR_ARRAY_SIZE) 1862#if defined(GL_COLOR_ARRAY_STRIDE) 1863 case GL_COLOR_ARRAY_STRIDE: 1864#endif // defined(GL_COLOR_ARRAY_STRIDE) 1865#if defined(GL_COLOR_ARRAY_TYPE) 1866 case GL_COLOR_ARRAY_TYPE: 1867#endif // defined(GL_COLOR_ARRAY_TYPE) 1868#if defined(GL_CULL_FACE) 1869 case GL_CULL_FACE: 1870#endif // defined(GL_CULL_FACE) 1871#if defined(GL_DEPTH_BITS) 1872 case GL_DEPTH_BITS: 1873#endif // defined(GL_DEPTH_BITS) 1874#if defined(GL_DEPTH_CLEAR_VALUE) 1875 case GL_DEPTH_CLEAR_VALUE: 1876#endif // defined(GL_DEPTH_CLEAR_VALUE) 1877#if defined(GL_DEPTH_FUNC) 1878 case GL_DEPTH_FUNC: 1879#endif // defined(GL_DEPTH_FUNC) 1880#if defined(GL_DEPTH_WRITEMASK) 1881 case GL_DEPTH_WRITEMASK: 1882#endif // defined(GL_DEPTH_WRITEMASK) 1883#if defined(GL_FOG_DENSITY) 1884 case GL_FOG_DENSITY: 1885#endif // defined(GL_FOG_DENSITY) 1886#if defined(GL_FOG_END) 1887 case GL_FOG_END: 1888#endif // defined(GL_FOG_END) 1889#if defined(GL_FOG_MODE) 1890 case GL_FOG_MODE: 1891#endif // defined(GL_FOG_MODE) 1892#if defined(GL_FOG_START) 1893 case GL_FOG_START: 1894#endif // defined(GL_FOG_START) 1895#if defined(GL_FRONT_FACE) 1896 case GL_FRONT_FACE: 1897#endif // defined(GL_FRONT_FACE) 1898#if defined(GL_GREEN_BITS) 1899 case GL_GREEN_BITS: 1900#endif // defined(GL_GREEN_BITS) 1901#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1902 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 1903#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 1904#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1905 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 1906#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 1907#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1908 case GL_LIGHT_MODEL_COLOR_CONTROL: 1909#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 1910#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1911 case GL_LIGHT_MODEL_LOCAL_VIEWER: 1912#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 1913#if defined(GL_LIGHT_MODEL_TWO_SIDE) 1914 case GL_LIGHT_MODEL_TWO_SIDE: 1915#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 1916#if defined(GL_LINE_SMOOTH_HINT) 1917 case GL_LINE_SMOOTH_HINT: 1918#endif // defined(GL_LINE_SMOOTH_HINT) 1919#if defined(GL_LINE_WIDTH) 1920 case GL_LINE_WIDTH: 1921#endif // defined(GL_LINE_WIDTH) 1922#if defined(GL_LOGIC_OP_MODE) 1923 case GL_LOGIC_OP_MODE: 1924#endif // defined(GL_LOGIC_OP_MODE) 1925#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1926 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 1927#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 1928#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1929 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 1930#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 1931#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1932 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 1933#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 1934#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1935 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 1936#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 1937#if defined(GL_MATRIX_MODE) 1938 case GL_MATRIX_MODE: 1939#endif // defined(GL_MATRIX_MODE) 1940#if defined(GL_MAX_CLIP_PLANES) 1941 case GL_MAX_CLIP_PLANES: 1942#endif // defined(GL_MAX_CLIP_PLANES) 1943#if defined(GL_MAX_ELEMENTS_INDICES) 1944 case GL_MAX_ELEMENTS_INDICES: 1945#endif // defined(GL_MAX_ELEMENTS_INDICES) 1946#if defined(GL_MAX_ELEMENTS_VERTICES) 1947 case GL_MAX_ELEMENTS_VERTICES: 1948#endif // defined(GL_MAX_ELEMENTS_VERTICES) 1949#if defined(GL_MAX_LIGHTS) 1950 case GL_MAX_LIGHTS: 1951#endif // defined(GL_MAX_LIGHTS) 1952#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1953 case GL_MAX_MODELVIEW_STACK_DEPTH: 1954#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 1955#if defined(GL_MAX_PALETTE_MATRICES_OES) 1956 case GL_MAX_PALETTE_MATRICES_OES: 1957#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 1958#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 1959 case GL_MAX_PROJECTION_STACK_DEPTH: 1960#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 1961#if defined(GL_MAX_TEXTURE_SIZE) 1962 case GL_MAX_TEXTURE_SIZE: 1963#endif // defined(GL_MAX_TEXTURE_SIZE) 1964#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 1965 case GL_MAX_TEXTURE_STACK_DEPTH: 1966#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 1967#if defined(GL_MAX_TEXTURE_UNITS) 1968 case GL_MAX_TEXTURE_UNITS: 1969#endif // defined(GL_MAX_TEXTURE_UNITS) 1970#if defined(GL_MAX_VERTEX_UNITS_OES) 1971 case GL_MAX_VERTEX_UNITS_OES: 1972#endif // defined(GL_MAX_VERTEX_UNITS_OES) 1973#if defined(GL_MODELVIEW_STACK_DEPTH) 1974 case GL_MODELVIEW_STACK_DEPTH: 1975#endif // defined(GL_MODELVIEW_STACK_DEPTH) 1976#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1977 case GL_NORMAL_ARRAY_BUFFER_BINDING: 1978#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 1979#if defined(GL_NORMAL_ARRAY_STRIDE) 1980 case GL_NORMAL_ARRAY_STRIDE: 1981#endif // defined(GL_NORMAL_ARRAY_STRIDE) 1982#if defined(GL_NORMAL_ARRAY_TYPE) 1983 case GL_NORMAL_ARRAY_TYPE: 1984#endif // defined(GL_NORMAL_ARRAY_TYPE) 1985#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1986 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1987#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 1988#if defined(GL_PACK_ALIGNMENT) 1989 case GL_PACK_ALIGNMENT: 1990#endif // defined(GL_PACK_ALIGNMENT) 1991#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 1992 case GL_PERSPECTIVE_CORRECTION_HINT: 1993#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 1994#if defined(GL_POINT_SIZE) 1995 case GL_POINT_SIZE: 1996#endif // defined(GL_POINT_SIZE) 1997#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 1998 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 1999#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2000#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2001 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 2002#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2003#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2004 case GL_POINT_SIZE_ARRAY_TYPE_OES: 2005#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2006#if defined(GL_POINT_SMOOTH_HINT) 2007 case GL_POINT_SMOOTH_HINT: 2008#endif // defined(GL_POINT_SMOOTH_HINT) 2009#if defined(GL_POLYGON_OFFSET_FACTOR) 2010 case GL_POLYGON_OFFSET_FACTOR: 2011#endif // defined(GL_POLYGON_OFFSET_FACTOR) 2012#if defined(GL_POLYGON_OFFSET_UNITS) 2013 case GL_POLYGON_OFFSET_UNITS: 2014#endif // defined(GL_POLYGON_OFFSET_UNITS) 2015#if defined(GL_PROJECTION_STACK_DEPTH) 2016 case GL_PROJECTION_STACK_DEPTH: 2017#endif // defined(GL_PROJECTION_STACK_DEPTH) 2018#if defined(GL_RED_BITS) 2019 case GL_RED_BITS: 2020#endif // defined(GL_RED_BITS) 2021#if defined(GL_SHADE_MODEL) 2022 case GL_SHADE_MODEL: 2023#endif // defined(GL_SHADE_MODEL) 2024#if defined(GL_STENCIL_BITS) 2025 case GL_STENCIL_BITS: 2026#endif // defined(GL_STENCIL_BITS) 2027#if defined(GL_STENCIL_CLEAR_VALUE) 2028 case GL_STENCIL_CLEAR_VALUE: 2029#endif // defined(GL_STENCIL_CLEAR_VALUE) 2030#if defined(GL_STENCIL_FAIL) 2031 case GL_STENCIL_FAIL: 2032#endif // defined(GL_STENCIL_FAIL) 2033#if defined(GL_STENCIL_FUNC) 2034 case GL_STENCIL_FUNC: 2035#endif // defined(GL_STENCIL_FUNC) 2036#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 2037 case GL_STENCIL_PASS_DEPTH_FAIL: 2038#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 2039#if defined(GL_STENCIL_PASS_DEPTH_PASS) 2040 case GL_STENCIL_PASS_DEPTH_PASS: 2041#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 2042#if defined(GL_STENCIL_REF) 2043 case GL_STENCIL_REF: 2044#endif // defined(GL_STENCIL_REF) 2045#if defined(GL_STENCIL_VALUE_MASK) 2046 case GL_STENCIL_VALUE_MASK: 2047#endif // defined(GL_STENCIL_VALUE_MASK) 2048#if defined(GL_STENCIL_WRITEMASK) 2049 case GL_STENCIL_WRITEMASK: 2050#endif // defined(GL_STENCIL_WRITEMASK) 2051#if defined(GL_SUBPIXEL_BITS) 2052 case GL_SUBPIXEL_BITS: 2053#endif // defined(GL_SUBPIXEL_BITS) 2054#if defined(GL_TEXTURE_BINDING_2D) 2055 case GL_TEXTURE_BINDING_2D: 2056#endif // defined(GL_TEXTURE_BINDING_2D) 2057#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2058 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 2059#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2060#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2061 case GL_TEXTURE_COORD_ARRAY_SIZE: 2062#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2063#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2064 case GL_TEXTURE_COORD_ARRAY_STRIDE: 2065#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2066#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2067 case GL_TEXTURE_COORD_ARRAY_TYPE: 2068#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2069#if defined(GL_TEXTURE_STACK_DEPTH) 2070 case GL_TEXTURE_STACK_DEPTH: 2071#endif // defined(GL_TEXTURE_STACK_DEPTH) 2072#if defined(GL_UNPACK_ALIGNMENT) 2073 case GL_UNPACK_ALIGNMENT: 2074#endif // defined(GL_UNPACK_ALIGNMENT) 2075#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2076 case GL_VERTEX_ARRAY_BUFFER_BINDING: 2077#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2078#if defined(GL_VERTEX_ARRAY_SIZE) 2079 case GL_VERTEX_ARRAY_SIZE: 2080#endif // defined(GL_VERTEX_ARRAY_SIZE) 2081#if defined(GL_VERTEX_ARRAY_STRIDE) 2082 case GL_VERTEX_ARRAY_STRIDE: 2083#endif // defined(GL_VERTEX_ARRAY_STRIDE) 2084#if defined(GL_VERTEX_ARRAY_TYPE) 2085 case GL_VERTEX_ARRAY_TYPE: 2086#endif // defined(GL_VERTEX_ARRAY_TYPE) 2087#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2088 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 2089#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2090#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 2091 case GL_WEIGHT_ARRAY_SIZE_OES: 2092#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 2093#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2094 case GL_WEIGHT_ARRAY_STRIDE_OES: 2095#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2096#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 2097 case GL_WEIGHT_ARRAY_TYPE_OES: 2098#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 2099 _needed = 1; 2100 break; 2101#if defined(GL_ALIASED_POINT_SIZE_RANGE) 2102 case GL_ALIASED_POINT_SIZE_RANGE: 2103#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 2104#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 2105 case GL_ALIASED_LINE_WIDTH_RANGE: 2106#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 2107#if defined(GL_DEPTH_RANGE) 2108 case GL_DEPTH_RANGE: 2109#endif // defined(GL_DEPTH_RANGE) 2110#if defined(GL_MAX_VIEWPORT_DIMS) 2111 case GL_MAX_VIEWPORT_DIMS: 2112#endif // defined(GL_MAX_VIEWPORT_DIMS) 2113#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2114 case GL_SMOOTH_LINE_WIDTH_RANGE: 2115#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2116#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 2117 case GL_SMOOTH_POINT_SIZE_RANGE: 2118#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 2119 _needed = 2; 2120 break; 2121#if defined(GL_COLOR_CLEAR_VALUE) 2122 case GL_COLOR_CLEAR_VALUE: 2123#endif // defined(GL_COLOR_CLEAR_VALUE) 2124#if defined(GL_COLOR_WRITEMASK) 2125 case GL_COLOR_WRITEMASK: 2126#endif // defined(GL_COLOR_WRITEMASK) 2127#if defined(GL_FOG_COLOR) 2128 case GL_FOG_COLOR: 2129#endif // defined(GL_FOG_COLOR) 2130#if defined(GL_LIGHT_MODEL_AMBIENT) 2131 case GL_LIGHT_MODEL_AMBIENT: 2132#endif // defined(GL_LIGHT_MODEL_AMBIENT) 2133#if defined(GL_SCISSOR_BOX) 2134 case GL_SCISSOR_BOX: 2135#endif // defined(GL_SCISSOR_BOX) 2136#if defined(GL_VIEWPORT) 2137 case GL_VIEWPORT: 2138#endif // defined(GL_VIEWPORT) 2139 _needed = 4; 2140 break; 2141#if defined(GL_MODELVIEW_MATRIX) 2142 case GL_MODELVIEW_MATRIX: 2143#endif // defined(GL_MODELVIEW_MATRIX) 2144#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2145 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 2146#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2147#if defined(GL_PROJECTION_MATRIX) 2148 case GL_PROJECTION_MATRIX: 2149#endif // defined(GL_PROJECTION_MATRIX) 2150#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2151 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 2152#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2153#if defined(GL_TEXTURE_MATRIX) 2154 case GL_TEXTURE_MATRIX: 2155#endif // defined(GL_TEXTURE_MATRIX) 2156#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2157 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 2158#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2159 _needed = 16; 2160 break; 2161#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 2162 case GL_COMPRESSED_TEXTURE_FORMATS: 2163#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 2164 _needed = getNumCompressedTextureFormats(); 2165 break; 2166 default: 2167 _needed = 0; 2168 break; 2169 } 2170 if (_remaining < _needed) { 2171 _exception = 1; 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 glGetIntegerv( 2180 (GLenum)pname, 2181 (GLint *)params 2182 ); 2183 2184exit: 2185 if (params_base) { 2186 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2187 _exception ? JNI_ABORT: 0); 2188 } 2189} 2190 2191/* void glGetIntegerv ( GLenum pname, GLint *params ) */ 2192static void 2193android_glGetIntegerv__ILjava_nio_IntBuffer_2 2194 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { 2195 jint _exception = 0; 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_ALPHA_BITS) 2204 case GL_ALPHA_BITS: 2205#endif // defined(GL_ALPHA_BITS) 2206#if defined(GL_ALPHA_TEST_FUNC) 2207 case GL_ALPHA_TEST_FUNC: 2208#endif // defined(GL_ALPHA_TEST_FUNC) 2209#if defined(GL_ALPHA_TEST_REF) 2210 case GL_ALPHA_TEST_REF: 2211#endif // defined(GL_ALPHA_TEST_REF) 2212#if defined(GL_BLEND_DST) 2213 case GL_BLEND_DST: 2214#endif // defined(GL_BLEND_DST) 2215#if defined(GL_BLUE_BITS) 2216 case GL_BLUE_BITS: 2217#endif // defined(GL_BLUE_BITS) 2218#if defined(GL_COLOR_ARRAY_BUFFER_BINDING) 2219 case GL_COLOR_ARRAY_BUFFER_BINDING: 2220#endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) 2221#if defined(GL_COLOR_ARRAY_SIZE) 2222 case GL_COLOR_ARRAY_SIZE: 2223#endif // defined(GL_COLOR_ARRAY_SIZE) 2224#if defined(GL_COLOR_ARRAY_STRIDE) 2225 case GL_COLOR_ARRAY_STRIDE: 2226#endif // defined(GL_COLOR_ARRAY_STRIDE) 2227#if defined(GL_COLOR_ARRAY_TYPE) 2228 case GL_COLOR_ARRAY_TYPE: 2229#endif // defined(GL_COLOR_ARRAY_TYPE) 2230#if defined(GL_CULL_FACE) 2231 case GL_CULL_FACE: 2232#endif // defined(GL_CULL_FACE) 2233#if defined(GL_DEPTH_BITS) 2234 case GL_DEPTH_BITS: 2235#endif // defined(GL_DEPTH_BITS) 2236#if defined(GL_DEPTH_CLEAR_VALUE) 2237 case GL_DEPTH_CLEAR_VALUE: 2238#endif // defined(GL_DEPTH_CLEAR_VALUE) 2239#if defined(GL_DEPTH_FUNC) 2240 case GL_DEPTH_FUNC: 2241#endif // defined(GL_DEPTH_FUNC) 2242#if defined(GL_DEPTH_WRITEMASK) 2243 case GL_DEPTH_WRITEMASK: 2244#endif // defined(GL_DEPTH_WRITEMASK) 2245#if defined(GL_FOG_DENSITY) 2246 case GL_FOG_DENSITY: 2247#endif // defined(GL_FOG_DENSITY) 2248#if defined(GL_FOG_END) 2249 case GL_FOG_END: 2250#endif // defined(GL_FOG_END) 2251#if defined(GL_FOG_MODE) 2252 case GL_FOG_MODE: 2253#endif // defined(GL_FOG_MODE) 2254#if defined(GL_FOG_START) 2255 case GL_FOG_START: 2256#endif // defined(GL_FOG_START) 2257#if defined(GL_FRONT_FACE) 2258 case GL_FRONT_FACE: 2259#endif // defined(GL_FRONT_FACE) 2260#if defined(GL_GREEN_BITS) 2261 case GL_GREEN_BITS: 2262#endif // defined(GL_GREEN_BITS) 2263#if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 2264 case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: 2265#endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) 2266#if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 2267 case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: 2268#endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) 2269#if defined(GL_LIGHT_MODEL_COLOR_CONTROL) 2270 case GL_LIGHT_MODEL_COLOR_CONTROL: 2271#endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) 2272#if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 2273 case GL_LIGHT_MODEL_LOCAL_VIEWER: 2274#endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) 2275#if defined(GL_LIGHT_MODEL_TWO_SIDE) 2276 case GL_LIGHT_MODEL_TWO_SIDE: 2277#endif // defined(GL_LIGHT_MODEL_TWO_SIDE) 2278#if defined(GL_LINE_SMOOTH_HINT) 2279 case GL_LINE_SMOOTH_HINT: 2280#endif // defined(GL_LINE_SMOOTH_HINT) 2281#if defined(GL_LINE_WIDTH) 2282 case GL_LINE_WIDTH: 2283#endif // defined(GL_LINE_WIDTH) 2284#if defined(GL_LOGIC_OP_MODE) 2285 case GL_LOGIC_OP_MODE: 2286#endif // defined(GL_LOGIC_OP_MODE) 2287#if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 2288 case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: 2289#endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) 2290#if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 2291 case GL_MATRIX_INDEX_ARRAY_SIZE_OES: 2292#endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) 2293#if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 2294 case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: 2295#endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) 2296#if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 2297 case GL_MATRIX_INDEX_ARRAY_TYPE_OES: 2298#endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) 2299#if defined(GL_MATRIX_MODE) 2300 case GL_MATRIX_MODE: 2301#endif // defined(GL_MATRIX_MODE) 2302#if defined(GL_MAX_CLIP_PLANES) 2303 case GL_MAX_CLIP_PLANES: 2304#endif // defined(GL_MAX_CLIP_PLANES) 2305#if defined(GL_MAX_ELEMENTS_INDICES) 2306 case GL_MAX_ELEMENTS_INDICES: 2307#endif // defined(GL_MAX_ELEMENTS_INDICES) 2308#if defined(GL_MAX_ELEMENTS_VERTICES) 2309 case GL_MAX_ELEMENTS_VERTICES: 2310#endif // defined(GL_MAX_ELEMENTS_VERTICES) 2311#if defined(GL_MAX_LIGHTS) 2312 case GL_MAX_LIGHTS: 2313#endif // defined(GL_MAX_LIGHTS) 2314#if defined(GL_MAX_MODELVIEW_STACK_DEPTH) 2315 case GL_MAX_MODELVIEW_STACK_DEPTH: 2316#endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) 2317#if defined(GL_MAX_PALETTE_MATRICES_OES) 2318 case GL_MAX_PALETTE_MATRICES_OES: 2319#endif // defined(GL_MAX_PALETTE_MATRICES_OES) 2320#if defined(GL_MAX_PROJECTION_STACK_DEPTH) 2321 case GL_MAX_PROJECTION_STACK_DEPTH: 2322#endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) 2323#if defined(GL_MAX_TEXTURE_SIZE) 2324 case GL_MAX_TEXTURE_SIZE: 2325#endif // defined(GL_MAX_TEXTURE_SIZE) 2326#if defined(GL_MAX_TEXTURE_STACK_DEPTH) 2327 case GL_MAX_TEXTURE_STACK_DEPTH: 2328#endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) 2329#if defined(GL_MAX_TEXTURE_UNITS) 2330 case GL_MAX_TEXTURE_UNITS: 2331#endif // defined(GL_MAX_TEXTURE_UNITS) 2332#if defined(GL_MAX_VERTEX_UNITS_OES) 2333 case GL_MAX_VERTEX_UNITS_OES: 2334#endif // defined(GL_MAX_VERTEX_UNITS_OES) 2335#if defined(GL_MODELVIEW_STACK_DEPTH) 2336 case GL_MODELVIEW_STACK_DEPTH: 2337#endif // defined(GL_MODELVIEW_STACK_DEPTH) 2338#if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 2339 case GL_NORMAL_ARRAY_BUFFER_BINDING: 2340#endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) 2341#if defined(GL_NORMAL_ARRAY_STRIDE) 2342 case GL_NORMAL_ARRAY_STRIDE: 2343#endif // defined(GL_NORMAL_ARRAY_STRIDE) 2344#if defined(GL_NORMAL_ARRAY_TYPE) 2345 case GL_NORMAL_ARRAY_TYPE: 2346#endif // defined(GL_NORMAL_ARRAY_TYPE) 2347#if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2348 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 2349#endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) 2350#if defined(GL_PACK_ALIGNMENT) 2351 case GL_PACK_ALIGNMENT: 2352#endif // defined(GL_PACK_ALIGNMENT) 2353#if defined(GL_PERSPECTIVE_CORRECTION_HINT) 2354 case GL_PERSPECTIVE_CORRECTION_HINT: 2355#endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) 2356#if defined(GL_POINT_SIZE) 2357 case GL_POINT_SIZE: 2358#endif // defined(GL_POINT_SIZE) 2359#if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2360 case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: 2361#endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) 2362#if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2363 case GL_POINT_SIZE_ARRAY_STRIDE_OES: 2364#endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) 2365#if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2366 case GL_POINT_SIZE_ARRAY_TYPE_OES: 2367#endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) 2368#if defined(GL_POINT_SMOOTH_HINT) 2369 case GL_POINT_SMOOTH_HINT: 2370#endif // defined(GL_POINT_SMOOTH_HINT) 2371#if defined(GL_POLYGON_OFFSET_FACTOR) 2372 case GL_POLYGON_OFFSET_FACTOR: 2373#endif // defined(GL_POLYGON_OFFSET_FACTOR) 2374#if defined(GL_POLYGON_OFFSET_UNITS) 2375 case GL_POLYGON_OFFSET_UNITS: 2376#endif // defined(GL_POLYGON_OFFSET_UNITS) 2377#if defined(GL_PROJECTION_STACK_DEPTH) 2378 case GL_PROJECTION_STACK_DEPTH: 2379#endif // defined(GL_PROJECTION_STACK_DEPTH) 2380#if defined(GL_RED_BITS) 2381 case GL_RED_BITS: 2382#endif // defined(GL_RED_BITS) 2383#if defined(GL_SHADE_MODEL) 2384 case GL_SHADE_MODEL: 2385#endif // defined(GL_SHADE_MODEL) 2386#if defined(GL_STENCIL_BITS) 2387 case GL_STENCIL_BITS: 2388#endif // defined(GL_STENCIL_BITS) 2389#if defined(GL_STENCIL_CLEAR_VALUE) 2390 case GL_STENCIL_CLEAR_VALUE: 2391#endif // defined(GL_STENCIL_CLEAR_VALUE) 2392#if defined(GL_STENCIL_FAIL) 2393 case GL_STENCIL_FAIL: 2394#endif // defined(GL_STENCIL_FAIL) 2395#if defined(GL_STENCIL_FUNC) 2396 case GL_STENCIL_FUNC: 2397#endif // defined(GL_STENCIL_FUNC) 2398#if defined(GL_STENCIL_PASS_DEPTH_FAIL) 2399 case GL_STENCIL_PASS_DEPTH_FAIL: 2400#endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) 2401#if defined(GL_STENCIL_PASS_DEPTH_PASS) 2402 case GL_STENCIL_PASS_DEPTH_PASS: 2403#endif // defined(GL_STENCIL_PASS_DEPTH_PASS) 2404#if defined(GL_STENCIL_REF) 2405 case GL_STENCIL_REF: 2406#endif // defined(GL_STENCIL_REF) 2407#if defined(GL_STENCIL_VALUE_MASK) 2408 case GL_STENCIL_VALUE_MASK: 2409#endif // defined(GL_STENCIL_VALUE_MASK) 2410#if defined(GL_STENCIL_WRITEMASK) 2411 case GL_STENCIL_WRITEMASK: 2412#endif // defined(GL_STENCIL_WRITEMASK) 2413#if defined(GL_SUBPIXEL_BITS) 2414 case GL_SUBPIXEL_BITS: 2415#endif // defined(GL_SUBPIXEL_BITS) 2416#if defined(GL_TEXTURE_BINDING_2D) 2417 case GL_TEXTURE_BINDING_2D: 2418#endif // defined(GL_TEXTURE_BINDING_2D) 2419#if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2420 case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: 2421#endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) 2422#if defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2423 case GL_TEXTURE_COORD_ARRAY_SIZE: 2424#endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) 2425#if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2426 case GL_TEXTURE_COORD_ARRAY_STRIDE: 2427#endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) 2428#if defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2429 case GL_TEXTURE_COORD_ARRAY_TYPE: 2430#endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) 2431#if defined(GL_TEXTURE_STACK_DEPTH) 2432 case GL_TEXTURE_STACK_DEPTH: 2433#endif // defined(GL_TEXTURE_STACK_DEPTH) 2434#if defined(GL_UNPACK_ALIGNMENT) 2435 case GL_UNPACK_ALIGNMENT: 2436#endif // defined(GL_UNPACK_ALIGNMENT) 2437#if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2438 case GL_VERTEX_ARRAY_BUFFER_BINDING: 2439#endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) 2440#if defined(GL_VERTEX_ARRAY_SIZE) 2441 case GL_VERTEX_ARRAY_SIZE: 2442#endif // defined(GL_VERTEX_ARRAY_SIZE) 2443#if defined(GL_VERTEX_ARRAY_STRIDE) 2444 case GL_VERTEX_ARRAY_STRIDE: 2445#endif // defined(GL_VERTEX_ARRAY_STRIDE) 2446#if defined(GL_VERTEX_ARRAY_TYPE) 2447 case GL_VERTEX_ARRAY_TYPE: 2448#endif // defined(GL_VERTEX_ARRAY_TYPE) 2449#if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2450 case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: 2451#endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) 2452#if defined(GL_WEIGHT_ARRAY_SIZE_OES) 2453 case GL_WEIGHT_ARRAY_SIZE_OES: 2454#endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) 2455#if defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2456 case GL_WEIGHT_ARRAY_STRIDE_OES: 2457#endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) 2458#if defined(GL_WEIGHT_ARRAY_TYPE_OES) 2459 case GL_WEIGHT_ARRAY_TYPE_OES: 2460#endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) 2461 _needed = 1; 2462 break; 2463#if defined(GL_ALIASED_POINT_SIZE_RANGE) 2464 case GL_ALIASED_POINT_SIZE_RANGE: 2465#endif // defined(GL_ALIASED_POINT_SIZE_RANGE) 2466#if defined(GL_ALIASED_LINE_WIDTH_RANGE) 2467 case GL_ALIASED_LINE_WIDTH_RANGE: 2468#endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) 2469#if defined(GL_DEPTH_RANGE) 2470 case GL_DEPTH_RANGE: 2471#endif // defined(GL_DEPTH_RANGE) 2472#if defined(GL_MAX_VIEWPORT_DIMS) 2473 case GL_MAX_VIEWPORT_DIMS: 2474#endif // defined(GL_MAX_VIEWPORT_DIMS) 2475#if defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2476 case GL_SMOOTH_LINE_WIDTH_RANGE: 2477#endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) 2478#if defined(GL_SMOOTH_POINT_SIZE_RANGE) 2479 case GL_SMOOTH_POINT_SIZE_RANGE: 2480#endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) 2481 _needed = 2; 2482 break; 2483#if defined(GL_COLOR_CLEAR_VALUE) 2484 case GL_COLOR_CLEAR_VALUE: 2485#endif // defined(GL_COLOR_CLEAR_VALUE) 2486#if defined(GL_COLOR_WRITEMASK) 2487 case GL_COLOR_WRITEMASK: 2488#endif // defined(GL_COLOR_WRITEMASK) 2489#if defined(GL_FOG_COLOR) 2490 case GL_FOG_COLOR: 2491#endif // defined(GL_FOG_COLOR) 2492#if defined(GL_LIGHT_MODEL_AMBIENT) 2493 case GL_LIGHT_MODEL_AMBIENT: 2494#endif // defined(GL_LIGHT_MODEL_AMBIENT) 2495#if defined(GL_SCISSOR_BOX) 2496 case GL_SCISSOR_BOX: 2497#endif // defined(GL_SCISSOR_BOX) 2498#if defined(GL_VIEWPORT) 2499 case GL_VIEWPORT: 2500#endif // defined(GL_VIEWPORT) 2501 _needed = 4; 2502 break; 2503#if defined(GL_MODELVIEW_MATRIX) 2504 case GL_MODELVIEW_MATRIX: 2505#endif // defined(GL_MODELVIEW_MATRIX) 2506#if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2507 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 2508#endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) 2509#if defined(GL_PROJECTION_MATRIX) 2510 case GL_PROJECTION_MATRIX: 2511#endif // defined(GL_PROJECTION_MATRIX) 2512#if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2513 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 2514#endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) 2515#if defined(GL_TEXTURE_MATRIX) 2516 case GL_TEXTURE_MATRIX: 2517#endif // defined(GL_TEXTURE_MATRIX) 2518#if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2519 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 2520#endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) 2521 _needed = 16; 2522 break; 2523#if defined(GL_COMPRESSED_TEXTURE_FORMATS) 2524 case GL_COMPRESSED_TEXTURE_FORMATS: 2525#endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) 2526 _needed = getNumCompressedTextureFormats(); 2527 break; 2528 default: 2529 _needed = 0; 2530 break; 2531 } 2532 if (_remaining < _needed) { 2533 _exception = 1; 2534 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < needed"); 2535 goto exit; 2536 } 2537 glGetIntegerv( 2538 (GLenum)pname, 2539 (GLint *)params 2540 ); 2541 2542exit: 2543 if (_array) { 2544 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2545 } 2546} 2547 2548/* void glGetProgramiv ( GLuint program, GLenum pname, GLint *params ) */ 2549static void 2550android_glGetProgramiv__II_3II 2551 (JNIEnv *_env, jobject _this, jint program, jint pname, jintArray params_ref, jint offset) { 2552 jint _exception = 0; 2553 GLint *params_base = (GLint *) 0; 2554 jint _remaining; 2555 GLint *params = (GLint *) 0; 2556 2557 if (!params_ref) { 2558 _exception = 1; 2559 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2560 goto exit; 2561 } 2562 if (offset < 0) { 2563 _exception = 1; 2564 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2565 goto exit; 2566 } 2567 _remaining = _env->GetArrayLength(params_ref) - offset; 2568 params_base = (GLint *) 2569 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2570 params = params_base + offset; 2571 2572 glGetProgramiv( 2573 (GLuint)program, 2574 (GLenum)pname, 2575 (GLint *)params 2576 ); 2577 2578exit: 2579 if (params_base) { 2580 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2581 _exception ? JNI_ABORT: 0); 2582 } 2583} 2584 2585/* void glGetProgramiv ( GLuint program, GLenum pname, GLint *params ) */ 2586static void 2587android_glGetProgramiv__IILjava_nio_IntBuffer_2 2588 (JNIEnv *_env, jobject _this, jint program, jint pname, jobject params_buf) { 2589 jint _exception = 0; 2590 jarray _array = (jarray) 0; 2591 jint _remaining; 2592 GLint *params = (GLint *) 0; 2593 2594 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2595 glGetProgramiv( 2596 (GLuint)program, 2597 (GLenum)pname, 2598 (GLint *)params 2599 ); 2600 if (_array) { 2601 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2602 } 2603} 2604 2605#include <stdlib.h> 2606 2607/* void glGetProgramInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ 2608static jstring android_glGetProgramInfoLog(JNIEnv *_env, jobject, jint shader) { 2609 GLint infoLen = 0; 2610 glGetProgramiv(shader, GL_INFO_LOG_LENGTH, &infoLen); 2611 if (!infoLen) { 2612 return _env->NewStringUTF(""); 2613 } 2614 char* buf = (char*) malloc(infoLen); 2615 if (buf == NULL) { 2616 jniThrowException(_env, "java/lang/IllegalArgumentException", "out of memory"); 2617 return NULL; 2618 } 2619 glGetProgramInfoLog(shader, infoLen, NULL, buf); 2620 jstring result = _env->NewStringUTF(buf); 2621 free(buf); 2622 return result; 2623} 2624/* void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 2625static void 2626android_glGetRenderbufferParameteriv__II_3II 2627 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 2628 jint _exception = 0; 2629 GLint *params_base = (GLint *) 0; 2630 jint _remaining; 2631 GLint *params = (GLint *) 0; 2632 2633 if (!params_ref) { 2634 _exception = 1; 2635 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2636 goto exit; 2637 } 2638 if (offset < 0) { 2639 _exception = 1; 2640 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2641 goto exit; 2642 } 2643 _remaining = _env->GetArrayLength(params_ref) - offset; 2644 params_base = (GLint *) 2645 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2646 params = params_base + offset; 2647 2648 glGetRenderbufferParameteriv( 2649 (GLenum)target, 2650 (GLenum)pname, 2651 (GLint *)params 2652 ); 2653 2654exit: 2655 if (params_base) { 2656 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2657 _exception ? JNI_ABORT: 0); 2658 } 2659} 2660 2661/* void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 2662static void 2663android_glGetRenderbufferParameteriv__IILjava_nio_IntBuffer_2 2664 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2665 jint _exception = 0; 2666 jarray _array = (jarray) 0; 2667 jint _remaining; 2668 GLint *params = (GLint *) 0; 2669 2670 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2671 glGetRenderbufferParameteriv( 2672 (GLenum)target, 2673 (GLenum)pname, 2674 (GLint *)params 2675 ); 2676 if (_array) { 2677 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2678 } 2679} 2680 2681/* void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params ) */ 2682static void 2683android_glGetShaderiv__II_3II 2684 (JNIEnv *_env, jobject _this, jint shader, jint pname, jintArray params_ref, jint offset) { 2685 jint _exception = 0; 2686 GLint *params_base = (GLint *) 0; 2687 jint _remaining; 2688 GLint *params = (GLint *) 0; 2689 2690 if (!params_ref) { 2691 _exception = 1; 2692 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2693 goto exit; 2694 } 2695 if (offset < 0) { 2696 _exception = 1; 2697 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2698 goto exit; 2699 } 2700 _remaining = _env->GetArrayLength(params_ref) - offset; 2701 params_base = (GLint *) 2702 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2703 params = params_base + offset; 2704 2705 glGetShaderiv( 2706 (GLuint)shader, 2707 (GLenum)pname, 2708 (GLint *)params 2709 ); 2710 2711exit: 2712 if (params_base) { 2713 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2714 _exception ? JNI_ABORT: 0); 2715 } 2716} 2717 2718/* void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params ) */ 2719static void 2720android_glGetShaderiv__IILjava_nio_IntBuffer_2 2721 (JNIEnv *_env, jobject _this, jint shader, jint pname, jobject params_buf) { 2722 jint _exception = 0; 2723 jarray _array = (jarray) 0; 2724 jint _remaining; 2725 GLint *params = (GLint *) 0; 2726 2727 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 2728 glGetShaderiv( 2729 (GLuint)shader, 2730 (GLenum)pname, 2731 (GLint *)params 2732 ); 2733 if (_array) { 2734 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2735 } 2736} 2737 2738#include <stdlib.h> 2739 2740/* void glGetShaderInfoLog ( GLuint shader, GLsizei maxLength, GLsizei* length, GLchar* infoLog ) */ 2741static jstring android_glGetShaderInfoLog(JNIEnv *_env, jobject, jint shader) { 2742 GLint infoLen = 0; 2743 glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen); 2744 if (!infoLen) { 2745 return _env->NewStringUTF(""); 2746 } 2747 char* buf = (char*) malloc(infoLen); 2748 if (buf == NULL) { 2749 jniThrowException(_env, "java/lang/IllegalArgumentException", "out of memory"); 2750 return NULL; 2751 } 2752 glGetShaderInfoLog(shader, infoLen, NULL, buf); 2753 jstring result = _env->NewStringUTF(buf); 2754 free(buf); 2755 return result; 2756} 2757/* void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision ) */ 2758static void 2759android_glGetShaderPrecisionFormat__II_3II_3II 2760 (JNIEnv *_env, jobject _this, jint shadertype, jint precisiontype, jintArray range_ref, jint rangeOffset, jintArray precision_ref, jint precisionOffset) { 2761 jint _exception = 0; 2762 GLint *range_base = (GLint *) 0; 2763 jint _rangeRemaining; 2764 GLint *range = (GLint *) 0; 2765 GLint *precision_base = (GLint *) 0; 2766 jint _precisionRemaining; 2767 GLint *precision = (GLint *) 0; 2768 2769 if (!range_ref) { 2770 _exception = 1; 2771 jniThrowException(_env, "java/lang/IllegalArgumentException", "range == null"); 2772 goto exit; 2773 } 2774 if (rangeOffset < 0) { 2775 _exception = 1; 2776 jniThrowException(_env, "java/lang/IllegalArgumentException", "rangeOffset < 0"); 2777 goto exit; 2778 } 2779 _rangeRemaining = _env->GetArrayLength(range_ref) - rangeOffset; 2780 range_base = (GLint *) 2781 _env->GetPrimitiveArrayCritical(range_ref, (jboolean *)0); 2782 range = range_base + rangeOffset; 2783 2784 if (!precision_ref) { 2785 _exception = 1; 2786 jniThrowException(_env, "java/lang/IllegalArgumentException", "precision == null"); 2787 goto exit; 2788 } 2789 if (precisionOffset < 0) { 2790 _exception = 1; 2791 jniThrowException(_env, "java/lang/IllegalArgumentException", "precisionOffset < 0"); 2792 goto exit; 2793 } 2794 _precisionRemaining = _env->GetArrayLength(precision_ref) - precisionOffset; 2795 precision_base = (GLint *) 2796 _env->GetPrimitiveArrayCritical(precision_ref, (jboolean *)0); 2797 precision = precision_base + precisionOffset; 2798 2799 glGetShaderPrecisionFormat( 2800 (GLenum)shadertype, 2801 (GLenum)precisiontype, 2802 (GLint *)range, 2803 (GLint *)precision 2804 ); 2805 2806exit: 2807 if (precision_base) { 2808 _env->ReleasePrimitiveArrayCritical(precision_ref, precision_base, 2809 _exception ? JNI_ABORT: 0); 2810 } 2811 if (range_base) { 2812 _env->ReleasePrimitiveArrayCritical(range_ref, range_base, 2813 _exception ? JNI_ABORT: 0); 2814 } 2815} 2816 2817/* void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision ) */ 2818static void 2819android_glGetShaderPrecisionFormat__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 2820 (JNIEnv *_env, jobject _this, jint shadertype, jint precisiontype, jobject range_buf, jobject precision_buf) { 2821 jint _exception = 0; 2822 jarray _rangeArray = (jarray) 0; 2823 jarray _precisionArray = (jarray) 0; 2824 jint _rangeRemaining; 2825 GLint *range = (GLint *) 0; 2826 jint _precisionRemaining; 2827 GLint *precision = (GLint *) 0; 2828 2829 range = (GLint *)getPointer(_env, range_buf, &_rangeArray, &_rangeRemaining); 2830 precision = (GLint *)getPointer(_env, precision_buf, &_precisionArray, &_precisionRemaining); 2831 glGetShaderPrecisionFormat( 2832 (GLenum)shadertype, 2833 (GLenum)precisiontype, 2834 (GLint *)range, 2835 (GLint *)precision 2836 ); 2837 if (_rangeArray) { 2838 releasePointer(_env, _rangeArray, precision, _exception ? JNI_FALSE : JNI_TRUE); 2839 } 2840 if (_precisionArray) { 2841 releasePointer(_env, _precisionArray, range, _exception ? JNI_FALSE : JNI_TRUE); 2842 } 2843} 2844 2845/* void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source ) */ 2846static void 2847android_glGetShaderSource__II_3II_3BI 2848 (JNIEnv *_env, jobject _this, jint shader, jint bufsize, jintArray length_ref, jint lengthOffset, jbyteArray source_ref, jint sourceOffset) { 2849 jint _exception = 0; 2850 GLsizei *length_base = (GLsizei *) 0; 2851 jint _lengthRemaining; 2852 GLsizei *length = (GLsizei *) 0; 2853 char *source_base = (char *) 0; 2854 jint _sourceRemaining; 2855 char *source = (char *) 0; 2856 2857 if (!length_ref) { 2858 _exception = 1; 2859 jniThrowException(_env, "java/lang/IllegalArgumentException", "length == null"); 2860 goto exit; 2861 } 2862 if (lengthOffset < 0) { 2863 _exception = 1; 2864 jniThrowException(_env, "java/lang/IllegalArgumentException", "lengthOffset < 0"); 2865 goto exit; 2866 } 2867 _lengthRemaining = _env->GetArrayLength(length_ref) - lengthOffset; 2868 length_base = (GLsizei *) 2869 _env->GetPrimitiveArrayCritical(length_ref, (jboolean *)0); 2870 length = length_base + lengthOffset; 2871 2872 if (!source_ref) { 2873 _exception = 1; 2874 jniThrowException(_env, "java/lang/IllegalArgumentException", "source == null"); 2875 goto exit; 2876 } 2877 if (sourceOffset < 0) { 2878 _exception = 1; 2879 jniThrowException(_env, "java/lang/IllegalArgumentException", "sourceOffset < 0"); 2880 goto exit; 2881 } 2882 _sourceRemaining = _env->GetArrayLength(source_ref) - sourceOffset; 2883 source_base = (char *) 2884 _env->GetPrimitiveArrayCritical(source_ref, (jboolean *)0); 2885 source = source_base + sourceOffset; 2886 2887 glGetShaderSource( 2888 (GLuint)shader, 2889 (GLsizei)bufsize, 2890 (GLsizei *)length, 2891 (char *)source 2892 ); 2893 2894exit: 2895 if (source_base) { 2896 _env->ReleasePrimitiveArrayCritical(source_ref, source_base, 2897 _exception ? JNI_ABORT: 0); 2898 } 2899 if (length_base) { 2900 _env->ReleasePrimitiveArrayCritical(length_ref, length_base, 2901 _exception ? JNI_ABORT: 0); 2902 } 2903} 2904 2905/* void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source ) */ 2906static void 2907android_glGetShaderSource__IILjava_nio_IntBuffer_2B 2908 (JNIEnv *_env, jobject _this, jint shader, jint bufsize, jobject length_buf, jbyte source) { 2909 jint _exception = 0; 2910 jarray _array = (jarray) 0; 2911 jint _remaining; 2912 GLsizei *length = (GLsizei *) 0; 2913 2914 length = (GLsizei *)getPointer(_env, length_buf, &_array, &_remaining); 2915 glGetShaderSource( 2916 (GLuint)shader, 2917 (GLsizei)bufsize, 2918 (GLsizei *)length, 2919 (char *)source 2920 ); 2921 if (_array) { 2922 releasePointer(_env, _array, length, _exception ? JNI_FALSE : JNI_TRUE); 2923 } 2924} 2925 2926/* const GLubyte * glGetString ( GLenum name ) */ 2927static jstring android_glGetString(JNIEnv* _env, jobject, jint name) { 2928 const char* chars = (const char*) glGetString((GLenum) name); 2929 return _env->NewStringUTF(chars); 2930} 2931/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 2932static void 2933android_glGetTexParameterfv__II_3FI 2934 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 2935 jint _exception = 0; 2936 GLfloat *params_base = (GLfloat *) 0; 2937 jint _remaining; 2938 GLfloat *params = (GLfloat *) 0; 2939 2940 if (!params_ref) { 2941 _exception = 1; 2942 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 2943 goto exit; 2944 } 2945 if (offset < 0) { 2946 _exception = 1; 2947 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 2948 goto exit; 2949 } 2950 _remaining = _env->GetArrayLength(params_ref) - offset; 2951 if (_remaining < 1) { 2952 _exception = 1; 2953 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 2954 goto exit; 2955 } 2956 params_base = (GLfloat *) 2957 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 2958 params = params_base + offset; 2959 2960 glGetTexParameterfv( 2961 (GLenum)target, 2962 (GLenum)pname, 2963 (GLfloat *)params 2964 ); 2965 2966exit: 2967 if (params_base) { 2968 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 2969 _exception ? JNI_ABORT: 0); 2970 } 2971} 2972 2973/* void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params ) */ 2974static void 2975android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 2976 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 2977 jint _exception = 0; 2978 jarray _array = (jarray) 0; 2979 jint _remaining; 2980 GLfloat *params = (GLfloat *) 0; 2981 2982 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 2983 if (_remaining < 1) { 2984 _exception = 1; 2985 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 2986 goto exit; 2987 } 2988 glGetTexParameterfv( 2989 (GLenum)target, 2990 (GLenum)pname, 2991 (GLfloat *)params 2992 ); 2993 2994exit: 2995 if (_array) { 2996 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 2997 } 2998} 2999 3000/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 3001static void 3002android_glGetTexParameteriv__II_3II 3003 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3004 jint _exception = 0; 3005 GLint *params_base = (GLint *) 0; 3006 jint _remaining; 3007 GLint *params = (GLint *) 0; 3008 3009 if (!params_ref) { 3010 _exception = 1; 3011 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3012 goto exit; 3013 } 3014 if (offset < 0) { 3015 _exception = 1; 3016 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3017 goto exit; 3018 } 3019 _remaining = _env->GetArrayLength(params_ref) - offset; 3020 if (_remaining < 1) { 3021 _exception = 1; 3022 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 3023 goto exit; 3024 } 3025 params_base = (GLint *) 3026 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3027 params = params_base + offset; 3028 3029 glGetTexParameteriv( 3030 (GLenum)target, 3031 (GLenum)pname, 3032 (GLint *)params 3033 ); 3034 3035exit: 3036 if (params_base) { 3037 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3038 _exception ? JNI_ABORT: 0); 3039 } 3040} 3041 3042/* void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params ) */ 3043static void 3044android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 3045 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3046 jint _exception = 0; 3047 jarray _array = (jarray) 0; 3048 jint _remaining; 3049 GLint *params = (GLint *) 0; 3050 3051 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3052 if (_remaining < 1) { 3053 _exception = 1; 3054 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 3055 goto exit; 3056 } 3057 glGetTexParameteriv( 3058 (GLenum)target, 3059 (GLenum)pname, 3060 (GLint *)params 3061 ); 3062 3063exit: 3064 if (_array) { 3065 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3066 } 3067} 3068 3069/* void glGetUniformfv ( GLuint program, GLint location, GLfloat *params ) */ 3070static void 3071android_glGetUniformfv__II_3FI 3072 (JNIEnv *_env, jobject _this, jint program, jint location, jfloatArray params_ref, jint offset) { 3073 jint _exception = 0; 3074 GLfloat *params_base = (GLfloat *) 0; 3075 jint _remaining; 3076 GLfloat *params = (GLfloat *) 0; 3077 3078 if (!params_ref) { 3079 _exception = 1; 3080 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3081 goto exit; 3082 } 3083 if (offset < 0) { 3084 _exception = 1; 3085 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3086 goto exit; 3087 } 3088 _remaining = _env->GetArrayLength(params_ref) - offset; 3089 params_base = (GLfloat *) 3090 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3091 params = params_base + offset; 3092 3093 glGetUniformfv( 3094 (GLuint)program, 3095 (GLint)location, 3096 (GLfloat *)params 3097 ); 3098 3099exit: 3100 if (params_base) { 3101 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3102 _exception ? JNI_ABORT: 0); 3103 } 3104} 3105 3106/* void glGetUniformfv ( GLuint program, GLint location, GLfloat *params ) */ 3107static void 3108android_glGetUniformfv__IILjava_nio_FloatBuffer_2 3109 (JNIEnv *_env, jobject _this, jint program, jint location, jobject params_buf) { 3110 jint _exception = 0; 3111 jarray _array = (jarray) 0; 3112 jint _remaining; 3113 GLfloat *params = (GLfloat *) 0; 3114 3115 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3116 glGetUniformfv( 3117 (GLuint)program, 3118 (GLint)location, 3119 (GLfloat *)params 3120 ); 3121 if (_array) { 3122 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3123 } 3124} 3125 3126/* void glGetUniformiv ( GLuint program, GLint location, GLint *params ) */ 3127static void 3128android_glGetUniformiv__II_3II 3129 (JNIEnv *_env, jobject _this, jint program, jint location, jintArray params_ref, jint offset) { 3130 jint _exception = 0; 3131 GLint *params_base = (GLint *) 0; 3132 jint _remaining; 3133 GLint *params = (GLint *) 0; 3134 3135 if (!params_ref) { 3136 _exception = 1; 3137 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3138 goto exit; 3139 } 3140 if (offset < 0) { 3141 _exception = 1; 3142 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3143 goto exit; 3144 } 3145 _remaining = _env->GetArrayLength(params_ref) - offset; 3146 params_base = (GLint *) 3147 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3148 params = params_base + offset; 3149 3150 glGetUniformiv( 3151 (GLuint)program, 3152 (GLint)location, 3153 (GLint *)params 3154 ); 3155 3156exit: 3157 if (params_base) { 3158 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3159 _exception ? JNI_ABORT: 0); 3160 } 3161} 3162 3163/* void glGetUniformiv ( GLuint program, GLint location, GLint *params ) */ 3164static void 3165android_glGetUniformiv__IILjava_nio_IntBuffer_2 3166 (JNIEnv *_env, jobject _this, jint program, jint location, jobject params_buf) { 3167 jint _exception = 0; 3168 jarray _array = (jarray) 0; 3169 jint _remaining; 3170 GLint *params = (GLint *) 0; 3171 3172 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3173 glGetUniformiv( 3174 (GLuint)program, 3175 (GLint)location, 3176 (GLint *)params 3177 ); 3178 if (_array) { 3179 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3180 } 3181} 3182 3183/* int glGetUniformLocation ( GLuint program, const char *name ) */ 3184static jint 3185android_glGetUniformLocation__ILjava_lang_String_2 3186 (JNIEnv *_env, jobject _this, jint program, jstring name) { 3187 int _returnValue = 0; 3188 const char* _nativename = 0; 3189 3190 if (!name) { 3191 jniThrowException(_env, "java/lang/IllegalArgumentException", "name == null"); 3192 goto exit; 3193 } 3194 _nativename = _env->GetStringUTFChars(name, 0); 3195 3196 _returnValue = glGetUniformLocation( 3197 (GLuint)program, 3198 (char *)_nativename 3199 ); 3200 3201exit: 3202 if (_nativename) { 3203 _env->ReleaseStringUTFChars(name, _nativename); 3204 } 3205 3206 return _returnValue; 3207} 3208 3209/* void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params ) */ 3210static void 3211android_glGetVertexAttribfv__II_3FI 3212 (JNIEnv *_env, jobject _this, jint index, jint pname, jfloatArray params_ref, jint offset) { 3213 jint _exception = 0; 3214 GLfloat *params_base = (GLfloat *) 0; 3215 jint _remaining; 3216 GLfloat *params = (GLfloat *) 0; 3217 3218 if (!params_ref) { 3219 _exception = 1; 3220 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3221 goto exit; 3222 } 3223 if (offset < 0) { 3224 _exception = 1; 3225 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3226 goto exit; 3227 } 3228 _remaining = _env->GetArrayLength(params_ref) - offset; 3229 params_base = (GLfloat *) 3230 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3231 params = params_base + offset; 3232 3233 glGetVertexAttribfv( 3234 (GLuint)index, 3235 (GLenum)pname, 3236 (GLfloat *)params 3237 ); 3238 3239exit: 3240 if (params_base) { 3241 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3242 _exception ? JNI_ABORT: 0); 3243 } 3244} 3245 3246/* void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params ) */ 3247static void 3248android_glGetVertexAttribfv__IILjava_nio_FloatBuffer_2 3249 (JNIEnv *_env, jobject _this, jint index, jint pname, jobject params_buf) { 3250 jint _exception = 0; 3251 jarray _array = (jarray) 0; 3252 jint _remaining; 3253 GLfloat *params = (GLfloat *) 0; 3254 3255 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3256 glGetVertexAttribfv( 3257 (GLuint)index, 3258 (GLenum)pname, 3259 (GLfloat *)params 3260 ); 3261 if (_array) { 3262 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3263 } 3264} 3265 3266/* void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params ) */ 3267static void 3268android_glGetVertexAttribiv__II_3II 3269 (JNIEnv *_env, jobject _this, jint index, jint pname, jintArray params_ref, jint offset) { 3270 jint _exception = 0; 3271 GLint *params_base = (GLint *) 0; 3272 jint _remaining; 3273 GLint *params = (GLint *) 0; 3274 3275 if (!params_ref) { 3276 _exception = 1; 3277 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3278 goto exit; 3279 } 3280 if (offset < 0) { 3281 _exception = 1; 3282 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3283 goto exit; 3284 } 3285 _remaining = _env->GetArrayLength(params_ref) - offset; 3286 params_base = (GLint *) 3287 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3288 params = params_base + offset; 3289 3290 glGetVertexAttribiv( 3291 (GLuint)index, 3292 (GLenum)pname, 3293 (GLint *)params 3294 ); 3295 3296exit: 3297 if (params_base) { 3298 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3299 _exception ? JNI_ABORT: 0); 3300 } 3301} 3302 3303/* void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params ) */ 3304static void 3305android_glGetVertexAttribiv__IILjava_nio_IntBuffer_2 3306 (JNIEnv *_env, jobject _this, jint index, jint pname, jobject params_buf) { 3307 jint _exception = 0; 3308 jarray _array = (jarray) 0; 3309 jint _remaining; 3310 GLint *params = (GLint *) 0; 3311 3312 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3313 glGetVertexAttribiv( 3314 (GLuint)index, 3315 (GLenum)pname, 3316 (GLint *)params 3317 ); 3318 if (_array) { 3319 releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); 3320 } 3321} 3322 3323/* void glHint ( GLenum target, GLenum mode ) */ 3324static void 3325android_glHint__II 3326 (JNIEnv *_env, jobject _this, jint target, jint mode) { 3327 glHint( 3328 (GLenum)target, 3329 (GLenum)mode 3330 ); 3331} 3332 3333/* GLboolean glIsBuffer ( GLuint buffer ) */ 3334static jboolean 3335android_glIsBuffer__I 3336 (JNIEnv *_env, jobject _this, jint buffer) { 3337 GLboolean _returnValue; 3338 _returnValue = glIsBuffer( 3339 (GLuint)buffer 3340 ); 3341 return _returnValue; 3342} 3343 3344/* GLboolean glIsEnabled ( GLenum cap ) */ 3345static jboolean 3346android_glIsEnabled__I 3347 (JNIEnv *_env, jobject _this, jint cap) { 3348 GLboolean _returnValue; 3349 _returnValue = glIsEnabled( 3350 (GLenum)cap 3351 ); 3352 return _returnValue; 3353} 3354 3355/* GLboolean glIsFramebuffer ( GLuint framebuffer ) */ 3356static jboolean 3357android_glIsFramebuffer__I 3358 (JNIEnv *_env, jobject _this, jint framebuffer) { 3359 GLboolean _returnValue; 3360 _returnValue = glIsFramebuffer( 3361 (GLuint)framebuffer 3362 ); 3363 return _returnValue; 3364} 3365 3366/* GLboolean glIsProgram ( GLuint program ) */ 3367static jboolean 3368android_glIsProgram__I 3369 (JNIEnv *_env, jobject _this, jint program) { 3370 GLboolean _returnValue; 3371 _returnValue = glIsProgram( 3372 (GLuint)program 3373 ); 3374 return _returnValue; 3375} 3376 3377/* GLboolean glIsRenderbuffer ( GLuint renderbuffer ) */ 3378static jboolean 3379android_glIsRenderbuffer__I 3380 (JNIEnv *_env, jobject _this, jint renderbuffer) { 3381 GLboolean _returnValue; 3382 _returnValue = glIsRenderbuffer( 3383 (GLuint)renderbuffer 3384 ); 3385 return _returnValue; 3386} 3387 3388/* GLboolean glIsShader ( GLuint shader ) */ 3389static jboolean 3390android_glIsShader__I 3391 (JNIEnv *_env, jobject _this, jint shader) { 3392 GLboolean _returnValue; 3393 _returnValue = glIsShader( 3394 (GLuint)shader 3395 ); 3396 return _returnValue; 3397} 3398 3399/* GLboolean glIsTexture ( GLuint texture ) */ 3400static jboolean 3401android_glIsTexture__I 3402 (JNIEnv *_env, jobject _this, jint texture) { 3403 GLboolean _returnValue; 3404 _returnValue = glIsTexture( 3405 (GLuint)texture 3406 ); 3407 return _returnValue; 3408} 3409 3410/* void glLineWidth ( GLfloat width ) */ 3411static void 3412android_glLineWidth__F 3413 (JNIEnv *_env, jobject _this, jfloat width) { 3414 glLineWidth( 3415 (GLfloat)width 3416 ); 3417} 3418 3419/* void glLinkProgram ( GLuint program ) */ 3420static void 3421android_glLinkProgram__I 3422 (JNIEnv *_env, jobject _this, jint program) { 3423 glLinkProgram( 3424 (GLuint)program 3425 ); 3426} 3427 3428/* void glPixelStorei ( GLenum pname, GLint param ) */ 3429static void 3430android_glPixelStorei__II 3431 (JNIEnv *_env, jobject _this, jint pname, jint param) { 3432 glPixelStorei( 3433 (GLenum)pname, 3434 (GLint)param 3435 ); 3436} 3437 3438/* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ 3439static void 3440android_glPolygonOffset__FF 3441 (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { 3442 glPolygonOffset( 3443 (GLfloat)factor, 3444 (GLfloat)units 3445 ); 3446} 3447 3448/* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ 3449static void 3450android_glReadPixels__IIIIIILjava_nio_Buffer_2 3451 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3452 jint _exception = 0; 3453 jarray _array = (jarray) 0; 3454 jint _remaining; 3455 GLvoid *pixels = (GLvoid *) 0; 3456 3457 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3458 glReadPixels( 3459 (GLint)x, 3460 (GLint)y, 3461 (GLsizei)width, 3462 (GLsizei)height, 3463 (GLenum)format, 3464 (GLenum)type, 3465 (GLvoid *)pixels 3466 ); 3467 if (_array) { 3468 releasePointer(_env, _array, pixels, _exception ? JNI_FALSE : JNI_TRUE); 3469 } 3470} 3471 3472/* void glReleaseShaderCompiler ( void ) */ 3473static void 3474android_glReleaseShaderCompiler__ 3475 (JNIEnv *_env, jobject _this) { 3476 glReleaseShaderCompiler(); 3477} 3478 3479/* void glRenderbufferStorage ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height ) */ 3480static void 3481android_glRenderbufferStorage__IIII 3482 (JNIEnv *_env, jobject _this, jint target, jint internalformat, jint width, jint height) { 3483 glRenderbufferStorage( 3484 (GLenum)target, 3485 (GLenum)internalformat, 3486 (GLsizei)width, 3487 (GLsizei)height 3488 ); 3489} 3490 3491/* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ 3492static void 3493android_glSampleCoverage__FZ 3494 (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { 3495 glSampleCoverage( 3496 (GLclampf)value, 3497 (GLboolean)invert 3498 ); 3499} 3500 3501/* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 3502static void 3503android_glScissor__IIII 3504 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 3505 glScissor( 3506 (GLint)x, 3507 (GLint)y, 3508 (GLsizei)width, 3509 (GLsizei)height 3510 ); 3511} 3512 3513/* void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length ) */ 3514static void 3515android_glShaderBinary__I_3IIILjava_nio_Buffer_2I 3516 (JNIEnv *_env, jobject _this, jint n, jintArray shaders_ref, jint offset, jint binaryformat, jobject binary_buf, jint length) { 3517 jarray _array = (jarray) 0; 3518 GLuint *shaders_base = (GLuint *) 0; 3519 jint _shadersRemaining; 3520 GLuint *shaders = (GLuint *) 0; 3521 jint _binaryRemaining; 3522 GLvoid *binary = (GLvoid *) 0; 3523 3524 if (!shaders_ref) { 3525 jniThrowException(_env, "java/lang/IllegalArgumentException", "shaders == null"); 3526 goto exit; 3527 } 3528 if (offset < 0) { 3529 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3530 goto exit; 3531 } 3532 _shadersRemaining = _env->GetArrayLength(shaders_ref) - offset; 3533 shaders_base = (GLuint *) 3534 _env->GetPrimitiveArrayCritical(shaders_ref, (jboolean *)0); 3535 shaders = shaders_base + offset; 3536 3537 binary = (GLvoid *)getPointer(_env, binary_buf, &_array, &_binaryRemaining); 3538 glShaderBinary( 3539 (GLsizei)n, 3540 (GLuint *)shaders, 3541 (GLenum)binaryformat, 3542 (GLvoid *)binary, 3543 (GLsizei)length 3544 ); 3545 3546exit: 3547 if (_array) { 3548 releasePointer(_env, _array, binary, JNI_FALSE); 3549 } 3550 if (shaders_base) { 3551 _env->ReleasePrimitiveArrayCritical(shaders_ref, shaders_base, 3552 JNI_ABORT); 3553 } 3554} 3555 3556/* void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length ) */ 3557static void 3558android_glShaderBinary__ILjava_nio_IntBuffer_2ILjava_nio_Buffer_2I 3559 (JNIEnv *_env, jobject _this, jint n, jobject shaders_buf, jint binaryformat, jobject binary_buf, jint length) { 3560 jarray _shadersArray = (jarray) 0; 3561 jarray _binaryArray = (jarray) 0; 3562 jint _shadersRemaining; 3563 GLuint *shaders = (GLuint *) 0; 3564 jint _binaryRemaining; 3565 GLvoid *binary = (GLvoid *) 0; 3566 3567 shaders = (GLuint *)getPointer(_env, shaders_buf, &_shadersArray, &_shadersRemaining); 3568 binary = (GLvoid *)getPointer(_env, binary_buf, &_binaryArray, &_binaryRemaining); 3569 glShaderBinary( 3570 (GLsizei)n, 3571 (GLuint *)shaders, 3572 (GLenum)binaryformat, 3573 (GLvoid *)binary, 3574 (GLsizei)length 3575 ); 3576 if (_shadersArray) { 3577 releasePointer(_env, _shadersArray, binary, JNI_FALSE); 3578 } 3579 if (_binaryArray) { 3580 releasePointer(_env, _binaryArray, shaders, JNI_FALSE); 3581 } 3582} 3583 3584 3585/* void glShaderSource ( GLuint shader, GLsizei count, const GLchar ** string, const GLint * length ) */ 3586static 3587void 3588android_glShaderSource 3589 (JNIEnv *_env, jobject _this, jint shader, jstring string) { 3590 3591 if (!string) { 3592 jniThrowException(_env, "java/lang/IllegalArgumentException", "string == null"); 3593 return; 3594 } 3595 3596 const char* nativeString = _env->GetStringUTFChars(string, 0); 3597 const char* strings[] = {nativeString}; 3598 glShaderSource(shader, 1, strings, 0); 3599 _env->ReleaseStringUTFChars(string, nativeString); 3600} 3601/* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ 3602static void 3603android_glStencilFunc__III 3604 (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { 3605 glStencilFunc( 3606 (GLenum)func, 3607 (GLint)ref, 3608 (GLuint)mask 3609 ); 3610} 3611 3612/* void glStencilFuncSeparate ( GLenum face, GLenum func, GLint ref, GLuint mask ) */ 3613static void 3614android_glStencilFuncSeparate__IIII 3615 (JNIEnv *_env, jobject _this, jint face, jint func, jint ref, jint mask) { 3616 glStencilFuncSeparate( 3617 (GLenum)face, 3618 (GLenum)func, 3619 (GLint)ref, 3620 (GLuint)mask 3621 ); 3622} 3623 3624/* void glStencilMask ( GLuint mask ) */ 3625static void 3626android_glStencilMask__I 3627 (JNIEnv *_env, jobject _this, jint mask) { 3628 glStencilMask( 3629 (GLuint)mask 3630 ); 3631} 3632 3633/* void glStencilMaskSeparate ( GLenum face, GLuint mask ) */ 3634static void 3635android_glStencilMaskSeparate__II 3636 (JNIEnv *_env, jobject _this, jint face, jint mask) { 3637 glStencilMaskSeparate( 3638 (GLenum)face, 3639 (GLuint)mask 3640 ); 3641} 3642 3643/* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ 3644static void 3645android_glStencilOp__III 3646 (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { 3647 glStencilOp( 3648 (GLenum)fail, 3649 (GLenum)zfail, 3650 (GLenum)zpass 3651 ); 3652} 3653 3654/* void glStencilOpSeparate ( GLenum face, GLenum fail, GLenum zfail, GLenum zpass ) */ 3655static void 3656android_glStencilOpSeparate__IIII 3657 (JNIEnv *_env, jobject _this, jint face, jint fail, jint zfail, jint zpass) { 3658 glStencilOpSeparate( 3659 (GLenum)face, 3660 (GLenum)fail, 3661 (GLenum)zfail, 3662 (GLenum)zpass 3663 ); 3664} 3665 3666/* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ 3667static void 3668android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 3669 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { 3670 jarray _array = (jarray) 0; 3671 jint _remaining; 3672 GLvoid *pixels = (GLvoid *) 0; 3673 3674 if (pixels_buf) { 3675 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3676 } 3677 glTexImage2D( 3678 (GLenum)target, 3679 (GLint)level, 3680 (GLint)internalformat, 3681 (GLsizei)width, 3682 (GLsizei)height, 3683 (GLint)border, 3684 (GLenum)format, 3685 (GLenum)type, 3686 (GLvoid *)pixels 3687 ); 3688 if (_array) { 3689 releasePointer(_env, _array, pixels, JNI_FALSE); 3690 } 3691} 3692 3693/* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ 3694static void 3695android_glTexParameterf__IIF 3696 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { 3697 glTexParameterf( 3698 (GLenum)target, 3699 (GLenum)pname, 3700 (GLfloat)param 3701 ); 3702} 3703 3704/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3705static void 3706android_glTexParameterfv__II_3FI 3707 (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { 3708 GLfloat *params_base = (GLfloat *) 0; 3709 jint _remaining; 3710 GLfloat *params = (GLfloat *) 0; 3711 3712 if (!params_ref) { 3713 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3714 goto exit; 3715 } 3716 if (offset < 0) { 3717 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3718 goto exit; 3719 } 3720 _remaining = _env->GetArrayLength(params_ref) - offset; 3721 if (_remaining < 1) { 3722 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 3723 goto exit; 3724 } 3725 params_base = (GLfloat *) 3726 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3727 params = params_base + offset; 3728 3729 glTexParameterfv( 3730 (GLenum)target, 3731 (GLenum)pname, 3732 (GLfloat *)params 3733 ); 3734 3735exit: 3736 if (params_base) { 3737 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3738 JNI_ABORT); 3739 } 3740} 3741 3742/* void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params ) */ 3743static void 3744android_glTexParameterfv__IILjava_nio_FloatBuffer_2 3745 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3746 jarray _array = (jarray) 0; 3747 jint _remaining; 3748 GLfloat *params = (GLfloat *) 0; 3749 3750 params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining); 3751 if (_remaining < 1) { 3752 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 3753 goto exit; 3754 } 3755 glTexParameterfv( 3756 (GLenum)target, 3757 (GLenum)pname, 3758 (GLfloat *)params 3759 ); 3760 3761exit: 3762 if (_array) { 3763 releasePointer(_env, _array, params, JNI_FALSE); 3764 } 3765} 3766 3767/* void glTexParameteri ( GLenum target, GLenum pname, GLint param ) */ 3768static void 3769android_glTexParameteri__III 3770 (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { 3771 glTexParameteri( 3772 (GLenum)target, 3773 (GLenum)pname, 3774 (GLint)param 3775 ); 3776} 3777 3778/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 3779static void 3780android_glTexParameteriv__II_3II 3781 (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { 3782 GLint *params_base = (GLint *) 0; 3783 jint _remaining; 3784 GLint *params = (GLint *) 0; 3785 3786 if (!params_ref) { 3787 jniThrowException(_env, "java/lang/IllegalArgumentException", "params == null"); 3788 goto exit; 3789 } 3790 if (offset < 0) { 3791 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3792 goto exit; 3793 } 3794 _remaining = _env->GetArrayLength(params_ref) - offset; 3795 if (_remaining < 1) { 3796 jniThrowException(_env, "java/lang/IllegalArgumentException", "length - offset < 1"); 3797 goto exit; 3798 } 3799 params_base = (GLint *) 3800 _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); 3801 params = params_base + offset; 3802 3803 glTexParameteriv( 3804 (GLenum)target, 3805 (GLenum)pname, 3806 (GLint *)params 3807 ); 3808 3809exit: 3810 if (params_base) { 3811 _env->ReleasePrimitiveArrayCritical(params_ref, params_base, 3812 JNI_ABORT); 3813 } 3814} 3815 3816/* void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params ) */ 3817static void 3818android_glTexParameteriv__IILjava_nio_IntBuffer_2 3819 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { 3820 jarray _array = (jarray) 0; 3821 jint _remaining; 3822 GLint *params = (GLint *) 0; 3823 3824 params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining); 3825 if (_remaining < 1) { 3826 jniThrowException(_env, "java/lang/IllegalArgumentException", "remaining() < 1"); 3827 goto exit; 3828 } 3829 glTexParameteriv( 3830 (GLenum)target, 3831 (GLenum)pname, 3832 (GLint *)params 3833 ); 3834 3835exit: 3836 if (_array) { 3837 releasePointer(_env, _array, params, JNI_FALSE); 3838 } 3839} 3840 3841/* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ 3842static void 3843android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 3844 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { 3845 jarray _array = (jarray) 0; 3846 jint _remaining; 3847 GLvoid *pixels = (GLvoid *) 0; 3848 3849 if (pixels_buf) { 3850 pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining); 3851 } 3852 glTexSubImage2D( 3853 (GLenum)target, 3854 (GLint)level, 3855 (GLint)xoffset, 3856 (GLint)yoffset, 3857 (GLsizei)width, 3858 (GLsizei)height, 3859 (GLenum)format, 3860 (GLenum)type, 3861 (GLvoid *)pixels 3862 ); 3863 if (_array) { 3864 releasePointer(_env, _array, pixels, JNI_FALSE); 3865 } 3866} 3867 3868/* void glUniform1f ( GLint location, GLfloat x ) */ 3869static void 3870android_glUniform1f__IF 3871 (JNIEnv *_env, jobject _this, jint location, jfloat x) { 3872 glUniform1f( 3873 (GLint)location, 3874 (GLfloat)x 3875 ); 3876} 3877 3878/* void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v ) */ 3879static void 3880android_glUniform1fv__II_3FI 3881 (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 3882 GLfloat *v_base = (GLfloat *) 0; 3883 jint _remaining; 3884 GLfloat *v = (GLfloat *) 0; 3885 3886 if (!v_ref) { 3887 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 3888 goto exit; 3889 } 3890 if (offset < 0) { 3891 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3892 goto exit; 3893 } 3894 _remaining = _env->GetArrayLength(v_ref) - offset; 3895 v_base = (GLfloat *) 3896 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 3897 v = v_base + offset; 3898 3899 glUniform1fv( 3900 (GLint)location, 3901 (GLsizei)count, 3902 (GLfloat *)v 3903 ); 3904 3905exit: 3906 if (v_base) { 3907 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 3908 JNI_ABORT); 3909 } 3910} 3911 3912/* void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v ) */ 3913static void 3914android_glUniform1fv__IILjava_nio_FloatBuffer_2 3915 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 3916 jarray _array = (jarray) 0; 3917 jint _remaining; 3918 GLfloat *v = (GLfloat *) 0; 3919 3920 v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 3921 glUniform1fv( 3922 (GLint)location, 3923 (GLsizei)count, 3924 (GLfloat *)v 3925 ); 3926 if (_array) { 3927 releasePointer(_env, _array, v, JNI_FALSE); 3928 } 3929} 3930 3931/* void glUniform1i ( GLint location, GLint x ) */ 3932static void 3933android_glUniform1i__II 3934 (JNIEnv *_env, jobject _this, jint location, jint x) { 3935 glUniform1i( 3936 (GLint)location, 3937 (GLint)x 3938 ); 3939} 3940 3941/* void glUniform1iv ( GLint location, GLsizei count, const GLint *v ) */ 3942static void 3943android_glUniform1iv__II_3II 3944 (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 3945 GLint *v_base = (GLint *) 0; 3946 jint _remaining; 3947 GLint *v = (GLint *) 0; 3948 3949 if (!v_ref) { 3950 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 3951 goto exit; 3952 } 3953 if (offset < 0) { 3954 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 3955 goto exit; 3956 } 3957 _remaining = _env->GetArrayLength(v_ref) - offset; 3958 v_base = (GLint *) 3959 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 3960 v = v_base + offset; 3961 3962 glUniform1iv( 3963 (GLint)location, 3964 (GLsizei)count, 3965 (GLint *)v 3966 ); 3967 3968exit: 3969 if (v_base) { 3970 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 3971 JNI_ABORT); 3972 } 3973} 3974 3975/* void glUniform1iv ( GLint location, GLsizei count, const GLint *v ) */ 3976static void 3977android_glUniform1iv__IILjava_nio_IntBuffer_2 3978 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 3979 jarray _array = (jarray) 0; 3980 jint _remaining; 3981 GLint *v = (GLint *) 0; 3982 3983 v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 3984 glUniform1iv( 3985 (GLint)location, 3986 (GLsizei)count, 3987 (GLint *)v 3988 ); 3989 if (_array) { 3990 releasePointer(_env, _array, v, JNI_FALSE); 3991 } 3992} 3993 3994/* void glUniform2f ( GLint location, GLfloat x, GLfloat y ) */ 3995static void 3996android_glUniform2f__IFF 3997 (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y) { 3998 glUniform2f( 3999 (GLint)location, 4000 (GLfloat)x, 4001 (GLfloat)y 4002 ); 4003} 4004 4005/* void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4006static void 4007android_glUniform2fv__II_3FI 4008 (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4009 GLfloat *v_base = (GLfloat *) 0; 4010 jint _remaining; 4011 GLfloat *v = (GLfloat *) 0; 4012 4013 if (!v_ref) { 4014 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4015 goto exit; 4016 } 4017 if (offset < 0) { 4018 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4019 goto exit; 4020 } 4021 _remaining = _env->GetArrayLength(v_ref) - offset; 4022 v_base = (GLfloat *) 4023 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4024 v = v_base + offset; 4025 4026 glUniform2fv( 4027 (GLint)location, 4028 (GLsizei)count, 4029 (GLfloat *)v 4030 ); 4031 4032exit: 4033 if (v_base) { 4034 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4035 JNI_ABORT); 4036 } 4037} 4038 4039/* void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4040static void 4041android_glUniform2fv__IILjava_nio_FloatBuffer_2 4042 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4043 jarray _array = (jarray) 0; 4044 jint _remaining; 4045 GLfloat *v = (GLfloat *) 0; 4046 4047 v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4048 glUniform2fv( 4049 (GLint)location, 4050 (GLsizei)count, 4051 (GLfloat *)v 4052 ); 4053 if (_array) { 4054 releasePointer(_env, _array, v, JNI_FALSE); 4055 } 4056} 4057 4058/* void glUniform2i ( GLint location, GLint x, GLint y ) */ 4059static void 4060android_glUniform2i__III 4061 (JNIEnv *_env, jobject _this, jint location, jint x, jint y) { 4062 glUniform2i( 4063 (GLint)location, 4064 (GLint)x, 4065 (GLint)y 4066 ); 4067} 4068 4069/* void glUniform2iv ( GLint location, GLsizei count, const GLint *v ) */ 4070static void 4071android_glUniform2iv__II_3II 4072 (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4073 GLint *v_base = (GLint *) 0; 4074 jint _remaining; 4075 GLint *v = (GLint *) 0; 4076 4077 if (!v_ref) { 4078 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4079 goto exit; 4080 } 4081 if (offset < 0) { 4082 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4083 goto exit; 4084 } 4085 _remaining = _env->GetArrayLength(v_ref) - offset; 4086 v_base = (GLint *) 4087 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4088 v = v_base + offset; 4089 4090 glUniform2iv( 4091 (GLint)location, 4092 (GLsizei)count, 4093 (GLint *)v 4094 ); 4095 4096exit: 4097 if (v_base) { 4098 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4099 JNI_ABORT); 4100 } 4101} 4102 4103/* void glUniform2iv ( GLint location, GLsizei count, const GLint *v ) */ 4104static void 4105android_glUniform2iv__IILjava_nio_IntBuffer_2 4106 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4107 jarray _array = (jarray) 0; 4108 jint _remaining; 4109 GLint *v = (GLint *) 0; 4110 4111 v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4112 glUniform2iv( 4113 (GLint)location, 4114 (GLsizei)count, 4115 (GLint *)v 4116 ); 4117 if (_array) { 4118 releasePointer(_env, _array, v, JNI_FALSE); 4119 } 4120} 4121 4122/* void glUniform3f ( GLint location, GLfloat x, GLfloat y, GLfloat z ) */ 4123static void 4124android_glUniform3f__IFFF 4125 (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y, jfloat z) { 4126 glUniform3f( 4127 (GLint)location, 4128 (GLfloat)x, 4129 (GLfloat)y, 4130 (GLfloat)z 4131 ); 4132} 4133 4134/* void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4135static void 4136android_glUniform3fv__II_3FI 4137 (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4138 GLfloat *v_base = (GLfloat *) 0; 4139 jint _remaining; 4140 GLfloat *v = (GLfloat *) 0; 4141 4142 if (!v_ref) { 4143 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4144 goto exit; 4145 } 4146 if (offset < 0) { 4147 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4148 goto exit; 4149 } 4150 _remaining = _env->GetArrayLength(v_ref) - offset; 4151 v_base = (GLfloat *) 4152 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4153 v = v_base + offset; 4154 4155 glUniform3fv( 4156 (GLint)location, 4157 (GLsizei)count, 4158 (GLfloat *)v 4159 ); 4160 4161exit: 4162 if (v_base) { 4163 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4164 JNI_ABORT); 4165 } 4166} 4167 4168/* void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4169static void 4170android_glUniform3fv__IILjava_nio_FloatBuffer_2 4171 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4172 jarray _array = (jarray) 0; 4173 jint _remaining; 4174 GLfloat *v = (GLfloat *) 0; 4175 4176 v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4177 glUniform3fv( 4178 (GLint)location, 4179 (GLsizei)count, 4180 (GLfloat *)v 4181 ); 4182 if (_array) { 4183 releasePointer(_env, _array, v, JNI_FALSE); 4184 } 4185} 4186 4187/* void glUniform3i ( GLint location, GLint x, GLint y, GLint z ) */ 4188static void 4189android_glUniform3i__IIII 4190 (JNIEnv *_env, jobject _this, jint location, jint x, jint y, jint z) { 4191 glUniform3i( 4192 (GLint)location, 4193 (GLint)x, 4194 (GLint)y, 4195 (GLint)z 4196 ); 4197} 4198 4199/* void glUniform3iv ( GLint location, GLsizei count, const GLint *v ) */ 4200static void 4201android_glUniform3iv__II_3II 4202 (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4203 GLint *v_base = (GLint *) 0; 4204 jint _remaining; 4205 GLint *v = (GLint *) 0; 4206 4207 if (!v_ref) { 4208 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4209 goto exit; 4210 } 4211 if (offset < 0) { 4212 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4213 goto exit; 4214 } 4215 _remaining = _env->GetArrayLength(v_ref) - offset; 4216 v_base = (GLint *) 4217 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4218 v = v_base + offset; 4219 4220 glUniform3iv( 4221 (GLint)location, 4222 (GLsizei)count, 4223 (GLint *)v 4224 ); 4225 4226exit: 4227 if (v_base) { 4228 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4229 JNI_ABORT); 4230 } 4231} 4232 4233/* void glUniform3iv ( GLint location, GLsizei count, const GLint *v ) */ 4234static void 4235android_glUniform3iv__IILjava_nio_IntBuffer_2 4236 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4237 jarray _array = (jarray) 0; 4238 jint _remaining; 4239 GLint *v = (GLint *) 0; 4240 4241 v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4242 glUniform3iv( 4243 (GLint)location, 4244 (GLsizei)count, 4245 (GLint *)v 4246 ); 4247 if (_array) { 4248 releasePointer(_env, _array, v, JNI_FALSE); 4249 } 4250} 4251 4252/* void glUniform4f ( GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) */ 4253static void 4254android_glUniform4f__IFFFF 4255 (JNIEnv *_env, jobject _this, jint location, jfloat x, jfloat y, jfloat z, jfloat w) { 4256 glUniform4f( 4257 (GLint)location, 4258 (GLfloat)x, 4259 (GLfloat)y, 4260 (GLfloat)z, 4261 (GLfloat)w 4262 ); 4263} 4264 4265/* void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4266static void 4267android_glUniform4fv__II_3FI 4268 (JNIEnv *_env, jobject _this, jint location, jint count, jfloatArray v_ref, jint offset) { 4269 GLfloat *v_base = (GLfloat *) 0; 4270 jint _remaining; 4271 GLfloat *v = (GLfloat *) 0; 4272 4273 if (!v_ref) { 4274 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4275 goto exit; 4276 } 4277 if (offset < 0) { 4278 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4279 goto exit; 4280 } 4281 _remaining = _env->GetArrayLength(v_ref) - offset; 4282 v_base = (GLfloat *) 4283 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4284 v = v_base + offset; 4285 4286 glUniform4fv( 4287 (GLint)location, 4288 (GLsizei)count, 4289 (GLfloat *)v 4290 ); 4291 4292exit: 4293 if (v_base) { 4294 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4295 JNI_ABORT); 4296 } 4297} 4298 4299/* void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v ) */ 4300static void 4301android_glUniform4fv__IILjava_nio_FloatBuffer_2 4302 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4303 jarray _array = (jarray) 0; 4304 jint _remaining; 4305 GLfloat *v = (GLfloat *) 0; 4306 4307 v = (GLfloat *)getPointer(_env, v_buf, &_array, &_remaining); 4308 glUniform4fv( 4309 (GLint)location, 4310 (GLsizei)count, 4311 (GLfloat *)v 4312 ); 4313 if (_array) { 4314 releasePointer(_env, _array, v, JNI_FALSE); 4315 } 4316} 4317 4318/* void glUniform4i ( GLint location, GLint x, GLint y, GLint z, GLint w ) */ 4319static void 4320android_glUniform4i__IIIII 4321 (JNIEnv *_env, jobject _this, jint location, jint x, jint y, jint z, jint w) { 4322 glUniform4i( 4323 (GLint)location, 4324 (GLint)x, 4325 (GLint)y, 4326 (GLint)z, 4327 (GLint)w 4328 ); 4329} 4330 4331/* void glUniform4iv ( GLint location, GLsizei count, const GLint *v ) */ 4332static void 4333android_glUniform4iv__II_3II 4334 (JNIEnv *_env, jobject _this, jint location, jint count, jintArray v_ref, jint offset) { 4335 GLint *v_base = (GLint *) 0; 4336 jint _remaining; 4337 GLint *v = (GLint *) 0; 4338 4339 if (!v_ref) { 4340 jniThrowException(_env, "java/lang/IllegalArgumentException", "v == null"); 4341 goto exit; 4342 } 4343 if (offset < 0) { 4344 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4345 goto exit; 4346 } 4347 _remaining = _env->GetArrayLength(v_ref) - offset; 4348 v_base = (GLint *) 4349 _env->GetPrimitiveArrayCritical(v_ref, (jboolean *)0); 4350 v = v_base + offset; 4351 4352 glUniform4iv( 4353 (GLint)location, 4354 (GLsizei)count, 4355 (GLint *)v 4356 ); 4357 4358exit: 4359 if (v_base) { 4360 _env->ReleasePrimitiveArrayCritical(v_ref, v_base, 4361 JNI_ABORT); 4362 } 4363} 4364 4365/* void glUniform4iv ( GLint location, GLsizei count, const GLint *v ) */ 4366static void 4367android_glUniform4iv__IILjava_nio_IntBuffer_2 4368 (JNIEnv *_env, jobject _this, jint location, jint count, jobject v_buf) { 4369 jarray _array = (jarray) 0; 4370 jint _remaining; 4371 GLint *v = (GLint *) 0; 4372 4373 v = (GLint *)getPointer(_env, v_buf, &_array, &_remaining); 4374 glUniform4iv( 4375 (GLint)location, 4376 (GLsizei)count, 4377 (GLint *)v 4378 ); 4379 if (_array) { 4380 releasePointer(_env, _array, v, JNI_FALSE); 4381 } 4382} 4383 4384/* void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4385static void 4386android_glUniformMatrix2fv__IIZ_3FI 4387 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4388 GLfloat *value_base = (GLfloat *) 0; 4389 jint _remaining; 4390 GLfloat *value = (GLfloat *) 0; 4391 4392 if (!value_ref) { 4393 jniThrowException(_env, "java/lang/IllegalArgumentException", "value == null"); 4394 goto exit; 4395 } 4396 if (offset < 0) { 4397 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4398 goto exit; 4399 } 4400 _remaining = _env->GetArrayLength(value_ref) - offset; 4401 value_base = (GLfloat *) 4402 _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4403 value = value_base + offset; 4404 4405 glUniformMatrix2fv( 4406 (GLint)location, 4407 (GLsizei)count, 4408 (GLboolean)transpose, 4409 (GLfloat *)value 4410 ); 4411 4412exit: 4413 if (value_base) { 4414 _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4415 JNI_ABORT); 4416 } 4417} 4418 4419/* void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4420static void 4421android_glUniformMatrix2fv__IIZLjava_nio_FloatBuffer_2 4422 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4423 jarray _array = (jarray) 0; 4424 jint _remaining; 4425 GLfloat *value = (GLfloat *) 0; 4426 4427 value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4428 glUniformMatrix2fv( 4429 (GLint)location, 4430 (GLsizei)count, 4431 (GLboolean)transpose, 4432 (GLfloat *)value 4433 ); 4434 if (_array) { 4435 releasePointer(_env, _array, value, JNI_FALSE); 4436 } 4437} 4438 4439/* void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4440static void 4441android_glUniformMatrix3fv__IIZ_3FI 4442 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4443 GLfloat *value_base = (GLfloat *) 0; 4444 jint _remaining; 4445 GLfloat *value = (GLfloat *) 0; 4446 4447 if (!value_ref) { 4448 jniThrowException(_env, "java/lang/IllegalArgumentException", "value == null"); 4449 goto exit; 4450 } 4451 if (offset < 0) { 4452 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4453 goto exit; 4454 } 4455 _remaining = _env->GetArrayLength(value_ref) - offset; 4456 value_base = (GLfloat *) 4457 _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4458 value = value_base + offset; 4459 4460 glUniformMatrix3fv( 4461 (GLint)location, 4462 (GLsizei)count, 4463 (GLboolean)transpose, 4464 (GLfloat *)value 4465 ); 4466 4467exit: 4468 if (value_base) { 4469 _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4470 JNI_ABORT); 4471 } 4472} 4473 4474/* void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4475static void 4476android_glUniformMatrix3fv__IIZLjava_nio_FloatBuffer_2 4477 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4478 jarray _array = (jarray) 0; 4479 jint _remaining; 4480 GLfloat *value = (GLfloat *) 0; 4481 4482 value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4483 glUniformMatrix3fv( 4484 (GLint)location, 4485 (GLsizei)count, 4486 (GLboolean)transpose, 4487 (GLfloat *)value 4488 ); 4489 if (_array) { 4490 releasePointer(_env, _array, value, JNI_FALSE); 4491 } 4492} 4493 4494/* void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4495static void 4496android_glUniformMatrix4fv__IIZ_3FI 4497 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jfloatArray value_ref, jint offset) { 4498 GLfloat *value_base = (GLfloat *) 0; 4499 jint _remaining; 4500 GLfloat *value = (GLfloat *) 0; 4501 4502 if (!value_ref) { 4503 jniThrowException(_env, "java/lang/IllegalArgumentException", "value == null"); 4504 goto exit; 4505 } 4506 if (offset < 0) { 4507 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4508 goto exit; 4509 } 4510 _remaining = _env->GetArrayLength(value_ref) - offset; 4511 value_base = (GLfloat *) 4512 _env->GetPrimitiveArrayCritical(value_ref, (jboolean *)0); 4513 value = value_base + offset; 4514 4515 glUniformMatrix4fv( 4516 (GLint)location, 4517 (GLsizei)count, 4518 (GLboolean)transpose, 4519 (GLfloat *)value 4520 ); 4521 4522exit: 4523 if (value_base) { 4524 _env->ReleasePrimitiveArrayCritical(value_ref, value_base, 4525 JNI_ABORT); 4526 } 4527} 4528 4529/* void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value ) */ 4530static void 4531android_glUniformMatrix4fv__IIZLjava_nio_FloatBuffer_2 4532 (JNIEnv *_env, jobject _this, jint location, jint count, jboolean transpose, jobject value_buf) { 4533 jarray _array = (jarray) 0; 4534 jint _remaining; 4535 GLfloat *value = (GLfloat *) 0; 4536 4537 value = (GLfloat *)getPointer(_env, value_buf, &_array, &_remaining); 4538 glUniformMatrix4fv( 4539 (GLint)location, 4540 (GLsizei)count, 4541 (GLboolean)transpose, 4542 (GLfloat *)value 4543 ); 4544 if (_array) { 4545 releasePointer(_env, _array, value, JNI_FALSE); 4546 } 4547} 4548 4549/* void glUseProgram ( GLuint program ) */ 4550static void 4551android_glUseProgram__I 4552 (JNIEnv *_env, jobject _this, jint program) { 4553 glUseProgram( 4554 (GLuint)program 4555 ); 4556} 4557 4558/* void glValidateProgram ( GLuint program ) */ 4559static void 4560android_glValidateProgram__I 4561 (JNIEnv *_env, jobject _this, jint program) { 4562 glValidateProgram( 4563 (GLuint)program 4564 ); 4565} 4566 4567/* void glVertexAttrib1f ( GLuint indx, GLfloat x ) */ 4568static void 4569android_glVertexAttrib1f__IF 4570 (JNIEnv *_env, jobject _this, jint indx, jfloat x) { 4571 glVertexAttrib1f( 4572 (GLuint)indx, 4573 (GLfloat)x 4574 ); 4575} 4576 4577/* void glVertexAttrib1fv ( GLuint indx, const GLfloat *values ) */ 4578static void 4579android_glVertexAttrib1fv__I_3FI 4580 (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4581 GLfloat *values_base = (GLfloat *) 0; 4582 jint _remaining; 4583 GLfloat *values = (GLfloat *) 0; 4584 4585 if (!values_ref) { 4586 jniThrowException(_env, "java/lang/IllegalArgumentException", "values == null"); 4587 goto exit; 4588 } 4589 if (offset < 0) { 4590 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4591 goto exit; 4592 } 4593 _remaining = _env->GetArrayLength(values_ref) - offset; 4594 values_base = (GLfloat *) 4595 _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4596 values = values_base + offset; 4597 4598 glVertexAttrib1fv( 4599 (GLuint)indx, 4600 (GLfloat *)values 4601 ); 4602 4603exit: 4604 if (values_base) { 4605 _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4606 JNI_ABORT); 4607 } 4608} 4609 4610/* void glVertexAttrib1fv ( GLuint indx, const GLfloat *values ) */ 4611static void 4612android_glVertexAttrib1fv__ILjava_nio_FloatBuffer_2 4613 (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4614 jarray _array = (jarray) 0; 4615 jint _remaining; 4616 GLfloat *values = (GLfloat *) 0; 4617 4618 values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4619 glVertexAttrib1fv( 4620 (GLuint)indx, 4621 (GLfloat *)values 4622 ); 4623 if (_array) { 4624 releasePointer(_env, _array, values, JNI_FALSE); 4625 } 4626} 4627 4628/* void glVertexAttrib2f ( GLuint indx, GLfloat x, GLfloat y ) */ 4629static void 4630android_glVertexAttrib2f__IFF 4631 (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y) { 4632 glVertexAttrib2f( 4633 (GLuint)indx, 4634 (GLfloat)x, 4635 (GLfloat)y 4636 ); 4637} 4638 4639/* void glVertexAttrib2fv ( GLuint indx, const GLfloat *values ) */ 4640static void 4641android_glVertexAttrib2fv__I_3FI 4642 (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4643 GLfloat *values_base = (GLfloat *) 0; 4644 jint _remaining; 4645 GLfloat *values = (GLfloat *) 0; 4646 4647 if (!values_ref) { 4648 jniThrowException(_env, "java/lang/IllegalArgumentException", "values == null"); 4649 goto exit; 4650 } 4651 if (offset < 0) { 4652 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4653 goto exit; 4654 } 4655 _remaining = _env->GetArrayLength(values_ref) - offset; 4656 values_base = (GLfloat *) 4657 _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4658 values = values_base + offset; 4659 4660 glVertexAttrib2fv( 4661 (GLuint)indx, 4662 (GLfloat *)values 4663 ); 4664 4665exit: 4666 if (values_base) { 4667 _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4668 JNI_ABORT); 4669 } 4670} 4671 4672/* void glVertexAttrib2fv ( GLuint indx, const GLfloat *values ) */ 4673static void 4674android_glVertexAttrib2fv__ILjava_nio_FloatBuffer_2 4675 (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4676 jarray _array = (jarray) 0; 4677 jint _remaining; 4678 GLfloat *values = (GLfloat *) 0; 4679 4680 values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4681 glVertexAttrib2fv( 4682 (GLuint)indx, 4683 (GLfloat *)values 4684 ); 4685 if (_array) { 4686 releasePointer(_env, _array, values, JNI_FALSE); 4687 } 4688} 4689 4690/* void glVertexAttrib3f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z ) */ 4691static void 4692android_glVertexAttrib3f__IFFF 4693 (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y, jfloat z) { 4694 glVertexAttrib3f( 4695 (GLuint)indx, 4696 (GLfloat)x, 4697 (GLfloat)y, 4698 (GLfloat)z 4699 ); 4700} 4701 4702/* void glVertexAttrib3fv ( GLuint indx, const GLfloat *values ) */ 4703static void 4704android_glVertexAttrib3fv__I_3FI 4705 (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4706 GLfloat *values_base = (GLfloat *) 0; 4707 jint _remaining; 4708 GLfloat *values = (GLfloat *) 0; 4709 4710 if (!values_ref) { 4711 jniThrowException(_env, "java/lang/IllegalArgumentException", "values == null"); 4712 goto exit; 4713 } 4714 if (offset < 0) { 4715 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4716 goto exit; 4717 } 4718 _remaining = _env->GetArrayLength(values_ref) - offset; 4719 values_base = (GLfloat *) 4720 _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4721 values = values_base + offset; 4722 4723 glVertexAttrib3fv( 4724 (GLuint)indx, 4725 (GLfloat *)values 4726 ); 4727 4728exit: 4729 if (values_base) { 4730 _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4731 JNI_ABORT); 4732 } 4733} 4734 4735/* void glVertexAttrib3fv ( GLuint indx, const GLfloat *values ) */ 4736static void 4737android_glVertexAttrib3fv__ILjava_nio_FloatBuffer_2 4738 (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4739 jarray _array = (jarray) 0; 4740 jint _remaining; 4741 GLfloat *values = (GLfloat *) 0; 4742 4743 values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4744 glVertexAttrib3fv( 4745 (GLuint)indx, 4746 (GLfloat *)values 4747 ); 4748 if (_array) { 4749 releasePointer(_env, _array, values, JNI_FALSE); 4750 } 4751} 4752 4753/* void glVertexAttrib4f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w ) */ 4754static void 4755android_glVertexAttrib4f__IFFFF 4756 (JNIEnv *_env, jobject _this, jint indx, jfloat x, jfloat y, jfloat z, jfloat w) { 4757 glVertexAttrib4f( 4758 (GLuint)indx, 4759 (GLfloat)x, 4760 (GLfloat)y, 4761 (GLfloat)z, 4762 (GLfloat)w 4763 ); 4764} 4765 4766/* void glVertexAttrib4fv ( GLuint indx, const GLfloat *values ) */ 4767static void 4768android_glVertexAttrib4fv__I_3FI 4769 (JNIEnv *_env, jobject _this, jint indx, jfloatArray values_ref, jint offset) { 4770 GLfloat *values_base = (GLfloat *) 0; 4771 jint _remaining; 4772 GLfloat *values = (GLfloat *) 0; 4773 4774 if (!values_ref) { 4775 jniThrowException(_env, "java/lang/IllegalArgumentException", "values == null"); 4776 goto exit; 4777 } 4778 if (offset < 0) { 4779 jniThrowException(_env, "java/lang/IllegalArgumentException", "offset < 0"); 4780 goto exit; 4781 } 4782 _remaining = _env->GetArrayLength(values_ref) - offset; 4783 values_base = (GLfloat *) 4784 _env->GetPrimitiveArrayCritical(values_ref, (jboolean *)0); 4785 values = values_base + offset; 4786 4787 glVertexAttrib4fv( 4788 (GLuint)indx, 4789 (GLfloat *)values 4790 ); 4791 4792exit: 4793 if (values_base) { 4794 _env->ReleasePrimitiveArrayCritical(values_ref, values_base, 4795 JNI_ABORT); 4796 } 4797} 4798 4799/* void glVertexAttrib4fv ( GLuint indx, const GLfloat *values ) */ 4800static void 4801android_glVertexAttrib4fv__ILjava_nio_FloatBuffer_2 4802 (JNIEnv *_env, jobject _this, jint indx, jobject values_buf) { 4803 jarray _array = (jarray) 0; 4804 jint _remaining; 4805 GLfloat *values = (GLfloat *) 0; 4806 4807 values = (GLfloat *)getPointer(_env, values_buf, &_array, &_remaining); 4808 glVertexAttrib4fv( 4809 (GLuint)indx, 4810 (GLfloat *)values 4811 ); 4812 if (_array) { 4813 releasePointer(_env, _array, values, JNI_FALSE); 4814 } 4815} 4816 4817/* void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLint offset ) */ 4818static void 4819android_glVertexAttribPointer__IIIZII 4820 (JNIEnv *_env, jobject _this, jint indx, jint size, jint type, jboolean normalized, jint stride, jint offset) { 4821 glVertexAttribPointer( 4822 (GLuint)indx, 4823 (GLint)size, 4824 (GLenum)type, 4825 (GLboolean)normalized, 4826 (GLsizei)stride, 4827 (const GLvoid *)offset 4828 ); 4829} 4830 4831/* void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *ptr ) */ 4832static void 4833android_glVertexAttribPointerBounds__IIIZILjava_nio_Buffer_2I 4834 (JNIEnv *_env, jobject _this, jint indx, jint size, jint type, jboolean normalized, jint stride, jobject ptr_buf, jint remaining) { 4835 jarray _array = (jarray) 0; 4836 jint _remaining; 4837 GLvoid *ptr = (GLvoid *) 0; 4838 4839 if (ptr_buf) { 4840 ptr = (GLvoid *) getDirectBufferPointer(_env, ptr_buf); 4841 if ( ! ptr ) { 4842 return; 4843 } 4844 } 4845 glVertexAttribPointerBounds( 4846 (GLuint)indx, 4847 (GLint)size, 4848 (GLenum)type, 4849 (GLboolean)normalized, 4850 (GLsizei)stride, 4851 (GLvoid *)ptr, 4852 (GLsizei)remaining 4853 ); 4854} 4855 4856/* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ 4857static void 4858android_glViewport__IIII 4859 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { 4860 glViewport( 4861 (GLint)x, 4862 (GLint)y, 4863 (GLsizei)width, 4864 (GLsizei)height 4865 ); 4866} 4867 4868static const char *classPathName = "android/opengl/GLES20"; 4869 4870static JNINativeMethod methods[] = { 4871{"_nativeClassInit", "()V", (void*)nativeClassInit }, 4872{"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, 4873{"glAttachShader", "(II)V", (void *) android_glAttachShader__II }, 4874{"glBindAttribLocation", "(IILjava/lang/String;)V", (void *) android_glBindAttribLocation__IILjava_lang_String_2 }, 4875{"glBindBuffer", "(II)V", (void *) android_glBindBuffer__II }, 4876{"glBindFramebuffer", "(II)V", (void *) android_glBindFramebuffer__II }, 4877{"glBindRenderbuffer", "(II)V", (void *) android_glBindRenderbuffer__II }, 4878{"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, 4879{"glBlendColor", "(FFFF)V", (void *) android_glBlendColor__FFFF }, 4880{"glBlendEquation", "(I)V", (void *) android_glBlendEquation__I }, 4881{"glBlendEquationSeparate", "(II)V", (void *) android_glBlendEquationSeparate__II }, 4882{"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, 4883{"glBlendFuncSeparate", "(IIII)V", (void *) android_glBlendFuncSeparate__IIII }, 4884{"glBufferData", "(IILjava/nio/Buffer;I)V", (void *) android_glBufferData__IILjava_nio_Buffer_2I }, 4885{"glBufferSubData", "(IIILjava/nio/Buffer;)V", (void *) android_glBufferSubData__IIILjava_nio_Buffer_2 }, 4886{"glCheckFramebufferStatus", "(I)I", (void *) android_glCheckFramebufferStatus__I }, 4887{"glClear", "(I)V", (void *) android_glClear__I }, 4888{"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, 4889{"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, 4890{"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, 4891{"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, 4892{"glCompileShader", "(I)V", (void *) android_glCompileShader__I }, 4893{"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, 4894{"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 4895{"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, 4896{"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, 4897{"glCreateProgram", "()I", (void *) android_glCreateProgram__ }, 4898{"glCreateShader", "(I)I", (void *) android_glCreateShader__I }, 4899{"glCullFace", "(I)V", (void *) android_glCullFace__I }, 4900{"glDeleteBuffers", "(I[II)V", (void *) android_glDeleteBuffers__I_3II }, 4901{"glDeleteBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteBuffers__ILjava_nio_IntBuffer_2 }, 4902{"glDeleteFramebuffers", "(I[II)V", (void *) android_glDeleteFramebuffers__I_3II }, 4903{"glDeleteFramebuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteFramebuffers__ILjava_nio_IntBuffer_2 }, 4904{"glDeleteProgram", "(I)V", (void *) android_glDeleteProgram__I }, 4905{"glDeleteRenderbuffers", "(I[II)V", (void *) android_glDeleteRenderbuffers__I_3II }, 4906{"glDeleteRenderbuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteRenderbuffers__ILjava_nio_IntBuffer_2 }, 4907{"glDeleteShader", "(I)V", (void *) android_glDeleteShader__I }, 4908{"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, 4909{"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, 4910{"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, 4911{"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, 4912{"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, 4913{"glDetachShader", "(II)V", (void *) android_glDetachShader__II }, 4914{"glDisable", "(I)V", (void *) android_glDisable__I }, 4915{"glDisableVertexAttribArray", "(I)V", (void *) android_glDisableVertexAttribArray__I }, 4916{"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, 4917{"glDrawElements", "(IIII)V", (void *) android_glDrawElements__IIII }, 4918{"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, 4919{"glEnable", "(I)V", (void *) android_glEnable__I }, 4920{"glEnableVertexAttribArray", "(I)V", (void *) android_glEnableVertexAttribArray__I }, 4921{"glFinish", "()V", (void *) android_glFinish__ }, 4922{"glFlush", "()V", (void *) android_glFlush__ }, 4923{"glFramebufferRenderbuffer", "(IIII)V", (void *) android_glFramebufferRenderbuffer__IIII }, 4924{"glFramebufferTexture2D", "(IIIII)V", (void *) android_glFramebufferTexture2D__IIIII }, 4925{"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, 4926{"glGenBuffers", "(I[II)V", (void *) android_glGenBuffers__I_3II }, 4927{"glGenBuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenBuffers__ILjava_nio_IntBuffer_2 }, 4928{"glGenerateMipmap", "(I)V", (void *) android_glGenerateMipmap__I }, 4929{"glGenFramebuffers", "(I[II)V", (void *) android_glGenFramebuffers__I_3II }, 4930{"glGenFramebuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenFramebuffers__ILjava_nio_IntBuffer_2 }, 4931{"glGenRenderbuffers", "(I[II)V", (void *) android_glGenRenderbuffers__I_3II }, 4932{"glGenRenderbuffers", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenRenderbuffers__ILjava_nio_IntBuffer_2 }, 4933{"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, 4934{"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, 4935{"glGetActiveAttrib", "(III[II[II[II[BI)V", (void *) android_glGetActiveAttrib__III_3II_3II_3II_3BI }, 4936{"glGetActiveAttrib", "(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V", (void *) android_glGetActiveAttrib__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B }, 4937{"glGetActiveUniform", "(III[II[II[II[BI)V", (void *) android_glGetActiveUniform__III_3II_3II_3II_3BI }, 4938{"glGetActiveUniform", "(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V", (void *) android_glGetActiveUniform__IIILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2Ljava_nio_IntBuffer_2B }, 4939{"glGetAttachedShaders", "(II[II[II)V", (void *) android_glGetAttachedShaders__II_3II_3II }, 4940{"glGetAttachedShaders", "(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V", (void *) android_glGetAttachedShaders__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 4941{"glGetAttribLocation", "(ILjava/lang/String;)I", (void *) android_glGetAttribLocation__ILjava_lang_String_2 }, 4942{"glGetBooleanv", "(I[ZI)V", (void *) android_glGetBooleanv__I_3ZI }, 4943{"glGetBooleanv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetBooleanv__ILjava_nio_IntBuffer_2 }, 4944{"glGetBufferParameteriv", "(II[II)V", (void *) android_glGetBufferParameteriv__II_3II }, 4945{"glGetBufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetBufferParameteriv__IILjava_nio_IntBuffer_2 }, 4946{"glGetError", "()I", (void *) android_glGetError__ }, 4947{"glGetFloatv", "(I[FI)V", (void *) android_glGetFloatv__I_3FI }, 4948{"glGetFloatv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glGetFloatv__ILjava_nio_FloatBuffer_2 }, 4949{"glGetFramebufferAttachmentParameteriv", "(III[II)V", (void *) android_glGetFramebufferAttachmentParameteriv__III_3II }, 4950{"glGetFramebufferAttachmentParameteriv", "(IIILjava/nio/IntBuffer;)V", (void *) android_glGetFramebufferAttachmentParameteriv__IIILjava_nio_IntBuffer_2 }, 4951{"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, 4952{"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, 4953{"glGetProgramiv", "(II[II)V", (void *) android_glGetProgramiv__II_3II }, 4954{"glGetProgramiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetProgramiv__IILjava_nio_IntBuffer_2 }, 4955{"glGetProgramInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetProgramInfoLog }, 4956{"glGetRenderbufferParameteriv", "(II[II)V", (void *) android_glGetRenderbufferParameteriv__II_3II }, 4957{"glGetRenderbufferParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetRenderbufferParameteriv__IILjava_nio_IntBuffer_2 }, 4958{"glGetShaderiv", "(II[II)V", (void *) android_glGetShaderiv__II_3II }, 4959{"glGetShaderiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetShaderiv__IILjava_nio_IntBuffer_2 }, 4960{"glGetShaderInfoLog", "(I)Ljava/lang/String;", (void *) android_glGetShaderInfoLog }, 4961{"glGetShaderPrecisionFormat", "(II[II[II)V", (void *) android_glGetShaderPrecisionFormat__II_3II_3II }, 4962{"glGetShaderPrecisionFormat", "(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V", (void *) android_glGetShaderPrecisionFormat__IILjava_nio_IntBuffer_2Ljava_nio_IntBuffer_2 }, 4963{"glGetShaderSource", "(II[II[BI)V", (void *) android_glGetShaderSource__II_3II_3BI }, 4964{"glGetShaderSource", "(IILjava/nio/IntBuffer;B)V", (void *) android_glGetShaderSource__IILjava_nio_IntBuffer_2B }, 4965{"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, 4966{"glGetTexParameterfv", "(II[FI)V", (void *) android_glGetTexParameterfv__II_3FI }, 4967{"glGetTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetTexParameterfv__IILjava_nio_FloatBuffer_2 }, 4968{"glGetTexParameteriv", "(II[II)V", (void *) android_glGetTexParameteriv__II_3II }, 4969{"glGetTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetTexParameteriv__IILjava_nio_IntBuffer_2 }, 4970{"glGetUniformfv", "(II[FI)V", (void *) android_glGetUniformfv__II_3FI }, 4971{"glGetUniformfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetUniformfv__IILjava_nio_FloatBuffer_2 }, 4972{"glGetUniformiv", "(II[II)V", (void *) android_glGetUniformiv__II_3II }, 4973{"glGetUniformiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetUniformiv__IILjava_nio_IntBuffer_2 }, 4974{"glGetUniformLocation", "(ILjava/lang/String;)I", (void *) android_glGetUniformLocation__ILjava_lang_String_2 }, 4975{"glGetVertexAttribfv", "(II[FI)V", (void *) android_glGetVertexAttribfv__II_3FI }, 4976{"glGetVertexAttribfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glGetVertexAttribfv__IILjava_nio_FloatBuffer_2 }, 4977{"glGetVertexAttribiv", "(II[II)V", (void *) android_glGetVertexAttribiv__II_3II }, 4978{"glGetVertexAttribiv", "(IILjava/nio/IntBuffer;)V", (void *) android_glGetVertexAttribiv__IILjava_nio_IntBuffer_2 }, 4979{"glHint", "(II)V", (void *) android_glHint__II }, 4980{"glIsBuffer", "(I)Z", (void *) android_glIsBuffer__I }, 4981{"glIsEnabled", "(I)Z", (void *) android_glIsEnabled__I }, 4982{"glIsFramebuffer", "(I)Z", (void *) android_glIsFramebuffer__I }, 4983{"glIsProgram", "(I)Z", (void *) android_glIsProgram__I }, 4984{"glIsRenderbuffer", "(I)Z", (void *) android_glIsRenderbuffer__I }, 4985{"glIsShader", "(I)Z", (void *) android_glIsShader__I }, 4986{"glIsTexture", "(I)Z", (void *) android_glIsTexture__I }, 4987{"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, 4988{"glLinkProgram", "(I)V", (void *) android_glLinkProgram__I }, 4989{"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, 4990{"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, 4991{"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, 4992{"glReleaseShaderCompiler", "()V", (void *) android_glReleaseShaderCompiler__ }, 4993{"glRenderbufferStorage", "(IIII)V", (void *) android_glRenderbufferStorage__IIII }, 4994{"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, 4995{"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, 4996{"glShaderBinary", "(I[IIILjava/nio/Buffer;I)V", (void *) android_glShaderBinary__I_3IIILjava_nio_Buffer_2I }, 4997{"glShaderBinary", "(ILjava/nio/IntBuffer;ILjava/nio/Buffer;I)V", (void *) android_glShaderBinary__ILjava_nio_IntBuffer_2ILjava_nio_Buffer_2I }, 4998{"glShaderSource", "(ILjava/lang/String;)V", (void *) android_glShaderSource }, 4999{"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, 5000{"glStencilFuncSeparate", "(IIII)V", (void *) android_glStencilFuncSeparate__IIII }, 5001{"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, 5002{"glStencilMaskSeparate", "(II)V", (void *) android_glStencilMaskSeparate__II }, 5003{"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, 5004{"glStencilOpSeparate", "(IIII)V", (void *) android_glStencilOpSeparate__IIII }, 5005{"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, 5006{"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, 5007{"glTexParameterfv", "(II[FI)V", (void *) android_glTexParameterfv__II_3FI }, 5008{"glTexParameterfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexParameterfv__IILjava_nio_FloatBuffer_2 }, 5009{"glTexParameteri", "(III)V", (void *) android_glTexParameteri__III }, 5010{"glTexParameteriv", "(II[II)V", (void *) android_glTexParameteriv__II_3II }, 5011{"glTexParameteriv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexParameteriv__IILjava_nio_IntBuffer_2 }, 5012{"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, 5013{"glUniform1f", "(IF)V", (void *) android_glUniform1f__IF }, 5014{"glUniform1fv", "(II[FI)V", (void *) android_glUniform1fv__II_3FI }, 5015{"glUniform1fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform1fv__IILjava_nio_FloatBuffer_2 }, 5016{"glUniform1i", "(II)V", (void *) android_glUniform1i__II }, 5017{"glUniform1iv", "(II[II)V", (void *) android_glUniform1iv__II_3II }, 5018{"glUniform1iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform1iv__IILjava_nio_IntBuffer_2 }, 5019{"glUniform2f", "(IFF)V", (void *) android_glUniform2f__IFF }, 5020{"glUniform2fv", "(II[FI)V", (void *) android_glUniform2fv__II_3FI }, 5021{"glUniform2fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform2fv__IILjava_nio_FloatBuffer_2 }, 5022{"glUniform2i", "(III)V", (void *) android_glUniform2i__III }, 5023{"glUniform2iv", "(II[II)V", (void *) android_glUniform2iv__II_3II }, 5024{"glUniform2iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform2iv__IILjava_nio_IntBuffer_2 }, 5025{"glUniform3f", "(IFFF)V", (void *) android_glUniform3f__IFFF }, 5026{"glUniform3fv", "(II[FI)V", (void *) android_glUniform3fv__II_3FI }, 5027{"glUniform3fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform3fv__IILjava_nio_FloatBuffer_2 }, 5028{"glUniform3i", "(IIII)V", (void *) android_glUniform3i__IIII }, 5029{"glUniform3iv", "(II[II)V", (void *) android_glUniform3iv__II_3II }, 5030{"glUniform3iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform3iv__IILjava_nio_IntBuffer_2 }, 5031{"glUniform4f", "(IFFFF)V", (void *) android_glUniform4f__IFFFF }, 5032{"glUniform4fv", "(II[FI)V", (void *) android_glUniform4fv__II_3FI }, 5033{"glUniform4fv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glUniform4fv__IILjava_nio_FloatBuffer_2 }, 5034{"glUniform4i", "(IIIII)V", (void *) android_glUniform4i__IIIII }, 5035{"glUniform4iv", "(II[II)V", (void *) android_glUniform4iv__II_3II }, 5036{"glUniform4iv", "(IILjava/nio/IntBuffer;)V", (void *) android_glUniform4iv__IILjava_nio_IntBuffer_2 }, 5037{"glUniformMatrix2fv", "(IIZ[FI)V", (void *) android_glUniformMatrix2fv__IIZ_3FI }, 5038{"glUniformMatrix2fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix2fv__IIZLjava_nio_FloatBuffer_2 }, 5039{"glUniformMatrix3fv", "(IIZ[FI)V", (void *) android_glUniformMatrix3fv__IIZ_3FI }, 5040{"glUniformMatrix3fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix3fv__IIZLjava_nio_FloatBuffer_2 }, 5041{"glUniformMatrix4fv", "(IIZ[FI)V", (void *) android_glUniformMatrix4fv__IIZ_3FI }, 5042{"glUniformMatrix4fv", "(IIZLjava/nio/FloatBuffer;)V", (void *) android_glUniformMatrix4fv__IIZLjava_nio_FloatBuffer_2 }, 5043{"glUseProgram", "(I)V", (void *) android_glUseProgram__I }, 5044{"glValidateProgram", "(I)V", (void *) android_glValidateProgram__I }, 5045{"glVertexAttrib1f", "(IF)V", (void *) android_glVertexAttrib1f__IF }, 5046{"glVertexAttrib1fv", "(I[FI)V", (void *) android_glVertexAttrib1fv__I_3FI }, 5047{"glVertexAttrib1fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib1fv__ILjava_nio_FloatBuffer_2 }, 5048{"glVertexAttrib2f", "(IFF)V", (void *) android_glVertexAttrib2f__IFF }, 5049{"glVertexAttrib2fv", "(I[FI)V", (void *) android_glVertexAttrib2fv__I_3FI }, 5050{"glVertexAttrib2fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib2fv__ILjava_nio_FloatBuffer_2 }, 5051{"glVertexAttrib3f", "(IFFF)V", (void *) android_glVertexAttrib3f__IFFF }, 5052{"glVertexAttrib3fv", "(I[FI)V", (void *) android_glVertexAttrib3fv__I_3FI }, 5053{"glVertexAttrib3fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib3fv__ILjava_nio_FloatBuffer_2 }, 5054{"glVertexAttrib4f", "(IFFFF)V", (void *) android_glVertexAttrib4f__IFFFF }, 5055{"glVertexAttrib4fv", "(I[FI)V", (void *) android_glVertexAttrib4fv__I_3FI }, 5056{"glVertexAttrib4fv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glVertexAttrib4fv__ILjava_nio_FloatBuffer_2 }, 5057{"glVertexAttribPointer", "(IIIZII)V", (void *) android_glVertexAttribPointer__IIIZII }, 5058{"glVertexAttribPointerBounds", "(IIIZILjava/nio/Buffer;I)V", (void *) android_glVertexAttribPointerBounds__IIIZILjava_nio_Buffer_2I }, 5059{"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, 5060}; 5061 5062int register_android_opengl_jni_GLES20(JNIEnv *_env) 5063{ 5064 int err; 5065 err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); 5066 return err; 5067} 5068