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